New era of server modularity, web friendliness and proprietary hardware support
AggreGate Store is our new approach to deployment of AggreGate servers in your network. Now you can distribute your own AggreGate applications for the use in your corporate network or on public access. Download and plug in only the modules and solutions that are required for your project. Add them when necessary as your project grows. Optimize your system resources.
Flexible device driver acts as a "driver construction kit". It allows connecting devices that use proprietary protocols by performing deep configuration of the system. It eliminates the need for development of a dedicated device driver in the Java programming language.
The driver provides a fine-grained workflow to interoperate between the unified data model and the input/output streams of a physical device. Individual stages of the workflow are based on expressions. This allows to split input stream into commands, detect asynchronous operations, obtain new variable values, execute remote functions and much more.
In complicated cases, protocol commands can be parsed using model rule sets. But still, you can implement support for a new protocol in your system leveraging the power of the AggreGate expression language only.
Welcome a new analytics tool in the AggreGate toolbox – the event correlator – a powerful streaming data processing engine! The correlator is designed for real-time data analyzing and processing, finding specific patterns, identifying trends and much more.
The engine is based on processing rules. By executing these rules, input data streams coming from data sources are transformed into output data streams and passed towards a data sinks. Rules creation presents no problems for an IT engineer, as the rules are based on an SQL-like query language.
Standalone Web Server
AggreGate web interface is given the ability to function autonomously, being managed by the Tomcat web server. A web application that is deployed separately is not bound to a specific server but can connect to any other server. That is to say, it becomes possible to work with several AggreGate servers via a single web application.
This allows to free resources that would be used by the web server and its applications on each system instance. It is especially important for low-end computational devices. Apart from this, a standalone web server can be tuned and scaled independently of instances that are used, for example, to collect critical data.
The license checking process can now be centralized and automated by the integration with a license server. AggreGate server administrators no longer need to monitor and manually modify the validity period of plugins included in a license.
It’s pretty easy to reconfigure a server instance to request a licensing information from the separate server, and an up-to-date license will be received online during instance startup. Centralized licensing simplifies updating outdated licenses and managing installed modules on remote server instances.
Data Table Goes Big
The abilities of the platform’s standard data structure - Data Table - were greatly enhanced. New Data Table types were developed in order to provide support for large datasets. From now on, a Data Table is not necessarily contain the whole data it presents. It allows operations with datasets that are larger than the available RAM. Moreover, several Data Tables can represent a single data source so their combined memory footprint is minimized.
The client-server interaction was also modified. In case of "Big Data Tables", data are transferred from the Server to the Client in batches as and when required. This greatly reduces the requirements for the Client’s RAM.
In addition, the memory requirements for the aggregation of large historical data were significantly lowered. Data aggregation for charts and reports now produces a smaller footprint on the Server’s memory.
We are constantly working to improve the system behavior under edge operating conditions, when available system resources are running out but the load remains high. In this release we equipped the server with the ability to cope with the low-memory condition.
A dedicated algorithm is looking after the memory utilization. When a given threshold is reached the algorithm switches the server to a low-memory mode. In this mode, the Server lowers the incoming data rate, redistributing the load over external systems: network buffers, device queues, services and so on. When the server has processed enough data to free memory it returns to its normal operational state and resumes the functioning in the high-performance mode.
Self Monitoring Dashboard
The new system monitoring dashboard combines all generic tools of AggreGate server performance monitoring. CPU load, memory consumption, thread pool states and queue lengths are gathered in a single administration window. Along with the predefined statistics channels and main performance metrics, these data allow to quickly diagnose potential issues with the server operation and fix them without recourse to any third-party software.
As you may know, Apache Cassandra NoSQL database was recently proposed as the default AggreGate server event storage. In the current release we upgraded this fast and robust data storage to the latest version. Also, we moved to a new internal storage engine and now use the DataStax driver under the hood. Apart from new abilities of internal queries optimization, this update gives room for additional performance gain.
Deeper Permission Control
Renewed and improved permission control mechanism allows for more precise control over each element of the system. The former user restrictions were applicable on the context level only. Now permissions can be specified for individual variables, events, functions, actions, and groups of these entities. This approach provides a means for flexible user permission setting while keeping to security requirements.
Why user session data are not available to the system operators? We thought so too and added a possibility to read/write session variables. Furthermore, we added session events that fire when session variables are changed. This feature greatly enhances the interaction abilities of client-side components such as widgets and dashboards. By exchanging data via user session, a widget can react to a dashboard opening or another action performed by the user.
Different users do not interfere with each other, as the variable state of one user session does not influence another user's session.
Scaling in UI Builder
In the previous release we announced runtime widget scaling. Now welcome scaling in the UI editor! Lines and other component's alignment can now be done quicker and easier. Just zoom in the required area, carry out necessary manipulations precisely and reset the scale to the original setting. Alternatively, if your widget is too big to fit to the canvas, zoom out and see how it looks as a whole.
AggreGate UI editor gives wide possibilities to create user widgets. Visual components have lots of properties, however most of them are related to functionality. But what if you need to deeply customize the component’s appearance? In response to user wishes we expanded the abilities to change the look of the standard component set. Combo box, date picker, data table and other component improvements turn the UI builder into a powerful designer tool.
New Avatar Driver
The new driver allows working with another server’s devices as if they were available locally. With this driver, you can create a local image, or "avatar", of a device that is connected to the server via a distributed connection. You can then work with it as with a local device, read and write its variables, call its functions and so on. All necessary communications are carried out within the distributed connection.
When several devices are connected from a remote server, only a single distributed connection is required, in contrast with the local agents, which require a separate communication channel for each device.Get AggreGate IoT Platform 5.6