Web of Things Application Architecture

Co-founder & CTO at EVRYTHNG, Web of Things Pioneer, Internet of Things Expert
Aug. 28, 2011
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
Web of Things Application Architecture
1 of 62

More Related Content

What's hot

Iot presentationIot presentation
Iot presentationhuma742446
Lecture 1 - Introduction to IoTLecture 1 - Introduction to IoT
Lecture 1 - Introduction to IoTAlexandru Radovici
Data enrichmentData enrichment
Data enrichmentFabMinds
IoT Enabling TechnologiesIoT Enabling Technologies
IoT Enabling TechnologiesPrakash Honnur
Unit 4Unit 4
Unit 4Mayura shelke
IOT - Design Principles of Connected DevicesIOT - Design Principles of Connected Devices
IOT - Design Principles of Connected DevicesDevyani Vasistha

Viewers also liked

5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things WorkshopsDominique Guinard
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG
The Web of Things in PracticeThe Web of Things in Practice
The Web of Things in PracticeDominique Guinard
Web of Things Platforms TutorialWeb of Things Platforms Tutorial
Web of Things Platforms TutorialEVRYTHNG
Web of Things - Connecting People and Objects on the WebWeb of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebDominique Guinard
Web of things introductionWeb of things introduction
Web of things introduction承翰 蔡

Similar to Web of Things Application Architecture

A Universal Application Platform for Sensors, RFID, NFC and Embedded DevicesA Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
A Universal Application Platform for Sensors, RFID, NFC and Embedded DevicesDominique Guinard
A ROA for the WOTA ROA for the WOT
A ROA for the WOTDominique Guinard
Towards user-created applications on the Internet-of-ThingsTowards user-created applications on the Internet-of-Things
Towards user-created applications on the Internet-of-Thingstrappenl
When Things will Speak "Web" (Lecture)When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)Dominique Guinard
IRJET- Fourth Coming Internet: The Internet of ThingsIRJET- Fourth Coming Internet: The Internet of Things
IRJET- Fourth Coming Internet: The Internet of ThingsIRJET Journal
IoTIoT
IoTMphasis

More from Dominique Guinard

From the internet of things to the web of things courseFrom the internet of things to the web of things course
From the internet of things to the web of things courseDominique Guinard
1 billion thngs at a time1 billion thngs at a time
1 billion thngs at a timeDominique Guinard
The Art of API Crafting for the IoTThe Art of API Crafting for the IoT
The Art of API Crafting for the IoTDominique Guinard
Dumb Products can be Smart Too!Dumb Products can be Smart Too!
Dumb Products can be Smart Too!Dominique Guinard
3 Cups of Java Drivers with a Slice of MongoDB3 Cups of Java Drivers with a Slice of MongoDB
3 Cups of Java Drivers with a Slice of MongoDBDominique Guinard
If Spock had an Android phone: QRs, 1D, NFC, BLE, Arduinos & the Web of ThingsIf Spock had an Android phone: QRs, 1D, NFC, BLE, Arduinos & the Web of Things
If Spock had an Android phone: QRs, 1D, NFC, BLE, Arduinos & the Web of ThingsDominique Guinard

Recently uploaded

10 reasons to choose Galaxy Tab S9 for work on the go10 reasons to choose Galaxy Tab S9 for work on the go
10 reasons to choose Galaxy Tab S9 for work on the goSamsung Business USA
GIT AND GITHUB (1).pptxGIT AND GITHUB (1).pptx
GIT AND GITHUB (1).pptxGDSCCVRGUPoweredbyGo
Salesforce Miami User Group Event - 3rd QuarterSalesforce Miami User Group Event - 3rd Quarter
Salesforce Miami User Group Event - 3rd QuarterSkyPlanner
How resolve Gem dependencies in your code?How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?Hiroshi SHIBATA
"From Orchestration to Choreography and Back", Yevhen Bobrov "From Orchestration to Choreography and Back", Yevhen Bobrov
"From Orchestration to Choreography and Back", Yevhen Bobrov Fwdays
"Stateful app as an efficient way to build dispatching for riders and drivers..."Stateful app as an efficient way to build dispatching for riders and drivers...
"Stateful app as an efficient way to build dispatching for riders and drivers...Fwdays

Web of Things Application Architecture

