Streaming APIs and the Internet of Things
Some of the so-far-so-good Web technologies in use to support the IoT are quickly becoming too inefficient. The reason? Most of them use HTTP as the protocol transport.
Join the DZone community and get the full member experience.
Join For FreeIn a recent study, the McKinsey Global Institute concluded that the Internet of Things (IoT) has an economic potential of up to $11.1 trillion a year by 2025. APIs—specifically streaming APIs—enable the IoT vision to become reality. The addition of a real-time streaming proxy and an API management solution addresses some of the unique challenges of these streaming APIs and makes a great combination for any IoT-based enterprise.
Why streaming APIs for IoT? Some of the so-far-so-good Web technologies in use to support the IoT are quickly becoming too inefficient. The reason? Most of them use HTTP as the protocol transport. By definition HTTP is half-duplex and can only deliver full duplex, real-time communications such as the ones required to monitor real world events at the cost of a higher latency and increased network traffic.
Anticipating the need for better middleware protocols, HTML5 established the framework for new connectivity methods such as WebSockets (RFC 6455) and WebRTC (the related RFC is currently a work in progress). WebSockets technology is in a more advanced stage. It provides bi-directional, full duplex, persistent communications over a single TCP channel to clients and servers without needing plugins or hacks.
You can already find some solutions on the market that will enable your API to deal with WebSocket data streams such as the ones that flow from the internet enabled sensors and actuators, intelligent trash cans, car parks, or any of the other goodies promised by many smart cities projects around the world. Some vendors such as Fanout and Streamdata.io already provide real-time streaming proxies that can be plugged in between your API and an I0T application in order to provide push communication capabilities, allowing seamless communication to and from your internet-enabled devices.
If you don’t want to make your data consumers or providers wait for the next available network slot, this kind of streaming proxy will come in handy. A dedicated component deals with the communications, so your API team can focus on providing meaningful data to your consumers. In other words, these technologies will turn an “expensive” (in terms of latency and wait cycles) synchronous pull API into an asynchronous push API.
In this scenario, it becomes critical that you can monitor and control what’s happening with your API. This is where an API management tool comes in. Managing a streaming API is no different from managing a standard RESTful pull API. You still need to provision developers, provide documentation, be able to throttle consumption, monitor usage, etc. Combining a streaming API proxy (like from Fanout or Streamdata.io) and an API management solution like 3scale’s will open your API to a whole new range of possibilities.
On this topic, we’re very happy to announce two technical partnerships with Fanout and Streamdata.io.
Published at DZone with permission of Steven Willmott, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments