Typically, in classical IoT projects, developers have to face a challenging situation. They have to understand a heterogeneous technology landscape consisting of diverse IoT systems and services from different vendors and manufacturers. This diversity includes variations in communication protocols, data models for payload data exchange, and security requirements. IoT applications are usually developed using high effort applied to a narrow and specific use case. During their lifetime, such applications are difficult to extend, maintain or reuse.

An IoT device's metadata, including all information needed to enable this common abstraction, is documented in what is called WoT Thing Description (TD). The TD is a central building block in the W3C Web of Things and can be considered as the entry point of an IoT instance (much like the index.html of a Web site). It provides information on which data and functions are provided, which protocol is used, how data is encoded and structured, and security mechanism is used to control access, and further machine-readable and human-readable metadata. A TD is expressed in JSON-LD and can be provided by an IoT device itself or hosted externally in a repository such as a TD Directory.

In general, WoT is a protocol agnostic approach and provides a common mechanism to define how specific protocols such as MQTT, HTTP, CoAP or Modbus can be mapped to the WoT’s interaction properties-action-event abstraction.

This mapping and protocol specific metadata are provided by the WoT Binding Templates. A binding template for a specific protocol provides a guideline how a client can activate each WoT interaction abstraction through a corresponding network-facing interface for that protocol.

Please read here to get more background on WoT Binding Templates.

There are of course other device description languages available in the industry, for example Device Description Language (DDL), Generic Description Language (GDL), Digital Twin Description Language (DTDL). Most of them use either an XML or JSON-based schema, so a converter tool to WoT (based on JSON-LD) can be easily built.