Editor's Notes

  1. Currentdevelopments in embeddedsystems in domainssuch as home appliances, sensor net, or simple everydayobjectbeingtaggedwith RFID:Show thatthey are gettingincreasinglysmarter and connectedwhichlead to a very large ecosystem of smart thingsLet us think of an electronic article surveillance system in a store thatwouldleveragethiseco-system: tag objectswith RFID trigger the RFID readerswith a proximitysensor trigger the security camera if somethingwasstolenbroadcast the information to the staff on their mobile phones
  2. This leads to a problemresearched by many, showing:ToomuchprotocolsheterogeneityExpensive and time-consumingexpertknowledgeRequirements for application layer for the IoT
  3. Web:Set of relatively simple and open standards (e.g., HTTP, HTML, etc.).Broad-pool of developers.Well understood by users.Best-effort (efficiency, scalability, etc.).From Web sites to Web APIs.Ubiquitous availability (desktop, mobile, etc.).Contribution: We propose a Web of Things Application Architecture:Enablesparticipatory application development:Easier for specialistsCloser to Web developers, end-users
  4. Four layers but: Not OSI:layers are flexible, eacheases a little more building applications: from Embedded Syst. Dev to End-UsersContribution: LayersBuilding blocks: each block is a Web APIApplications testingthese blocks
  5. Resource Tree:functionality of the sun spot identified by resolvableURIsNot bound to one representation. We use HTML for browsability, JSON for mashups, HTTP has a content-negotiationmechanism for selecting the right representation.GET on temperature => retrieves the representation of the tempsensorPUT on LED => changes the state of the LED (on/off)
  6. One of ourcore contributionsFor smart thingsthat do not speak Internet or Web protocolswe propose a lightweight software frameworkthatcanbedeployed on computers at the edge of the network (e.g., NAS, wifi routers, etc.):Device Drivers: encapsulate the proprietary or low-levelprotocolsCore Services: are used by drivers to maptheirfunctionality to a Web APIPluggable Services: services implementing cross-cuttingconcerns (seenextlayers)Maybeaddstuff about Web Sockets
  7. Withthis layer wewant to achievetwothings:MakethingsfindableusingsearchenginesAllow the semi-automaticintegrationintomashuptoolsGuinard, D., Trifa, V., Mattern, F., & Wilde, E. (2011). From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices. In D. Uckelmann, M. Harrison, & F. Michahelles (Eds.), Architecting the Internet of Things (pp. 97-129). Berlin, Heidelberg: Springer Berlin Heidelberg. Retrieved from http://www.springerlink.com/content/p314x13322qnw276
  8. SAC: Manages Access to Smart ThingsThrough Social NetworksAnd offers an API for clients or client applicationsRequirements (details):Security: prevent attackers from gaining accessEase of use: significantly influences adoption [Ion2010]Reflecting existing trust modelsInteroperable: Web protocols, prevent user lock-inIntegrated Advertisement
  9. Smart things are securedbased on HTTP Basic AccessAuthentication or HTTP DigestAuthenticationAuthenticationthroughOauthUsing the social network API (OpenSocial if supported, otherwise social network proprietary API)
  10. List of resources (i.e., services) thatcanbesharedisautomaticallygenerated by crawling (see sharing layer)
  11. Manualmashupdev:Wetake a device on whichappscanbedeveloped by domainspecialists and, using the otherlayers, bringit to Web developers
  12. We provide a Web page that loads the real-world data into global variables, developers then just have to create widgets by combining this data with services on the Web.
  13. Bringingdevelopment as close as possible to endusersWecreated a frameworkthatallows the creation of dedicatedmashup editorsi.e., Web toolthat let usersbuildmashupssimply by visuallycomposingwidgetsThanks to the otherlayerseachwidgetisreduced to an HTTP call and canevenbeautomaticallygenerated.This is the EAS mashup.
  14. Criticism of the Web for embedded devices: too heavy.Weevaluatedbothapproaches (embedded HTTP & Smart Gateway mediated):Ok for sub-second use-cases
  15. RTTcanbeimproved by caching the authentication of users (not theirtokens) however, thisis a tradeoffbetweensecurity and efficiency.http://vswot.inf.ethz.ch:8091/gateways/vswot.inf.ethz.ch:8081/resources/sunspots/Spot1/sensors/light
  16. We wanted to asses whether the Web approach was making development easier
  17. Web of Things architecture:Blueprints to bring IoT application development closer to non-specialists thanks to the Web:Performances are acceptable for sub-second use-casesUnveils integration possibilities (browser integration, social networks, Web scripting languages, mashups, etc.)Fosters open, participatory innovation to physicalmashupsEvaluated and prototyped in two domains:Wireless Sensor Networks & RFIDDeliverables: ~20 co-authored publications, 5 frameworks (3 open-source), 10 applications (1 open-source)
  18. Real-time <10ms response rangeIf Internet standards are adaptedwecouldalso serve more use-cases throughsuch an architectureFirst sensethrough the open-sourcing of ourframeworks, more isneeded
  19. Four layers but: Not OSI:layers are flexible, eacheases a little more building applications: from Embedded Syst. Dev to End-UsersContribution: LayersBuilding blocks: each block is a Web APIApplications testingthese blocks
  20. Criticism of the Web for embedded devices: too heavy.Weevaluatedbothapproaches (embedded HTTP & Smart Gateway mediated): Ok for most types of apps (<1 second)Sync-based Smart Gateway: muchbetter:
  21. If theyimplement the Accessibility layer smart thingscanbediscovered by crawling.
  22. Pseudo code for the crawling:crawl(Link currentLink) { new Resource() r;r.setUri = currentLink.getURI();r.setShortDescription = currentLink.text();r.setLongDescription = currentLink.invokeVerb(GET).extractDescriptionFromResults();r.setOperations = currentLink.invokeVerb(OPTIONS).getVerbs();foreach (Format formats: currentFormat) {r.setAcceptedFormats = currentLink.invokeVerb(GET).setAcceptHeader(currentFormat); } if (currentLink.hasNext()) crawl(currentLink.getNext());}
  23. Requirements:Security: prevent attackers from gaining accessEase of use: significantly influences adoption [Ion2010]Reflecting existing trust modelsInteroperable: Web protocols, prevent user lock-inIntegrated Advertisement
  24. Sharing RFID data through the EPCIS Webadapter
  25. ClickScript [Naef2009]: Language created to teach programming to children.Client-side Web technologies (JavaScript + CSS + HTML).Smart Things building-block within a few lines of JavaScript.Added push support (tPusher).
  26. Lets end-users create simple rules to optimize their energy consumption:Turn the heating on only when I am driving home and temp < 18 deg.Turn off the lights when sun light is strong enough.
  27. REST appears to be more adapted to foster a participatory Web of Thingswere application developmentisbrought to non-specialists