SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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 http://10.1.1.5:8080/energievisible/ploggs/all


           Gateway                    [{
         (IP:10.1.1.5)                  "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




                                                                        Sc
                            RE




                                                                         rip
                                                                             t
  [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

Weitere ähnliche Inhalte

Andere mochten auch

2016 07-20-wp5-q2 f2 f meeting in berlin
2016 07-20-wp5-q2 f2 f meeting in berlin2016 07-20-wp5-q2 f2 f meeting in berlin
2016 07-20-wp5-q2 f2 f meeting in berlinAGILE IoT
 
Data Ownership & Trust in the IoT
Data Ownership & Trust in the IoTData Ownership & Trust in the IoT
Data Ownership & Trust in the IoTAGILE IoT
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of ThingsFrank Greco
 
2016 07-20-wp4-q2 f2 f berlin
2016 07-20-wp4-q2 f2 f berlin2016 07-20-wp4-q2 f2 f berlin
2016 07-20-wp4-q2 f2 f berlinAGILE IoT
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...AGILE IoT
 
Web of Things - Connecting People and Objects on the Web
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
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of ThingsCarlos Pedrinaci
 
Web of Things Platforms Tutorial
Web of Things Platforms TutorialWeb of Things Platforms Tutorial
Web of Things Platforms TutorialEVRYTHNG
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocketFrank Greco
 
About Open Source Business Models
About Open Source Business ModelsAbout Open Source Business Models
About Open Source Business ModelsAGILE IoT
 
Fastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsFastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsProgrammableWeb
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb
 
Digital Transformation in Governments
Digital Transformation in GovernmentsDigital Transformation in Governments
Digital Transformation in GovernmentsScopernia
 

Andere mochten auch (13)

2016 07-20-wp5-q2 f2 f meeting in berlin
2016 07-20-wp5-q2 f2 f meeting in berlin2016 07-20-wp5-q2 f2 f meeting in berlin
2016 07-20-wp5-q2 f2 f meeting in berlin
 
Data Ownership & Trust in the IoT
Data Ownership & Trust in the IoTData Ownership & Trust in the IoT
Data Ownership & Trust in the IoT
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of Things
 
2016 07-20-wp4-q2 f2 f berlin
2016 07-20-wp4-q2 f2 f berlin2016 07-20-wp4-q2 f2 f berlin
2016 07-20-wp4-q2 f2 f berlin
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
 
Web of Things - Connecting People and Objects on the Web
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 Web
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
 
Web of Things Platforms Tutorial
Web of Things Platforms TutorialWeb of Things Platforms Tutorial
Web of Things Platforms Tutorial
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocket
 
About Open Source Business Models
About Open Source Business ModelsAbout Open Source Business Models
About Open Source Business Models
 
Fastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsFastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 Months
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
 
Digital Transformation in Governments
Digital Transformation in GovernmentsDigital Transformation in Governments
Digital Transformation in Governments
 

KĂźrzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

KĂźrzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Web of Things - Connecting People and Objects on the Web

  • 1. Web of Things - Connecting People and Objects on the Web Workshop @ SXSW10, Austin, 14 March 2010 Vlad Trifa & Dominique Guinard http://www.webofthings.com
  • 2. Virtual doggy bag online: http://www.webofthings.com/sxsw Disclaimer: We are going to demo undergoing research, so please bear with us. WoT@SXSW10
  • 3. Electronic things are invading us... • Increasingly powerful CPUs • Sensors & actuators • Web connectivity • Cheap • Ubiquitous WoT@SXSW10
  • 4. Translation for geeks: An infinite playground. YAAAY!
  • 5. 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
  • 6. We need an universal protocol that is: simple, lightweight, loosely- coupled, scalable, flexible and hopefully... standard
  • 8. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. DEMO - RESTful spots • Browsing the spot manager • Poster with content negotiation • Javascript app to change LEDs colors WoT@SXSW10
  • 17. Embedded REST is not always possible N on IP es vic de WoT@SXSW10
  • 18. For Wireless Sensor Networks (WSN)... WoT@SXSW10
  • 19. Example application: Energie Visible Web / Mobile  Interface GET http://10.1.1.5:8080/energievisible/ploggs/all Gateway  [{ (IP:10.1.1.5) "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
  • 20. DEMO - Energie Visible More? Webofthings.com/ energievisible WoT@SXSW10
  • 23. 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
  • 24. 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
  • 25. DEMO - FAT More? tinyurl.com/ ygy2kwb WoT@SXSW10
  • 26. The era of physical Mashups
  • 27. Real-world Web applications REST URL REST I AP Ja P ST va PH Sc RE rip t [hCp://www.pachube.com] [hCp://www.webothings.com/energievisible] [hCp://www.clickscript.ch] WoT@SXSW10
  • 28. Clickscript • Javascript-based visual mashup editor • Firefox plugin/Web app • Based on DOJO/jQuery www.clickscript.ch WoT@SXSW10
  • 29. 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
  • 30. 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
  • 32. Err, what about eventing & streaming ? The web wasn’t quite made for that... And querying & search?
  • 33. 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
  • 34. 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
  • 35. <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
  • 37. 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
  • 38. DEMO - InfraWoT WoT@SXSW10
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. Thanks for your attention ! www.webofthings.com