Device Profile Web Service (DPWS)
In my previous post, We saw how devices and sensors could comminicate with each other using RF based Z-Wave technology. Now, we have a technology by which any device (even highly resource constrained ones) can advertise its identity, cpabilities to other devices and also know about other devices in the network. Not only that, any device can invoke actions of interest in the other device through Device Profile Web Service, So what is DPWS?
Device Profile Web Service
The Devices Profile for Web Services (DPWS) defines a minimal set of implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource-constrained devices. Its objectives are similar to those of Universal Plug and Play (UPnP™) but, in addition, DPWS is fully aligned with Web Services technology and includes numerous extension points allowing for seamless integration of device-provided services in enterprise-wide application scenarios.
The DPWS specification, defines an architecture in which devices run two types of services: hosting services and hosted services. Hosting services are directly associated to a device, and play an important part in the device discovery process. Hosted services are mostly functional and depend on their hosting device for discovery.
In addition to these hosted services, DPWS specifies a set of built-in services:
Discovery services: used by a device connected to a network to advertise itself and to discover other devices.
Metadata exchange services: provide dynamic access to a device’s hosted services and to their metadata.
Publish/subscribe eventing services: allowing other devices to subscribe to asynchronous event messages produced by a given service.
DPWS builds on the following core Web Services standards: WSDL 1.1, XML Schema, SOAP 1.2, WS-Addressing, and further comprises WS-MetadataExchange, WS-Transfer, WS-Policy, WS-Security, WS-Discovery and WS-Eventing.
.Net MicroFramework 2.5 has extensive support for DPWS.Microsoft's Windows Windows Vista and CE6R2 platforms natively integrates DPWS with a stack called WSDAPI.
A Simple Scenario

