At first glance, the World Wide Web Consortium (W3C) and the Internet of Things (IoT) are two different worlds. The consortium is considered the authority for web standards and ensures that everyone can find information on the World Wide Web regardless of their device. Both the relatively simple web development and the so-called service composition (mashup) work relatively smoothly when integrating and offering different and partly external services such as road maps, weather data or translation services. But it is precisely this orchestration of services that is less trivial on the Internet of Things. IoT devices offer data and services such as sensor values for the temperature or switching a lamp on and off. Communication works smoothly when companies use all devices from a manufacturer and rely exclusively on its app or ecosystem, but a cross-manufacturer service composition is much more difficult, especially since security requirements differ from one another. And that exactly the gap the W3C wants to close with the standardization activity for the Web of Things (WoT).
It is explicitly not about establishing yet another IoT standard in the form of an additional protocol or data model, but rather providing tools or so-called technology modules to create a uniform level of abstraction for the heterogeneous IoT landscape.
It is deliberately kept simple and offers the following three core elements:
1. Properties typically map sensor, status, or parameter values
2. Actions represent functions with input and output values, for example starting a motor, moving a robot arm, or taking a photo
3. Events typically map alarm signals or data streams
The so-called Thing Description (TD), which maps properties, actions, and events, plays a central role. Like index.html on a website, it provides the entry point of an IoT device or a service.
WoT is a protocol-independent approach and offers a uniform mechanism for mapping specific protocols such as MQTT, HTTP, CoAP or Modbus to the abstraction elements Properties, Actions and Events. Binding templates exist for the mapping and the protocol-specific metadata. The optional component WoT-Scripting-API defines an ECMAScript-API, which is based closely on the TD specification and uses the WoT interaction abstraction. It defines the interface between the behavior implementation and a script based WoT runtime. The implementation is not limited to scripting environments: programming language APIs in Java or C / C++ can be derived from the WoT scripting API. In addition, the Web of Things deals with topics such as discovery and various aspects of security and privacy.
In short, the Web of Things offers a new approach to cope with the heterogeneity in the IoT environment. The Thing Description creates an understanding of different IoT systems and can be used for the composition of services. Thanks to JSON-LD, the Thing Description can be annotated with additional semantics, for example, from SAREF, schema.org and/or ECLASS. This addition improves interoperability and (machine) understanding, among other things, regarding the intention and the context of the properties, actions, and events.