Web of Things

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Web of Things (WoT) describes a set of standards by the W3C for solving the interoperability issues of different Internet of Things (IoT) platforms and application domains.[1]

WoT Building Blocks[edit]

The WoT building blocks provide a way to implement systems that conform with the WoT architecture. Each of these blocks is described below in this section.

WoT Thing Description (TD)[edit]

The key component of the WoT building blocks is the WoT Thing Description. A Thing Description describes a virtual or a physical device (Thing). It defines an information model of a Thing based on semantic vocabulary and a serialization based on JSON. TD can be considered as the main entry point for a Thing, like an index.html page for a website. TDs foster interoperability providing both human and machine readable (and understandable) metadata about a Thing, such as title, ID, descriptions, etc. A Thing Description also describes all available actions, events and properties of a Thing, as well as all available security mechanisms to access them. TD in highly flexible in order to guarantee interoperability. In addition to the standard functionality, it defines a mechanism to extend the functionality (through the Context Extension Framework).[2]

WoT Binding Templates[edit]

IoT uses a big variety of protocols to interact with Things since there does not exist a single protocol, which is suitable for any case. So, one of the main challenges for Web of Things is to handle all the variety of protocols and interaction mechanisms. This problem is tackled through the Binding Templates. WoT Binding Templates provide a collection of communication metadata blueprints to support various IoT solutions. A Binding Template is created only once and then can be reused in any Thing Description.[2]

WoT Scripting API[edit]

The WoT Scripting API is an optional building block of Web of Things. It eases IoT application development by providing an ECMAScript-based application API in a similar manner how web browsers provide an API for web applications. By having a universal application runtime system, Scripting API solves the big problem of heterogeneity of IoT systems. It also enables creating reusable scripts to implement the device logic, which significantly improves the portability of the application modules.[2]

The current reference implementation of the WoT scripting API is an open-source project called node-wot, which is developed by the Eclipse Thingweb project.[3]

WoT Security and Privacy Guidelines[edit]

In WoT architecture, security is relevant to all the aspects of the architecture. Specification of each WoT building block contains several considerations regarding security and privacy of that particular block. Security is supported by certain explicit features, such as public metadata in Thing Descriptions and separation of concerns in the design of Scripting API. In addition, there is also a specification called WoT Security and Privacy Guidelines, providing guidance on a variety of security and privacy related concerns.[2]

History[edit]

Pioneering work in connecting objects to the Web probably started around the year 2000. In 2002, a peer-reviewed paper presented the Cooltown project.[4] This project explored the use of URLs to address and HTTP interact with physical objects such as public screens or printers.

Following this early work, the growing interest and implementation of the Internet of Things started to raise some questions about the application layer of the IoT.[5] While most of the work in the IoT space focused on network protocols, there was a need to think about the convergence of data from IoT devices. In particular, rather than looking at "one device one app", researchers and practitioners started envisioning the IoT as a system where data from various devices could be consumed by Web applications to create innovative use-cases.

The idea of the Web as an application-layer for the IoT started to emerge in 2007. Several researchers started working in parallel on these concept. Amongst them, Dominique Guinard and Vlad Trifa started the Web of Things online community and published the first WoT manifesto, advocating the use of Web standards (REST, Lightweight semantics, etc.) to build the application layer of the IoT. The manifesto was published together with an implementation on the Sun SPOT platform. At the same time, Dave Raggett from W3C started talking about a Web of Things at various W3C and IoT events. Erik Wilde published "Putting Things to REST", a self-published concept paper looking at utilising REST to sense and control physical objects.[6] Early mentions of the Web of Things as a term also appeared in a paper by Vlad Stirbu et al.[7]

From 2007 onwards, Trifa, Guinard, Wilde and other researchers tried publishing their ideas and concepts at peer-reviewed conferences but their papers got rejected by the Wireless Sensor Networks research community on the basis that Internet and Web protocols were too verbose and limited in the context of real-world devices,[8] where optimisation of memory and computation usage, wireless bandwidth, or very short duty cycles were essential.

However, a number of researchers in the WSN community started considering these ideas more seriously. Early 2009, a number of respected WSN researchers such as David Culler, Jonathan Hui, Adam Dunkels and Yazar Dogan evaluated the use of Internet and Web protocols for low-power sensor nodes and showed the feasibility of the approach.[9][10]

Following this, Guinard and Trifa presented their end-to-end implementation of the concepts and presented it in a peer-reviewed publication accepted at the World Wide Web conference in 2009.[11] Building on this implementation and uniting efforts, a RESTful architecture for things was proposed in 2010 by Guinard, Trifa and Wilde.[12] Noticing a growing industrial and academic interest for connecting things to the Web, Guinard, Trifa and Wilde ran the first International Workshop on the Web of Things,[13] WoT 2010 which has been running yearly since. These workshops have become the first forum where a growing community of researchers and practitioners could discuss the latest findings and ideas in the Web of Things.

