diff --git a/index.html b/index.html index 3fcefbe..9f43c38 100644 --- a/index.html +++ b/index.html @@ -215,231 +215,186 @@
- The W3C WoT Architecture [[wot-architecture11]] and the WoT - Thing Description [[wot-thing-description11]] - have been developed as a versatile format, that allows - describing the interactions between multiple devices and - protocols. - + The Web of Things (WoT) seeks to + counter the fragmentation of the + Internet of + Things (IoT) by using and extending existing, standardized + web technologies.
- This flexibility permits an easy integration of new device - types and protocols, however it risks interoperability, - since there are no guarantees that two devices - which are formally spec-compliant, will be able to - communicate. + The W3C WoT Thing Description [[wot-thing-description]] specification + defines the first building block of the Web of Things, by defining an + information model and JSON-based representation format for describing the + capabilities of connected devices and the interfaces with which to + communicate with them.
-To increase adoption of the WoT specifications, - interoperability between on premise devices, edge devices - and the cloud is essential. Even if every manufacturer is - implementing the current Thing Description specification in - full flexibility, there is no interoperability guarantee; - many choices are still left to the implementations and there - are very few normative requirements that a device has to - fulfill.
- -A Thing Description can be used in two fundamentally - different deployment scenarios:
-- For green field deployments, where the implementations - are being carried out and corresponding thing - descriptions are being created, it is easier to achieve - full interoperability by using a small, extensible HTTP Basic - Profile. -
- -In the brown field area, due to the nature of - existing deployments and protocols, a broad spectrum of - variations and potentially high complexity of thing - descriptions inhibits interoperability and will most - likely lead to additional profiles of the WoT Thing Description - and domain-specific thing consumer implementations.
- -- The WoT HTTP Basic Profile can be used by green field - deployments and gives guidance to new implementers of - the WoT specifications. It has already demonstrated in - brown-field scenarios in the Plugfests, where existing - devices that already existed as products, prototypes or - demonstrators, were described with Thing Descriptions - that are constrained to the HTTP Basic Profile. -
-- A set of over 30 use cases for the Web of Things were contributed by stakeholders - from multiple industries for various application domains. - These have been published in the WoT Use Cases and Requirements document [[wot-usecases]]. -
-- Based on these use cases a set of requirements have been derived which drive the development - of the W3C Web of Things specification family. - Several of these domains require easy integration of devices from multiple vendors, - in other words, out-of-the-box interoperability. - However, the descriptive approach taken by the WoT specifications generally leads - to a large variety of different protocols and data formats, - which can work against out-of-the box interoperability. -
-- For example, a WoT Thing Description (TD) can in theory include a description based on a - networking protocol unknown to a device that wishes to connect to it. - To ensure interoperability without additional customization (e.g. by writing software or - performing complex setup or configuration steps), - the range of such choices needs to be limited to a finite set so that a consumer - of a Thing Description can be sure it will be able to interact with any possible Thing. - A finite set of customization choices is also important for implementing devices with a fixed code base. - Defining such constraints leads to the profile mechanism and the HTTP Basic Profile. -
-- In addition to multiple vertical use cases that will use HTTP(S) for their implementations, - there are horizontal use cases that are addressed by this profile specification. - The primary focus is to enable Multi-Vendor system integration with out of the box interoperability. -
-+ The Thing Description specification is designed to be protocol-agnostic + and flexible enough to describe a wide range of existing ("brownfield") + IoT devices, rather than specifying a fixed protocol or application + programming interface (API) which all devices must implement. The downside + of this open ended flexibility is that it makes ad-hoc interoperability on + the Web of Things very difficult, because it's nearly impossible to create + a single WoT Consumer [[wot-architecture]] + which is guaranteed to be able to communicate with any + Web Thing [[wot-architecture]] out of the box. +
++ This specification is designed to complement the Thing Description + [[wot-thing-description]] specification, by defining a + Profiling Mechanism and a set of + Profiles which enable + out-of-the-box + interoperability between Web Things and their + Consumers. +
++ Profiles are designed specifically for new ("greenfield") implementations + where developers have the freedom to conform to a prescriptive protocol + binding and set of common constraints, in order to benefit from + out-of-the-box interoperability. +
++ Of the Profiles defined in this specification, only the + HTTP Basic Profile is currently + normative. It is planned that future versions of this specification will + normatively define the HTTP SSE Profile + and HTTP Webhook Profile, but + in this version of the specification they are only informative. +
++ Future versions of this specification, or extension specifications, may + define additional Profiles. +
++ Example 1 shows a Thing Description + instance that follows the HTTP Basic Profile as described in this + sepecification. +
+ +
+ This Thing Description uses the profile
term to signalize that the associated Thing
+ supports the HTTP Basic Profile. As a security scheme, this example enforces authentication before access
+ by using basic authentication ("scheme": "basic"
) via the HTTP header, which is encrypted via TLS
+ (https
in base
).
+
+ The Web of Things Interest Group collected use cases for + the Web of Things from stakeholders representing various different + industries. This includes both vertical domain-specific use cases and + horizontal use cases which apply to multiple application domains + [[wot-usecases]]. +
++ Several of the + domain-specific + use cases collected refer to the need for easy integration of + devices from multiple vendors. There was also a + cross-domain + use case collected which describes "multi-vendor system + integration" or "out-of-the-box interoperability". +
++ A set of + requirements + for Profiles were derived from these use cases by + the WoT Profile Task Force of the Web of Things Working Group. +
+- During the recent WoT Plugfests there were many - de-facto agreements on the use of a small constrained - subset of interaction patterns and protocol choices. - These de-facto agreements select a common subset of the - WoT Thing Description, based on - proven interoperability among manufacturers. -
-- The aim of this specification is to formalize these - agreements by defining a set of HTTP - Profiles based on the choices that were made by - the implementers of Plugfest devices. -
-- - The HTTP Basic Profile contains additional - normative requirements that MUST be satisfied by devices - to be compliant to the profile. -
- -- Adoption of the HTTP Basic Profile will - significantly limit the implementation burden of device - and cloud implementors. -
-- The HTTP Basic Profile was defined with the - following main goals: -
-It makes choices on the required metadata fields as - well as the supported interactions and protocol - endpoints. It introduces some constraints on data - schemas for properties and actions which are required - for resource constrained devices in real-world - deployments. The format does not forbid the use of - additional elements of the WoT Thing Description for vendor specific - extensions, however this will impact interoperability.
-- Devices, which implement the HTTP Basic Profile, are out-of-the-box - interoperable with other HTTP Basic Profile - compliant devices. Furthermore, the HTTP Basic Profile - simplifies device validation and compliance testing - since a corresponding conformance test suite can be - defined. -
-- The following classification adopts the terminology as described in the - "H2020 – CREATE-IoT Project - Recommendations for commonalities and - interoperability profiles of IoT platforms" [[?H2020-CREATE-IoT]] - report. - The definitions below have been adapted to reflect the scope of the WoT profile. -
-Technical Interoperability is usually associated with communication protocols and the - infrastructure needed for those protocols to operate. This implies agreeing on a common protocol - (e.g. HTTP / TCP/IP) and providing additional clarifications, where required. -
++ The definition of out-of-the-box interoperability used in this + specification includes multiple layers. + The following classification adopts terminology from the + "H2020 – CREATE-IoT Project - Recommendations for commonalities and + interoperability profiles of IoT platforms" [[?H2020-CREATE-IoT]] + report. + The definitions below have been adapted to reflect the scope of the WoT profile. +
+Technical Interoperability is usually associated with communication protocols and the + infrastructure needed for those protocols to operate. This implies agreeing on a common protocol + (e.g. HTTP / TCP/IP) and providing additional clarifications, where required. +
-Syntactic Interoperability is usually associated with data formats and encodings along with - techniques for compressing them. Examples for these formats and encodings in the WoT are JSON, - XML, JSON-LD, UTF-8 payloads. -
-- Semantic Interoperability is associated with a common understanding of the behavior of communication - partners. - In the profile context, it includes a common interpretation of (synchronous and asynchronous) action semantics, - a common event model, how to set/get multiple properties, writable properties, - a common error model and error messages. -
-- Domain specific ontologies, e.g. semantic interop of automotive and medical devices exceed the scope of the - profile. -
-- Organisational Interoperability in the profile context implies that any consumer, - which conforms with a given profile can interact with any Thing which conforms - with the same profile, without additional customization. -
-- Organisational Interoperability also requires commonly agreed approaches to security, - trust and privacy, i.e. a consumer is provided access to Things only, when these - common terms and conditions are applied. -
-- Devices created by various engineers, vendors and SDOs that satisfy the requirements - of the profile specification can be integrated with compliant consumers without additional customization. - This works across infrastructures, regions and cultures. -
-Syntactic Interoperability is usually associated with data formats and encodings along with + techniques for compressing them. Examples for these formats and encodings in the WoT are JSON, + XML, JSON-LD, UTF-8 payloads. +
++ Semantic Interoperability is associated with a common understanding of the behavior of communication + partners. + In the profile context, it includes a common interpretation of (synchronous and asynchronous) action semantics, + a common event model, how to set/get multiple properties, writable properties, + a common error model and error messages. +
++ Domain specific ontologies, e.g. semantic interop of automotive and medical devices exceed the scope of the + this specification. +
++ Organisational Interoperability in the profile context implies that any Consumer + which conforms with a given profile can interact with any Thing which conforms + with the same profile, without additional customization. +
++ Organisational Interoperability also requires commonly agreed approaches to security, + trust and privacy, i.e. a consumer is provided access to Things only when these + common terms and conditions are applied. +
++ Devices created by various engineers, vendors and SDOs that satisfy the requirements + of the profile specification can be integrated with compliant consumers without additional customization. + This works across infrastructures, regions and cultures. +
A device or consumer implementation complies with this specification if it follows