WoT Web Thing Model @ W3C

22
© EVRYTHNG INC. | 2016 COMMERCIAL & CONFIDENTIAL Smarter products come with EVRYTHNG For Customers title slide WOT, W3C & THE WEB THING MODEL A sneak peak at WoTs happening at W3C... Dom Guinard CTO & Co-founder @ EVRYTHNG @domguinard

Transcript of WoT Web Thing Model @ W3C

© EVRYTHNG INC. | 2016

COMMERCIAL & CONFIDENTIAL

Smarter productscome with EVRYTHNG

For

Customers title slide

WOT, W3C & THE WEB THING MODEL

A sneak peak at WoT’s happening at W3C...

Dom Guinard

CTO & Co-founder @ EVRYTHNG

@domguinard

Today’s Menu

W3C WoT IG intro

Web Thing Model

WoT IG Documents

W3C WoT IGWoT Activities @ W3C

WoT: an application layer for the IoT

Internet Of Things

ZigBee

Bluetooth

X10

Bacnet

enOcean

"I hate

my life!"

SECURITY

LIGHTS

HEATING &

COOLING

Web

Web

Web

Web

Web

Web Of Things

"Easy-peasy!"

Building

Control

Center

W3C WoT IG

2007: Webofthings.org community started

2009: 1st peer-reviewed WoT paper:

Towards the Web of Things published

2010: 1st International Workshop on the

Web of Things (WoT 2010)

June 2014: First W3C WoT Workshop

@Berlin

Early 2015: W3C Web of Things Interest

Group is formed: explore

August 2015: W3C Submission Web Thing

Model published

Early 2016: IG Reference Docs published

June 2016: WoT book published

December 2016: WoT Working Group

formed: standardize

Web Thing ModelFirst W3C WoT Submission

Layered Approach

1HTTP Server

2Web

Thing

3Extended Web

Thing

HTTP client

WebThing Client

Extended Web Thing Client

HTTP

HTTP & Requirements

HTTP, Requirements& WT Model

4Semantic Web

Thing

Semantic WebThing Client HTTP, Requirements,

WT Model & Annotations

Protocols

Best Practices

Resourcesand Data Models

Descriptionsand

Extensions

http://model.webofthings.io

http://gateway.webofthings.io

1) Integration PatternsDirect – Gateway - Cloud

Direct Integration

Gateway

Cloud

2) Web Thing RequirementsAPI Design Guidelines

Best Practices: RESTful Architecture

Protocols – HTTP & Websocket + URL

Verbs – GET, PUT, POST, DELETE

Status codes – 200, 400, 500

Content-negotiation – JSON & HTML

(root)

Details:− https://www.w3.org/Submission/2015/

SUBM-wot-model-20150824/#web-

things-requirements

Root URL of

Raspberry Pidevices.webofthings.io/ pi

actuators/ actuators

LEDs/ leds

LED #/ {led#}

sensors/ sensors

light sensor/ light

temperature sensor/ temperature

buttons/ buttons

acceleration/ accel

gyroscope/ tilt

/ x

/ y

/ z

/ x

/ y

/ z

/ 1

/ 2

http://tn.gg/JAN

FvB4u

3) Models

Resources

And more...

Base model of Things (JSON)

Definition of links [RFC5988]

Semantic extensions [via JSON-LD]− Enhance semantics: What is that

Thing really?

− Schema.org

Subscriptions to properties (WS)

More details:− https://www.w3.org/Submission/2015/

SUBM-wot-model-20150824/#web-

things-model

W3C WoT IG ArchitectureArchitecture & Current Practices Document

W3C WoT IG Architecture

= Integration Patterns

of Web Thing Model

Thing Description (TD): Semantic Model of a Thing

= Model part of

Web Thing Model but

JSON-LD only

Protocol Binding: Binding the Model to Protocols

How to map the Interaction Model to

different protocols?

HTTP, BacNet, CoAP, MQTT,

Websocket

Protocol bindings implementations

modules

Web Thing Model

asks

for HTTP & WS

(somewhere)

Scripting API: Discover and interact via scripting DSL

Useful links & Sources

Web of Things community:

http://webofthings.org

Web of Things W3C IG:

https://www.w3.org/WoT/

W3C submission Web Thing Model:

http://model.webofthings.io/

WoT book: http://book.webofthings.io

Web of Things WoT IG architecture:

https://w3c.github.io/wot/architecture/w

ot-architecture.html

WoT IG current practices:

http://w3c.github.io/wot/current-

practices/wot-practices.html

W3C WoT GitHub:

https://github.com/w3c/wot/

http://book.webofthings.io

@wotbook

@domguinard