Just when you thought the Internet couldn’t get any bigger, here comes the Internet of Things (IoT).
The Internet of Things is the impact that sensors and network devices will have as they allow buildings and infrastructure to swap information. According to International Data Corporation, there will be 212 billion connected things by the end of 2020, all emitting and receiving data. Intelligence systems will be installed and collecting data from all of these things. IDC forecasts that this will be an 8.9 trillion dollar market by 2020.
According to the Harvard Business Review, “The Internet of Things has the power to profoundly change operations– that’s where much of the coverage of this burgeoning network has focused.” “But companies should also be preparing for profound shifts in their competitive strategies as the Internet of Things takes off.” “It will change the category you compete in, the products and services you sell, how you market them, and even the talent you acquire.” So our three disrupters, Consumerization, Cloud and Mobile, and the Internet of Things create enormous opportunities for organizations, but they also create the potential for different kinds of information chaos, which we’ll explore in the next chapter.
Is REST the right model for IoT?
The protocol most closely associated with IOT is MQTT (mqtt.org/).
MQTT is about asynchronous messaging and pub/sub which is not the domain of REST.
As a believe in “Heterogeneous Interoperability” Lets imagine we have a Restful API for all our services, we read about IoT and the capabilities that would give our services and suddenly we realize our Restful API does support IoT all we need is finalizing the interface.
Devices/Things are having capabilities to offer. For these capabilities to be useful, having a programmatic way of accessing these capabilities is a must . APIs are the fundamental block that allow these capabilities to be offered in a programmer friendly manner.
However having naked API can expose the device to an unprecedented traffic or access. This is where having a managed API to the device would come in handy. Managed APIs would also allow throttling capabilities. So accessing a device beyond its processing capabilities can be controlled. A managed API can also expose statistics about how a device is being accessed. Managing subscription is the next challenging task as devices can come in large numbers.