Веб вещей

Веб вещей (англ. Web of Things, WoT) — это совокупность стандартов, разрабатываемых World Wide Web Consortium (W3C) для обеспечения совместимости различных платформ и прикладных областей интернета вещей[1].

Основные компоненты

Описание вещи (Thing Description, TD)

Ключевым компонентом является описание вещи (англ. Thing Description, TD). Thing Description определяет виртуальное или физическое устройство (вещь) и задаёт информационную модель на основе семантического словаря с сериализацией в формате JSON. Thing Description можно рассматривать как основной входной интерфейс к вещи, аналогичный странице JSON для веб-сайта. Описания вещей поддерживают людей и машины за счёт предоставления структурированного описания в JSON: таких как название, идентификатор, описание и прочие метаданные. Кроме того, описания вещей перечисляют все доступные действия, события и свойства, а также механизмы безопасности для доступа к ним. Описания вещей запроектированы гибко для обеспечения интероперабельности и, помимо стандартной функциональности, включают механизм расширения возможностей через Context Extension Framework[2].

Шаблоны привязки (Binding Templates)

В области интернета вещей используется множество различных протоколов для взаимодействия с вещами, так как не существует универсального протокола[3]. Одна из главных задач WoT — управление этим разнообразием протоколов и механизмов взаимодействия. Для решения этой задачи используются шаблоны привязки (англ. Binding Templates): они представляют собой набор метаданных, поддерживающий различные IoT-решения. Один шаблон привязки создаётся один раз и затем может использоваться повторно в описаниях любых вещей[2].

Scripting API

Scripting API (программный интерфейс сценариев WoT) — необязательный компонент WoT, упрощающий разработку приложений для интернета вещей за счёт предоставления API, совместимого с ECMAScript, по аналогии с API браузера для веб-приложений. Предоставляя универсальную среду выполнения, Scripting API решает проблему неоднородности IoT-систем и позволяет создавать сценарии, которые реализуют логику устройств, повышая переносимость модулей приложений[2].

Референсная реализация Scripting API — открытый проект node-wot, созданный в рамках инициативы Eclipse Thingweb[4].

Руководство по безопасности и приватности

Безопасность в архитектуре WoT охватывает все аспекты системы. Для каждого компонента WoT спецификация предусматривает рекомендации, касающиеся безопасности и приватности. Среди инструментов безопасности — открытые метаданные в Thing Description и принцип разделения обязанностей при проектировании Scripting API. Также существует отдельная спецификация WoT Security and Privacy Guidelines, охватывающая широкий круг вопросов безопасности и приватности[2]

История

Идея подключения объектов к Всемирной паутине появилась примерно в 2000 году. В 2002 году в рецензируемой публикации был представлен проект Cooltown,[5]. где рассматривалось использование URL для адресации и HTTP для взаимодействия с физическими объектами (такими как публичные экраны или принтеры).

Вслед за этими работами растущий интерес к интернету вещей поднял вопрос о прикладном уровне IoT[6][3]. Тогда как большая часть исследований в этой области была сосредоточена на сетевых протоколах, возникла необходимость конвергенции данных с устройств IoT на уровне веб-приложений. Исследователи и практики начали рассматривать IoT как платформу для создания новых сценариев использования за счёт потребления данных с устройств веб-приложениями.

К 2007 году идея веба как прикладного уровня IoT оформилась в самостоятельное направление. Над подобными концепциями параллельно работали несколько исследовательских групп, в частности, Доминик Гинард (Dominique Guinard) и Влад Трифа (Vlad Trifa) организовали онлайн-сообщество Web of Things и опубликовали первый манифест WoT, призывающий применять веб-стандарты (англ. REST, лёгкие семантические модели и др.) для построения прикладного уровня IoT. Манифест вышел вместе с реализацией на платформе Sun SPOT. В то же время Дэйв Раггетт (Dave Raggett) из W3C начал продвигать концепцию Web of Things на мероприятиях по IoT. Эрик Вильде опубликовал концептуальную статью Putting Things to REST о применении REST для сенсоров и управления физическими объектами[7]. Одно из ранних упоминаний термина Web of Things встречается в работе Влада Стирбу и соавторов[8].

С 2007 года Трифа, Гинард, Вильде и другие пытались публиковать идеи на рецензируемых конференциях, но их работы часто отклонялись экспертами сообщества беспроводных сенсорных сетей, считавшими интернет- и веб-протоколы избыточными и недостаточно эффективными для реальных устройств[9]. Приоритет отдавался оптимизации памяти, полосы передачи и других ресурсов устройств.

Тем не менее некоторые специалисты из сообщества уже воспринимали эти предложения серьёзно. В 2009 году ряд известных учёных, таких как Дэвид Каллер (David Culler), Джонатан Хуи, Адам Данкелс (Adam Dunkels) и Язар Доган, доказали применимость интернет- и веб-протоколов для маломощных сенсорных узлов[10].[11]

После этого Гинард и Трифа реализовали свои концепции «от конца до конца» и опубликовали работу на Международной конференции по WWW в 2009 году[12]. В 2010 году они совместно с Вильде предложили RESTful-архитектуру для вещей[13]. В том же году они единолично организовали первую международную мастерскую по вебу вещей (International Workshop on the Web of Things)[14], которая впоследствии стала ежегодной и оформила вокруг себя отдельное профессиональное сообщество.

