Modular Architecture

AggreGate modular structure

AggreGate was initially designed for different industries and environments. Most system components and modules process abstract data which may come from any source. These components are not aware of physical nature behind this data, in contrast to system operators. Thus, operators may fine-tune data processing to match real-world data flowing in the system.

Custom data acquisition, storage, processing and visualization modules are implemented as server plugins and may be easily installed/uninstalled at any time. This is applicable for all types of plugins, including device drivers, report/alert/script libraries, widgets and dashboards, branding packages, etc. The server checks plugins validity and dependencies on every startup to ensure overall system integrity.

All plugins interact via the unified data model. This microservice architecture makes it possible to configure data exchange between any two plugins even if they were never designed to be aware of each other. Resulting workflows and data processing chains implemented within the bounds of large integration projects may become quite complicated.

Microservices architecture

Many partners and customers develop their plugins. A plugin of any type can be coded in Java.

Plugin Interaction

Let's say you've just connected a new device and want to present its data in the form of a report neatly. No additional modules are required for proceeding. No programming is needed as well. Report creation sequence is simple and straightforward:

  1. Define a Source Data Expression used to mine tabular data for filling the report template. It sounds very technical, but the Expression Editor turns this into a point-and-click operation. In the most complex cases, your expression may refer a script for advanced data processing, but the majority of reports is based on queries or models.
  2. Specify report title, paper size, font types, column width, grouping options, and other essential parameters. Let the Report Template Builder generate an initial report template for you.
  3. Use the integrated Report Editor to adjust the template. The editor operates in visual drag-and-drop mode and links to the data values obtained at the first step and created in mere seconds.
  4. Run your report to browse or print it in the Report Viewer.
  5. Drag your report node and drop it to the Scheduler node using a mouse to schedule report e-mailing or auto-saving. Set up a schedule.