The on-premise application is modular, consisting of the core application and additional modules extending its functionality. Connector modules “know” how to receive data from specific data sources and/or how to send data to specific data sources. Most connectors can send and receive data making the data source readable and writable. Connectors that only know how to receive data connect to a read-only data source and connectors that only know how to write data connect to a write-only data source.
The following image shows some connectors for UA Office Link. Data can flow from any input connector to any output connector.
The ODBC connector supports Microsoft SQL Server, MySQL, Oracle, Microsoft Access and generic ODBC connections for 32-bit and 64-bit data sources.
Tasks define the structure of how data is moved from input connectors to output connectors. When a task is started then data is requested from input connector modules and sent to output connector modules. Connectors in turn connect to the underlying data source to retrieve or forward the data accordingly. Individual data points are organized in Topics. A simple task may have the following structure.
When multiple input and output connectors are used to retrieve and send data from and to different data sources then all input topics are first collated into one list of input topics and all topics and their data point values are then sent to each output connector. The task structure may look like this.
Processors are modules similar to Connectors, however, these modules do not connect to a data source but instead take input data, process it in some form, and forward processed or re-organized data following their own logic. A task that involves data processing may take on the following form (click on the image to see a larger version).
In the image above data is received from the input connectors and then forwarded to the first processor. The output of the first processor is sent in sequence to the following processors and the output of the last processor is sent to each of the output connectors.