- From: Williams, Stuart <skw@hplb.hpl.hp.com>
- Date: Fri, 5 Oct 2001 11:28:27 +0100
- To: "'Glyn Normington'" <glyn_normington@uk.ibm.com>
- Cc: xml-dist-app@w3.org
- Message-ID: <5E13A1874524D411A876006008CD059F192691@0-mail-1.hpl.hp.com>
Glyn, There may be something that is not immediately clear from the AM. model. There is a philosophical question as to whether a message forward by a SOAP intermediary is the same message that it received. To some extent this is like asking whether an an IP packet that leaves a router is the same IP packet that entered the router (or a different one). There was certainly some debate of this question. If you answer it in the negative and say that they are indeed different then IMO we have a single hop messaging model and I'm left wondering what SOAP intermediaries really are. Intermediaries can exist in such an environment, they are just pushed up a level. The orginators of the intermediary model in SOAP 1.1 were/are strongly of the view that the message forwarded by a intermediary us the *same* message that was incident at the intermediary. Henrik describes a shopping basket model, things get put in the basket and taken out the basket, but the basket is the same basket. Maybe a more messaging analogy is the say a form in an envelope passing through several stages of authorisation (at different intermediaries like my manager and then his manager) before finally arriving at the purchasing dept. and thence a buyer - there is a material sense in which the message is the same - its the same bit of paper, it just has more marks on it. I'd also accept that there is an abstract sense in which the message is in fact different in that the message changes from "I want to buy..." through stages to "the purchasing dept is approved to place this order". Anyway enough of the philosophy. The AM attempt to reflect view of the originators of the SOAP intermediary model that the message is (at least materially) the same message. So from your example below, m1 and m2 are in that sense the same message. Likewise, m3 and m4. Taking the view that the message forwarded by UnitData.forward is the same message that was incident at the node, it was (and still is) my opinion that a Correlation parameter is superflous on the .forward. Consider what it would mean, given the intended sameness of the message, if the value of the correlation parameter were different from the value delivered with the corresponding indication - it should be no different and the XMLP layer already knows what it is. I hope this helps... Best regards Stuart -----Original Message----- From: Glyn Normington [mailto:glyn_normington@uk.ibm.com] Sent: 04 October 2001 16:03 To: xml-dist-app@w3.org Subject: [AMG] Need for XMLP_UnitData.forward Correlation parameter Doesn't XMLP_UnitData.forward need to take a (mandatory) Correlation parameter so that the XMLP layer can correlate requests and replies when intermediaries are present? The following scenario hopefully makes this clear, but please accept my apologies for the level of detail - as a newcomer to this area, I wasn't sure how much to assume. Consider an extension of the scenario in [1] (or [2]) to include a reply which flows from the 'receiving app.' back to the 'sending app.' via the intermediary as follows: From To Primitive 1. S X send m1 2. X I receive m1' 3. X S status 4. I X forward m2 5. X R receive m2' 6. X I status 7. R X send m3 (m2' reference) 8. X I receive m3' (m2 reference) 9. X R status 10. I X forward m4 11. X S receive m4' (m1 reference -- but how?) 12. X I status where S=sending app., I=intermediary app., R=receiving app., X=XMLP layer, mn=message, mn'=new local copy of mn. The XMLP layer can infer the correlation of m3' to m2 in (8) from the correlation of m3 and m2' in (7). We can see this with the help of a bit of notation. Let '=' be equality of messages and '~' be the 'correlates to' relation. Then: m1=m1' m2=m2'~m3=m3' m4=m4' So m2~m3'. However, the XMLP layer does not appear to have enough information to correlate m4' to m1 in (11). It would need: m1'~m2 m3'~m4 which could be provided by specifying a Correlation parameter on (4) and (10), thus: 4. I X forward m2 (m1' reference) 10. I X forward m4 (m3' reference) Glyn Normington IBM Hursley [1] http://www.w3.org/TR/2001/WD-xmlp-am-20010709/#Sec3.1.2 <http://www.w3.org/TR/2001/WD-xmlp-am-20010709/#Sec3.1.2> [2] http://www.w3.org/2000/xp/Group/1/08/14-am/xmlp-am.html#Sec3.1.2 <http://www.w3.org/2000/xp/Group/1/08/14-am/xmlp-am.html#Sec3.1.2>
Received on Friday, 5 October 2001 06:29:30 UTC