Учебно-методические материалы для студентов кафедры АСОИУ

Учебные программы » Веб-программирование » Дополнительные материалы

Веб Вещей: еще один шаг к Матрице

Веб Вещей — перспективное направление развития Всемирной паутины, объединяющее стандартизованные решения по использованию инфраструктуры Интернет для реализации взаимодействия между физическими объектами, изначально не имеющими отношения к компьютерам и вычислительным сетям.

Термин «Веб Вещей» (Web of Things, англ., WoT — аббр.) возник в конце XX века для обозначения концепции, включающей принципы, архитектурные стили и программные шаблоны, которые позволяют объектам реального мира стать частью Всемирной паутины. Так же, как WWW (Application Layer) является прикладным сервисом Интернет (Network Layer), так и Веб Вещей обеспечивает сервисы прикладного уровня для создания приложений «Интернета вещей».

Интернет вещей (англ. Internet of Things (IoT)) — распределенная система, состоящая из физических объектов, наделенных низкоуровневыми возможностями (аппаратное и программное обеспечение, датчики, контроллеры, RFID-метки и т.п.), позволяющими этим объектам собирать данные и обмениваться ими с другими объектами, используя имеющуюся инфраструктуру Интернет.

Вместо того, чтобы разрабатывать с нуля новые спецификации, Веб Вещей использует имеющиеся и хорошо известные стандарты, применяемые в таких технологиях, как программируемый Веб (HTTP, REST, JSON), семантический Веб (JSON-LD, Microdata и т.п.), Веб реального времени (Websockets) и социальный Веб (напр. oauth или API социальных сетей).

Природа вещей

Исследователи используют понятие «вещь» в широком смысле этого слова. Вещи могут включать (но не ограничиваются этим) объекты, имеющие опознаваемые метки (RFID, NFC, QR-код, штрих-код, координаты GPRS и т.п.), типичные черты, пригодные для программ распознавания образов, оборудование, транспортные средства, бытовая техника и т.п.. Так, например, журналисты онлайн-издания ReadWeb, со ссылкой на производителей приводят информацию о начале выпуска «интеллектуальных» кроссовок, в подошву которых встроен датчик, фиксирующий такую информацию, как количество шагов, пройденное расстояние, объем потраченных калорий и т.п. Кроссовки снабжены чипом Bluetooth, передающим собранные данные о состоянии здоровья пользователя на стационарное устройство. Такое решение представляется более естественным и логичным, нежели использование фитнес-трекеров и, тем более, смартфонов.

Архитектура и средства

Пока предпринимаются усилия по стандартизации, Веб Вещей остается набором готовых практических решений, которые могут быть классифицированы в соответствии с архитектурой системы. Обобщенная архитектура (в текущем состоянии) может быть представлена в виде четырех уровней, включающих различные протоколы и шаблоны проектирования:

  • Уровень доступа к устройствам.
  • Уровень обнаружения.
  • Уровень общего доступа.
  • Уровень интеграции.

Далее кратко рассмотрим назначение каждого из логических уровней в архитектуре Веба Вещей.

Уровень доступа к устройствам

Это базовый уровень, который обеспечивает возможности доступа вещей к глобальной сети и гарантирует доступ к их сервисам через программные Веб-интерфейсы. Этот уровень построен на основе двух шаблонов:

  • Во-первых: все вещи обладают способностью публиковать свои сервисы через RESTful API (напрямую или через интеллектуальный шлюз). Поскольку REST поддерживается на уровне протокола HTTP 1.1, это легко реализуется на практике.
  • Во-вторых: чтобы обойти ограничения клиент-серверной сути HTTP (чередование запросов клиента и ответов сервера), не очень подходящей событийно-управляемым приложениям в сетях беспроводных датчиков (являющихся частью Интернета вещей), разработчики предлагают использовать полнодуплексный протокол WebSocket.

Подключение устройств к Интернету может быть как прямым, так и через интеллектуальные шлюзы.

Уровень обнаружения

Задачи этого уровня — обеспечение «находимости» устройств: размещение информации о них в сети и возможности поиска. Этот уровень находится под сильным влиянием семантического Веба и здесь могут использоваться такие спецификации как HTML5 Microdata, RDF/RDFa, JSON-LD или EXI. Это позволяет искать объекты как с помощью традиционных поисковых систем или онлайн-каталогов, а также устанавливать непосредственное взаимодействие между ними, используя небольшой набор хорошо известных стандартов и форматов.

Уровень общего доступа

Веб Вещей во многом базируется на идее о том, что объекты-вещи размещают информацию о себе в Вебе и к ней можно применять шаблоны для обработки больших объемов данных. Это, в свою очередь, возможно при условии эффективного распределения данных между сервисами. Уровень общего доступа гарантирует, что данные, поступающие от вещей будут представлены в общий доступ эффективно и безопасно.

Уровень интеграции

Роль последнего уровня заключается в интеграции сервисов и данных, представленных объектами Веба Вещей, с веб-инструментами вышележащего уровня (аналитическое ПО, приложения-агрегаторы и т.п.) для упрощения создания приложений, включающих и вещи, и виртуальные веб-сервисы.

Диапазон инструментов на этом уровне широк: от различных Javascript SDK до программируемых виджетов и инструментария для создания гибридных сервисов, позволяющих реализовывать приложения для Веба Вещей даже пользователям, не имеющим навыков программирования.

Резюме

Веб Вещей — прикладное решение, позволяющее создавать веб-приложения, с одной стороны, обеспечивающие управление «умными» вещами со стороны пользователей, с другой — позволяющие таким вещам взаимодействовать друг с другом без участия пользователей. В обоих случаях используются стандартизованные и хорошо зарекомендовавшие себя практические решения на основе открытых протоколов. Актуальную и подробную информацию по этой теме всегда можно получить здесь.

Анатольев А.Г., 01.12.2015

Постоянный адрес этой страницы:

↑ В начало страницы