W3C | Submissions

Submission version:

Team Comment on the "Web Thing Model" Submission

The Web of things is the application layer on top of the Internet of Things that connects physical objects to the Internet. This Submission describes the basis for a common model for the virtual counterpart of these physical objects to interoperate on the Web.

After reviewing different patterns to integrate physical things into the Web, the Submission first specifies minimal technical requirements that Web Things must support to be considered as part of the Web. This first level of conformance allows Web Things to read and exchange data, although not to specify what data or services they offer. The Submission then defines a second level of conformance addressing that need through the definition of a data model, a RESTful API and JSON-based data payloads. Extended Web Things are modelled based on properties that represent their internal state and on actions that others may trigger. A subscription mechanism is defined to be notified of state changes.

The data model defined in the Submission is aligned with the schema.org vocabulary, allowing JSON payloads to be translated into JSON-LD using that vocabulary.

It should be noted that the technical requirements and proposed RESTful API for Web Things are close to those defined for LDP servers in the Linked Data Platform 1.0 W3C Recommendation. The main divergence between the two approaches is on the default format for representations returned by the servers: LDP uses text/turtle by default, The Submission uses JSON (which can easily be extended to JSON-LD). If this Submission is used as input for a possible Working Group as suggested by the Submitters, the Working Group could explore a possible alignment with LDP for the basis of the RESTful API and focus on the particular semantics needed by Web Things (e.g. resource structure, data model).

At the same time, as acknowledged in the spec, different protocols are appropriate in different circumstances. Some constrained devices of the Internet of Things will use protocols other than HTTP (CoAP, MQTT, Bluetooth Smart, etc.). As such, instead of defining the API in terms of HTTP, it would be interesting to explore the use of a more protocol-agnostic approach, and specify mappings to different protocols where appropriate. Other protocols of interest include WebSockets, XMPP and AMQP. Web Things could also benefit from new features in HTTP/2, e.g. server push. Additionally, the Team notes on-going community efforts to specify a Web API to discover and communicate with devices over Bluetooth in the Web Bluetooth Community Group.

The Generic Sensor API, developed by the Device APIs Working Group, defines a framework for exposing sensor data to the Open Web Platform in a consistent way. It would be interesting to understand to what extent Web Things that are sensors could be mapped onto that framework and to what extent that framework could be extended to support actuators as well as Web Things that mix multiple sensors and actuators.

Future Work

The Web of Things Interest Group has started to discuss and to draft a charter of a Working Group, focusing on the Web of Things. Should such a Working Group be created, the Submission would be in scope as input for that group and possible reference in the charter.

Continuing discussion on the next steps for this work is welcome on the Web of Things Interest Group, via public-wot-ig@w3.org [archive].

Disclaimer: This does not imply endorsement by either the W3C Staff or the participants of the Interest Group, nor does it guarantee that a potential Working Group will agree to take any specific action on the Submission.

Fran├žois Daoust <fd@w3.org>
$Date: 2015/09/04 09:34:20 $