W3C home > Mailing lists > Public > xml-dist-app@w3.org > March 2001

RE: [AMG] Other message patterns

From: Williams, Stuart <skw@hplb.hpl.hp.com>
Date: Mon, 5 Mar 2001 16:16:17 -0000
Message-ID: <5E13A1874524D411A876006008CD059F192262@0-mail-1.hpl.hp.com>
To: "'Randy Waldrop'" <rwaldrop@webmethods.com>, xml-dist-app@w3.org
Hi Randy,

Thanks for your thoughts. At the recent f2f there was much discussion over
whether we should explicitly model the two-way request/response message
pattern and there are certainly folks who believe strongly that the only
thing we should model in the abstract model is the simple one-way message.
Part of the argument being that all other message patterns be synthesised
from simple one-way messaging - and we have a great proof of concept in that
ethernet, IP et. al. all provide a singular messaging primitive, the one-way
message and yet we have all manner of protocol build upon that basic
primitive.

So, there is some pressure to remove the request/response primitive from our
model, and settle for just one-way messaging as *the* primitive in our
model. To a large extent the elegance of doing this is very appealing.
However, I find it hard to model the 'natural' request/response correlating
behaviour present in SOAP 1.1/ over HTTP as two independent one-way
messages. Two independent one-way messages are not naturally correlated.
Also, short of having HTTP client and server at both ends in the HTTP
binding it is problematic for send an arbitrary message at some arbitrary
time to a node that implements just the HTTP client side of a binding - 

1) If the underlying TCP/IP connection (supporting the HTTP interaction) is
dropped between request and response, there really is no way to address the
sender of the 'request' message.

2) The rate at which 'response' messages can be sent is restricted by the
rate at which 'request' messages can be sent, indeed, over the long term the
number of messages sent from A to B is greater than or equal to the number
of messages sent from B to A (where A is an implements an HTTP client and B
implements and HTTP server).

3) Treated as two independent one-way messages there really is on
request/response correlation. That is something that either we have to
introduce an XMLP Module for, or that we 'embed' in the definition of the
RPC mechanism for XMLP (or both). This is no all bad... for example a number
of folks were also talking about correlation of messages that were being
exchanged over different bindings, eg. correlation of a response received
over SMTP with a message sent over HTTP.

I my find myself a bit of a lone voice in support of explicitly modelling
request/response, and it may be that we scale back to just one-way
messaging. The message patterns that you list can certainly be built on top
of one-way messaging or request/response and one-way. 

For me the reason to include request/response explicitly is because, at
least to me, it seems to be the fundemental pattern of the underlying
protocol we are chartered to provide a binding for. I'd also note that you
can derive one-way from request/response by simply making the response
'null/empty' just as easily as constructing request/response as two one-ways
- but you then get the correlation for free when you want it.

Regards

Stuart

> -----Original Message-----
> From: Randy Waldrop [mailto:rwaldrop@webmethods.com]
> Sent: 05 March 2001 13:19
> To: xml-dist-app@w3.org
> Subject: [AMG] Other message patterns
> 
> 
> The Abstract Model does a good job of describing the following
> messaging patterns:
> - one-way (fire-and-forget), and 
> - request/response one-for-one. 
> 
> But I don't see that it covers some of the other patterns that
> are required in our model. For example:
> - single request, a fixed nubler of responses.
> - single request, zero-to-N responses (publish/subscribe).
> 
> Am I missing something, or should the model be expanded to cover
> these patterns?
> 
>   Randy Waldrop
>   webMethods, Inc.
Received on Monday, 5 March 2001 11:17:13 GMT

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