This year has marked the start of the mobile and big-data age in enterprise IT. A related but distinct trend has also been the emergence of “machine-to-machine” (M2M) communication, which depends on wireless technology and real-time analytics.
M2M is revolutionising technology across a range of industries, from smart meters in energy and utilities (the “smart grid”) to connected vehicles in automotive and logistics, heart monitors in healthcare, RFID?tagged inventory in retail and manufacturing, and digital signage in media and communications.
To support these innovative opportunities, telecommunications companies like Deutsche Telekom (Bonn, Germany) and AT&T (Dallas, USA), and M2M platform providers like Sierra Wireless (Richmond, Canada), Jasper Wireless (Mountain View, USA), and Axeda (Foxboro, USA), have taken the lead in building networks that deliver the granular device data to centralised applications, which turn it into meaningful information. Companies across all sectors are evaluating their M2M needs, and spending is expected to top $18 billion by 2014.
M2M offers unique capabilities for disruptive and innovative solutions. In spite of all the hypothetical usages such as toasters that burn the weather forecast on to your breakfast, history shows that pragmatism will prevail in M2M adoption.
The true value of M2M solutions comes not from their ability to connect a smart device to other devices, but from collecting, integrating and analysing the information from all smart devices in order to achieve specific business purposes. The quickest and most effective way to accomplish this practical goal is to connect these M2M networks with the core systems and business processes that already live in the enterprise infrastructure. In fact, many of the existing business and IT assets in the enterprise are already accessible to M2M networks as APIs.
Reusability in computing—from shared libraries to object orientation, and more recently to service orientation—has always been a goal to bring efficiency to the enterprise. APIs represent the culmination of that evolution, and are seen with greater frequency in enterprise architectures providing access to many critical business services. APIs have been a key to the mobile web and the growth model for numerous tech companies like Twitter (San Francisco, USA) and especially Amazon (Seattle, USA).
API integration is already prevalent in many M2M offerings, such as the use of RESTful APIs and OAuth in Sierra Wireless’ AirVantage platform. The telecommunications industry has collaborated on the OneAPI standard, which provides a common language for services like billing, presence and location. In addition, Deutsche Telekom and Orange-France Telecom (Paris, France) have published API portals for their own sets of M2M-specific APIs. It makes sense then for the communication link between M2M networks and the enterprise to be API-based. There are a number of distinct advantages to this approach:
- APIs allow for real-time integration of M2M device networks with systems of record, removing costs associated with erroneous data and protecting regulatory boundaries
- APIs provide a consistent approach for integrating the services of the enterprise, as well as those from M2M network, platform and cloud providers, making skills and tools readily available
- APIs are founded on the principles of the World Wide Web, and enable the performance, scalability and security needed for high scale M2M deployments.
At a high level, APIs are ideal for M2M platform integration, and indeed many readily available enterprise APIs can be used for this purpose. However, enterprise APIs have evolved in the context of real-time human interaction. There are some characteristics of M2M communication that differ, and must be considered when architecting M2M solutions:
- Identity and security – Much of the security and access control that is implemented for enterprise APIs assumes a human end user with specific permissions. A device-oriented security model is required to ensure appropriate control of the data flow
- Synchronicity and protocol – Many real-time enterprise APIs are synchronous, request-reply interfaces. Many devices in the M2M network demand asynchronous communication for technical and business reasons. Existing APIs may need change to handle these requirements
- Bandwidth and scale – M2M communication simultaneously demands greater scalability to handle the proliferation of smart devices, while being constrained on bandwidth based on geographical disbursement and deployment in locations atypical for IT. This requires flexibility in SLA’s for and optimisation of APIs.
Fortunately, there have been a number of recent trends driven by the mobile web that are already making enterprise APIs more suitable for M2M use.
- API keys and OAuth – The API key model that has been popularised for mobile apps provides a basic framework to help authenticate and identify M2M endpoints. For more complex access control requirements, the OAuth standard that has been popularised for mobile and social provides an optimised means of transporting the needed information
- JSON, caching and WebSockets – The predominantly RESTful architecture of APIs ensures that payloads are optimised through JSON encoding. Furthermore, it is becoming more common to have caching of high volume API calls in order to provide huge scalability benefits. Lastly, WebSockets is emerging as a popular protocol for bi-directional communication, and is well-suited to constrained smart device clients that need to engage in asynchronous messaging.
These API developments have already been recognised broadly for their suitability to M2M integration. JSON APIs are being used in the open source Mango M2M libraries, as well as in commercially available software like the deviceWISE M2M platform.