Web of Things: The building blocks for IoT applications

This article aims to introduce the Web of Things (WoT) as building blocks for applications based on the IoT devices. As a growing area, IoT services and application have a huge potential. From home automation to smart-grid passing by industrial manufacturer, IoT is gaining popularity as a potential solution to address their need. Several technologies can be used to build an IoT application mainly because of the specific constraints of the devices. This creates interoperability challenges for communication between devices.


WoT is an initiative by the W3C to apply on the IoT device the sames principles as for the existing web resources across the Internet. The main idea behind WoT is exposing virtual or physical devices as a resource with a description of it's capabilities. That resource can then be accessed from a browser or another device in the same manner as web page. WoT is not a proposition for a new communication protocol between devices, it uses existing protocols to communicate with the devices according to their communication capabilities. It presents a set of architectural and programming patterns for building interoperable devices base on the following three fundamentals:
  • Uniform Resource Identifier (URI) for identifying devices and their descriptions
  • A wide variety of existing protocols for accessing the devices
  • A description of the description as metadata used both for interoperability and presentability proposes

WoT Architecture

The central component of the WoT architecture is “WoT Servient” which is functional virtual device. A Serviant extends the IoT physical devices by providing standard access and controls capabilities to the devices.
Figure 1 : WoT Servient architecture.
A Servient provides a protocol agnostic runtime for the application using the resource model. Servient application use this resource model which enable interoperability with other Serviants and users that are using multiple bindings. Servient may acts on the same time as a client and a server according to the applications' behavior. The resources associated to a Servient instance are described on a Things description. It uses JSON-LD to make this description readable by both humans and machine. Such a description enhance the machine to machine communication and makes the things ready for the Sematic Web.
Figure 2: Deployment scenarios
A Servient instance can run on multiple platforms at different layer of the IoT network. It can be deployed inside the IoT device itself in condition to have a minimum processing power. It may also be deployed in side a smart hub or edge node to adapt legacy devices to the architecture. this adaptation role can also be provided by a Servient deployed on the cloud. last but not least, Servient Instances can be accessed as web resources by Smart phone and web browsers.


WoT presents interesting approach to build IoT application. It adoption by the industry will be an significant step towards fighting the risk of fragmentation that may limit the development of IoT applications.
[1] https://w3c.github.io/wot/architecture/wot-architecture.html#general-description-of-wot-servient
[2] https://github.com/w3c/wot
[3] https://webofthings.org/


Popular posts from this blog

Software-Defined Networking and Cloud: Hands on OpenStack integration with OpenDayLight

Publicity plan for a workshop or conference