As my colleague Apoorv noted: Internet of Things (IoT) and traditional Mobile remain distinct domains, albeit with some overlap. However, certain middleware tools -- also called mobile back-end as a service, or "MBaaS" -- lie at the intersection of IoT and mobile. We evaluate several of these tools in our Enterprise Mobile Technology research.
Mobile middleware tools provide several useful services for integration, messaging, sync, offline access, data management, data processing, caching, filtering, and so forth. They generally act as a gateway to other enterprise systems. Many IoT use cases hinge around processing of remote sensor data, and on the surface, it would appear that mobile middleware tools can support such requirements.
However, we see several differences that will limit the usefulness of mobile middleware tools for IoT use cases.
IoT Apps Require More than Traditional REST Protocols
Mobile/Web applications rely on the request-response protocols (e.g., REST/SOAP) for much of their programmatic workloads. IoT devices are far more resource constrained than smartphones, and their operating environments are characterized by low bandwidth and low power radio frequency communications.
Rather than REST, the pub-sub protocol is more suited in IoT environments. There are lightweight publish-subscribe protocols that are more amenable for machine2machine (M2M) communications, such as Constrained Application Protocol (CoAP) and Message Queuing Telemetry Transport (MQTT). Mobile middleware tools currently don't support these M2M-oriented protocols, limiting their usefulness in the IoT context.
IoT Use Cases Have Different Data Processing Requirements
Processing data from IoT sensors is again a different ballgame compared to traditional mobile apps. The volume and velocity of data generated is several orders of magnitude higher.
Thus, rather than pull data from persistent SQL datastores, you need to analyze data while it is still being ingested -- only then would you be able to identify events of interest (e.g., a rise in temperature) in real-time.
To that extent, you need to deal with more than just SQL or NoSQL databases (which traditional mobile tools support). You need support for databases that are optimized to deal with time-series data to analyze time-sensitive data from the sensors.
Testing and Simulation Tools Are Not Readily Available
In the last few years, mobile development tools have made substantial progress with test simulations to see how mobile apps behave in the real world. Many edge cases can be fairly easily tested from right within the IDE.
However, in an IoT context, you’ll not find such ready-to-go tools where the complexity of the underlying moving parts is abstracted from the developers. Back-end IoT development requires simulators for sensors, and their data formats -- neither of which are supported by traditional mobile tools.
In theory, mobile middleware tools can be flexed for IoT use cases. But in reality, the different architectures, data patterns, and testing requirements indicate that mobile middleware vendors have a long way to go before they can claim strong support for IoT use cases.
Therefore, as a technology customer looking to expand your digital footprint, you may need to reconsider your back-end investments as you migrate from mobile to IoT-based engagement.