OASIS Open Mailing List Archives  ·  All Lists  ·  ebxml-msg  ·  2001-09

ebxml-msg — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

Re: FW: T2, Proposed solution for ... Re: SyncReply andReliableMessagingMethod in QualityOfServiceInfo


David, I don't believe that I am suggesting any change whatsoever. The psuedo-code you cite below is nearly correct. The difference that I see is whether the idempotency check is before the IF you cite or afterwards. If we are going to specify that something along the lines of RetryCount be appended to the MessageId for purposes of performing an idempotency check at an intermediary, then that function needs to be afterwards (part of both 1) and 2) below, each using a different comparison). I think that it needs to be said also that we are not specifying an implementation, but a protocol and specified behaviour. If we were developing an implementation specification, then clearly it would be a very different document. We don't say anything about what software entity actually applies or verifies the digital signature, nor anything about what it might mean. We only specify that if you want to apply one, you do it "this way" so that there can be some chance of interoperability. We don't say whether or not the MSH is actually responsible for the packaging of the messages, we only say how they need to be packaged so as to ensure interoperability. We do impose certain constraints on the RM function, such as the requirement that before the Acknowledgment is sent, the message MUST be persisted and that the receiving software MUST be capable of recovering from a failure such that messages that have not been processed are processed as if there had been no failure. We just don't say anything about *how* this miracle is pulled off by any given implementation. We say nothing about how the "application" interacts with the MSH, nor how an MSH dispatches messages, nor how application software is "bound to" a MSH such that the MSH can dispatch messages to the correct application handler. We provide Service & Action, but we don't necessarily say that dispatching by the MSH is based on Service and Action. The MSH could perform its dispatching of messages based on other content such as CPAId or ConversationId. For that matter, dispatching might be based on nothing other than the fact that the message is an ebXML message (such as might be the case for an intermediary node concerned solely with routing or some other mundane function that is not specific to the business end of the message). As for routing, we don't say how some intermediate node knows or figures out what URL maps to a given PartyId URI or how it knows or determines what transport should be used for the next hop. We are completely silent on the matter as this is clearly not something that needs to be said as far as the protocol and required behaviour is concerned. This is strictly up to an implementer to choose as they see fit. As for the routing application, we (TR&P team) agreed in Tokyo, IIRC, that the actual routing was not a function of the MSH but that there was a "routing" application (which is very different than saying that the application does routing). This decision was an important one as it allowed us to move beyond a sticking point in our discussions when we had to think about intermediary routing as part of the MSH. As I have said before, this doesn't mean that the routing function might not be baked into the same software entity that includes the MSH functionality. It might be just that, but technically, this isn't part of the MSH and to be honest, it also meant that this was not the only possible solution. Cheers, Chris David Fischer wrote: > > We can't put all these functions in the application. We are supposed to support > Transport, Routing and Packaging. > > What you are suggesting is pushing Routing & Packaging into the application?!!! > The application is just supposed to pass parameters and payload(s) to the MSH > where the ebXML-MS headers are built, signed, encrypted and sent. The other end > receives the message, parses the SOAP headers, performs Idempotency (RM), and > then performs an IF: 1) if not the To Party then modify the packaging (Via, > TraceHeaderList) and send to next-hop/end, 2) if the To Party, validate > signatures/encryption and dispatch the payload(s) to the application based upon > Service/Action. Look at figure 6-1. We do Header Parsing & Header Processing. > We do RM. We also do Security Services. What I left out is Error Processing at > each stage of the MSH. > > The IF in the above paragraph was introduced by multi-hop. If no multi-hop then > do 2. Multi-hop does not appear in the figure (and let's NOT put it in). > > What you are suggesting reduces the MSH to just a message send & receive > function. Why bother? You are suggesting a massive change in scope and > functionality from the current specification. > > Regards, > > David Fischer > Drummond Group. > >

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]