Web of Things (WoT) describes a set of standards by the World Wide Web Consortium (W3C) for the interoperability of different Internet of things (IoT) platforms and application domains. The WoT building blocks provide a way to implement systems that conform with the WoT architecture. Each of these blocks is described below in this section. The key component of the WoT building blocks is the WoT Thing Description. A Thing Description describes a virtual or a physical device (Thing). It defines an information model of a Thing based on semantic vocabulary and a serialization based on JSON. TD can be considered as the main entry point for a Thing, like an index.html page for a website. TDs foster interoperability by providing both human and machine-readable (and understandable) metadata about a Thing, such as a title, ID, descriptions, etc. A Thing Description also describes all available actions, events, and properties of a Thing, as well as all available security mechanisms to access them. TD is highly flexible in order to guarantee interoperability. In addition to the standard functionality, it defines a mechanism to extend the functionality (through the Context Extension Framework). IoT uses a large variety of protocols to interact with Things since there does not exist a single protocol, which is suitable for any case. So, one of the main challenges for the Web of Things is to handle the variety of protocols and interaction mechanisms. This problem is tackled through the Binding Templates. WoT Binding Templates provide a collection of communication metadata blueprints to support various IoT solutions. A Binding Template is created only once and then can be reused in any Thing Description. The WoT Scripting API is an optional building block of the Web of Things. It eases IoT application development by providing an ECMAScript-based application API in a similar manner to how web browsers provide an API for web applications. By having a universal application runtime system, Scripting API solves the problem of heterogeneity of IoT systems.
David Shuman, Ke Li, Aditya Mahajan