Middleware requirements for the Internet of Things (IoT) phenomenon are complex and diverse. Most of the proposed IoT middleware stacks have not been tested beyond a few real-life IoT use cases (for example, the "connected car" and "home automation"). In fact, it is easy to demonstrate that connecting a range of "things" in a "cyber-physical" world to an enterprise IT stack is a significant challenge for middleware vendors and integration practitioners.
A holistic approach is required to bridge the gap between M2M, application, and data integration
From a broader perspective, IoT middleware is expected to:
support interoperability across heterogeneous components.
provide an abstraction layer to applications.
offer APIs for physical layer communications.
support context detection and processing of data collected from various devices.
enable device discovery and management.
provide requisite data security and governance (for example, device authentication, access management, and data integrity).
support reliable and low-latency messaging.
These requirements translate into support for device-to-device, device-to-server, server-to-server, device-to-user, and server-to-backend communications. IoT dramatically increases the number of integration points involved in the process of realizing a logical output from the complex ecosystem of connected things, users, applications, and enterprise IT stack. In particular, the data collected at various endpoints of integration flows needs to be analyzed along with the context of usage to deliver valuable resources and functionality based on interactions between connected devices and different applications. This in itself represents a challenge.
It is also worth noting that the connotation of "real-time" communications varies to a significant extent across different interactions between the various elements of the IoT ecosystem. For example, the acceptable latency for device-to-device communications is relatively lower than that for server-to-server communications. Likewise, device-to-server communications need to be completed in a shorter timeframe when compared to server-to-server communications. These constraints translate into specific quality of service (QoS) control requirements for IoT middleware.
An interesting trend is the emergence of cloud-based IoT platforms providing a range of capabilities, such as device and machine connectivity using different protocols, data and message processing, device management, system and performance monitoring tools, and APIs for application development and machine data integration.
Some of these platforms can be classified as “cloud-based M2M integration platforms” that provide a middleware layer for communications between smart devices and enterprise applications and systems that use data aggregated from smart devices. A key function of this middleware layer is to enable downstream applications to control and manage smart devices, enabling bi-directional communications.
2015 Trends to Watch: Integration and Middleware, IT0022-000217(November 2014)
Saurabh Sharma, Senior Analyst, Software – Infrastructure Solutions