The Custom Integrator Show Installment 017 is live.  In this one, we extend the concepts we covered with UPnP technologies and the DLNA roles out to resource-constrained network connected devices with Devices Profile for Web Services (DPWS).  Once again, this is a set of IP-based protocols for “machine to machine” communications.  Although the concepts are similar to our previous discussions, the platform itself encompasses a much broader scale because it is based upon the same set of web services standards used for global business transactions in the enterprise space (WS-*).

[mp3]http://blip.tv/file/get/IanDixon-TheCustomIntegratorShow017918.mp3[/mp3]

Direct DownloadSubscribe via RSSSubscribe via iTunesSubscribe with Zune

In this Installment, we cover the underlying technologies behind the communications.  In the next one (Installment 018), we will look at some real life examples of how DPWS can be used in the home ecosystem.

DPWS AND WSDLs

Devices Profile for Web Services (DPWS) is an industry initiative to standardize how devices communicate over an Internet Protocol (IP) network. With DPWS, devices describe their capabilities to other networked devices, allowing for easy deployment, discovery, and control on the network. The suite of Rally technologies found in Microsoft’s Windows Vista and Windows 7 operating systems enables this integrated functionality and multi-vendor communications. This integrated ecosystem is built on an inter-related set of communications protocols under the Web Services umbrella.

Just last month (July 2009), OASIS, the Organization for the Advancement of Structured Information Standards, announced

The ratification of several components from DPWS (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-dd). The step is essential for the advancement of DPWS-based devices from a wider array of vendors.

The World Wide Web Consortium (W3C) defines a Web Service as “a software system designed to support interoperable machine-to-machine interactions over a network. Two aspects of the web services standards most applicable to our home ecosystem discussions are:

A. Devices Profile for Web Services (DPWS) – A set of industry specification that enables devices to interact with Microsoft Windows over an IP-based network. DPWS’ Function Discovery and Publication Services provide a way for devices to expose what capabilities they support and what is discovered by the computer. In addition, DPWS:

  • Defines how devices can use Web Services
  • Supports resource-constrained devices (little RAM or processing power)
  • Ensures interoperability between devices and PCs
  • Enables device and service discovery
  • Supports subscriptions and eventing
  • Provides for the exchange of rich metadata
  • Builds on standards and Web Services specifications

B. Web Services Description Language (WSDL) Templates for Home Automation – Extensible Markup Language (XML) documents that describe the communications agreement (or “contract”) between network end points and define the interfaces (web method calls, events, etc.) for the device. This standardized WSDL document is the key to the interoperability between the devices, the objects in the computer representing those devices, and the graphical representations of those devices through the User Interface. The WSDL Templates for Home Automation consist of three key sections:

  • TYPES – Defines the operational parameters (or variables) of the device and holds the Extensible Markup Language (XML) Schema data type definitions;
  • OPERATIONS – Defines the Message exchanges (web method calls) supported by the device.
  • MESSAGES – Defines the input and output messages used by Operations (below) for sending and receiving data. These generally are based on the defined Types above;

In short, the WSDL is the DPWS interface definition that describes the device’s Web Services interface to the outside world. It is an XML document used by the vendor’s development tools for creating an executable binary. Communications with device’s Web Services interfaces uses XML-based messages (defined in the WSDL) to pass data, invoke methods, and raise events (through an event subscription facility). In practice, the WSDL is published by the web service designer and represents the binary implementation other vendors can use for communicating with the device’s Web Services interfaces.

clip_image002

WSDL Stack

For those working with or developing for web services in an enterprise environment, you will notice many similarities to what you already know. As we mention in the Podcast, Microsoft is exposing a single web services-based integration platform across their entire product line.

HOME AUTOMATION WSDLs

A good set of applicable WSDLs for the home environment is listed on Exceptional Innovations’ web site at http://www.life-ware.com/products/adopt-dpws.php. Some of the standardized WSDLs they support (devices that comply with their published WSDLs will interoperate with their platform) are:

As you can see, those schemas cover just about everything we encounter in the home. I think these protocols are going to be key to interoperability within the home moving forward, so I think it is worth the time to understand how they work and some of the things you can leverage as part of your design strategies moving forward.

=D-

Leave a Reply