![]() |
![]() |
|
Technology > Features > Architecture Multiprotocol Vendor-Agnostic Framework
AggreGate is used in many industries, and its components can live in diverse hardware and software environments. AggreGate creates an internal, normalized representation of any hardware device within the system. This way, system modules can interact with the device without “getting into the details” of how exactly it works. Most modern device communication protocols provide some metadata about the device, and AggreGate does its best to “get to know” your device. This way, you almost never have to input data about device settings (what settings are available, what are the ranges for various values, etc.). You can usually just set up connection settings (IP address, serial port number, etc) and let AggreGate do the rest. You can then start accessing device data. The whole process takes mere seconds. AggreGate directly supports many modern protocols (e.g. SNMP, Modbus, BACnet, or OPC). It can communicate with thousands of devices from different manufacturers without additional programming or complex configuration. As AggreGate evolves and matures, more drivers are added. Devices that are not supported directly may be connected using programmable hardware controllers (Agents) or software device drivers, as described under connectivity section. Tibbo also offers a driver development service. Modular Scalable System ArchitectureUnlike most of the competing systems, AggreGate was initially designed for different industries and environments. Most system components and modules process abstract data that may come from any source. These components are not aware of the nature of this data, in contrast to system operators. Thus, operators may fine-tune the system to apply the necessary processing exactly to the real-world data flowing in the system.
Custom servers-side data processing and visualization modules are implemented as plugins and may be easily installed/deinstalled from server core at any time by simply copying plugin file to the plugins directory or removing it. This procedure is applicable for all types of plugins, including device drivers, report/alert/script libraries, widgets, branding and personalization packages etc. Server checks plugins validity and dependencies on every startup to ensure overall system integrity. Number of managed devices is limited only by available server resources, mostly CPU speed and RAM size. The whole system can be scaled to manage hundreds of thousands of simultaneously connected devices those ownership is distributed between several servers and hundreds of operators. Total number of system operators and number of simultaneously active operators is not limited by the licensing policy or other factors.
All data in the system is converted to a common format, and different modules access it and operate on it. This means you can build complex data processing workflows involving several chained operations. Let's say you've just connected a new device and want to present its data neatly in the form of report. No additional modules are required for proceeding. In most cases, you don't even have a need for programming. Report creation sequence is simple and straightforward:
AggreGate Integration Layers![]() Hierarchical Multi-User Environment
Large AggreGate installations are operated by many people, including system administrators, operators, analysts digging through data and preparing reports, etc. In such a complex environment it's extremely important to ensure security and restrict access to important data. AggreGate Server may have an unlimited number of user accounts. System resources are usually owned by the user who creates them. User permissions are configured by editing a permissions table defining that user's access level to every system resource. This lets administrators implement complex security schemes which actually reflect the user's role in the organization. Some examples:
Every record of permissions table may define user's access level for one resource, several resources or even a subtree of dependent resources, allowing batch configuration. Configurable user permissions also make life simpler for operators, by allowing them to view only resources that are relevant to their job. For example, the following permission schema is often used for Time and Attendance control system:
Every user account has a set of preferences, such as time zone, date/time format and preferred language. User Self-Registration
User self-registration is very helpful during the first stages of system deployment. System users may create their own accounts and provide some personal information (name, e-mail, company/department, phone no., etc). Once registered, they get their own login/password pair. Self-registration can save lots of time for the administrator during initial deployment. When system installation is over and it enters production mode, self-registration should be disabled for the sake of security. Clients
AggreGate Client software can run under any Java-enabled platform, including Windows, Linux/Unix and Mac OS. The main screen can be easily configured for real-time monitoring and data analysis. Dockable windows allow creating custom desktop views and dashboards. Every operator has a dedicated workspace, with a persistently saved window layout. Client connects to AggreGate Server via any IP network using a secure connection. In clustered and multi-server systems, Client may maintain simultaneous connections with several servers. Combined with AggreGate Server's capability to maintain an unlimited number of client connections, you could build a "many-to-many" distributed system with very high reliability. Primary components of Client:
|