- From: <Noah_Mendelsohn@lotus.com>
- Date: Mon, 19 Mar 2001 09:25:05 -0500
- To: marwan sabbouh <ms@mitre.org>
- Cc: xml-dist-app@w3.org
I think this is an example of a choice that we will face repeatedly in a variety of areas: which things to encoding the envelope in a fixed manner, and which to propagate hop to hop. I think either is capable, in principle, of routing a return message through multiple transports, but the trade-offs are different. If the return address is to be encoded in a fixed manner in the envelope, then we need to deal with the case were the original sender does not in any useful sense know its identity (per my original note), or the related case in which the sender has some notion of its identity, but not in a form that would actually be useful for routing a return message. Consider message that first went through the public network, and then through some company's private message queuing system (MQSeries, etc.) Yes, in certain cases the originator could put a URI into the envelope to identify itself. Whether that URI would in fact be the most useful routing cookie to send the response back through MQSeries would depend a lot on how the application and the environment were built behind the firewall. Furthermore, we know that parsing and perhaps updating the XML envelope tends to have performance implications, and is to be avoided in situations where low overhead is desired. The trade-offs are different, I think, for hop by hop propagation of return addresses. Let's assume that the message originates through HTTP, and the ultimate response is to be generated quickly enough to send over the HTTP response Channel. The originator puts no indication in the envelope, but sends the outbound message and the connection remains open. The message arrives at what I think we are calling the transport intermediary, for requeuing perhaps over MQSeries. The software responsible for the requeuing would have to send through MQSeries, either in the SOAP envelope or in some binding-specific manner (compare to SOAPAction) an indication that an open HTTP connection is waiting for the response, and some cookie usable to find that connection when the response returns. Presumably the work would be done, a response generated back through MQSeries carrying the cookie, and the correct connection would be identified for responding through HTTP. I am not trying to make a quick decision as to which are these architectures is better, merely pointing out that both are possible and that there are trade-offs. I think we will face analogous decisions for much of the information that relates to routing and message patterns over multiple transports. ------------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 Lotus Development Corp. Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------------ marwan sabbouh <ms@mitre.org> 03/19/01 07:19 AM To: Scott Isaacson <SISAACSON@novell.com> cc: moreau@crf.canon.fr, Noah_Mendelsohn@lotus.com, w3c-xml-protocol-wg@w3.org, xml-dist-app@w3.org Subject: Re: Addressing within envelope or binding-specific? I am concerned that the address of the client be lost as a request traverses multiple intermediaries that uses different protocol binding. That is why I advocate a mechanism to carry a client URI or address in a request. The client or an intermediary may fill this entry. marwan Scott Isaacson wrote: > > >>> <Noah_Mendelsohn@lotus.com> 03/16/01 03:20PM >>> > >Jean-Jacque Moreau suggests: > > > >>> not just allocate a service URI to the > >>> endpoint/receiver, but also allocate one > >>> to the sender > > > >Maybe, but I think there may be situations in which a sender doesn't in > >any useful sense know its own name, but in which the binding knows the > >return path implicitly. As we have seen on the web with NAT and other > >protocols, not all clients have useful IP addresses or DNS names, for > >example. I think it should be possible to send an XMLP request/response > >from these. Of course, you could fake out a return address, but the point > >is that in certain cases it really is the binding and underlying transport > >that do the correlation and routing. > > Agreed, as long as their is a common place where the sender name could go. > It should be optional, but should be consistently there, and by "faked out" I > assume you mean some "null" or "empty" or "unknown" or "anonymous" type > special names that could be used in place of a real name. > > Scott > > > <snip/>
Received on Monday, 19 March 2001 09:27:06 UTC