W3C home > Mailing lists > Public > www-ws-desc@w3.org > July 2004

RE: Revised Asynch Binding

From: David Orchard <dorchard@bea.com>
Date: Mon, 12 Jul 2004 16:10:02 -0700
Message-ID: <32D5845A745BFB429CBDBADA57CD41AF08D6B5B1@ussjex01.amer.bea.com>
To: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>, "Jean-Jacques Moreau" <jean-jacques.moreau@crf.canon.fr>
Cc: <www-ws-desc@w3.org>

SOAP separated the protocol MEP from the binding because SOAP can't change the protocol MEPs.  That's *precisely* why SOAP provided a layering on top of the protocol MEPs, as an abstraction on top of the protocol meps.  To a large extent, soap exists because the protocol MEPs were immutable.

Further, SOAP clearly separated the SOAP MEPs from the bindings (particularly HTTP) because it correctly saw that a SOAP MEP is abstract from a particular binding.  In a related discussion, that's why the "web method" is a feature not in the binding.  Those that argue that wsdl:webMethod should only be in the binding would argue that SOAP factored the feature incorrectly, that it should have been only in the binding and not as a feature.

I think we are agreed that an abstract request/response operation MAY be materialized as 2 protocol MEPs, ie 
1. ->HTTP POST of soap body with some callback address + correlation
2. <-HTTP RESPONSE 
3. <-HTTP POST of soap body to callback address with correlation
4. ->HTTP RESPONSE

Your point is about the response message.  What is *the response message* at the protocol level in an synchronous abstract operation that is bound to 2 protocol MEPs as shown above?  What is *the response message* to the first message?  Is it message #2 or message #3?  My argument says that it can be interpreted as #2.  The soap body was received by the receiver and they response with a 200.  The callback is an application level response, not a "protocol" response and so can and should be a separate soap mep.  You argue it has to be #3, and therefore an illegal use of soap request-response mep.     

In between the abstract operation and the protocol are a few tools for us to use: bindings and meps.  I want to provide a more flexible wsdl binding that uses 1 or 2 instances of an existing SOAP MEP and binding, and you want to create a new SOAP MEP.  There are pros and cons to each approach.  I've argued that a good aspect of my approach is that it uses a simple extension in the binding to allow full configuration of both soap MEPs.  A counter argument is that people often assume that only a single SOAP MEP can be used in a given binding, and that it may be harder to explain that 2 instances of a specified soap request response MEP are used in a binding.  

Finally, the style of discussion that has gotten a bit inappropriate on this issue.  I've been interpreting a specification as the words are written, not "doing a full-scale violation", nor a "liberal interpretation".  If I've made a mistake, and that's entirely possible, then point out where in the spec.  Particularly, show me where it says in the SOAP spec that a WSDL binding cannot use 2 soap request response MEPs that are each correctly use the SOAP HTTP  binding.  

Cheers,
Dave


> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On
> Behalf Of Sanjiva Weerawarana
> Sent: Monday, July 12, 2004 1:29 AM
> To: Jean-Jacques Moreau
> Cc: www-ws-desc@w3.org
> Subject: Re: Revised Asynch Binding
> 
> 
> 
> Hi JJ,
> 
> I agree he's using it twice in sequence. However, the way I read the
> SOAP/HTTP binding it very clearly states that the response message
> of the SOAP MEP comes in the HTTP response. Are you saying that is
> not the case?
> 
> In any case, I find it surprising that people will consider using
> two SOAP MEPs the natural solution to this when the approach of a
> single SOAP MEP bound differently to HTTP works just fine. That's
> *precisely* the reason SOAP separated the protocol MEPs from how
> they're bound to transport (or, ahem, transfer) protocols AFAIK!
> 
> Sanjiva.
> 
> ----- Original Message ----- 
> From: "Jean-Jacques Moreau" <jean-jacques.moreau@crf.canon.fr>
> To: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>
> Cc: <www-ws-desc@w3.org>
> Sent: Monday, July 12, 2004 1:24 PM
> Subject: Re: Revised Asynch Binding
> 
> 
> >
> > Hi Sanjiva,
> >
> > The way I was reading Dave's proposal, he was not hijacking 
> the current
> > SOAP 1.2 HTTP binding, but using it twice "in sequence", to 
> provide the
> > 2-MEP equivalent. Maybe he meant something else? I don't want to put
> > words in his mouth.
> >
> > JJ.
> >
> > Sanjiva Weerawarana wrote:
> >
> > >>I am a bit uneasy about creating new (SOAP) bindings 
> uncesserily. In
> > >>certain circumstances, I agree with Sanjiva, this is unavoidable.
> > >>However, for simpler cases, I like Dave's idea of 
> essentially providing
> > >>a "MEP scripting language". This helps reuse existing 
> bindings when
> > >>applicable.
> > >>
> > >>
> > >
> > >But at what price? I don't like the price of 2 SOAP-MEPs for one
> > >WSDL MEP. Furthermore, Dave's doing at best a liberal reading of
> > >SOAP1.2 and, at worst a full-scale violation of it to achieve the
> > >2 SOAP-MEP thing using the current SOAP-HTTP binding.
> > >
> > >
> 
> 
Received on Monday, 12 July 2004 19:10:06 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:32 GMT