Outline - Preliminary
Noah Mendelsohn
- for the W3C Technical Architecture Group -
This draft: 18 December 2006
The W3C is planning to hold a Workshop on Web of Services for Enterprise Computing in Bedford, MA USA on 27-28 February, 2006. At its face to face meeting of 11 December 2006, the TAG agreed that Noah Mendelsohn would represent the TAG at the workshop, and that he with help from David Orchard would draft an outline of a position paper to be submitted by the TAG to that workshop. This note contains the first draft of that outline (not yet reviewed by Mr. Orchard).
The following sections are intended as an outline of the position paper that will be submitted on behalf of the TAG to the Web of Services workshop.
I normally open a presentation like this with a quick summary of what's to come. In this case, I propose:
The following sections give a bit more detail on what would be covered on each of the points above. Please keep in mind this is very preliminary: comments are most welcome.
This section is in part to review our role for those W3C members who aren't clear, but especially to bring up to speed non-W3C members who may be attending the workshop.
There is a a service that provides control for hardware devices. The service is identified by an HTTP URI, and it supports SOAP interactions, and maybe (see next use case) other HTTP interactions as well. The URI of the service is:
http://iocontroller.example.com/controllerServiceThe question is: should we identify each particular disk drive managed by the service with its own URI such as
http://iocontroller.example.com/controllerService?device=diskDrive1or should we use an EPR such as:
<epr:epr> <epr:address><http://iocontroller.example.com/controllerService</epr:address> <io:device>diskDrive1</io:device> </epr:epr>
The disk drive resource discussed above is correctly named with a URI, and following the TAG's advice, safe retrievals for information such as the temperature of the drive, its online/offline status, the name of the device, etc. are implemented by issuing an HTTP GET to that resource. For the benefit of SOAP-based software, the device can use content negotiation to return a SOAP envelope using media type application/soap+xml. The power of SOAP headers is still available: e.g. the drive parameters may be encrypted using WS-Security, digitally signed, etc. The temperature is also available from the same URI as application/xml, which provides for easy integration with AJAX clients, and in a simple text/html page that displays the drive's temperature.
Many of the advantages of this approach have been signaled above:
The disk drive resource discussed above is correctly named with a URI, but even safe retrievals for information such as the name or the temperature of the drive are implemented by HTTP POSTing SOAP retrieval requests to the drive resource.
Many of the advantages in the above use case are lost.