The INTER-MW V2 release provides core functionalities related to facilitation of interoperability among IoT Middleware platforms, as well as the provision of a common abstraction layer to provide access to platform features and information.
The MW2MW V2 release provides the flowing features:
- Common ontology. INTERMW uses the common INTER-IoT ontology (GOIoTP) to represent all messages routed through the system.
- Middleware abstraction. Common abstraction layer unifies the view on all interconnected platforms, devices and services.
- Device registry The MW2MW solution maintains a registry of all devices maintained by platforms attached to it. the registry contains meta-information about devices. This allows the implementation of an efficient querying mechanism and seamless operations and implementation of additional services across platforms.
- Discovery mechanism. Maintenance of the Device registry is not a trivial task, as there are several approaches how IoT platforms provide meta-data about attached devices. MW2MW implements several discovery strategies that can be used to populate the registry: full-query at regular time intervals, difference query at regular time intervals or, with more advances IoT platform implementations registry updates with callbacks.
- Actuation and Observations. MW2MW supports actuation and subscription to observations as core IoT platform functionalities.
- Virtual devices management. Virtual devices management (create, update, delete) is implemented for platforms that support this functionality.
- MW2MW REST API. Implementation of a REST API interface further extends the usability of this abstraction layer by exposing this functionality through a widely used technology.
- Synchronisation strategy. Clients can use either a pull or push (URL callback) strategy to get results from the MW2MW layer. The set of functionality provided is same, the choice may depend on client's technical and organisational constraints, like the network topology, availability of REST servers or security policy.
- Data format. Requests and results may be provided in either a simple JSON format, that fulfils the most of the basic user requirements, or in the more complex JSON-LD format that also offers a richer set of functions and full semantic interoperability.
- MW2MW open architecture for the development of IoT platform bridges.
- Common Java interface. MW2Mw provides a bridge interface that defines common bridge features that have to be implemented: subscriptions, actuations, virtual devices management and discovery. Java annotations are used in combination Java reflection mechanisms in order to dynamically lad bridges at runtime.
- Syntactic conversion. One important step in bridges development is the implementation of a syntactic translator to/from platform-specific format and RDF. Generic syntactic translators with examples and some common formats are provided, but in principle a new translator should be provided for each IoT platform type.
- Semantic translation. Semantic translation is performed by the IPSM module that is bundled with MW2MW deployments.
- Unit and integration tests. A series of unit and integration tests has been provided in order to facilitate the development of bridges. A series of test API calls can be generated in order to test bridge implementations.
- Documentation and Examples. Documentation is provided for INTER-MW usage and development of new features. A set of examples is provided, in particular for the development of new IoT platform bridges.
- Security.
- Integration with identity managers. INTER-MW supports OAuth 2.0 and can be integrated with most SSO systems. It has been tested with the WSO2 Identity Server.
- Platform security. Platform security is supported through bridge-specific implementations.
- Dockerized deployment. The MW2MW core, Parliament™ Triple Store and RabbitMQ can be deployed through a single Docker Compose script. This facilitates the deployment and takes care about correct dependencies among components. An additional compose script for the deployment of both IPSM and MW2MW is provided as well to support simultaneous deployment of both Inter-Layer components.