UWS as a REST protocol

Paul Harrison pharriso at eso.org
Mon Mar 5 00:38:01 PST 2007


On 04.03.2007, at 20:29, Matthew Graham wrote:

> Paul Harrison wrote:
>> On 26.02.2007, at 18:47, Guy Rixon wrote:
>>> I think REST usually wins for services that are (a) public facing  
>>> and and
>>> registered in our kind of registry; (b) client-server. In this  
>>> case, we've
>>> already decided that they have URIs and a calling pattern that  
>>> HTTP can
>>> support. If we had some new kind of service, perhaps a genuine  
>>> P2P messaging
>>> kind of thing, then we might find that SOAP-over-something-other- 
>>> than-HTTP was
>>> better than REST.
>>>
>>> If there arose a righteous SOAP toolkit that genuinely made SOAP  
>>> both easy and
>>> flexible, then maybe it would become better than REST in  
>>> practical terms. This
>>> hasn't happened yet.
>>>
>>
>> Well there is absolutely no REST toolkit at all - the fact that  
>> you can do anything you want in REST  is a weakness as well as a  
>> strength - horrible as it is, at least WSDL is a widely  
>> implemented and understood representation of the interface to a  
>> SOAP web service, and can be used to generate useable client and  
>> server code stubs.  -To achieve useful interoperability (without  
>> needing a standard for every new service) you need patterns in the  
>> REST services - e.g. the sort of thing that CEA attempts.
> There are REST toolkits: Restlet (www.restlet.org), REST-art  
> (http://rest-art.sourceforge.net), and Cognitive Web (http:// 
> cweb.sourceforge.net) are just three such frameworks for REST  
> services. Also Axis2 and XFire provide support for REST web  
> services. As for producing client and server code stubs, we all  
> know that that is the source of most problems with SOAP web  
> services but I think what you really mean here is having code- 
> binding to object representations of the XML that is being passed  
> across and something like XMLBeans will have give you that.

What I meant was that there is no 'universally accepted' interface  
definition language for a REST service - the closest that there seems  
to be is that a client is expected to parse a html form to understand  
the possible arguments to a service (and nothing specifying what the  
outputs can be) - however,  I think that most of the services that we  
want to offer have complexity beyond what is possible to represent  
merely in a form (though an xform might come closer to being  
sufficient)- WDSL perhaps could be used for REST service interface  
definition http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327/ 
#http-binding, but it seems that religious fervour in the REST  
community seems to equate WSDL with SOAP....

Of the toolkits that you mention -only the first seems to be a  
serious effort -roughly equivalent to the servlet api.  They could be  
making the mistake that most of the SOAP toolkits made at the start -  
i.e being code-first, rather than contract-first, and the one thing  
that we have really learnt in trying to create web-services is that  
defining the interface contract first is extremely important if you  
want to achieve interoperability.


> Guy's REST interface for UWS is exactly the sort of thing we need  
> to achieve interoperability.

That I agree with - WS-Resource was a disaster for CEA - the REST  
interface for UWS follows the CEA pattern nicely.



More information about the grid mailing list