Re: New editors' copy of the Web Services Architecture Glossary available

Hi Heather,

On Mon, Oct 28, 2002 at 01:36:29PM -0400, Heather Kreger wrote:
> Hi, I have a question about this part of the definition,
> <snip>"Note: a gateway may or
> may not be a SOAP node; however a gateway is never a SOAP intermediary,
> since gateways terminate messages and SOAP intermediaries relay them
> instead. Being a gateway is typically a permanent role, whilst being a
> SOAP intermediary is message specific."</snip>
> 
> 
> 
> Why can't gateway act as a SOAP intermediary?

Because a gateway terminates messages (it's always the "ultimate
receiver"), while a SOAP intermediary is prevented from doing so.

The definition of "ultimate SOAP receiver" says;

"[...]An ultimate SOAP receiver cannot also be a SOAP intermediary for
the same SOAP message"
 -- http://www.w3.org/TR/soap12-part1/#senderreceiverconcepts

>  Doesn't that just mean that
> that particular gateway
> implementation chose not to modify the message it terminated when it sent
> it out?

> Is a gateway
> REQUIRED to modify the message?

That depends.  Are you talking about SOAP messages or messages in
general?  If you're talking about SOAP messages, the answer is no;
the envelope can be relayed exactly as-is.  If you're talking about
the application layer envelope (if any), so that the "message"
includes both the SOAP envelope and the that envelope (which is my
interpretation of "message" in this context), then yes, the message
has to change because the Request-URI has to change.

That probably wasn't the simple answer you were looking for. 8-) I
*think* you were probably only asking about the SOAP envelope, so in
that case, my answer is just "no".

> Why? Is a gateway NOT allowed to treat
> protocols/messages
> specifically?

I think you were only expecting an answer to this if the previous
answer was "yes".  A gateway is allowed to do pretty much anything
it wants.

> This doesn't match up well to my laymans understanding...
> 
> Whats the difference between 'terminate and send the same messsage' and
> 'relay'?

Excellent question.  This relates to my first answer above, but in case
that doesn't suffice ...

Think of it as the difference between sending a snail-mail to a friend
via the post office, versus sending a snail-mail *to* the post office
(perhaps complaining of slow delivery or something).  In the former
case, the post office relays your message.  In the latter, the post
office terminates your message, but may in turn re-send it on to their
complaints department.

In that latter case, you don't have any say what the next "ultimate
receiver" is, otherwise you would have sent it there yourself (which you
could have done by addressing your mail to the complaints department, I
suppose - the example is weak here).

Does that help?  If you think the proposed definition needs any tweaking
to reflect this explanation, please suggest edits.

MB
-- 
Mark Baker, CTO, Idokorro Mobile.  Ottawa, Ontario, CANADA.
http://www.markbaker.ca             http://www.idokorro.com

Received on Monday, 28 October 2002 13:19:27 UTC