Comparing SOAs for the Internet of Things

2,216 views
2,092 views

Published on

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

No Downloads
Views
Total views
2,216
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
149
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Comparing SOAs for the Internet of Things

  1. 1. Service Oriented Architecturesfor the Web of ThingsDominique GuinardETH Zurich / SAP Research / MIT Auto-ID LabsBrown Bag @ Credit Suisse, Zurich, May 30 2011
  2. 2. I, in a Nutshell @ Alma Mater 2005: Bachelor in CS and  2010 – 2011: Visiting Management @ Fribourg: Researcher @ MIT:  Scalable (Java EE) RFID Indoor  Using Cloud-Computing and REST to Assets Tracking Framework simplify standard RFID software (RFIDLocator) @ Sun Microsystems applications. 2006 – 2007: Master Thesis in Computer Science @ Lancaster:  SOA for sensor supported interactions with mobile phones 2008 – now: Ph.D. @ ETH Zurich:  “Integrating the Real-World in the Web of Things - A Service Architecture to Support Application Development”Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 2 / 50
  3. 3. I, in a Nutshell @ Work 2007 – 2011: SAP AG:  Associate Researcher, SOA (Java EE, WS-*) for integrating embedded devices (e.g., machines) and IT backend systems (e.g., ERPs) 2007 – 2008: Auto-ID Labs Zurich:  « Mobile Internet of Things » project with Nokia Research. 2005: Sun Microsystems  Intern, virtualized Java EE Portal for Banking Business 1997 – 2006: GMIPSoft & Spoker.com:  Co-founder, developer, managerCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 3 / 50
  4. 4. [http://www.flickr.com/photos/moragcasey/] Service Oriented Architectures for the Web of Things? Why? What? INTRODUCTION AND MOTIVATIONCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 4 / 50
  5. 5. Things? Smart Things! and tagged objects! to sensor networks…From appliances and machines…Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 5 / 50
  6. 6. The Smart Things Era  Ubiquitous:  Home appliances  Industries  Smart Cities  Connected:  Zigbee, Bluetooth, WifiCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 6 / 50
  7. 7. Service Oriented Architecture for Smart Things  Question:  How do we enable tech savvys and companies to create applications on top of this eco-system?  Hundreds of different platforms  Web?  Scalable (7000 Facebook p/sec.)  Ubiquitous (from mobile to desktop)  Well-understood (1.73 Bio. users)  Idea:  Propose an SOA for enabling composite applications with Smart ThingsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 7 / 50
  8. 8. Motivation: Use Case Enterprise ERP, SCM, PLM, SRM, CRM  The manufacturing industry is facing a number of challenges: DISCONNECT  Mass customization, last-minute changes  Cross-organizations processes Factory/Plant  … in a very heterogeneous world.  Need for increased flexibility and agility in the manufacturing process:  Enable dynamic reconfiguration and composition Heterogeneous Plant Floor IT Infras.  Enable shop-floor events to be integrated to top-floor enterprise applications (e.g ERP, etc.) Machinery & Plant AssetsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 8 / 50
  9. 9. Today’s Menu 1. Motivation 2. Smart Things SOAs: 1. A WS-* Architecture for Smart Things 2. The Web of Things 3. Physical Mashups 4. Case study: WEB-enabling the Global RFID Network 5. Conclusion [http://www.flickr.com/photos/lessio/1346732230/] Dominique Guinard ETH / MITCredit Suisse, May 30, 2011 9 / 50
  10. 10. SOA-Ready Device Integration in Enterprise Systems  Develop a cross-layer infrastructure composed of web service enabled devices (SOA-ready) strongly coupled with enterprise applications.  Leading competitors in the automation area.  SAP’s contribution is in the enterprise integration.Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 10 / 50
  11. 11. Socrades Integration Infrastructure: DPWSCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 11 / 50
  12. 12. Device Layer: Device Profile for Web Services  Based on DPWS:  Open standard for providing WS-* Web Services at smart WS-Discovery WS-Eventing things level WS-Addressing  Minimal set of standards WS-MetadataExchange  Smaller footprint WS-Policy  Similarities with UPnP but WS-Security based on WS standards SOAP 1.2  DPWS = WS + Discovery + WSDL 1.1, XML Schema Service Description + Security HTTP 1.1 and focus on Eventing UDP TCP IPv4/IPv6  Goal: Embedding DPWS in devices and even « in silicon »: Devices Profile for Web Services  Schneider Electric, ABB, ARM (DPWS) protocol stackCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 12 / 50
  13. 13. Socrades Integration Infrastructure: DPWSCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 13 / 50
  14. 14. Creating Workflows With Smart ThingsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 14 / 50
  15. 15. Qualitative Results: Still Rather Heavy Still heavy on the embedded device itself:  No DPWS on Sun SPOT, Gripper, PLC yet.  Maybe just a matter of time? Heavy to program services and clients:  Have a WSDL, generate stub from WSDL, databinding (JAXB) and SOAP, service lookup, etc. WS-* Web Services probably not the best SOA implementation for Smart Things [11] Especially not for tactical, ad-hoc, applications [6,7]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 15 / 50
  16. 16. Thinking about Alternatives: REST?  Many practical benchmarking has shown that REST outperforms WS-* in the IoT field.  Yazar and Dunkels [10] have compared both technologies for wireless sensor networks. Source [10] Yazar, DunkelsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 16 / 50
  17. 17. Thinking about Alternatives  Study with ~70 developers:  REST seen as more adapted to smart things  REST seen as easier to learn  => Fosters public innovation  Security as the biggest drawback of REST:  REST offers security over the communication channel (HTTPS)  WS-* offers endpoint to endpoint security (WS-Security)Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 17 / 50
  18. 18. [http://www.flickr.com/photos/julianbleecker] Building a Web of Things, piece by piece… WEB OF THINGS ARCHITECTURECredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 18 / 50
  19. 19. The Web of ThingsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 19 / 50
  20. 20. REST: The Core of the Web [1,2] REST: architecture with 5 constraints1. Identify resources and links:  A resource: something, that can and that’s worth, getting a URI and links2. Design respresentations3. Use the uniform interface4. Bring things to the Internet&WebCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 20 / 50
  21. 21. Case Study with Sun Spots Resource Identification Hypermedia1) Resources and LinksThanks to their atomicity services on embedded devices arequite adapted to Resource-Oriented Architectures. Resources:  Spots: http://webofthings.com/spots  Spot 2: http://webofthings.com/spots/2  Light Sensor: http://webofthings.com/spots/2/sensors/light  Led Actuator: http://webofthings.com/spots/2/actuators/ledCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 21 / 50
  22. 22. 2) Representation Design Self-Describing Messages HypermediaHTML as default, ideal for browsing:  http://webofthings.com/spotsJSON & JSONp, ideal for mashupsXML, ideal for integration with business systemsCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 22 / 50
  23. 23. 3) Interface Design Uniform Interface Self-Describing Messages Leverage content negotiation:  Accept: application/json Use the HTTP Verbs extensively:  GET, PUT, POST, DELETE  GET http://webofthings.com/spots/2/sensors/temperature  PUT http://webofthings.com/spots/2/actuators/led/1 Map status codes:  200 OK, 201 Created, 400 Bad RequestCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 23 / 50
  24. 24. 4) Bringing Things to the Internet&Web:Smart Gateways [3]  6lowpan coming quickly:  Cisco, IPSO, OpenPicus  HTTP Reverse Proxy  Hiding IoT proprietary protocols (Zigbee, Bluetooth, etc.):  Dongle based  OSGi modularity  Installed on residential gateways:  Wireless routers (OpenWrt)  NAT  RESTful Design Process can be (partially) automatedCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 24 / 50
  25. 25. Quantitative Evaluation  10’000 requests on the Sun SPOTs  1) Embedded Webserver:  205 ms (97 – 8500)  Could be improved with a proxy!  2) Smart Gateway:  Sync-based (caching)  4 ms (2 – 49)  Age max: 300 ms  Good enough for most sub- second use cases.Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 25 / 50
  26. 26. [http://www.flickr.com/photos/docman] What can we build on top of the Web of Things? PHYSICAL MASHUPSCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 26 / 50
  27. 27. Typical WoT Architecture: « Energie Visible »  Project for a private foundation for sustainability (cudrefin02.ch)  Goal: an easily deployable system for better understanding consumption:  Cross-platform  Web access  Uses the Plogg sensor nodes  Smart Gateway provides RESTful APICredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 27 / 50
  28. 28. « Energie Visible »: Mashup and UIs [4]  Web UI / Mashup using Javascript (GWT):  www.webofthings.com/energievisible  E-Meter iPhone App [http://www.vs.inf.ethz.ch/res/show.html?what=emeter_demo]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 28 / 50
  29. 29. Physical Mashup Editors [5] • Clickscript: – Javascript (JQuery / DOJO) based visual language. • Added wrappers for WoT devices: – SunSPOT, Ploggs, RFID reader [http://www.clickscript.ch]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 29 / 50
  30. 30. A (business-relevant) case-study in RFID WEB-ENABLING THE GLOBAL RFID NETWORKCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 30 / 50
  31. 31. EPC Network in a NutshellCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 31 / 50
  32. 32. Paint-Point: Complicated applications developments:  Goal:  Offer lighter APIs  Allow integration with IoT devices (sensors, mobile phones)  Allow Web 2.0 integration  Remedy:  RESTful APIs  Real-time Web [www.flickr.com/photos/jgarber/]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 32 / 50
  33. 33. EPC Network in a NutshellCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 33 / 50
  34. 34. API Design: Addressability & Connectedness Resources:  Locations, Readers, Tagged objects (EPC), etc. Links:  Every resource is linked to its children.  And to relevant resources. http://.../location/migros:basel/reader/warehouse:incoming/time/2009-12-21T13:22:04.000Z/event/EPCCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 34 / 50
  35. 35. Design: Representations Several representations:  XML: EPCIS standard  JSON: Web integration  HTML: browsability  CSS for browser  CSS for mobile (IUI)  Selected through “HTTP content negotiation” Atom feeds for subscription to queries.Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 35 / 50
  36. 36. Implementation: EPCIS Web-adapterCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 36 / 50
  37. 37. Performance EvaluationCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 37 / 50
  38. 38. Applications  Easier to build mobile apps  Easier to build Web apps (mashup dashboard)  Shortcomings:  How about real-time?  Beyond EPCIS?  « Reader » push?Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 38 / 50
  39. 39. Remedy: Real-Time Web in a Nutshell Current Web Real-Time Web[Generated with websequencediagrams.com]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 39 / 50
  40. 40. HTML 5 Websockets  Full-duplex in the browser  Part of the soon standard HTML 5 spec.  Subscription through Javascript  Increasing number of browsers support[Generated with websequencediagram.com]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 40 / 50
  41. 41. Application: Mobile Reader Monitor  Use-case:  Scan QR code  Monitor an RFID reader (via LLRP/ALE) live from any mobile browser  Technology:  Fosstrak EPC Cloud  tPusher  ~20 lines of Javascript compatible with most mobile browsersCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 41 / 50
  42. 42. Paint-Point: Complex and expensive back-enddeployments and maintenance  Goal:  Reduce installation & maintenance time and costs:  Software  Harware  Remedy:  Virtualization & Cloud Computing [www.flickr.com/photos/sunep]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 42 / 50
  43. 43. A Typical EPC Software Deployment… 1 4 5 6 2 3 8 9 7 10 11) Java App Contrainer ~12 software components 12) Java Enterprise SDK for a typical RFID (e.g., Tomcat) deployment!!Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 43 / 50
  44. 44. Remedy: Virtualization  Test / dev for the EPC Network locally in 5 minutes  Virtualized development environment:  Eclipse, LLRP Commander, Readers simulators, WSN simulators, toolkits, etc.  All Fosstrak components  Based on VMWare:  Private CloudCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 44 / 50
  45. 45. Remedy: Cloud Computing  Run your EPC Network server in 5 minutes!  Cloud appliance:  Full EPC Network server  Admin Web interface  Fully configured Tomcat Instance  Based on Amazon EC2:  Public Cloud  Utility ComputingCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 45 / 50
  46. 46. All together: EPC Cloud InfrastructureCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 46 / 50
  47. 47. Application: RFID Mashup Editor [Clickscript.ch]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 47 / 50
  48. 48. [http://www.flickr.com/photos/brapke/] CONCLUSION AND OUTLOOKCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 48 / 50
  49. 49. Conclusions The integration of Smart Things should be rooted on the best practices of SOAs 2 SOA Architectures for composite applications with Smart Things:  WS-*, DPWS-based  Better security, built-in eventing and discovery.  REST  Better Web integration, easier to use, more lightweight Key-point: looking beyond the technological hype.Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 49 / 50
  50. 50. Thanks a lot for your attention  Dominique Guinard  Contact details: www.guinard.org  Blog: www.webofthings.com  Software: www.webofthings.com/projects  Papers and articles: www.guinard.org/publications  Special thanks to:  Vlad Trifa, Simon Mayer, Christian Floerkemeier, Mathias Mueller, Mathias Fischer and the WoT members…Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 50 / 50
  51. 51. References All our papers are on: www.guinard.org/publications1. L. Richardson and S. Ruby. “RESTful Web Services”. OReilly Media, Inc., 20072. R. Fielding: “Architectural styles and the design of network-based software architectures”, 20003. S. Mayer, D. Guinard, V. Trifa: “Facilitating Integration and Interaction of Real-World Services for WoT” Urban IoT 20104. M. Weiss, D. Guinard: “Increasing Energy Awareness Through Web-enabled Power Outlets” MUM 20105. D. Guinard: “Mashing up Your Web-Enabled Home”, Touch the Web 2010Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 51 / 50
  52. 52. References6. Pautasso, Cesare, Olaf Zimmermann, and Frank Leymann. “Restful web services vs. "big" web services: making the right architectural decision.” WWW 087. Pautasso, Cesare, and Erik Wilde. “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design.” WWW’098. Kindberg, Tim, John Barton, Jeff Morgan, Gene Becker, Debbie Caswell, Philippe Debaty, Gita Gopal, et al. “People, places, things: web presence for the real world.” Mob. Netw. Appl. 7, no. 5 (2002): 365-376.9. Dominique Guinard, Mathias Fischer, Vlad Trifa “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 2010Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 52 / 50
  53. 53. References10. Yazar, D., & Dunkels, A.. Efficient application integration in IP-based sensor networks. Proceedings of the First ACM Workshop on Embedded Sensing Systems for Energy- Efficiency in Buildings (p. 4350). Berkeley, CA, USA.Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 53 / 50
  54. 54. BackupCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 54 / 50
  55. 55. Age of CacheCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 55 / 50
  56. 56. Protecting Access to Things:Friends and Things (FAT) [9]Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 56 / 50
  57. 57. Friends and Things: User InterfaceCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 57 / 50
  58. 58. Search and Performances Finding Services:  HTML5 Microdata  RDFa  WoT Search:  Google Custom Engine  Yahoo Search Monkey  Dyser Performances!  Push vs Pull  Highly scalable Web-servers  Node.js  Grizzly  Cloud solutions:  GAE, AWSCredit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 58 / 50

×