В 2011 году в ETH Zurich были защищены первые диссертации по теме Web of Things: Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks (Влад Трифа)[15] и A Web of Things Application Architecture — Integrating the Real-World into the Web (Доминик Гинард)[16]. На основе этих разработок Симон Майер в своей диссертации особо выделил роль единого интерфейса REST и принципа HATEOAS[17].

В 2014 году интерес к концепции WoT проявил W3C, проведя мастерскую W3C Workshop on the Web of Things (лидер — Дэйв Раггетт, участие компаний Siemens и COMPOSE). Результатом стало создание Interest Group Web of Things при W3C[18] и публикация модели Web Thing Model[19].

В том же 2014 году Siemens объявила о создании исследовательской группы по вебу вещей[20]. В октябре 2014 года Google также проявила интерес к этой концепции через запуск проекта Physical Web на платформе GitHub[21].

В феврале 2017 года Interest Group Web of Things сформулировала необходимый набор стандартов для WoT[22]. Рабочая группа W3C начала работу над четырьмя основными спецификациями: архитектурой WoT[23], описанием вещи WoT Thing Description[24], Scripting API WoT[25] и шаблонами привязки WoT Binding Templates[26].

Примечания

  1. Web of Things (WoT) Architecture. www.w3.org. Дата обращения: 12 июня 2020. Архивировано 14 апреля 2020 года.
  2. 1 2 3 4 Web of Things (WoT) Architecture. www.w3.org. Дата обращения: 13 декабря 2020. Архивировано 14 апреля 2020 года.
  3. 1 2 Hassan, Qusay. Internet of Things A to Z : [англ.]. — 1st. — USA : Wiley, 2018. — ISBN 978-1-119-45674-2. — doi:10.1002/9781119456735.
  4. Web of Things (WoT) Scripting API. www.w3.org. Дата обращения: 13 декабря 2020. Архивировано 26 ноября 2020 года.
  5. Kindberg, T. People, places, things: Web presence for the real world // Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications / T. Kindberg, J. Barton, J. Morgan … [и др.]. — 2000. — P. 19–28. — ISBN 978-0-7695-0816-0. — doi:10.1109/MCSA.2000.895378.
  6. 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).
  7. Putting things to REST. Дата обращения: 15 ноября 2014. Архивировано 9 августа 2017 года.
  8. 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.
  9. 5 Years of Web of Things Workshops (23 октября 2014). Дата обращения: 15 ноября 2014. Архивировано 9 января 2017 года.
  10. Hui, Jonathan W. IP is dead, long live IP for wireless sensor networks // Proceedings of the 6th ACM conference on Embedded network sensor systems – Sen Sys '08 / Jonathan W. Hui, David E. Culler. — 2008. — P. 15. — ISBN 9781595939906. — doi:10.1145/1460412.1460415.
  11. Yazar, Dogan. 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 / Dogan Yazar, Adam Dunkels. — 2009. — P. 43. — ISBN 9781605588247. — doi:10.1145/1810279.1810289.
  12. 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.
  13. Guinard, Dominique. A resource oriented architecture for the Web of Things // 2010 Internet of Things (IoT) / Dominique Guinard, Vlad Trifa, Erik Wilde. — 2010. — P. 1–8. — ISBN 978-1-4244-7413-4. — doi:10.1109/IOT.2010.5678452.
  14. International Workshop on the Web of Things. Дата обращения: 15 ноября 2014. Архивировано 14 октября 2016 года.
  15. Trifa, Vlad (2011). Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks (PDF) (Ph.D.). ETH Zurich. Архивировано из оригинала (PDF) 2016-03-03. Дата обращения 2014-11-15. Используется устаревший параметр |url-status= (справка)
  16. Guinard, Dominique (2011). A Web of Things Application Architecture – Integrating the Real-World into the Web (PDF) (Ph.D.). ETH Zurich. Архивировано из оригинала (PDF) 2016-03-03. Дата обращения 2014-11-15. Используется устаревший параметр |url-status= (справка)
  17. Mayer, Simon (2014). Interacting with the Web of Things (Ph.D.). ETH Zurich. Архивировано из оригинала 2021-03-19. Дата обращения 2021-06-27. Используется устаревший параметр |url-status= (справка)
  18. W3C Web of Things. Дата обращения: 6 октября 2019. Архивировано 9 марта 2021 года.
  19. Web Thing Model. Дата обращения: 27 сентября 2015. Архивировано 21 марта 2018 года.
  20. Siemens Web of Things Research Group. Дата обращения: 15 ноября 2014. Архивировано 28 января 2018 года.
  21. The Physical Web (англ.). GitHub. Дата обращения: 8 февраля 2017. Архивировано 30 января 2019 года.
  22. W3C Web of Things joint IG/WG meeting in Santa Clara, 5–9 February 2016 (27 февраля 2017). Дата обращения: 6 октября 2019. Архивировано 6 октября 2019 года.
  23. W3C WoT Architecture. Дата обращения: 6 октября 2019. Архивировано 6 октября 2019 года.
  24. W3C WoT Thing Description. Дата обращения: 6 октября 2019. Архивировано 6 октября 2019 года.
  25. W3C WoT Scripting API. Дата обращения: 6 октября 2019. Архивировано 6 октября 2019 года.
  26. W3C WoT Binding Templates. Дата обращения: 6 октября 2019. Архивировано 6 октября 2019 года.

Литература

Ссылки