Re: RESTful Web services and DAL

From: Doug Tody <dtody-at-nrao.edu>
Date: Tue, 13 Mar 2007 15:18:11 -0600 (MDT)


On Tue, 13 Mar 2007, Matthew Graham wrote:

[From me:]
>> I suggest (based on e.g., the wikipedia and w3c descriptions) that a
>> *Web service* is any service used by two computers to talk to each other
>> via Web protocols. Such a service will define an API which clients use
>> to talk to the service. (By this definition SIAP, WMS, etc. represent
>> a type of Web service). Individual Web services may or may not be
>> stateful, but a comprehensive Web service mechanism needs to be able to
>> support stateful services.
>>

> I'm sorry but I think that you are redefining the term so that it fits things 
> that would not commonly be termed web services. Wikipedia says: "in common 
> usage the term [web service] refers to those services that use SOAP 
> <http://en.wikipedia.org/wiki/SOAP>-formatted XML 
> <http://en.wikipedia.org/wiki/XML> envelopes and have their interfaces 
> <http://en.wikipedia.org/wiki/Interface_%28computer_science%29> described by 
> WSDL <http://en.wikipedia.org/wiki/Web_Services_Description_Language>".

You left out the part that says

     "The W3C defines a Web service[1] as a software system designed
     to support interoperable Machine to Machine interaction over a
     network. Web services are frequently just Web APIs that can be
     accessed over a network, such as the Internet, and executed on
     a remote system hosting the requested services.

     The W3C Web service definition encompasses many different systems,
     but [in common usage the term refers to those services that use
     SOAP-formatted XML envelopes ...]" (and so forth as above).

This somewhat broader definition basically says that any service API exposed on the Web, and used for automated inter-machine communication, can be considered a "Web service".

> The W3C definition is also explicit that "[a web service] has an interface > described in a machine-processable format (specifically WSDL)."

This is a bit stricter definition, but a service with a GET interface can also be described in WSDL.

Again, to avoid argument I agree that in the most common usage today, the term Web service typically refers to XML/SOAP/WSDL. As you say, I *am* trying to suggest a somewhat broader definition. However I think this is also the trend. A search on "RESTful Web service" will turn up a great deal of stuff which is not SOAP and WSDL. The OpenGIS community refers to their services, such as WMS, as "Web services" (see for example http://www.opengeospatial.org/standards/common). The standard profile for a DAL service is essentially identical at this point to that defined by OpenGIS.

This is not just a matter of semantics. We talk a lot in VO, and in NVO in particular, about "Web services". I think there is still room to debate on how best to implement such services. This is why, whenever I refer to SOAP-based Web services, I always include the word "SOAP".

Received on 2007-03-13Z22:18:39