Web of Things - Connecting People and Objects on the Web
Upcoming SlideShare
Loading in...5

Web of Things - Connecting People and Objects on the Web



Talk at SXSW 2010, Austin, Texas on our current research in the Web of Things, with a focus on how to interact with Things using Javascript

Talk at SXSW 2010, Austin, Texas on our current research in the Web of Things, with a focus on how to interact with Things using Javascript



Total Views
Views on SlideShare
Embed Views



50 Embeds 1,670

http://gisegypt.blogspot.com 551
http://www.webofthings.com 435
http://lonewolflibrarian.wordpress.com 212
http://themakersdiylab.com 90
http://www.scoop.it 59
http://www.linkedin.com 39
http://www.slideshare.net 39
http://minisense.posterous.com 36
http://www.webofthings.org 34
http://gisegypt.blogspot.ca 16
http://gisegypt.blogspot.de 14
http://gisegypt.blogspot.it 14
http://gisegypt.blogspot.co.il 13
http://gisegypt.blogspot.co.uk 12
http://www.allanslibrary.com 10
http://translate.googleusercontent.com 9
http://gisegypt.blogspot.se 7
http://gisegypt.blogspot.com.es 6
http://gisegypt.blogspot.nl 6
http://www.allancho.com 6
http://webofthings.org 6
http://gisegypt.blogspot.fr 5
http://gisegypt.blogspot.in 4
http://www.lmodules.com 4
http://ttrumble.com 4
http://gisegypt.blogspot.com.br 4
http://heardable.com 4
http://www.techgig.com 3
http://gisegypt.blogspot.jp 3
http://gisegypt.blogspot.gr 3
http://www.m.techgig.com 2
http://gisegypt.blogspot.com.au 2
http://news.google.com 1
http://gisegypt.blogspot.kr 1
http://gisegypt.blogspot.ru 1
http://gisegypt.blogspot.ae 1
http://gisegypt.blogspot.hu 1
https://www.webofthings.org 1
http://gisegypt.blogspot.cz 1
http://gisegypt.blogspot.ie 1
http://gisegypt.blogspot.tw 1
http://facebook.slideshare.com 1
http://feeds.feedburner.com 1
http://gisegypt.blogspot.ro 1 1 1
http://gisegypt.blogspot.ch 1
http://gisegypt.blogspot.com.ar 1
http://gisegypt.blogspot.sg 1
http://posterous.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Web of Things - Connecting People and Objects on the Web Web of Things - Connecting People and Objects on the Web Presentation Transcript

  • Web of Things - Connecting People and Objects on the Web Workshop @ SXSW10, Austin, 14 March 2010 Vlad Trifa & Dominique Guinard http://www.webofthings.com
  • Virtual doggy bag online: http://www.webofthings.com/sxsw Disclaimer: We are going to demo undergoing research, so please bear with us. WoT@SXSW10
  • Electronic things are invading us... • Increasingly powerful CPUs • Sensors & actuators • Web connectivity • Cheap • Ubiquitous WoT@SXSW10
  • Translation for geeks: An infinite playground. YAAAY!
  • 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
  • We need an universal protocol that is: simple, lightweight, loosely- coupled, scalable, flexible and hopefully... standard
  • Sounds like the Web
  • 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
  • RESTifying Things
  • 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
  • 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
  • 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
  • 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
  • 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
  • DEMO - RESTful spots • Browsing the spot manager • Poster with content negotiation • Javascript app to change LEDs colors WoT@SXSW10
  • Gateways to Web-enable things
  • Embedded REST is not always possible N on IP es vic de WoT@SXSW10
  • For Wireless Sensor Networks (WSN)... WoT@SXSW10
  • Example application: Energie Visible Web / Mobile  Interface GET Gateway  [{ (IP: "deviceName": "ComputerAndScreen", "currentWatts": 50.52, "KWh": 5.835, "maxWattage": 100.56 }, "deviceName": "Fridge", Sensors "currentWatts": 86.28., (Ploggs) "KWh": 4.421, "maxWattage": 288.92 }, {...}] Electric  appliances WoT@SXSW10
  • DEMO - Energie Visible More? Webofthings.com/ energievisible WoT@SXSW10
  • Devices gone Web
  • Devices gone Social
  • 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
  • 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
  • DEMO - FAT More? tinyurl.com/ ygy2kwb WoT@SXSW10
  • The era of physical Mashups
  • 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
  • Clickscript • Javascript-based visual mashup editor • Firefox plugin/Web app • Based on DOJO/jQuery www.clickscript.ch WoT@SXSW10
  • Clickscript component csComponentContainer.push({ name : "cs.web.things.switch", description : "switch on or off", inputs : [{name: "IP",type: "cs.type.String"}, {name: "on/off", type: "cs.type.Boolean"}], outputs: [ ], image: "web/things/plogg.png", exec : function(state){ this.setAsync(); var ip = state.inputs.item(0).getValue(); var aurl = "http://"+ip+":8082/EnergieVisible/ploggs/008098e7cb71/status.html"; var onoff = state.inputs.item(1).getValue() ? "on" : "off"; var component = this; WoT@SXSW10
  • jQuery HTTP request $.ajax({ url: aurl, type: "PUT", data: ({status : onoff}), success: function(html){ alert("status of Plogg : " +onoff); component.finishAsync(); }, error: function(msg){ alert("Error on: "+aurl); } }); Demo WoT@SXSW10
  • Advanced Web of Things
  • Err, what about eventing & streaming ? The web wasn’t quite made for that... And querying & search?
  • 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
  • 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
  • <span class="service"> <span class="mftitle">Label: </span><span class="label"></span><br/> <span class="mftitle">Data Format: </span><span class="data-format">Integer</ span><br/> <span class="mftitle">Operation: </span><span class="operation"><br/> <span class="mftitle">Method: </span><span class="method">POST</span><br/> <span class="mftitle">Address: </span><span class="address">http://spotmanager: 8081/sunspots/Core2TestSpot/actuators/leds/led1</span><br/> <span class="mftitle">Input: </span><span class="input">Red</span><br/> <span class="mftitle">Output: </span><span class="output">The updated Resource</ span><br/> </span> WoT@SXSW10
  • Does that scale?
  • 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
  • DEMO - InfraWoT WoT@SXSW10
  • Enterprise Web of Things
  • 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
  • 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
  • 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
  • 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
  • Thanks for your attention ! www.webofthings.com