Web of Things
W3C

Developer Tooling

There are various tools developed by the community that are open source and ready to use. They can be used in different stages of development or development needs and are grouped below.


 

 

 


Alternative 1 (old)

In addition to general categories, each tool has different features that are marked with badges underneath. All identified features are listed below:

TD Tooling (UI) : Enables editing or visualization of TDs with a UI
TD Tooling (Prog.) : Parses TDs in programming environments
User Interface : Provides a Graphical User Interface
Dev. Environment : Provides a development environment
Consumer : Consumes TDs to allow interaction with Things
Exposer : Exposes TDs of Things to handle interactions
TD Directory : Hosts a TD Directory following the Discovery API
TD Discovery : Can discover TDs using introduction mechanisms
Gateway : Can translate protocols and/or add security
Testing : Tests Things or TDs
Simulation : Can simulate Things

TD Tooling

Tools that allow editing and validation of TDs or that allow parsing them in programming language specific environments.

WoT Development Tools

Ready-to-use tools that help the development of WoT applications by providing user interfaces and other tooling.

Runtime Implementations for TD Exposers

Software libraries that implement a WoT Runtime so that Things can be built following the WoT paradigms.

  • Eclipse Thingweb node-wot - W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at Thingweb.
  • WoT Integration for Eclipse Ditto - Ditto managed digital twins can be linked to WoT Thing Models from which Ditto can create Thing Descriptions containing the API descriptions of the twins.
  • SANE WoT Servient - W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot.
  • WoTPy - Experimental W3C Web of Things implementation in Python with support for multiple bindings.

Runtime Implementations for TD Consumers

Software libraries that implement a WoT Runtime so that Things can be consumed and custom applications can be built on top, following the WoT paradigms.

  • Eclipse Thingweb node-wot - W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at Thingweb.
  • Node-Red Node generator - CLI tool to generate WoT Consumer Nodes for Node-RED from a TD. Additional information at slides or video.
  • dart_wot - W3C Web of Things implementation written in Dart with support for HTTP and CoAP.
  • SANE WoT Servient - W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot.
  • WoTPy - Experimental W3C Web of Things implementation in Python with support for multiple bindings.

TD Directory (TDD) Implementations

Services that host a Thing Description Directory which implements the W3C WoT Discovery specification.

  • LinkSmart Thing Directory - TDD implementation with features such as DNS-SD registration, XPath 3.0 and JSONPath queries, authentication and more.
  • WoTHive Thing Directory - TDD implementation with features such as SPARQL and JSONPath queries, SHACL-based Validation and more.
  • Siemens-Logilab Thing Directory - TDD implementation with features such as SPARQL queries, contextual validation and more.

WoT Software and Middleware

Ready to use software applications that can be deployed in order to provide a certain functionality in a system, such as gateway and proxying, simulation, testing services.

  • Shadow Thing - CLI based tool for creating and deploying a Thing based on its TD for simulation, proxy or protocol translation purposes.
  • sayWoT! - Industrial-grade implementation that allows integration of devices into Siemens software products.
  • Web of Things Test Bench - CLI based tool that tests a WoT Thing by executing interactions automatically, based on its TD.

Others


Alternative 2 (new)

In addition to general categories, each tool has different features that are marked with badges. Click on a badge to filter tools accordingly.

TD Tooling (UI) : Enables editing or visualization of TDs with a UI
TD Tooling (Prog.) : Parses TDs in programming environments
User Interface : Provides a Graphical User Interface
Dev. Environment : Provides a development environment
Consumer : Consumes TDs to allow interaction with Things
Exposer : Exposes TDs of Things to handle interactions
TD Directory : Hosts a TD Directory following the Discovery API
TD Discovery : Can discover TDs using introduction mechanisms
Gateway : Can translate protocols and/or add security
Testing : Tests Things or TDs
Simulation : Can simulate Things