In 2011, two of the first PhD theses on the Web of Things were presented at ETH Zurich: Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks from Vlad Trifa[14] and A Web of Things Application Architecture – Integrating the Real-World into the Web from Dominique Guinard.[15] Building on this work, Simon Mayer emphasized the importance of REST's uniform interface, and in particular the HATEOAS principle, in his PhD thesis.[16]

In 2014, the W3C showed an increased interest in the Web of Things and organised the W3C Workshop on the Web of Things,[17] under the lead of Dave Raggett together with Siemens and the COMPOSE European project. This workshop lead to the creation of the Web of Things Interest Group at W3C[18] and the submission of the Web Thing Model.[19]

The same year, Siemens announced the creation of a research group dedicated to the Web of Things.[20] In October 2014, Google also announced their interested in these ideas by launching the Physical Web GitHub project.[21]

The Web of Things Interest Group identified the required set of standards needed for the Web of Things in February 2017 .[22] The Working Group has started working on 4 deliverables called WoT Architecture,[23] WoT Thing Description,[24] WoT Scripting API [25] and WoT Binding Templates.[26]

See also[edit]

Further reading[edit]

  • Guinard, Dominique; Vlad, Trifa (2015). Building the Web of Things. Manning. ISBN 9781617292682.
  • Fortuna, Carolina; Grobelnik, Marko (2011-03-09). Tutorial: The Web of Things. Proceedings of the World Wide Web Conference 2011, Hyderabad, India. Association for Computing Machinery.

External links[edit]

References[edit]

  1. ^ "Web of Things (WoT) Architecture". www.w3.org. Retrieved 2020-06-12.
  2. ^ a b c d "Web of Things (WoT) Architecture". www.w3.org. Retrieved 2020-12-13.
  3. ^ "Web of Things (WoT) Scripting API". www.w3.org. Retrieved 2020-12-13.
  4. ^ Kindberg, T.; Barton, J.; Morgan, J.; Becker, G.; Caswell, D.; Debaty, P.; Gopal, G.; Frid, M.; Krishnan, V.; Morris, H.; Schettino, J.; Serra, B.; Spasojevic, M. (2000). "People, places, things: Web presence for the real world". Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications. pp. 19–28. CiteSeerX 10.1.1.24.4651. doi:10.1109/MCSA.2000.895378. ISBN 978-0-7695-0816-0.
  5. ^ Guinard, Dominique; Trifa, Vlad; Wilde, Erik (2010). A Resource Oriented Architecture for the Web of Things (PDF). Internet of Things 2010 International Conference (IoT 2010).
  6. ^ "Putting things to REST" (PDF).
  7. ^ Stirbu, V. (2008). "Towards a RESTful Plug and Play Experience in the Web of Things". Semantic Computing, 2008 IEEE International Conference on. Semantic Computing, 2008 IEEE International Conference on. pp. 512–517.
  8. ^ "5 Years of Web of Things Workshops". 2014-10-23.
  9. ^ Hui, Jonathan W.; Culler, David E. (2008). "IP is dead, long live IP for wireless sensor networks". Proceedings of the 6th ACM conference on Embedded network sensor systems – Sen Sys '08. p. 15. CiteSeerX 10.1.1.562.6336. doi:10.1145/1460412.1460415. ISBN 9781595939906.
  10. ^ Yazar, Dogan; Dunkels, Adam (2009). "Efficient application integration in IP-based sensor networks". Proceedings of the First ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Buildings - Build Sys '09. p. 43. CiteSeerX 10.1.1.158.3650. doi:10.1145/1810279.1810289. ISBN 9781605588247.
  11. ^ Guinard, Dominique; Trifa, Vlad (2009). Towards the Web of Things: Web Mashups for Embedded Devices (PDF). WWW (International World Wide Web Conferences), Enterprise Mashups and Lightweight Composition on the Web (MEM 2009) Workshop.
  12. ^ Guinard, Dominique; Trifa, Vlad; Wilde, Erik (2010). "A resource oriented architecture for the Web of Things". 2010 Internet of Things (IOT). pp. 1–8. doi:10.1109/IOT.2010.5678452. ISBN 978-1-4244-7413-4.
  13. ^ "International Workshop on the Web of Things".
  14. ^ Trifa, Vlad (2011). Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks (PDF) (Ph.D.). ETH Zurich.
  15. ^ Guinard, Dominique (2011). A Web of Things Application Architecture – Integrating the Real-World into the Web (PDF) (Ph.D.). ETH Zurich.
  16. ^ Mayer, Simon (2014). Interacting with the Web of Things (Ph.D.). ETH Zurich.
  17. ^ "W3C Workshop on the Web of Things".
  18. ^ "W3C Web of Things".
  19. ^ "Web Thing Model".
  20. ^ "Siemens Web of Things Research Group".
  21. ^ "The Physical Web". GitHub. Retrieved 2017-02-08.
  22. ^ "W3C Web of Things joint IG/WG meeting in Santa Clara, 5–9 February 2016".
  23. ^ "W3C WoT Architecture".
  24. ^ "W3C WoT Thing Description".
  25. ^ "W3C WoT Scripting API".
  26. ^ "W3C WoT Binding Templates".