W3C home > Mailing lists > Public > xml-dist-app@w3.org > December 2005

Re: [Fwd: Toward more fully-formed options]

From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
Date: Wed, 21 Dec 2005 08:42:52 -0800
Message-ID: <43A9860C.4080800@oracle.com>
To: noah_mendelsohn@us.ibm.com
CC: David Hull <dmh@tibco.com>, xml-dist-app@w3.org

noah_mendelsohn@us.ibm.com wrote:
>>I would like to put forward a fifth option that was outlined in [1] -- 
> the No-MEP option.
> Whatever the other merits of this proposal, I think it is way beyond an 
> erratum, as the existing HTTP binding clearly implements MEPs. 
> Accordingly, I think going this route would take us back through a full 
> CR/PR cycle, and should IMO result in a change of name to SOAP 1.3 or 
> maybe somethink like SOAP 1.2b or SOAP 1.2.1 if W3C naming conventions 
> allow.  

I did not intend to mean that this is errata work.
My understanding was that the 4 options were for the new work in our 
recharter. I was addition a 5th option for the new work.

> So, I think the need to do all that is a drawback of this 
> approach.   The question is:  is this the right way, and by a sufficient 
> degree to merit that work?  I'm not personally convinced at the moment, 
> but I'm certainly open to convincing.  Or maybe I'm wrong and it is an 
> erratum, but right now it doesn't look like one to me.  BTW:  is the 
> proposal to rewrite SOAP to not have MEPs at all, or to have them but not 
> use them in our one normative binding?  I think it's an important 
> distinction.

The proposal was to not use SOAP MEPs in our new binding work that we 
have undertaken without rewriting SOAP.

