- From: David Hull <dmh@tibco.com>
- Date: Tue, 29 Mar 2005 16:18:59 -0500
- To: public-ws-async-tf@w3.org
- Message-id: <4249C643.50809@tibco.com>
I'm very much interested in exploring in-optional out, but I don't want to lose track of the other approach, namely using one-way messaging as a primitive. Leaving aside any confusion over 202 messages and ACKs, it appears that the main driver behind in-optional out is to keep the SOAP description in line with what's going on at the next layer down. At that level, a POST/response operation is a single operation, regardless of whether a reply comes back or even whether a reply is expected to come back. We capture this POST/possible response as an abstract in-possible out operation. Another possibility is to divorce the SOAP layer from the transport layer. There's already something of a precedent for this in the SOAP response MEP, which talks about a SOAP response without regard to where the request came from or whether the response is going out on a back channel or as a separate one-way message. In line with this, define a one-way SOAP MEP as a the transmission of a single message from a sender to a receiver, independent of any response from the receiver. That is, we do not specify (here) whether the receiver sends back a 202, sends back a response message, closes the connection, or something else entirely. Let's look at the basic cases: * A fire-and-forget one-way is a SOAP one-way MEP. Since it's fire-and-forget, we don't care what the receiver does next. * A classic synchronous request/reply is a SOAP request/reply, but we could also view it as two one-way MEPs (or possibly even as a one-way MEP and a response MEP). * An asynchronous request/reply with both reply and fault pointed elsewhere is a SOAP one-way MEP. * An asynchronous request/reply with one endpoint pointed away and one pointed at the back-channel is a SOAP one-way MEP possibly followed by a one-way MEP the other way. We would have to make it clear that a single HTTP operation may carry more than one MEP. My suspicion is that an approach like this would generalize better to carry scenarios like sequences of notification messages, MEPs which may produce more than one reply message and so forth. Allowing one transport-level operation to carry more than one MEP might also better allow for transport-level connections to persist across multiple MEPs.
Received on Tuesday, 29 March 2005 21:19:31 UTC