|
One of the most important and innovative concepts of AggreGate Platform is the unified server data model. This model is designed for aggregating various data from diverse hardware devices in a single system by converting data items into a "normalized" representation. Such normalized data can be:
| • | Stored in a central database; |
| • | Uniformly processed and routed by bundled data mining tools; |
| • | Presented, exported and imported using standard components; |
| • | Made available in the integrated visual editors; |
| • | Exposed to external systems using an SDK, different APIs and web services. |
Contexts
The heart of the AggreGate data model is the context tree. The context tree is hierarchical structure of data containers called contexts. The purpose of context is providing unified access to a certain system resource of hardware device. Thus, context exposes several objects:
| • | Variables (also called properties or settings) for browsing or altering the configuration of underlying objects. |
| • | Functions (also called operations or methods) for performing operations with underlying objects by passing input and getting back output |
| • | Events that are asynchronously generated by underlying objects and routed to event listeners that were previously registered within the context by someone wishing to receive event notifications |
| • | Actions that combine internal operations of underlying object and interaction with the human system operator within a single dynamic workflow |
We might say that context acts as a "proxy" for a certain resource that is a subject for control or monitoring.
Data Tables
Another core concept of AggreGate data model is a standard data item called Data Table. This is a tabular data structure used for representing:
| • | Input and output values of functions |
| • | Data associated with certain event instances |
| • | Any other pieces of data flowing inside AggreGate |
Data Tables are very similar to the database tables since they have zero or more rows and several fields of certain format. Here are several important facts about Data Tables:
| 1. | For the sake of unification, scalar values (numbers, strings, booleans, dates) are represented as single-cell Data Tables, i.e. tables having one row and one field |
| 2. | Lists of diverse values are usually represented as single-row tables with multiple fields of different formats, while arrays are better represented by single-field tables with multiple rows. |
| 3. | If type of Data Table's field is also Data Table, each cell in this field contains a nested Data Table. There could be an unlimited level of table nesting. |
| 4. | Data Table format descriptor contains comprehensive information about field types, their meanings, value validation and presentation rules, cell cross-dependencies, etc. |
|