3. Architecture
The system is comprised of several function specific units (managers) which cooperatively provide the entire functionality. Each of these function units (event manager, driver, user interface, database, etc.) represents a separate dedicated process in terms of software. Without exception, these are real 64-bit applications implemented predominantly in platform-neutral C++.
This structure allows splitting defined managers on different hardware. The coordination between the managers is handled by the system itself. This allows raise in performance and security of system e.g. by starting driver manager on a different hardware. By splitting several managers to other hardware, it is possible to optimize the overall performance of the running system due to outsource instances of the project to balance the load by managers.
Systems split up like this still run under one license on the main hardware, internal mechanisms control the distribution and connection between them.
The license mechanism shall manage the connection to remote parts of the project, which also means the connectivity of UIs. Connected managers and UIs take their part of the license from the main server, where they are registered at. On operating stations therefore no separated license has to be installed and this minimizes the administration effort on implementing the solution or when adding new managers or UIs to the system.
The modular structure permits operation both as a single-workstation system and a client-server system. If required, the system can be operated with two parallel operating servers in a hot standby configuration.
The architecture allows several systems (single workstation, client-server, redundancy) to be subsequently joined to create a distributed system without the need for technical modifications. The key characteristic of this multi-server configuration is that it eliminates double data points. Values or alarms can be displayed or processed at any optional logic systems in the network without any additional configuration work.
Scalability covers in particular:
The system is designed for deployment on dual and multi-processor equipment, and considerably benefits from this. Upgrading a computer to multi-processor operation does not require any modifications to the application. Each manager runs on a dedicated CPU-core and uses its performance – so clock-rate of CPU is a quite relevant factor to define the hardware requirements.
The system can be parameterized online. Creation, modification or deletion in particular of
can be performed on a parameterization workstation in the network without interrupting operations. This workstation can be but does not need to be a separated station in case of running a Single Server System / Operator Station. The customary operating and monitoring functions of other workstations are not affected. There is neither an interruption of operations nor a gap in historical recording/logging. In order to reconcile permanent availability with the need for cyclical data backup, a backup of the application together with the database can be created during online operation without any disruption of operations (online backup).
The system supports the UI QT Framework for generation of graphical UIs. The system must support at least version QT 5.15 which guarantees long term support. Furthermore, the new QT version allows to use an extended range of features based on the included API and it enables better support for High-DPI-Displays. All in all, this shall include a basement to create user interfaces using a state-of-the art technology and feature-set as well as give more stability and a higher performance to the UIs by using the higher QT Version.