- From: Hugo Haas <hugo@w3.org>
- Date: Mon, 7 Jul 2003 15:32:59 +0200
- To: www-ws-arch@w3.org
As per my action item, this email introduces discussion of the 2.2.11 Intermediary concept. -=- Current situation -=- The current text is[2]: | 2.2.11 Intermediary | | 2.2.11.1 Summary | | An intermediary is a message processing node that does not necessarily | represent the message's intended recipient; but which, none-the-less | processes some aspect of the message. | | 2.2.11.2 Relationships to other elements | | an intermediary is | | a agent | | 2.2.11.3 Description | | Intermediaries process messages that are intended for other recipients. | An intermediary may act as a gateway to bridge transport services, or may | process specific aspects of messages (such as security information). -=- Discussion -=- The discussion about intermediary started in the "Message Recipient 2.2.26 & Sender 2.2.27 text" thread[1]. Rereading Shishir's email, my original proposal[3] doesn't work: an intermediary may or may not be one of the recipients of the message, and an intermediary doesn't *originate* a message. Yin-Leng, I think that you are partially right in your email[4] to say that an intermediary is not the sender's intended recipient: it is not the intended ultimate recipient, i.e. one expects further processing. I think that the confusion comes from the word "intended", and the concept of final recipient which isn't reflected in our concepts. The section on SOAP intermediaries in the SOAP 1.2 specification[5] gives us a good direction about how to model them. An intermediary: - is an agent which processes a message. - is not the ultimate recipient of the message, i.e. it is not the end of the message path. - may or may not be an intended recipient for the message, i.e. a message recipient as per 2.2.26; an example of an intermediary which could be not an intended recipient could be a transparent SOAP proxy or firewall. Comment about 2.2.26 Message recipient: In Shishir's proposal[3], the description 2.2.26.3 talks about "the message recipient is the agent that the sender intends the message to be consumed by", i.e. not allowing several message recipients for a message. It seems to me that this captures the semantics of what SOAP calls the ultimate recipient. Moreover, I am wondering if "the" instead of "a" doesn't prevent multicast. As said in my original email[3], I would remove all mentions of intermediary in 2.2.26 and 2.2.27. The current summary talks about "message processing node". This is the only place where the concept of a processing node appears in the document, so I have replaced it by agent. -=- The proposed changes -=- Note: concepts are surrounded by "_". Proposed 2.2.11.1 Summary An _intermediary_ is an _agent_ which processes part of a _message_. An _intermediary_ is not the ultimate _message recipient_ of the _message_, and relays the message to the next _message recipient_ along the _message path_. Note: I have introduced a _message path_ concept. Proposed 2.2.11.2 Relationships to other elements an _intermediary_ is an _agent_ an _intermediary_ may be a _message recipient_ Note: if the above statement looks odd, we may have to take "intended" out of _message recipient_. Proposed 2.2.11.3 Description Intermediaries process messages along the message path. A message may be intended for an intermediary, or may be transparently processed by one. An intermediary may act as a gateway to bridge transport services, or may process specific aspects of messages (such as security information). -=- Last comments -=- Another way to approach intermediaries is to introduce 2 other concepts[4] as proposed by Yin-Leng: - message originator. - message receiver. We would have: - a _message originator_ is an _agent_ originating a _message_ (which is our current definition of _message sender_). - a _message sender_ is an agent sending a _message_. - a _message receiver_ is an _agent_ receiving a _message_. - a _message recipient_ is an _agent_ intended to receive a _message_. We have the following relationships: - a _message originator_ is a _message sender_. - a _message recipient_ is a _message receiver_. - an _intermediary_ is a _message receiver_ and a _message sender_, and may be a _message recipient_. This increases the number of concepts but may make things clearer. Comments? Regards, Hugo 1. http://lists.w3.org/Archives/Public/www-ws-arch/2003Jul/0005.html 2. http://dev.w3.org/cvsweb/~checkout~/2002/ws/arch/wsa/wd-wsa-arch-review2.html?rev=1.31&content-type=text/html#intermediary 3. http://lists.w3.org/Archives/Public/www-ws-arch/2003Jul/0008.html 4. http://lists.w3.org/Archives/Public/www-ws-arch/2003Jul/0036.html 5. http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#relaysoapmsg -- Hugo Haas - W3C mailto:hugo@w3.org - http://www.w3.org/People/Hugo/
Received on Monday, 7 July 2003 09:33:02 UTC