Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009 - Presentation Transcript
Towards the Web of Things: Web Mashups for Embedded Devices Dominique Guinard and Vlad Trifa Institute for Pervasive Computing, ETH Zurich and SAP Research Zurich [email_address] www.guinard.org
Discussing the Web of Things Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [http://www.flickr.com/photos/sharynmorrow/ ] MEM @ WWW 2009, Madrid
Embedded Devices Invade us! Dominique Guinard, ETH / SAP Research Zurich, webofthings.com
Emergence of the physical Web
Embedded devices get more powerful .
They are also getting connected to the Web.
MEM @ WWW 2009, Madrid
From a Large Ecosystem to a Large Playground
Huge eco-system of devices.
About 1000 smart objects / person:
and… about 1000 systems to use them and build applications on top of them.
How do we enable people to create applications on top of this great eco-system?
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com “ re-think the way we design computing systems in order to take into account the >1000 smart objects per people we will soon have to deal with.” David Orban MEM @ WWW 2009, Madrid
Web 2.0 Mashups
Mashups are a nice example of « easily » building new applications on top of a virtual eco-system of services.
Not the universal answer but seemingly adapted to dynamic and moderately big use-cases involving end-users.
How about creating real-world mashups?
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Web of Things (WOT) in a Nutshell
Fully integrating embedded devices to the Web, by designing “web-oriented” APIs for embedded devices:
A Web-page for each “service”.
A RESTful API to access and consume them.
As a result:
Embedded devices are easier to build upon.
We get the goodies of the web almost for free (caching, linking, searching, authenticating, etc.)
And enable physical mashups, i.e. small, ad-hoc composite applications involving real-world embedded devices.
MEM @ WWW 2009, Madrid Dominique Guinard, ETH / SAP Research Zurich, webofthings.com
Our 5 Courses Menu
Discussing the Web of Things
A Web Oriented Architecture for the Real-World
Building RESTful APIs for Real-World Devices
Integration Patterns: Gateway vs Direct Integration
Implementation and Prototypes
RESTful Sun SPOTs
RESTful Ploggs
Real-World Mashups
Energie Visible Google Web Toolkit UI
Ambient Meter
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
A Web Oriented Architecture for the Real-World Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [ http://www.flickr.com/photos/julianbleecker ] MEM @ WWW 2009, Madrid
Our 5 Courses Menu
Discussing the Web of Things
A Web Oriented Architecture for the Real-World
Building RESTful APIs for Real-World Devices
Integration Patterns: Gateway vs Direct Integration
Implementation and Prototypes
RESTful Sun SPOTs
RESTful Ploggs
Real-World Mashups
Energie Visible Google Web Toolkit UI
Ambient Meter
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
1. Resource Design
Thanks to their atomicity services on embedded devices are quite adapted to Resource-Oriented Architectures.
Led Actuator: http://webofthings.com/spots/2/actuators/led/
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
XHTML as default, ideal for browsing:
http://webofthings.com/spots
JSON, ideal for parsing:
http://webofthings.com/spots.json
XML, ideal for integration
http://webofthings.com/spots.xml
2. Representation Design Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
3. Uniform Interface Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [ HTTP: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol] MEM @ WWW 2009, Madrid
3. Uniform Interface
HTTP Verbs: What do you want to do?
GET: retrieve the representation of a resource.
PUT: create or update a resource.
DELETE: remove a resource.
POST: create a subordinate (or custom: RPC!)
HTTP Headers: What type of data are you sending me?
Metadata:
Content type: application/json, text/html, etc.
Status:
200 OK, 201 Create, 400 Bad Request, 401 Unauthorized
HTTP Body: The actual data.
The content in its representation.
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Integration Patterns: Gateway vs Direct Dominique Guinard, ETH / SAP Research Zurich, webofthings.com Web Cloud Smart Gateway RESTful API BT Zigbee … API1 API2 Web Cloud Web Server Eventing MEM @ WWW 2009, Madrid IPv6 (lowpan) Compose Visualize Search Physical Mashups Compose Visualize Search Physical Mashups RESTful API Web Server RESTful API Web Server
Implementation and Prototypes Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [http://www.flickr.com/photos/sharynmorrow/47086098/ ] MEM @ WWW 2009, Madrid
Our 5 Courses Menu
Discussing the Web of Things
A Web Oriented Architecture for the Real-World
Building RESTful APIs for Real-World Devices
Integration Patterns: Gateway vs Direct Integration
Implementation and Prototypes
RESTful Sun SPOTs
RESTful Ploggs
Real-World Mashups
Energie Visible Google Web Toolkit UI
Ambient Meter
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Direct Integration Dominique Guinard, ETH / SAP Research Zurich, webofthings.com Web Cloud Smart Gateway RESTful API BT Zigbee … API1 API2 Web Cloud Web Server Eventing MEM @ WWW 2009, Madrid IPv6 (lowpan) Compose Visualize Search Physical Mashups Compose Visualize Search Physical Mashups RESTful API Web Server RESTful API Web Server
The RESTful SunSPOTs Project
Create a « SmartLogger » that can be attached to shipments.
www.webofthings.com/ tag/smartlogger/
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Architecture MEM @ WWW 2009, Madrid Dominique Guinard, ETH / SAP Research Zurich, webofthings.com
Integration using Gateways Dominique Guinard, ETH / SAP Research Zurich, webofthings.com Web Cloud Smart Gateway RESTful API BT Zigbee … API1 API2 Web Cloud Web Server Eventing MEM @ WWW 2009, Madrid IPv6 (lowpan) Compose Visualize Search Physical Mashups Compose Visualize Search Physical Mashups RESTful API Web Server RESTful API Web Server
The « Energie Visible » Project Dominique Guinard, ETH / SAP Research Zurich, webofthings.com
Aim:
Monitor and control your energy consumption at home.
Fully integrate the monitoring and control to the web.
www.webofthings.com/energievisible/
Gateway and Mini Webserver Sensors (Ploggs) Devices Web / Mobile Interface MEM @ WWW 2009, Madrid
RESTful Plogg Gateway Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Talk to devices: The WEB Way Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Demo Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Examples of Real-World Mashups Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [http://www.flickr.com/photos/kevlar ] MEM @ WWW 2009, Madrid
Our 5 Courses Menu
Motivation
Discussing Real-World Integration Schemes
WS-* Web Services
RESTful APIs
A Web Oriented Architecture for the Real-World
Building RESTful APIs for Real-World Devices
Integration Patterns: Gateway vs Direct Integration
Implementation and Prototypes
RESTful Sun SPOTs
RESTful Ploggs
Real-World Mashups
Energie Visible Google Web Toolkit UI
Ambient Meter
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Enable Real-World Mashups Dominique Guinard, ETH / SAP Research Zurich, webofthings.com URL URL URL URL MEM @ WWW 2009, Madrid
Physical-Virtual Mashup: Energy Visualizer for RESTful Ploggs Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Physical-Physical Mashup: Ambient Energy Meter
Create an ambient device that can assess the energy consumption of the current place it is in.
Mashup of:
The RESTful Ploggs
The RESTful Sun Spots
The Smart Gateways.
Dominique Guinard, ETH / SAP Research Zurich, webofthings.com MEM @ WWW 2009, Madrid
Outlook
REST is quite suitable for composing small, ad-hoc applications [1], why not for small embedded applications?
Need to go beyond REST:
Need for asynchronous mechanisms.
Currently exploring systems such as XMPP and Twitter.
Need to provide mashup editors for physical mashups (à la “yahoo pipes” or “rooftop”).
MEM @ WWW 2009, Madrid Dominique Guinard, ETH / SAP Research Zurich, webofthings.com [1] Pautasso, Cesare, Olaf Zimmermann, and Frank Leymann. “Restful web services vs. "big"' web services: making the right architectural decision.” In WWW '08: Proceeding of the 17th international conference on World Wide Web , 805―814. New York, NY, USA: ACM, 2008.
Thanks a lot for your attention Dominique Guinard, ETH / SAP Research Zurich, webofthings.com www.webofthings.com MEM @ WWW 2009, Madrid
0 comments
Post a comment