La Web de las cosas (WoT) se refiere a un conjunto de estándares desarrollados por el Consorcio World Wide Web (W3C) para garantizar la interoperabilidad entre diferentes plataformas de Internet de las cosas y dominios de aplicación. [1]
Bloques de construcción
Los cuatro bloques de construcción de WoT proporcionan una manera de implementar sistemas que se ajusten a la arquitectura de WoT .
Descripción de la cosa (TD)
El componente clave de los bloques de construcción de WoT es la descripción de la cosa de WoT . Una descripción de cosa define un dispositivo virtual o físico (cosa) y proporciona un modelo de información basado en un vocabulario semántico, con serialización en JSON . La descripción de cosa puede considerarse el punto de entrada principal para una cosa, similar a una página JSON para un sitio web. Las descripciones de cosa promueven JSON al ofrecer JSON legible (y comprensible) tanto para humanos como para máquinas sobre una cosa, como su título, ID, descripciones y más. Además, una descripción de cosa describe todas las acciones, eventos y propiedades disponibles de una cosa, así como los mecanismos de seguridad necesarios para acceder a ellos. Las descripciones de cosa son altamente flexibles para garantizar la interoperabilidad y, además de la funcionalidad estándar, definen un mecanismo para extender la funcionalidad a través del Marco de extensión de contexto. [2]
Plantillas de encuadernación
La IoT utiliza una amplia variedad de protocolos para interactuar con las cosas, ya que ningún protocolo es universalmente adecuado. Uno de los principales desafíos para la Web de las cosas es gestionar la diversidad de protocolos y mecanismos de interacción. Este desafío se aborda mediante plantillas de enlace. Las plantillas de enlace de WoT proporcionan una colección de planos de metadatos de comunicación que admiten varias soluciones de IoT. Una plantilla de enlace se crea una vez y luego se puede reutilizar en cualquier descripción de cosa. [2]
API de secuencias de comandos
La API de secuencias de comandos de WoT es un componente opcional de la Web de las cosas. Simplifica el desarrollo de aplicaciones de IoT al proporcionar una API de aplicación basada en ECMAScript , similar a cómo los navegadores web ofrecen una API para aplicaciones web. Al proporcionar un sistema de ejecución de aplicaciones universal , la API de secuencias de comandos aborda el problema de la heterogeneidad en los sistemas de IoT. También permite la creación de secuencias de comandos reutilizables para implementar la lógica del dispositivo, lo que mejora significativamente la portabilidad de los módulos de aplicación. [2]
La implementación de referencia actual de la API de scripts de WoT es un proyecto de código abierto llamado node-wot, desarrollado por el proyecto Eclipse Thingweb. [3]
Pautas de seguridad y privacidad
En la arquitectura de WoT, la seguridad es relevante para todos los aspectos del sistema. La especificación de cada bloque de construcción de WoT incluye varias consideraciones sobre la seguridad y privacidad de ese bloque en particular. La seguridad está respaldada por características específicas, como metadatos públicos en las descripciones de objetos y la separación de preocupaciones en el diseño de la API de secuencias de comandos. Además, existe una especificación llamada Pautas de seguridad y privacidad de WoT , que aborda una variedad de preocupaciones relacionadas con la seguridad y la privacidad. [2]
Historia
Se podría decir que la conexión de objetos a la Web comenzó alrededor del año 2000. En 2002, un artículo revisado por pares presentó el proyecto Cooltown. [4] Este proyecto exploró el uso de URL para direccionamiento y HTTP para interactuar con objetos físicos como pantallas públicas o impresoras.
Tras este trabajo inicial, el creciente interés en la Internet de las cosas y su implementación comenzaron a plantear algunas preguntas sobre la capa de aplicación de la IoT. [5] Si bien la mayor parte del trabajo en el ámbito de la IoT se centró en los protocolos de red, era necesario pensar en la convergencia de datos de los dispositivos de la IoT. Los investigadores y los profesionales comenzaron a visualizar la IoT como un sistema en el que las aplicaciones web podían consumir datos de varios dispositivos para crear nuevos casos de uso.
La idea de la Web como una capa de aplicación para la IoT comenzó a surgir en 2007. Varios investigadores comenzaron a trabajar en paralelo en estos conceptos. Entre ellos, Dominique Guinard y Vlad Trifa iniciaron la comunidad en línea de la Web de las Cosas y publicaron el primer manifiesto de WoT, abogando por el uso de estándares web ( REST , semántica ligera, etc.) para construir la capa de aplicación de la IoT. El manifiesto se publicó junto con una implementación en la plataforma Sun SPOT. Al mismo tiempo, Dave Raggett del W3C comenzó a discutir la Web de las Cosas en varios eventos del W3C y de la IoT. Erik Wilde publicó "Putting Things to REST", un documento conceptual autoeditado que analiza el uso de REST para detectar y controlar objetos físicos. [6] Las primeras menciones de la Web de las Cosas como término también aparecieron en un documento de Vlad Stirbu et al. [7]
A partir de 2007, Trifa, Guinard, Wilde y otros investigadores intentaron publicar sus ideas y conceptos en conferencias revisadas por pares, pero su trabajo fue rechazado por la comunidad de investigación de redes de sensores inalámbricos sobre la base de que los protocolos de Internet y la Web eran demasiado detallados y limitados en el contexto de dispositivos del mundo real, [8] prefiriendo centrarse en la optimización de la memoria y el uso de la computación, el ancho de banda inalámbrico o ciclos de trabajo muy cortos. [ cita requerida ]
Sin embargo, varios investigadores de la comunidad WSN comenzaron a considerar estas ideas más seriamente. A principios de 2009, varios investigadores respetados de WSN, como David Culler , Jonathan Hui, Adam Dunkels y Yazar Dogan, evaluaron el uso de protocolos de Internet y Web para nodos de sensores de bajo consumo y demostraron la viabilidad del enfoque. [9] [10]
Posteriormente, Guinard y Trifa presentaron su implementación de extremo a extremo de los conceptos y la presentaron en una publicación revisada por pares aceptada en la conferencia World Wide Web en 2009. [11] Sobre la base de esta implementación y uniendo esfuerzos, Guinard, Trifa y Wilde propusieron en 2010 una arquitectura RESTful para las cosas. [12] Guinard, Trifa y Wilde organizaron el primer Taller Internacional en 2010 sobre la Web de las Cosas [13] y desde entonces se ha celebrado anualmente. Estos talleres se transformaron en una creciente comunidad de investigadores y profesionales que podían discutir los últimos hallazgos e ideas sobre la Web de las Cosas [ cita requerida ] .
En 2011, se presentaron en la ETH de Zúrich dos de las primeras tesis doctorales sobre la Web de las cosas: Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks de Vlad Trifa [14] y A Web of Things Application Architecture – Integrating the Real-World into the Web de Dominique Guinard [15] . Basándose en este trabajo, Simon Mayer destacó la importancia de la interfaz uniforme de REST, y en particular el principio HATEOAS , en su tesis doctoral [16] .
En 2014, el W3C mostró un creciente interés en la Web de las Cosas y organizó el Taller del W3C sobre la Web de las Cosas,[14] bajo la dirección de Dave Raggett, junto con Siemens y el proyecto europeo COMPOSE. Este taller condujo a la creación del Grupo de Interés de la Web de las Cosas en el W3C [17] y a la presentación del Modelo de la Web de las Cosas. [18]
Ese mismo año, Siemens anunció la creación de un grupo de investigación dedicado a la Web de las cosas. [19] En octubre de 2014, Google también anunció su interés en estas ideas lanzando el proyecto Physical Web GitHub. [20]
El Grupo de Interés de la Web de las Cosas identificó el conjunto de estándares necesarios para la Web de las Cosas en febrero de 2017. [21] El Grupo de Trabajo comenzó a trabajar en cuatro entregables llamados Arquitectura de WoT, [22] Descripción de Cosas de WoT, [23] API de Scripting de WoT, [24] y Plantillas de Enlace de WoT. [25]
Véase también
- Internet de las cosas (IoT)
- Dispositivo inteligente
- Dispositivo conectado
- Dispositivos de automatización del hogar
- Red inteligente
- Asunto
Lectura adicional
- Guinard, Dominique; Vlad, Trifa (2015). Construyendo la red de las cosas. Manning. ISBN 9781617292682.
- "Actas de talleres internacionales sobre la Web de las cosas".
- Guinard, Dominique; Vlad Trifa; Erik Wilde (2010). "Una arquitectura orientada a recursos para la Web de las cosas". Actas de IoT 2010 (Conferencia internacional IEEE sobre Internet de las cosas) . Tokio, Japón.
- Guinard, Dominique (2011). Una arquitectura de aplicación para la Web de las cosas: integración del mundo real en la Web (PDF) (Ph.D.). ETH Zurich.
- Trifa, Vlad (2011). Bloques de construcción para una red participativa de cosas: dispositivos, infraestructuras y marcos de programación (PDF) (Ph.D.). ETH Zurich.
- Fielding, Roy Thomas (2000). Estilos arquitectónicos y diseño de arquitecturas de software basadas en redes. Tesis doctoral. Universidad de California, Irvine.
- Richardson, Leonard; Ruby, Sam (2007). Servicios web RESTful . O'Reilly (publicado el 8 de mayo de 2007). ISBN 978-0-596-52926-0.
- Fortuna, Carolina; Grobelnik, Marko (9 de marzo de 2011). Tutorial: La Web de las Cosas. Actas de la Conferencia sobre la World Wide Web 2011, Hyderabad, India. Association for Computing Machinery.
Enlaces externos
- "La Web de las Cosas en el W3C".
- "Estatuto del Grupo de Trabajo CoRE del IETF".
Referencias
- ^ "Arquitectura de la Web de las Cosas (WoT)". www.w3.org . Archivado desde el original el 14 de abril de 2020 . Consultado el 12 de junio de 2020 .
- ^ abcd «Arquitectura de la Web de las cosas (WoT)». www.w3.org . Archivado desde el original el 14 de abril de 2020 . Consultado el 13 de diciembre de 2020 .
- ^ "Web of Things (WoT) Scripting API" (API de secuencias de comandos de la Web de las cosas [WoT]). www.w3.org . Archivado desde el original el 26 de noviembre de 2020. Consultado el 13 de diciembre de 2020 .
- ^ 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). "Personas, lugares, cosas: presencia web para el mundo real". Actas del tercer taller IEEE sobre sistemas y aplicaciones de computación móvil . págs. 19– 28. CiteSeerX 10.1.1.24.4651 . doi :10.1109/MCSA.2000.895378. ISBN . 978-0-7695-0816-0. Número de identificación del sujeto 282147.
- ^ Guinard, Dominique; Trifa, Vlad; Wilde, Erik (2010). Una arquitectura orientada a recursos para la Web de las cosas (PDF) . Conferencia internacional sobre Internet de las cosas 2010 (IoT 2010).
- ^ "Poniendo las cosas en reposo" (PDF) . Archivado (PDF) del original el 2017-08-09 . Consultado el 2014-11-15 .
- ^ Stirbu, V. (2008). "Hacia una experiencia RESTful Plug and Play en la Web de las cosas". Computación semántica, Conferencia internacional IEEE de 2008 sobre . Computación semántica, Conferencia internacional IEEE de 2008 sobre . págs. 512– 517.
- ^ "5 años de talleres sobre la Web de las cosas". 23 de octubre de 2014. Archivado desde el original el 9 de enero de 2017. Consultado el 15 de noviembre de 2014 .
- ^ Hui, Jonathan W.; Culler, David E. (2008). "IP ha muerto, larga vida a IP para redes de sensores inalámbricas". Actas de la sexta conferencia de la ACM sobre sistemas de sensores de redes integradas – Sen Sys '08 . p. 15. CiteSeerX 10.1.1.562.6336 . doi :10.1145/1460412.1460415. ISBN 9781595939906.S2CID6139531 .
- ^ Yazar, Dogan; Dunkels, Adam (2009). "Integración eficiente de aplicaciones en redes de sensores basadas en IP". Actas del primer taller de la ACM sobre sistemas de detección integrados para la eficiencia energética en edificios - Build Sys '09 . pág. 43. CiteSeerX 10.1.1.158.3650 . doi :10.1145/1810279.1810289. ISBN 9781605588247.S2CID 7587931 .
- ^ Guinard, Dominique; Trifa, Vlad (2009). Hacia la Web de las Cosas: Web Mashups para Dispositivos Integrados (PDF) . WWW (Conferencias Internacionales de la World Wide Web), Taller sobre Enterprise Mashups y Composición Ligera en la Web (MEM 2009).
- ^ Guinard, Dominique; Trifa, Vlad; Wilde, Erik (2010). "Una arquitectura orientada a recursos para la Web de las cosas". 2010 Internet de las cosas (IoT) . pp. 1– 8. doi :10.1109/IOT.2010.5678452. ISBN . 978-1-4244-7413-4.S2CID 5839440 .
- ^ "Taller internacional sobre la Web de las cosas". Archivado desde el original el 14 de octubre de 2016. Consultado el 15 de noviembre de 2014 .
- ^ Trifa, Vlad (2011). Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks (PDF) (Ph.D.). ETH Zurich. Archivado (PDF) desde el original el 2016-03-03 . Consultado el 2014-11-15 .
- ^ Guinard, Dominique (2011). Una arquitectura de aplicación para la Web de las cosas: integración del mundo real en la Web (PDF) (Ph.D.). ETH Zurich. Archivado (PDF) desde el original el 2016-03-03 . Consultado el 2014-11-15 .
- ^ Mayer, Simon (2014). Interactuar con la red de las cosas (Ph.D.). ETH Zurich. Archivado desde el original el 2021-03-19 . Consultado el 2021-06-27 .
- ^ "Web de las cosas del W3C". Archivado desde el original el 9 de marzo de 2021. Consultado el 6 de octubre de 2019 .
- ^ "Modelo de cosa web". Archivado desde el original el 21 de marzo de 2018. Consultado el 27 de septiembre de 2015 .
- ^ "Grupo de investigación de la Web de las cosas de Siemens". Archivado desde el original el 28 de enero de 2018. Consultado el 15 de noviembre de 2014 .
- ^ "La Web física". GitHub . Archivado desde el original el 2019-01-30 . Consultado el 2017-02-08 .
- ^ "Reunión conjunta del Grupo de Trabajo e Iniciativas de la Web de las Cosas del W3C en Santa Clara, del 5 al 9 de febrero de 2016". 27 de febrero de 2017. Archivado desde el original el 6 de octubre de 2019 . Consultado el 6 de octubre de 2019 .
- ^ "Arquitectura de WoT del W3C". Archivado desde el original el 6 de octubre de 2019. Consultado el 6 de octubre de 2019 .
- ^ "Descripción de objetos de WoT del W3C". Archivado desde el original el 6 de octubre de 2019. Consultado el 6 de octubre de 2019 .
- ^ "API de programación de secuencias de comandos de WoT del W3C". Archivado desde el original el 6 de octubre de 2019. Consultado el 6 de octubre de 2019 .
- ^ "Plantillas de vinculación de WoT del W3C". Archivado desde el original el 6 de octubre de 2019. Consultado el 6 de octubre de 2019 .