Alternative 2 - Subalternative 1

  • - Thing Description Playground - Reference TD Validation suite with additional tools such as OpenAPI generation, linting and more.
  • - Eclipse Edi{TD}or - Web based Editor for easy creation and visualization of Thing Descriptions and Thing Models.
  • - TD code - Visual Studio Code plugin for TD validation and code snippets.
  • - Java API for Thing Descriptions of WoT (JDTs) - Java module for creating Java Thing Description ORM from a TD in JSON-LD or RDF triples.
  • - Eclipse Ditto :: WoT :: Model - Java module for using TDs and TMs.
  • - WoT Application Manager (WAM) - CLI tool to quickly set up node-wot application projects. Additional information available at slides or video.
  • - WoT API Development Environment (WADE) - Desktop application based on node-wot, Vue.js and Electron that allows interaction with Things, profiling, Mashup generation.
  • - WoT FXUI - UI for desktop, mobile, browser for interacting with Things based on their TDs.
  • - Eclipse Thingweb node-wot - W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at Thingweb.
  • - WoT Integration for Eclipse Ditto - Ditto managed digital twins can be linked to WoT Thing Models from which Ditto can create Thing Descriptions containing the API descriptions of the twins.
  • - SANE WoT Servient - W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot.
  • - WoTPy - Experimental W3C Web of Things implementation in Python with support for multiple bindings.
  • - Node-Red Node generator - CLI tool to generate WoT Consumer Nodes for Node-RED from a TD. Additional information at slides or video.
  • - dart_wot - W3C Web of Things implementation written in Dart with support for HTTP and CoAP.
  • - LinkSmart Thing Directory - TDD implementation with features such as DNS-SD registration, XPath 3.0 and JSONPath queries, authentication and more.
  • - WoTHive Thing Directory - TDD implementation with features such as SPARQL and JSONPath queries, SHACL-based Validation and more.
  • - Siemens-Logilab Thing Directory - TDD implementation with features such as SPARQL queries, contextual validation and more.
  • - Shadow Thing - CLI based tool for creating and deploying a Thing based on its TD for simulation, proxy or protocol translation purposes.
  • - sayWoT! - Industrial-grade implementation that allows integration of devices into Siemens software products.
  • - Web of Things Test Bench - CLI based tool that tests a WoT Thing by executing interactions automatically, based on its TD.
  • - WoT Plugin for AASX Package Explorer - Plugin to import/export WoT Thing Description into Asset Administration Shell definitions.
  • - WoTify - A community based collection of devices that have been WoT-enabled.

Alternative 2 - Subalternative 2

Tool Description Features
Thing Description Playground Reference TD Validation suite with additional tools such as OpenAPI generation, linting and more. +
Eclipse Edi{TD}or Web based Editor for easy creation and visualization of Thing Descriptions and Thing Models. +
TD-Code Visual Studio Code plugin for TD validation and code snippets.
-
WoT-JTD Java module for creating Java Thing Description ORM from a TD in JSON-LD or RDF triples -
Eclipse Ditto :: WoT :: Model Java module for using TDs and TMs. -
WoT Application Manager (WAM) CLI tool to quickly set up node-wot application projects. Additional information available at slides or video.
-
WoT API Development Environment (WADE) Desktop application based on node-wot, Vue.js and Electron that allows interaction with Things, profiling, Mashup generation. User Interface TD Tooling (UI) Exposer Consumer Simulation Testing
WoT FXUI UI for desktop, mobile, browser for interacting with Things based on their TDs.
+
Eclipse Thingweb node-wot W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at Thingweb. -
Eclipse Ditto Ditto managed digital twins can be linked to WoT Thing Models from which Ditto can create Thing Descriptions containing the API descriptions of the twins. -
SANE WoT Servient W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot. -
WoTPy Experimental W3C Web of Things implementation in Python with support for multiple bindings. -
Node-Red Node generator CLI tool to generate WoT Consumer Nodes for Node-RED from a TD. Additional information at slides or video. -
dart_wot W3C Web of Things implementation written in Dart with support for HTTP and CoAP. -
LinkSmart Thing Directory TDD implementation with features such as DNS-SD registration, XPath 3.0 and JSONPath queries, authentication and more. -
WoTHive Thing Directory TDD implementation with features such as SPARQL and JSONPath queries, SHACL-based Validation and more. -
Siemens-Logilab Thing Directory TDD implementation with features such as SPARQL queries, contextual validation and more. -
Shadow Thing CLI based tool for creating and deploying a Thing based on its TD for simulation, proxy or protocol translation purposes. -
sayWoT! Industrial-grade implementation that allows integration of devices into Siemens software products. -
Test Bench CLI based tool that tests a WoT Thing by executing interactions automatically, based on its TD. -
WoT Plugin for AASX Package Explorer Plugin to import/export WoT Thing Description into Asset Administration Shell definitions. -
WoTify A community based collection of devices that have been WoT-enabled. -


Deploys by Netlify