
Web Services on Devices (WSD) Roadmap
Web Services on Devices (WSD) extends the existing Web services architecture to resource-constrained devices, such as PDAs, computer peripherals, computing appliances, and consumer electronics. WSD is one of four technologies that comprise the Network Connected Device (NCD). Those four are:
PnP-X — a set of extensions to Plug and Play (PnP) that integrate NCDs into the Windows PnP subsystem, making the NCD appear as a local device inside of Windows and providing an installation experience that is similar to attaching a physically connected device.
Function Discovery (FD) — a new API makes it easy for applications to enumerate and use devices of a specific type, regardless of the way in which they are connected to the computer. Function Discovery works through providers for the various device types to enumerate available devices (for example, PnP, registry, WSD, SSDP, NetBIOS, and third party providers).
WSD — an implementation of the Device Profile for Web Services (DPWS) specification that enables devices to interact with Microsoft Windows over an IP-based network. The WSD functionality is part of the Rally licensing program (http://www.microsoft.com/rally/). The DPWS specification is available free of charge. This specification is under the licensing terms of Rally.
Publication Services — a new Windows service that enables client applications to publish resources so that they can be discovered by other computers on the same subnet. Each application can dynamically register and unregister individual resources that it wants published.
These NCD technologies enable virtually-connected devices (those connected to a computer over a network) to appear and act as if they were physically connected. Such devices are loosely connected to one or more computers and use the network as a communication bus. A typical usage scenario for WSD is:
A device is connected to the network and receives a unique IP address.
The device then announces its presence.
A client uses the Function Discovery API to discover the device and enumerate its services. The FD runtime works through WSD to accomplish this for WSD devices, although it is possible for an application to call directly through to these WSD discovery functions.
The client invokes service functions on the device and can optionally subscribe to device events.
For more information about NCD, see "Network Connected Devices" in the Windows SDK, or visit the Microsoft Windows Hardware and Driver Central Web site (http://www.microsoft.com/whdc) site.
Publication Services enables a WSD device to advertise (publish) its functionality and then offer its functions as Web services over IP-based networks. It also enables devices to find (discover) and access Web services of other devices and computers on the same network. From a user's perspective, NCD technologies will largely eliminate the experiential difference between using devices directly connected to a computer and those virtually connected over a network (including the Internet). As explained above, typically a developer will uniformly access NCDs using higher-level publication services and function discovery.
Projected uses of WSD include:
Printers and other shared network devices can be easily discovered, and when selected are automatically configured for the client computer.
Automatic discovery of and connection to wireless devices, including cell phones, new overhead projectors, and home entertainment centers.
Cameras that transfer pictures across the Internet to a user's home computer, to their MSN Spaces site, or even to other devices.
Home control systems that automatically discover and configure new lighting, heating, and other systems. These systems could be monitored and controlled from a computer located in the home or over the Internet.
Windows Vista® will automatically use WSD to discover Windows Vista computers and devices on the home network (for example, through the use of the Network Explorer). NetBIOS will be used to discover computers not otherwise found.
WSD facilitates easy two-way communication. For example, a printer typically receives print jobs, but could also send important notifications, such as a new device event when it is first connected, or a service event when its printer supplies run low.
WSD is Microsoft's implementation of the Devices Profile for Web Services (DPWS) standard, a specification that enables low-cost devices to use standard Web-based mechanisms to communicate with other devices, computers, and Web services. These mechanisms depend on a lightweight subset of the same open protocols as Developer Story Windows Communication Foundation does, namely XML, SOAP, WSDL, MTOM, WS-Addressing, WS-Eventing, and WS-Discovery. For more information about WSD, see "Web Services for Devices" in the Windows SDK.