2024: Domino Containers - The Next Step. News from the Domino Container commu...
Â
Web of Things - Connecting People and Objects on the Web
1. Web of Things - Connecting
People and Objects on the
Web
Workshop @ SXSW10, Austin, 14 March 2010
Vlad Trifa & Dominique Guinard
http://www.webofthings.com
2. Virtual doggy bag online:
http://www.webofthings.com/sxsw
Disclaimer: We are going to demo
undergoing research, so please bear with us.
WoT@SXSW10
3. Electronic things are invading us...
⢠Increasingly powerful CPUs
⢠Sensors & actuators
⢠Web connectivity
⢠Cheap
⢠Ubiquitous
WoT@SXSW10
5. Problem is...
How to create easily interactive
applications that combine various
heterogeneous devices???
That is, without a
⢠Tons of different devices: PhD in Computer
Science
⢠Capabilities/functions
⢠Applications/middlewares
⢠Networking protocols
WoT@SXSW10
6. We need an universal protocol
that is:
simple, lightweight, loosely-
coupled, scalable, flexible
and hopefully... standard
8. So letâs leverage it!
Use Web standards to develop applications for
networked devices.
HTTP, HTML, XML, JSON, RSS, ATOM, MIME,...
⢠TCP/IP & Web granted, WiFi routers ubiquitous
⢠Development of simple Web apps: cheap & quick
⢠Integrate real-world data on the Web
⢠Get features of the Web for free
WoT@SXSW10
10. The Web of Things in a nutshell
3 steps to create a basic Web of Things:
⢠Connecting things to the Internet (IPv4/IPv6)
⢠Embedded Web servers
⢠Make devices part of the Web (using REST)
⢠Model their function as RESTful resources
WoT@SXSW10
11. RESTful SunSPOTs
⢠Properties and functions are
RESTful resources
⢠Devices/services become Web
resources
⢠URI-addressed
⢠Links between them (hateoas)
⢠Different representations (content
negotiation)
⢠Uniform interface (HTTP verbs,
status codes)
WoT@SXSW10
12. Sunspots resources modeling
⢠Services on embedded devices are adapted for resource oriented
architectures
⢠root: www.spotshost.com
⢠spots list: www.spotshost.com/sunspots
⢠spot #1: www.spotshost.com/sunspots/1
⢠sensors list: www.spotshost.com/sunspots/1/sensors
⢠LEDs : www.spotshost.com/sunspots/1/actuators/leds
⢠LED #1 : www.spotshost.com/sunspots/1/actuators/leds/led1
WoT@SXSW10
13. Representations
⢠XHTML ideal for browsing
http://webofthings.com/spots
⢠JSON ideal for parsing (& lightweight for device)
http://webofthings.com/spots.json
⢠XML ideal for business integration
http://webofthings.com/spots.xml
WoT@SXSW10
14. Uniform interface
⢠HTTP verbs
⢠GET: current temperature
⢠POST: add a timer
⢠PUT: turn a device on/off
⢠DELETE: delete a timer on a device
⢠HTTP headers
⢠Accept header for MIME types
⢠Status codes (200 ok, 401 unauthorized)
WoT@SXSW10
15. DEMO - RESTful spots
⢠Browsing the spot manager
⢠Poster with content negotiation
⢠Javascript app to change LEDs colors
WoT@SXSW10
23. SAC: Social Access Controller
⢠Access Control Lists
not suited for real-
world sharing
⢠Leverage social
networks for sharing
devices
⢠OAuth for delegated
authentication
WoT@SXSW10
24. FAT: Friends and Things
⢠GWT application on top of SAC
⢠Log in using your social networks.
⢠Discover, share, and advertise devices with friends.
⢠Serves ATOM feeds of aggregated device data.
WoT@SXSW10
27. Real-world Web applications
REST URL
REST
I
AP
Ja
P
ST
va
PH
Sc
RE
rip
t
[hCp://www.pachube.com] [hCp://www.webothings.com/energievisible] [hCp://www.clickscript.ch]
WoT@SXSW10
32. Err, what about eventing & streaming ?
The web wasnât quite made for that...
And querying & search?
33. Here comes Real-Time Web
⢠Scalable pub/sub for devices is needed
⢠Many solutions (XMPP, etc....)
⢠None really integrate with the Web
⢠ATOM/ATOMpub is RESTful, but not push
⢠Push Web technologies
⢠Apply Web PUSH on devices
⢠Comet & Web hooks
⢠Bi-directional Web messaging (Websockets)
WoT@SXSW10
34. Device Discovery
⢠Devices serve semantic metadata: Microformats
⢠Similar to headers metadata for Web robots
⢠Machine-readable user manual
⢠Human-readable documentation
⢠MF describe
⢠Available resources and sub-resources
⢠Accepted methods and their input/output
⢠Keywords/tags
⢠Eventing, rules, channels
WoT@SXSW10
37. Hierarchic gateways binding: InfraWoT
⢠Gateways find and integrate mf-enabled devices
⢠Gateways bind to each other and form geographical
hierarchies
http://europe.eu/switzerland/zurich/eth/building4
http://usa.com/texas/austin/sxsw/ballroom/e
⢠Based on OSGi and RESTlet
WoT@SXSW10
40. Browsable EPC Network
Tag
EPC
â˘
standardized
Standards for Supply Chain identifiers
Management
⢠EPC Network set of RFID
standards Reader
⢠Global (closed?) network
⢠EPCIS is the information server Reader
Protocol
â˘
Standard
WS-* interface
⢠RESTful EPCIS
EPCIS
WoT@SXSW10
41. RESTful EPCIS in a Nutshell
⢠On top of Fosstrak EPCIS
⢠Based on Jersey
⢠Apache Abdera for Feeds
⢠Faster than the original EPCIS (Duh!)
WoT@SXSW10
42. Widgets on top!
⢠Business intelligence
dashboard
⢠Implemented in
Javascript (GWT)
⢠Integrating loads of
Web resources:
⢠Google Viz/Maps/Cal
⢠Wikipedia
⢠Twitter, etc.
Demo
WoT@SXSW10
43. Take home notes
⢠Itâs time for devices to join the Web
⢠Tradeoff features/performance
⢠Huge opportunities for the Web of Things
⢠Tools & best practices for Web-enabled things
are needed
⢠Web developers need to apply their skills to
build a programmable world
WoT@SXSW10