DPWS

Devices Profile for Web Services или DPWS () представляет собой определённый набор ограничений реализаций позволяющий безопасную связь с веб-службами, нахождение, описание и обработку событий на устройствах с ограниченными ресурсами.

Цели DPWS схожи с таковыми у UPnP, однако DPWS полностью соответствует технологии веб-служб и включает в себя множество точек расширения, предоставляющий незаметное встраивание сервисов, которые предоставляет устройство, в общеорганизационные сценарии приложений.

Стандартизация DPWS 
Спецификация DPWS была впервые опубликована в мае 2004 года и была предложена для стандартизации в OASIS в июле 2008 года. Версия DPWS 1.1 была одобрена как стандарт OASIS вместе с WS-Discovery 1.1 и SOAP-over-UDP 1.1 в 2009 году, 30 июня.

DPWS описывает архитектуру, в которой устройства исполняют два типа служб: размещающая службы (англ. hosting services) и размещенный службы (англ. hosted services). Размещающие службы напрямую ассоциируются с устройством и играют важную роль в процессе обнаружения устройств. Размещенные службы, в основном, функциональные и для обнаружения полностью полагаются на их размещающее устройство.

В дополнение к вышеперечисленным службам, DPWS содержит набор встроенных служб:
 Службы обнаружения (Discovery services): используются устройством, подключённым к сети, для привлечения к себе внимания и для обнаружения других устройств. Поддержка обнаружения привела к тому, что некоторые стали называть DPWS «USB для Ethernet-a».
 Службы обмена метаданными (Metadata exchange services): предоставляют динамический доступ к размещенным службам данного устройства и к их метаданным.
 Служба событий публикации/подписки (Publish/subscribe eventing services): позволяет другим устройствам подписываться на асинхронное событие отправки сообщений определённой службой.

DPWS встроен в ядро следующих сетевых стандартов: WSDL 1.1, XML Schema, SOAP 1.2, WS-Addressing, а также входит в состав WS-MetadataExchange, WS-Transfer, WS-Policy, WS-Security, WS-Discovery и WS-Eventing.

Платформы от Microsoft, такие как Windows Vista и Windows Embedded CE6R2, с самого начала интегрировали DPWS с WSDAPI, которой является одной из технологий, состоящей в пакете Windows Rally. В данный момент разрабатывается поддержка для OSGi.

Области применения 
Так как DPWS поддерживает динамическое обнаружение, а также является частью видения по распространению приложений, использующих стандарты WS-*, его приложения по автоматизации среды весьма доступны. Одной из самых уникальных особенностей представленного на CES 2007 дома «следующего поколения» была разработанная компанией Exceptional Innovation система автоматизации Life|ware, которая использовала DPWS для сообщения с системами освещения, аудио-системами, системами безопасности, автоматическими жалюзи, камерами наблюдения, термостатами, стиральными машинами и сушилками, а также поднимающейся стойкой для телевизора. Презентация привлекла большой интерес потребителей к возможности иметь управляемые устройства в одной среде с цифровыми развлечениями, и производители обратили на это внимание.

Для многих производителей, первым шагом к использованию DPWS было создание маленького «устройственного моста» между изначальным, обычно проприетарным, кодом и веб-службами.
В данный момент, как минимум 117 устройств автоматизации от 37 различных производителей в той или иной форме (через «мост» или встроенно) поддерживают DPWS. На выставке International Security Controls (ISC), крупная охранная компания продемонстрировала охранную систему с поддержкой DPWS, в то время как на выставке Kitchen and Bath Show (KBIS) сразу два крупных производителя техники продемонстрировали стиральные машины и сушилки с поддержкой DPWS. Печка с возможностью коммуникации была показана на выставке International Building Show. И в качестве более серьёзного шага рынка к принятию DPWS выступил представленный в 2006 году домашний пакет автоматизации «ConnectedLife.Home» от американского ритейлера «Best Buy». Данный пакет использовал программное обеспечение для автоматизации и контролируемые устройства, которые использовали DPWS для сообщения друг с другом.

Исследовательские проекты 
Под покровительством Европейской Исследовательской Инициативы ITEA, в составе проекта SIRENA командой Schneider Electric была разработана реализация DPWS для встраиваемых устройств. Код реализации был выложен в открытый доступ, откуда сама реализация (в версиях для C и Java) и аддоны к ней могут быть скачены. Также, в составе SIRENA, имеется сайт, посвященный новым реализациям DPWS.

Использовав наработки по проекту SIRENA, был начат новый проект ITEA под названием SODA (aнгл. Service Oriented Device and Delivery Architecture), продвинувшийся дальше в разработке и реализации использования DPWS для устройств и связанных утилит.

Европейский исследовательский проект SOCRADES, в состав которого входят такие компании как ABB, SAP, Schneider Electric и Siemens, сфокусирован на применении, тестировании и управлении прототипом устройств с DPWS в промышленной автоматизации. В дальнейшем, эти разработки переросли в проект EU AESOP.

В данный момент имеется несколько предложений и/или проектов, работающих над реализацией DPWS для OSGi, в основном, для предоставления реализации под фреймворки Java.

Примечания

Ссылки 
 Спецификация DPWS
 Профили Web Services Discovery и Web Services Devices Profile (WS-DD) Технического комитета OASIS 

Сетевые протоколы
Веб-программирование