- From: David Hull <dmh@tibco.com>
- Date: Tue, 29 Mar 2005 12:46:26 -0500
- To: public-ws-async-tf@w3.org
- Message-id: <42499472.1020600@tibco.com>
I've just read over the minutes from last week, and I'm doubly sorry I missed the discussion. I'd also like to thank Jonathan for the clear and thorough minutes. When I first heard of an in-[out] (or even [in]-[out]) "über MEP", it seemed like it was trying to generalize any possible MEP. An in-only would be treated as [in]-[out] with an in and no out, and so forth. This seemed like a bad idea. It wouldn't actually cover all possible MEPs, but it would add a layer of complexity to in-only or even in-out ("in-out is [in]-[out] with both in and out present" as opposed to "in-out is in-out"). Thence the George Carlin quote about volleyball being team ping-pong with a raised net etc. Reading through the minutes, though, in-[out] looks to be more narrowly focused on an important fact of life: In some scenarios you can't tell in advance whether you will get an application-level reply on the back-channel. For example, if the normal course of action were to send messages on to the "approval" and "logging" endpoints given in the message addressing properties, while a fault should come back on the back-channel, you would have to find out dynamically which alternative was actually in effect. I suppose the request/reply case with the one of the two endpoints directed to the back-channel and the other directed elsewhere would also be an example. In such cases, the in-[out] pattern captures the fact that you might get back a message on the back-channel, or you might just get back an ACK. It doesn't quite capture the possibility of getting more than one message back on the back-channel (e.g., two or more non-mutually-exclusive endpoints both pointed at the back-channel), but perhaps it could be expanded to cover that, too. It might also be better to describe the pattern as "in-(out|ACK)", emphasizing that /something/ always comes back (if that's what we mean). As a side-effect, we could also model a one-way WSDL MEP as an in-[out] with just an ACK coming back. This is all described at the SOAP level, without reference to HTTP or any other physical binding, which is why I say "ACK" instead of "202". It's up to the binding to say what form the ACK takes. With this in place, as I understand it: * a in-only message would manifest as in-[out] with just an ACK in reply * existing synchronous request/reply still manifests as request/reply * asynchronous request/reply manifests as in-[out] Is this all roughly correct?
Received on Tuesday, 29 March 2005 17:47:04 UTC