RE: Issue 169: Propose http method in the operation interface to simplify http binding.

> -----Original Message-----
> From: Amelia A Lewis [mailto:alewis@tibco.com]
> Sent: Tuesday, June 29, 2004 12:51 PM
> To: David Orchard
> Cc: www-ws-desc@w3.org
> Subject: Re: Issue 169: Propose http method in the operation interface
> to simplify http binding.
> 
> 
> On Tue, 29 Jun 2004 12:40:48 -0700
> David Orchard <dorchard@bea.com> wrote:
> > The changes to WSDL are:
> > 1. WSDL interface operations contain optional webMethod attribute.  
> > This is an HTTP operation name. 
> 
> Strongly -1.  We have worked hard to separate keep the 
> abstract interface
> abstract.  HTTP methods are binding-specific, not interface-level
> abstractions.

An application designer that is using HTTP as a transfer protocol, such as Atom, knows that the interface in the "abstract" is generic.  I would be fine with calling it "ConstrainedMethod" or "RESTMethod" or somesuch, but the simplest seemed to be http.  Again, the separation of abstract from protocol is a leaky abstraction in many cases.  Having an optional attribute supports the right level of leakiness, rather than denying the leak exists.  

I've also given you concrete real world case where the "abstract interface" is known to be a PUT but it is actually bound to a POST method.  Following your argument, I think you are suggesting that they haven't got the right abstraction.  And that anybody that is thinking of "Restricted Operations" at interface design time isn't thinking abstractly enough.  Is there another interpretation?

What did you think of my argument that this allows simpler bindings, especially the binding sans operation that I showed?

> 
> > 2. WSDL bindings use any existing interface operation webMethod
> > attribute as the default.
> 
> Okay, if it's per-binding.
> 
> > 3. WSDL binding contains an optional location that is the 
> default for
> > any operations in the binding.  To use the 
> x-www-form-urlencoded, the
> > schema used in the location should be available in all 
> operations inputs
> > that are defaulted in the binding.
> 
> Again, okay, if it's per-binding.
> 
> By "per-binding," I mean that each binding specifies this; it 
> isn't in the
> WSDL namespace.  This is because HTTP semantics are not necessarily
> mappable to the semantics of other protocol bindings.
> 

I think I slightly quibble with the use of "namespace" here.  To test my understand of your words, I'll try to say what I think you said.  

Every binding to a protocol MUST specify the interpretation of the location if a location is specified.  In binding to HTTP, the interpretation is straightfoward.  Other bindings may have other interpretations, such as "fault/error", or "ignored" or "interpreted as HTTP binding". 

Is that roughly right?

Cheers,
Dave

Received on Tuesday, 29 June 2004 16:09:00 UTC