WoT @ Oracle-Labs

2,243 views

Published on

Presentation of the Web of Things for Oracle Labs in Menlo Park, California.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,243
On SlideShare
0
From Embeds
0
Number of Embeds
203
Actions
Shares
0
Downloads
98
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Explainwhat a platformis: set of standards to
  • Let’s turn a Sun SPOT sensor node into a resource.The first step is to think of what should be a resource in a Sun SPOT.Obviously the spot itself should be, so it’s sensors and actuator.
  • Thenwethink about the representation of theseresources. Wesuggestofferingat least HTML sinceitallows for naturalbrowsing and user oriented-discovery of the subresources.For application to application communication wesuggest JSON, a lightweight alternative to XML whichiseasilyparseableintoobjects (javascript or java). To specify the format wewouldlike to obtainwe use either a .format or the standard http accept header (recommended).
  • Reverse proxy: from the Web to the proxyImpemented the sunspotwithboth the embeddedwebserveridea and the smart gateway
  • In the first case, each request is routed through the proxy tothe embedded HTTP server running on the remote Sun SPOTwhere it is served. In this case, the average round-trip timeover 10’000 consecutive request is 205 milliseconds (min 97ms, max 8.5 seconds).In the second case, we use a synchronization-based ar-chitecture — that is each Sun SPOT periodically sends itssensor readings to the proxy where they are cached locally.Each request is then served directly from this cache withoutaccessing the actual device, in which case the average round-trip time was 4 ms (min 2 ms, max 49 ms). This has
  • a) Early Qualitative Evaluation: The PloggRESTfulGateway and the Sun SPOTs have been used by two externaldevelopment teams, which hints some of the qualitative advan-tages developers can gain from the proposed the architecture.In the first case, the idea was to build a mobile energy monitor-ing application based on the iPhone and communicating withthe Ploggs. In the second case, the goal was to demonstratethe use of a browser-based JavaScript Mashup editor withreal-world services. According to interviews we conductedwith the developers, they enjoyed using the RESTful smartthings, in particular the ease of use of a Web “API” versusa custom “API”. For the iPhone application a native API toBluetooth did not exist at that time. However, like for almostany platform an HTTP (and JSON) library was available. Oneof the developer mentioned a learning curve for REST butemphasized the fact that it was still rather simple and that onceit was learnt the same principles could be used to interact witha large number of services and possibly soon devices. Theyfinally noted the direct integration to Web browsers as one ofthe most prevalen
  • Benchmarkedlocally (one hop away)Can beexplainedmainly by the processing time for SOAP on the client-side vs simple JSON/jDOMunmarshalling
  • RFID infrastructure in 5 minutes! Atmosphere, HTML5 websockets, etc.
  • WoT @ Oracle-Labs

    1. 1. Researching the Web of Things<br />Dominique GuinardMIT Auto-ID Labs / ETH Zurich / SAP Research <br />
    2. 2. I, in a Nutshell<br />2005: Bachelor in Fribourg:<br />RFID Indoor Assets Tracking Framework (RFIDLocator) @ Sun Microsystems<br />2006 – 2007: Master in Lancaster:<br />Service architecture for sensorsupported interactions from mobile phones<br />2007 – 2008: Auto-ID Labs Zurich:<br />« Mobile Internet of Things » projectwith Nokia Research. <br />2007 – 2011: SAP:<br />Socrades & SenseiIoTprojects<br />2008 – now: Ph.D. @ ETH Zurich:<br />PervasiveComputing, Web of Things<br />2010 – now: VisitingResearcher @ MIT:<br />Web-enablement of the RFID network<br />Oracle-Labs, Jan. 26, 2011<br />2<br />Dominique Guinard MIT / ETH<br />
    3. 3. Introduction and Motivation<br />What’s the Web of Things? Whatisit good for?<br />[http://www.flickr.com/photos/moragcasey/]<br />3<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    4. 4. The Embedded Systems Era<br />Ubiquitous:<br />Home appliances<br />Industries<br />Smart Cities<br />Connected:<br />Zigbee, Bluetooth, Wifi<br />ApplicationIntegration?<br />4<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    5. 5. Finding an Application Integration Platform<br />Question:<br />How do weenabletechsavvys and companies to create applications on top of thiseco-system?<br />Hundreds of differentplatforms<br />Web?<br />Scalable (7000 Facebook p/sec.)<br />Ubiquitous (from mobile to desktop)<br />Well-understood (1.73 Bio. users)<br />Thesis:<br />Re-use and develop Web-standards to build a ThingsUniversal API.<br />5<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    6. 6. The Web of Things<br />6<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    7. 7. Today’s Menu<br />Motivation<br />Web of Things Architecture<br />Applications<br />Evaluations<br />Case Study in RFID<br />Challenges beyond REST<br />WoT and the business<br />[http://www.flickr.com/photos/lessio/1346732230/]<br />7<br />Dominique Guinard, ETH / SAP Research<br />
    8. 8. Web of Things Architecture<br />Building a Web of Things, piece by piece…<br />[http://www.flickr.com/photos/julianbleecker]<br />8<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    9. 9. REST: The Core of the Web<br />REST: architecture with 5 constraints<br />Identifyresources and links:<br />A resource: something, that can and that’s worth, getting a URI and links<br />Design respresentations<br />Use the uniform interface<br />Bringthings to the Internet&Web<br />[1] RESTful Web Services.<br />[2] Architectural styles…<br />9<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    10. 10. Case Studywith Sun Spots1) Resources and Links<br />Thanks to theiratomicity services on embeddeddevices are quiteadapted to Resource-Oriented Architectures.<br />Resources:<br />Spots: http://webofthings.com/spots<br />Spot 2: http://webofthings.com/spots/2<br />Light Sensor: http://webofthings.com/spots/2/sensors/light<br />LedActuator: http://webofthings.com/spots/2/actuators/led<br />Resource Identification<br />Hypermedia<br />10<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    11. 11. 2) Representation Design<br />HTML as default, ideal for browsing:<br />http://webofthings.com/spots<br />JSON & JSONp, ideal for mashups<br />XML, ideal for integrationwith business systems<br />Self-Describing Messages<br />Hypermedia<br />11<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    12. 12. 3) Interface Design<br />Leverage content negotiation:<br />Accept: application/json<br />Use the HTTP Verbsextensively:<br />GET, PUT, POST, DELETE<br />GET http://webofthings.com/spots/2/sensors/temperature<br />PUT http://webofthings.com/spots/2/actuators/led/1<br />Mapstatus codes:<br />200 OK, 201 Created, 400 Bad Request<br />Uniform Interface<br />Self-Describing Messages<br />12<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    13. 13. 4) Bringing Things to the Internet&Web: Smart Gateways<br />6lowpan comingquickly:<br />Cisco, IPSO, OpenPicus<br />HTTP Reverse Proxy<br />HidingIoTproprietaryprotocols (Zigbee, Bluetooth, etc.):<br />Donglebased<br />OSGimodularity<br />Installed on residentialgateways:<br />Wireless routers (OpenWrt)<br />NAT<br />RESTful Design Processcanbe (partially) automated<br />[3] Facilitating Integration of Services for WoT<br />13<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />Demo!<br />
    14. 14. Applications<br />Whatcanwebuild on top of the Web of Things?<br />[http://www.flickr.com/photos/docman]<br />14<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    15. 15. TypicalWoT Architecture: « Energie Visible »<br />Project for a privatefoundation for sustainability (cudrefin02.ch)<br />Goal: an easilydeployable system for betterunderstandingconsumption:<br />Cross-platform<br />Web access<br />Uses the Ploggsensornodes<br />Smart Gateway providesRESTful API<br />15<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    16. 16. « Energie Visible »: Mashup and UIs<br />Web UI / MashupusingJavascript (GWT):<br />www.webofthings.com/energievisible<br />E-MeteriPhoneApp<br />[http://www.vs.inf.ethz.ch/res/show.html?what=emeter_demo]<br />[4] Increasing Energy Awareness Through Web-enabled Power Outlets.<br />16<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    17. 17. PhysicalMashup Editors<br /><ul><li>Clickscript:
    18. 18. Javascript (JQuery / DOJO) based visual language.
    19. 19. Added wrappers for WoT devices:
    20. 20. SunSPOT, Ploggs, RFID reader</li></ul>Demo!<br />[http://www.clickscript.ch]<br />[5] Mashing up Your Web-Enabled Home<br />17<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    21. 21. Protecting Access to Things: Friends and Things (FAT)<br />18<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />[9] “Sharing Using Social Networks in a Composable Web of Things.”<br />
    22. 22. Friends and Things: User Interface<br />19<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />Demo!<br />
    23. 23. Evaluation<br />Ok, it’seasier to buildappsupon, but is the WoTreallyfeasible?<br />[ http://www.flickr.com/photos/myfwc]<br />20<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    24. 24. Quantitative Evaluation<br />10’000 requests on the Sun SPOTs<br />1) Embedded Webserver: <br />205 ms (97 – 8500)<br />Couldbeimprovedwith a proxy!<br />2) Smart Gateway:<br />Sync-based (caching)<br />4 ms (2 – 49)<br />Age max: 300 ms<br />Good enough for mostsub-second use cases.<br />21<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    25. 25. NextSteps: Qualitative Evaluations<br />PloggRESTful API & Sun SPOT API used by ~10 independentresearchlabs.<br />Early feedback:<br />Easy to understand and use<br />Straightforwardtesting & Web-integration<br />Evaluation with 80 students:<br />REST easier to understand, more straightforward<br />REST more adapted to embeddeddevices<br />22<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    26. 26. WEB-enabling the Global Rfid Network<br />A (business-relevant) case-study in RFID<br />23<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    27. 27. The Web Era<br />Web<br />Rise of the WoT:<br />Ubiquitous & Scalable<br />The new universalintegration bus<br />Machines, appliances, sensors, mobile phones consumer electronics are in<br />Full of apps, widgets and mashups<br />Whereis RFID?<br />24<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    28. 28. EPC Network in a Nutshell<br />Integration Interface<br />25<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    29. 29. Towards a mashable EPC Network<br />Classical SOAP Web Services adequate for business integration (e.g., ERP):<br />Not so much for more light-weight, ad-hoc integration<br />Requirements for new API:<br />Low entry barrier for developements (easier/cheaper)<br />Direct data access to users<br />Lightweight (embedded/mobile devices)<br />Easy to scale (cloud)<br />[7] “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design.”<br />[6] “Restful web services vs. "big" web services: making the right architectural decision.”<br />26<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    30. 30. API Design: Addressability & Connectedness<br />Resources:<br />Locations, Readers, Tagged objects (EPC), etc.<br />Links:<br />Every resource is linked to its children.<br />And to relevant resources.<br />http://.../location/migros:basel/reader/warehouse:incoming/time/2009-12-21T13:22:04.000Z/event/EPC<br />27<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    31. 31. Wait, the EPCIS is not Hierachical!<br /> The EPCIS data isn‘t really hierachical:<br />Complex queries become cumbersome:<br />all events occurring in 2010 for urn:epc:id:sgtin: 0057000.123430.2025<br />Query-based interface<br />http://.../eventquery/result?param1=value1&..&paramN=valueN<br />http://.../eventquery/result?reader=sap:regensdorf:frc:storage&epc=urn:epc:id:sgtin:200057000.*<br />28<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    32. 32. Design: Representations<br />Several representations:<br />XML: EPCIS standard<br />JSON: Web integration<br />HTML: browsability<br />CSS for browser<br />CSS for mobile (IUI)<br />Selected through “HTTP content negotiation”<br />Atom feeds for subscription to queries.<br />29<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    33. 33. Implementation: EPCIS Web-adapter <br />30<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    34. 34. Performance Evaluation<br />31<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    35. 35. EPC Mashup Dashboard<br />Javascriptmashup (GWT).<br />Uses the REST API.<br />Extensible widget base.<br />32<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />Demo!<br />
    36. 36. NextSteps: EPC Cloud @ MIT Auto-ID Labs<br />Oracle-Labs, Jan. 26, 2011<br />33<br />Dominique Guinard MIT / ETH<br />Demo!<br />
    37. 37. CHAllengesBeyond REST<br />Whereis/should the Web of Things go?<br />[http://www.flickr.com/photos/brapke/]<br />34<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    38. 38. Enabling the Real-Time Web: Beyond Client-Server<br />Client-serverparadigm not reallynatural for sensing application.<br />Need for sensor push.<br />First step:<br />Atom (cleaner RSS) / AtomPub<br />Real push<br />HTML5 Websockets<br />Pubsubhubbub<br />Server-sent events<br />XMPP<br />35<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    39. 39. Search and Performances<br />Finding Services:<br />HTML5 Microdata<br />RDFa<br />WoTSearch:<br />Google Custom Engine<br />Yahoo SearchMonkey<br />Dyser<br />Performances!<br />Push vs Pull<br />Highlyscalable Web-servers<br />Node.js<br />Grizzly<br />Cloud solutions:<br />GWE<br />36<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    40. 40. WoT & The Business<br />A Compelling Business Use Case for the WoT<br />[http://www.flickr.com/photos/daviddmuir/]<br />37<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    41. 41. Actors of the (future) WoT Market<br />«  Smart Things » manufacturers:<br />Consumer « gadgets »:<br />Violet, Chumby, Poken, Arimaz<br />Sensors/actuators nets:<br />Phidget, SunSPOTs, Sentilla, OpenPicus, etc.<br />Energy Monitoring and Management:<br />EnergyOptimizers, DiyKyoto, CurrentCost, etc.<br />[http://violet.net/]<br />[http://www.chumby.com]<br />[http://www.plogginternational.com/]<br />[http://www.diykyoto.com/]<br />38<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    42. 42. Actors of the (future) WoT Market<br />«  Smart Gateway » providers:<br />There corporation (ex-Nokia), Oberon.ch, Netgear, Arimaz, ioBridge, etc.<br />The OSGi folks.<br />Energydedicatedgateways:<br />Apple, EnergyOptimizers<br />[http://therecorporation.com/]<br />[http://www.netgear.com]<br />[http://www.arimaz.com]<br />[http://www.iobridge.com]<br />39<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    43. 43. Actors of the (future) WoT Market<br />Software / Cloud solution providers<br />Pachube<br />Sensor.Network<br />Google:<br />Power Meter<br />Visualization API<br />GAE<br />SAP, Oracle, IBM<br />SAP MII, AII<br />IBM SmarterPlanet<br />SensorEdge Server<br />[http://code.google.com/apis/charttools]<br />[http://www.pachube.com]<br />[http://www.sap.com]<br />[http://www.google.org/powermeter]<br />40<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    44. 44. Wrap Up: Beware, WoTiscoming!<br />The vision of oureverydayphysical world mergingwith the World Wide Web isbecoming a reality.<br />There is a need for standards or at least good practices.<br />The REST architectural style and the Web are a good candidates:<br />Ubiquitous<br />Rathereasy to understand<br />Scalable<br />Core to the Web<br />Lightweight, etc.<br />A lot of WoT consumer-products / business opportunities are emerging.<br />41<br />Dominique Guinard MIT / ETH<br />Oracle-Labs, Jan. 26, 2011<br />
    45. 45. Thanks a lot for your attention<br />Dominique Guinard<br />Contact details: www.guinard.org<br />Blog: www.webofthings.com<br />Software: www.webofthings.com/projects<br />Papers and articles: www.guinard.org/publications<br />42<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    46. 46. References<br />L. Richardson and S. Ruby. “RESTful Web Services”. O'Reilly Media, Inc., 2007<br />R. Fielding: “Architectural styles and the design of network-based software architectures”, 2000<br />S. Mayer, D. Guinard, V. Trifa: “Facilitating Integration and Interaction of Real-World Services for WoT” UrbanIoT 2010<br />M. Weiss, D. Guinard: “Increasing Energy Awareness Through Web-enabled Power Outlets” MUM 2010<br />D. Guinard: “Mashing up Your Web-Enabled Home”, Touch the Web 2010<br />43<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />All ourpapers are on: www.guinard.org/publications<br />
    47. 47. References<br />Pautasso, Cesare, Olaf Zimmermann, and Frank Leymann. “Restful web services vs. "big" web services: making the right architectural decision.” WWW '08<br />Pautasso, Cesare, and Erik Wilde. “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design.” WWW’09<br />Kindberg, Tim, John Barton, Jeff Morgan, Gene Becker, Debbie Caswell, Philippe Debaty, GitaGopal, et al. “People, places, things: web presence for the real world.” Mob. Netw. Appl. 7, no. 5 (2002): 365-376.  <br />Dominique Guinard, Mathias Fischer, VladTrifa<br />“Sharing Using Social Networks in a Composable Web of Things.” Proc. of the First IEEE International Workshop on the Web of Things (WOT2010). Mannheim, Germany, March 2010<br />44<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    48. 48. Backup<br />45<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />
    49. 49. Age of Cache<br />46<br />Oracle-Labs, Jan. 26, 2011<br />Dominique Guinard MIT / ETH<br />

    ×