Basic Concepts
Iotellect SDK indoctrinates a generic approach to managing any type of data flowing inside the system, both raw data coming from devices and pre-processed data provided by different system facilities, such as alerts or trackers. This approach also applies to any of the pre-built vertical market solution, such as Iotellect Network Manager, Iotellect SCADA/HMI, Iotellect Access Control, and other.
Iotellect Architecture
Technically, Iotellect is a set of Java applications and components (libraries). Two primary Java applications that constitute the platform are:
- Iotellect Server
- Iotellect Client
Standalone software components embeddable into third-party software are:
Any code using other parts of the Iotellect SDK (e.g. Driver Development Kit, Plugin SDK, Widget Component SDK) runs either inside Iotellect Server JVM or inside Iotellect Client JVM.
The very formal description of Iotellect is available on Specification page.
Data Table Operations
- The elementary unit of all data flowing inside the system is Data Table. Even simple scalar values (integers, strings, booleans) are represented by single-cell Data Tables for the sake of uniformity. The Java representation of Data Table is
DataTableinterface. Objects of classes implementing this interface can include zero or moreDataRecordinstances representing individual records.
- Format of
DataTableis represented byTableFormatclass. It refers zero or moreFieldFormatinstances defining format of individual table fields.
Working via Contexts
- Generally, all data should be accessed through different server contexts. Contexts are organized as a hierarchical context tree. The SDK includes
Contextinterface for handling different context operations. Context instances may be retrieved from theContextManagerby their paths (full names). TheContextinterface also has a series of methods to access its parent and children.
Accessing Context Variables, Functions and Events
- Every context provides access to its variables, functions and events. There are several methods to get their definitions:
getVariableDefinition(),getVariableDefinitions(),getFuncitonDefinition(),getFuncitonDefinitions(),getEventDefinition(),getEventDefinitions(). Classes representing the definitions areVariableDefinition,FunctionDefinitionandEventDefinitionrespectively. - Context interface provide a way to read/write values of variables:
getVariable()andsetVariable(). Value of every variable is an instance ofDataTable(meaning an instance of a subtype of theDataTabletype). - Context also provides a method for calling its functions:
callFunction(). Both input and output of a function are instances ofDataTable. - Events are handled by adding and removing event listeners using
addEventListner()andremoveEventListener()methods. Event listener must implementContextEventListernerinterface, but the real implementations will extendDefaultContextEventListenerin most cases. Listeners working inside server plugins and drivers should pass an instance ofUncheckedCallerControllerto the constructor ofDefaultContextEventListenerto ensure proper permissions.
![]() |
Direct modifications of |
Was this page helpful?
