A new Devices Profile for Web Services: A Proposal for UPnP 2.0 Device Architecture edited by Jeffrey Schlimmer (Microsoft) "defines a minimal set of implementation constraints to enable secure Web service messaging, discovery, description, and eventing on resource-constrained endpoints."
The profile has been jointly authored with Intel, Lexmark, and Ricoh. Description in a technical overview clarifies that the Devices Profile relies upon other Web service specifications, allowing devices "to participate in the Service Oriented Architecture (SOA) fabric. Sharing a common protocol framework allows devices to contribute to Web service scenarios that are traditionally beyond the reach of individual devices. Moreover, this commonality allows ISVs to leverage development tooling when writing applications for devices, and it allows IT departments to leverage service management infrastructure. By leveraging factored Web service specifications built on a common foundation of SOAP and XML, device implementations can support rich functionality in a pay-as-you-go manner. The Devices Profile represents a new foundation for application protocols; it frees vendors and their standards organizations to concentrate on designing messages for specific device classes. The well-factored architecture and significant extensibility of the Device Profile enables as-yet-unforeseen messaging patterns, transports, metadata, and capabilities and requirements."
The three principal goals of the Devices Profile specification are to: (1) "Identify a minimal set of Web service specifications needed to enable secure messaging, dynamic discovery, description, and eventing; (2) Constrain Web services protocols and formats so Web services can be implemented on peripheral-class and consumer electronics-class hardware; (3) Define minimum requirements for compliance without constraining richer implementations."
Namespaces are provided for several WS-* specifications used in the Devices Profile, in addition to XML Schema, SOAP, and WSDL: the unpublished Web Services Metadata Transfer (WS-MetadataTransfer), WS-Addressing, WS-Discovery, WS-Eventing, and WS-Policy.
Devices Profile for Web Services: A Proposal for UPnP 2.0 Device Architecture. Edited by Jeffrey Schlimmer (Microsoft). May 2004. Copyright (c) 2004 Microsoft Corporation. Co-Developers: Shannon Chan (Microsoft), Chris Kaler (Microsoft), Thomas Kuehnel (Microsoft), Alain Regnier (Ricoh), Bryan Roe (Intel), Dale Sather (Microsoft), Hitoshi Sekine (Ricoh), Doug Walter (Microsoft), Jack Weast (Intel), Dave Whitehead (Lexmark), and Don Wright (Lexmark).
Appendix III (Acknowledgements): "This profile has been developed as a result of joint work with many individuals and teams, including: Don Box (Microsoft), Mike Fenelon (Microsoft), Rich Hasha (Microsoft), Gopal Kakivaya (Microsoft), Chris Kurt (Microsoft), David Lindsey (Lexmark), Jonathan Marsh (Microsoft), Sam Rhodus (Lexmark), Adam Sapek (Microsoft), Stacy Simpson (Lexmark), David Turner (Microsoft), Mike Vernal (Microsoft), Kenny Wolf (Microsoft), Eugene Yarmosh (Intel)."
From the Devices Profile Technical Introduction
"The Devices Profile for Web Services (Devices Profile) pulls together a core subset of these specifications into an overall whole. The Devices Profile is a detailed specification intended for those who are implementing networking libraries or platform components. It is written as a set of numbered normative statements together with rationale and examples.
The Devices Profile focuses on IP-capable devices which are growing in computational power. Though many of these are still resource-constrained by desktop and server standards, these devices are ready to contribute to general, Web services scenarios involving services already being deployed in the home, small office, enterprise, and Internet. To enable a base level of interoperability between devices and Web services, the Devices Profile calls out best-of-breed Web service specifications in core areas and prescribes how to use them in concert to enable the following networking functions: (1) Send secure messages to and from a Web service; (2) Dynamically discover a Web service; (3) Describe a Web service; (4) Subscribe to, and receive events from, a Web service..."
Devices Profile provides functionality through the Web service specifications it calls out:
- In the area of messaging, SOAP provides a model that allows declaratively identifying message processing requirements, WS-Addressing defines transport-independent service addresses, and MTOM allows efficiently including binary data in a message without compromising the SOAP processing model.
- In the area of discovery, WS-Discovery allows finding a service by its type or by a scope it has been deployed into, and in managed networks, allows suppression of multicast traffic to improve scalability.
- In the area of security, WSS SOAP Message Security is used to protect the integrity of discovery messages, and TLS protects the confidentiality and integrity of other messages.
- In the area of description, WS-MetadataTransfer provides an extensible mechanism to retrieve service metadata, including message descriptions (WSDL), capabilities and requirements (WS-Policy), inter-service relationships and domain-specific metadata.
- In the area of eventing, WS-Eventing allows application domains to define their own event models, provides a lease model for subscriptions, and allows either the service or the client to cancel an unneeded subscription..." [from 'A Technical Introduction to the Devices Profile for Web Services']
From the White Paper
Integrated Device Scenarios Using Web Services: "With both consumer- and business-focused scenarios, Web services promise to transform the way we interact with devices and the way devices interact with each other... According to a survey conducted by Forrester Research in February 2004, consumers most frequently use home networks to share an Internet connection, send files to a network-accessible printer, share files between PCs.
To date, home networking has used many of the same technologies and management tools that would be found in an enterprise. Home networks, however, are typically installed and maintained by non-professionals. In addition, home networks are subject to more transient or ad-hoc connections as devices come and go or are rearranged within the home. As such, providing a simple and consistent user experience is critical. Yet today, inconsistency often acts as a barrier. Consider the task of sharing a printer between two PCs on a home network. While plugging a printer directly into a single PC yields an expected result (automatic printer recognition by the PC), plugging in a network printer generally requires the user to manually discover the printer and subsequently install the required printer drivers.
Web services help bring an end to this unnecessary inconsistency. When a network device is connected (via wired or wireless network), the user will see no difference between installing the networked device and installing a device directly connected to the PC.
Consider a 'connected consumer' who buys a new network-enabled printer and connects it to his home network. Upon connection, the printer, using a Web services message format known as WS-Discovery, can 'announce' itself to other devices on the network, including nearby personal computers. A PC running on the Microsoft Window operating system may 'hear' that message and could present the consumer with the familiar 'Found new hardware' wizard and walk him through the installation of the printer.
Later, imagine that the consumer brings home a laptop from work and wants to connect it to his networked printer. WS-Discovery defines a mechanism for the laptop to simply send a message over the home network to look for other network-enabled devices meeting certain criteria. The laptop then connect to the devices without requiring the consumer to engage in a complex configuration.
Finally, using Web services, the consumer's printer could communicate back to the laptop in a rich and meaningful way using a proposed specification known as WS-Eventing. Today, users are only alerted to the fact that a job has been sent to the printer. Using Web services, printers can send true end-of-job and other useful messages back to the PC.
Printing is a basic yet vitally important user experience. It is one of the few computing scenarios that nearly every individual and business participates in on a regular basis. Web services add a new dimension to printing, delivering greater ease of use and improved dependability to the end user..." [from the white paper 'Connecting Devices with Web Services'.]
Commentary from Jim Allchin
Comments by Jim Allchin (Group Vice President, Platforms, Microsoft Corporation) were transcribed from the Windows Hardware Engineering Conference (WinHEC) 2004, Washington State Convention and Trade Center Seattle, Washington, USA. May 4, 2004. See ""Beyond Better, Stronger, Faster: Innovating around Experiences". Excerpt:
"... One of the biggest problems, I think, as we made progress in the client and server is tying devices together. It's just way too complicated. It's especially true if they're networked. If you take a device that's on a local connection and plug it in, we've made a lot of progress with P&P but, if you actually have a device across the net, that's like super, super hard. And it's a different experience to the end user. They have quite a different experience. If you plug in a network cable versus a USB cable, the way the drivers and all that works is quite different. And you actually have to write different code.
And we also have the problem that UP&P 1X today is really not enterprise ready, so this is a problem that we had where it doesn't have the best security and discoverability, turning on the type of broadcasting that it does. It doesn't really work the best in the industry.
And on top of that, we've had the problem that most people at home don't have a secure wireless network. Why? Because it's too complicated. You want to go around and type in 26 hex digits on each individual device in your home if you're doing wireless? It's just way too complicated.
So today we're announcing great progress in this. We are going to announce that this solution that we've worked together with a set of partners including Intel, Lexmark and Ricoh, as well as a set of others who are supporting this, we want to create a device profile that we want for Web services that we're going to provide to the UP&P Forum and we hope that they will adopt it as the next standard for UP&P 2.0..."
- "Devices Profile for Web Services." May 2004.
- Devices Profile for Web Services XML schema [source]
- "A Technical Introduction to the Devices Profile for Web Services." By Jeffrey Schlimmer (Microsoft Corporation). May 2004.
- "Connecting Devices with Web Services." Microsoft White Paper. May 3, 2004. "As devices pervade homes and businesses, the need for a simple integration between disparate device-based systems becomes increasingly apparent. This paper discusses the benefits of bringing Web service-based connectivity to the device space in order to enable devices to work together in ways never before possible."
- Microsoft Releases Web Services Dynamic Discovery Specification (WS-Discovery)."
- "UPnP Forum Releases New Security Specifications for Industry Review."
- "Bill Gates to Showcase Windows Innovation at WinHEC 2004."
- ""Beyond Better, Stronger, Faster: Innovating around Experiences". Remarks by Jim Allchin, Group Vice President, Platforms, Microsoft Corporation. Windows Hardware Engineering Conference (WinHEC) 2004. Washington State Convention and Trade Center Seattle, Washington, USA. May 4, 2004.
- UPnP Framework
- UPnP Forum
- Microsoft Specification Profiles Index Page
- XML and Web Services - Microsoft Resource
- Web Services at Microsoft