RESTful Web services and DAL
Doug Tody
dtody at nrao.edu
Tue Mar 13 14:18:11 PDT 2007
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".
- Doug
More information about the grid
mailing list