Re: REST, uniformity and semantics

Geoff Arnold writes;

> I take this to mean that one should not infer safety
> from the type of binding, because if you do you'll be
> up the creek sans paddle if you want to use a different
> binding (over, say a JMS-compliant MOM) which doesn't
> have any implied semantics about safety.
 
I think I see it a little differently.  Safety has nothing to do with the 
binding, or very little.  GetStockQuote is safe because it doesn't change 
the stock quote, because it's cacheable, etc.  That's true independent of 
whether you send it over HTTP or some other way.  Hence safety is indeed a 
property of the operation, not the binding.

> Of course, this view leads rapidly to the position that HTTP under SOAP
> is just a piece of minimalist plumbing

Not at all.  The REST work we did on SOAP was in the spirit of using the 
mechanisms of any particular binding in the best possible manner.  HTTP 
happens to be a system that wants to know about safe operations as 
distinct from others.  It optimizes them at its own level.  HTTP can do 
quite powerful things when you set the WebMethod to "GET".  It's power is 
leveraged, not marginalized when you set WebMethod=GET. 

We also took some trouble to abstract the WebMethod from http.  If some 
other connection system wants to benefit from a similar notion of safe 
retrieval, there's a good chance that the WebMethod feature will give a 
common abstraction across both. I'm not a WSDL expert, but roughly the 
right way to do this IMO is for the operation to indicate "The WebMethod 
feature is never required for this operation, but when used in a context 
where the WebMethod feature is supported, this operation should be modeled 
as GET". HTTP bindings generically should be known to support WebMethod, 
so the right thing should happen.

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------

Received on Friday, 16 May 2003 16:14:47 UTC