Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
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
S
RE
cr
ipt
[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