The Internet of Things (IoT) is supposed to have 10 times the impact of the web itself, which means it has potentially 10 times the risk for complication, and, with its ubiquity, 10 times the risk to security. Each "Thing" we encounter in our daily and professional lives could potentially be connected within the next couple years. And with so many, many more players, manufacturers, protocols, and programming languages, it all gets exponentially more complicated.
That's why it's interesting that the simplicity of grammar and the logic of verbs seems to be the solution that's arisen to make sense of these 50 billion connected devices.
The Web of Things working group, a part of the World Wide Web Consortium or W3C, has brought together 40 of the biggest players in the IoT space to standardize on semantic interoperability based on Linked Data (the underlying principle behind the Semantic Web) and application programming interfaces or APIs. ProgrammableWeb talked to these forerunners of the future of our soon-to-be connected world.
APIs Create Abstraction Layer for Universal IoT Communication
Dave Raggett, technical lead for the project, said the main objective of the WoT group is to "find a way of describing things in such a way that developers don't have to know about the details [or] underlying communication patterns."
While there can be a limitless number of connected objects, similar kinds of objects tend to have aspects in common and behave or are used in similarly predictable ways. The vast majority of connected devices share some, if not all, of the following aspects:
- Objects with certain properties, like temperature
- Actions, like turning on heating
- Events, like having the heat turn back on when the temperature drops
- An owner
- A vendor
- A location
Raggett said the IoT is all about finding the description of things.
In order to turn the IoT into this description of things, the standards body has decided to build APIs as a sort of identity extraction layer for applications, similar to what the W3C did in creating an abstraction layer for the Internet itself.
"The Internet introduced an abstraction layer, which means that developers could create services end to end across networks without knowing anything about the networks or the technology. Abstraction layers are very powerful," says Raggett.
For each grouping of connected things, they're looking to answer:
- How do I publish a Thing?
- How do I access a Thing?
- What is the lifecycle of a Thing?
- How do I add a new property to a Thing?
"The idea is that if every application platform had its own APIs and they're all different, it would make creating barriers easier. If we can create common APIs across platforms, we can reduce the cost. We want to create application APIs that are at the level of the Web of Things," Raggett said. With this working group "we aren't talking about a protocol, we're talking about an action."
Alan Bird, the W3C's global development business leader, offers up the example of smart manufacturing:
"The big guys all have their own systems teams and they can guide through all this integration, but this is really a challenge for someone who is trying to have agile manufacturing. They don't tend to have the expertise on networks and protocols and how to standardize across APIs. These companies are having to offer service integration solutions to make it work. It's not a one-time expense because, with new integrations and new code, all that needs to be updated."
Bird goes on to say,"If we could have a standard definition and a known ontology, then we could work with our customers to build on our platform." While, currently, they have to spend a lot of time reengineering the integration layer, he says.
He described the end objective of this WoT working group as one that reduces cost and increases profitability in a way that redeploys engineers onto other work, all through increased interoperability.
Bird says this working group is heading down the similar path as the Web. "Some leading-edge companies were doing some really cool stuff. But in order to gain the market share that they want and to continue to grow in the market, standardization is needed," he says.
Pillars of IoT, who are also key W3C members, like IBM, Siemens, and Cisco, already have proof-of-concept labs to prove how this interoperability works. But now it's up to the W3C to take it to the next level, attracting integration companies like Accenture, where you have a mix of products and companies interoperating together.
Why the API Could Be the Solution
Michael Campbell, CEO of IoT platform provider MachineShop, tells ProgrammableWeb that, "It seems like there are as many standardizations and bodies focusing on IoT protocols as there are IoT protocols." He finds his own organization on five of these protocol boards.
He warns that we need to be careful with how freely we use the word "protocol" because there are important ones like the communications protocols — like Bluetooth, Wi-Fi, Zigbee, MQTT, and CoAP — and networking protocols, which decide the different ways to package data transferred over a network. But too often the term "protocol" is tossed around when really we are talking about the actual format of the data going across a network via some protocol, he says. While there may be protocols in place, he points to how even within the heating, ventilation, and air-con world, each element and brand is implemented very differently.