It defines the structure of all information of Virtual Entities only at conceptual level and not at concrete level. In other words, it covers all aspects of adding information in the data. Here, structure covers attributes, relations and services that helps to know what, who, where, and when.
The detailed representation of information is not covered in this model.
This model covers following details (elements & their association) and of modelling of virtual entities:
1. Virtual Entity has attributes with name and its type.
Each virtual entity has a unique id or type i.e human, a car, or a temperature sensor.
A virtual entity can have zero to many attributes.
2. Attribute can have one or more values.
Each attribute has a name, a type (semantics) and one to many values.
3.Valuehas meta information(Meta data)
Value can further also have more values and each value has zero or many meta data. A virtual container keeps grouping of a value and associated zero or many meta data.
4. Meta Data might help to define other information like:
Time stamp (what time information is defined)
Location (Location where measurement took place
Quality (Quality of measurement) etc.
Meta data can itself have additional meta data i.e unit
5. Association between Virtual entity and Service description for specific attributes. Service allows to read attribute value or set the value based on changes in physical entity.
6. Services description describes services and associated interface. It also contains resource description that covers functionality of resource those are exposed by service.
7. Resource Description describes a resource and also contains description of device on which resource is hosted.
OpenRemote IoT platforms enables connecting various network connected assets/entities/things to mobile and Web application.
OpenRemote platform architecture is split among following 6 major categories of IoT Solutions:
Frontend
Services (Manager)
Agents
Security
Edge Gateway
Console
Below table describes solutions provided by OpenRemote for above mentioned categories:
IoT Solution Categories
Features/Tools provided by OpenRemote
Frontend
Frontend simplifies creation and development of user interfaces that includes: – Web Components & Templates for developing browser based application & administration tool. – Smartphone Apps for both Android & iOS
It also has some dedicated/pre-built frontend applications like: – Multi tenancy based monitoring dashboard – Home automation/Smart City based control panel – Mapping all assets on map using asset model.
Services (Manager)
Manager provides APIs of services or *headless applications to monitor & administrate the system. It provides following services: – Asset management service – State & Historical Data service – Rules Engine – Event Processing Engine – Messaging Service – Streaming Service
It provides APIs for following technologies: – REST based HTTP APIs – Websocket event based APIs – MQTT event or protocol based APIs
Rules engines allows to write and understand the rules written using: – Groovy – JavaScript – JSON
Agents
It links the external devices or services with OpenRemote system. Agents supports proprietary and open standard protocols. It contains following two major components: – Device Management – Protocols Adapter
Security
It provides pre-integrated Keycloak based Identity & access management security that includes: – Authentication (multi tenants authentication), Single sign-on etc and also supports OAuth authentication. – Authorization – Identity Management
Edge Gateway
– It is a OpenRemote manager that connects to central OpeRemote manager using Websocket API with proper authentication mechanism. – It also supports Keycloak identity management solution. – Edge Gateway has very limited hardware.
Console
It is native mobile applications those are used by OpenRemote Web Component.
Table 1.0
* Headless Application functions without frontend or it exposes APIs.
*KNX is OSI-based network communications protocol that is primarily designed and developed for building & home automation. And it is managed by the KNX Association.
*Simulator: It simulates a connection to an external services so that development can be done without the availability of actual
*SNMP manages & monitors of devices connected in network.