From 7cdbb87b80ad12a0d174dab978092eb03c915b22 Mon Sep 17 00:00:00 2001 From: Ben Francis Date: Thu, 18 Jul 2024 13:03:25 +0100 Subject: [PATCH] Initial Abstract, Introduction and document structure --- index.html | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..cd43c59 --- /dev/null +++ b/index.html @@ -0,0 +1,187 @@ + + + + + + Web Thing Protocol + + + + + +

Web Thing Protocol

+

WebSocket Sub-protocol

+ +
+

This document defines a WebSocket sub-protocol called the Web Thing + Protocol, for monitoring and controlling connected devices over the + World Wide Web. The Web Thing Protocol is intended as a dedicated + real-time protocol for the Web of + Things, to enable a WoT + Consumer + to communicate with one or more WoT + Things + over a WebSocket connection. +

+
+ +
+ +
+ +
+

Introduction

+

This document defines a WebSocket [[WEBSOCKETS]] sub-protocol for + monitoring and controlling connected devices over the Web. +

+

The Web of Things (WoT) is a + collection of standardised technology building blocks that help provide + interoperability on the + Internet of + Things (IoT). The WoT Thing Description specification + [[wot-thing-description11]] defines a metadata format for + describing the capabilities of "Things" (connected + devices) on the Web. The WoT Discovery specification [[wot-discovery]] + defines mechanisms for discovering Things on the Web. This + specification complements those building blocks by + defining a dedicated real-time protocol for communicating with Things over the + Web. +

+

WebSockets [[WEBSOCKETS]] provide a way to upgrade a + standard HTTP [[HTTP11]] request to a full-duplex, persistent, real-time + communication channel over a single TCP connection. This can be used to + create a versatile and efficient two-way channel with which a WoT + Consumer + can communicate with one or more + Things + [[wot-architecture11]] to carry out the full set of WoT + operations. + However, since a WebSocket is essentially just a raw TCP socket with no + semantics of its own, a sub-protocol needs to be defined in order for a + Consumer and Thing to communicate. +

+

Whilst many other WebSocket + sub-protocols exist, what makes the Web Thing Protocol unique + is that it is specifically designed around the Web of Things + information + model and + set + of operations [[wot-thing-description11]], as well as being + targeted specifically at Web of Things use cases [[wot-usecases]]. It + can therefore be thought of as being native to the Web of Things. +

+

+ The sub-protocol defines message payload formats for each of the + well-known + + operation types defined in the WoT + + interaction model [[wot-architecture11]], and other messages needed for + WebSocket communication. +

+

+ This specification is intended to complement deliverables of the + WoT Working Group, including WoT + Architecture [[wot-architecture11]], WoT Thing Description + [[wot-thing-description11]], WoT Discovery [[wot-discovery]], + WoT Binding Templates [[wot-binding-templates]] and WoT Profile + [[wot-profile]]. It is intended to implement use cases and requirements + defined in the + Web + Thing Protocol Use Cases & Requirements community report. +

+

Whilst this document is not on a standards track, the Web Thing Protocol + is intended to eventually join a standards track at the W3C or another + standards body such as the IETF. +

+
+ +
+
+ +
+

Terminology

+

Fundamental WoT terminology such as Thing or Web Thing, Consumer or WoT + Consumer, WoT Thing Description or Thing Description, Interaction Model, + Interaction Affordance, Property, Action and Event are defined in + the + Terminology + section of the WoT Architecture specification [[wot-architecture11]]. +

+
+ +
+

WebSocket Connection

+
+

Protocol Handshake

+
+
+

WebSocket Re-use

+
+
+ +
+

WebSocket Messages

+
+

Properties

+
+
+

Actions

+
+
+

Events

+
+
+

Other Messages

+
+
+ +
+

Example Thing Descriptions

+
+ +
+

Privacy Considerations

+
+ +
+

Security Considerations

+
+ +
+

Accessibility Considerations

+
+ +
+

IANA Considerations

+
+ + + + \ No newline at end of file