> --------------------------------------
> Noah Mendelsohn 
> IBM Corporation
> One Rogers Street
> Cambridge, MA 02142
> 1-617-693-4036
> --------------------------------------
> Anish Karmarkar <Anish.Karmarkar@oracle.com>
> Sent by: xml-dist-app-request@w3.org
> 12/21/05 02:12 AM
>         To:     David Hull <dmh@tibco.com>
>         cc:     xml-dist-app@w3.org
>         Subject:        Re: [Fwd: Toward more fully-formed options]
> I would like to put forward a fifth option that was outlined in [1] -- 
> the No-MEP option.
> After having conversations with Chris (who has been championing this 
> option) and thinking about it more, it seems to me that SOAP MEPs hinder 
> more than help when you put WSDL MEPs, WS-Addressing, Application-level 
> MEPs in the mix (too many turtles all the way down [2] ;-) ).
> SOAP MEPs are abstract transport-independent templates that establish a 
> pattern for the exchange of messages between SOAP Nodes. But SOAP MEPs 
> that we have created (Req-Res and SOAP-Res) are geared toward transports 
> which are inherently req-res (HTTP). As such the applicability of these 
> SOAP MEPs is limited to certain kinds of transports and not all 
> transports. That is itself is not a bad thing. But even when a SOAP MEPs 
> exists, one still has to specify how the SOAP MEP is bound to a specific 
> transport in the transport binding spec. The existence of MEPs does not 
> in any way simplify the binding specification, in fact makes it a little 
> complicated.
> What do such abstract SOAP MEPs add? We already have WSDL MEPs which are 
> indeed a different beast than SOAP MEPs, and there also exists 
> application level MEPs which may be different than a WSDL MEP (for 
> example, an application MEP may correlate a 2 WSDL one-way MEPs into a 
> req-res application-level MEP). Abstract SOAP MEPs were meant to allow 
> one to figure out the message exchange without having to know the 
> underlying transport. But in practice that is not how most 
> implementations work. The SOAP sender/receiver have to agree/know on 
> what the message exchange is going to look like along with how the SOAP 
> messages would be sent on the selected transport. For that either there 
> is an out-of-band agreement (policy/metadata/whatever) or a WSDL (or 
> some other description) available. It is such WSDL descriptions (include 
> WSDL MEPs, bindings etc) that provide the information such as whether a 
> response is expected/required. The transport binding along with run-time 
> WS-Addressing related constructs such as EPRs (ReplyTo, FaultTo, AcksTo) 
> provide the information about how the message(s) are transfered from one 
> end to another (and back).
> This, I think (but not sure), is similar to DH2 proposal at [3], but 
> goes further and eliminates SOAP MEPs.
> -Anish
> --
> [1] 
> http://lists.w3.org/Archives/Public/xml-dist-app/2005Oct/att-0011/00-part
> [2] http://en.wikipedia.org/wiki/Turtles_all_the_way_down
> [3] 
> http://lists.w3.org/Archives/Public/public-ws-addressing/2005Sep/0045.html
> David Hull wrote:
>>Toward more fully-formed options
>>David Hull <dmh@tibco.com>
>>Wed, 14 Dec 2005 00:28:35 -0500
>>First, here are some basic facts I believe we are trying to account for:
>>   1. An HTTP interaction always consists of a request message and a
>>      response message, though neither need contain a SOAP envelope. 
>>      There may be other transports (actual or anticipated) with the
>>      same behavior.
>>   2. There are transports (actual or anticipated) which are inherently
>>      fire-and-forget.  In such a case, a request-response MEP must be
>>      built from one-way messages (using, say, WSA).
>>   3. Depending on the WSDL MEP and response endpoints in the inbound
>>      message any of the following may hold
>>         1. The sender of the inbound message will know that it will
>>            receive no SOAP response message over the connection used to
>>            send the inbound message (this is always the case over a
>>            fire-and-forget transport).
>>         2. The sender of the inbound message will expect a SOAP
>>            response message over the same connection.
>>         3. The sender of the inbound message may or may not receive a
>>            SOAP response over the same connection, depending on the
>>            application logic of the receiver.
>>   4. In case 3.3, some sort of acknowledgment is needed if no SOAP
>>      response occurs, for example, an empty 2xx response in HTTP.
>>   5. Transport failures may occur anywhere, including an in-only MEP
>>      over a fire-and-forget transport.  If this is to be considered as
>>      a SOAP message, each subitem of 3 will need to be amended in a
>>      tedious but straightforward way.
>>The following table attempts to summarize how the various proposals 
>>address these facts.  I believe the handling (5) is orthogonal to 
>>everything else, so I've omitted it.  Please read "HTTP" as "HTTP or 
>>similar request-response transport. Please take this as a sketch and 
>>feel free to correct any errors or inadvertent misrepresentations.  In 
>>particular, I don't feel qualified to speak for the "über-MEP" proposal, 
>>though I've taken my best guess:
>>               *1 (HTTP req-rep)*
>>               *2 (Fire and Forget)*
>>               *3 (dynamically variable number of SOAP messages)*
>>               *4 (ack needed)*
>>Define request-response /or/ one-way, per transport ("DH1")
>>               HTTP  interaction  is  /always/ SOAP request-response MEP 
>                  Always 
>>one-way SOAP MEP
>>               One SOAP MEP per transport-level exchange
>>               Ack is a special SOAP message
>>One-way everywhere, request-response where supported. ("DH2")
>>               HTTP interaction is SOAP request-response MEP if response 
> message 
>>contains SOAP, one-way otherwise
>>               Always one-way SOAP MEP
>>               One one-way MEP per WSDL message, unless transport is 
> request-response 
>>and SOAP response was sent.
>>               Ack is transport-level, presence indicates one-way MEP
>>SOAP-level in-optional-out
>>               HTTP interaction is always in-optional-out, with "out" 
> occurring if 
>>SOAP response is sent.
>>               Always in-optional-out SOAP MEP without "out"
>>               One MEP per WSDL MEP, "out" present if transport is 
> request-response 
>>and a SOAP response was sent
>>               Ack is transport-level, presence indicates no "out"
>>Transport-level in-optional-out ("über-MEP")
>>               (?) HTTP interaction  is in-optional-out with "out" 
> always present. 
>>"out" may or may not be SOAP.
>>               Always in-optional-out without "out"
>>               (?) "out" message may be absent or may not be SOAP
>>               (?) Ack is a distinguished "out" message.
Received on Wednesday, 21 December 2005 16:43:19 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:01:28 UTC