[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [ws-rx] PR035, PR009, PR020: DA defs
Matt, Thanks for putting this together. I've inlined a couple of comments. --Stefan -----Original Message----- From: Matthew Lovett [mailto:MLOVETT@uk.ibm.com] Sent: Thursday, January 25, 2007 5:36 AM To: ws-rx@lists.oasis-open.org Cc: Durand, Jacques R. Subject: Re: [ws-rx] PR035, PR009, PR020: DA defs Hi all, Following on from the discussion about using "deliver" rather than "process to conclusion", here are some definitions that Peter and I have worked on. We believe these definitions help define the end-to-end DA, as they include the RMS behaviour. -- wsrmp:DeliveryAssurance When applied to an RM Destination, this element defines a policy assertion that identifies a requirement on RM Sources. Any RM Source that transmits messages to this RM Destination SHOULD conform to the requirement expressed by this assertion. Conversely, when it is applied to an RM Source this assertion identifies a requirement on RM Destinations. Any RM Destination that receives messages from this RM Source SHOULD conform to the requirement expressed by this assertion. wsrmp:AtLeastOnce Each message is to be delivered at least once. The requirement on an RM Source is that it SHOULD retry transmission of every message sent by the Application Source until it receives an acknowledgement from the RM Destination. The requirement on the RM Destination is that it SHOULD retry delivery to the Application Destination of every message that it accepts from the RM Source. There is no requirement for the RM Destination to apply duplicate message filtering. [SB] I think there should be a requirement to indicate an error if the assurance can't be met. wsrmp:AtMostOnce Each message is to be delivered at most once. The RM Source MAY retry transmission of unacknowledged messages, but is NOT REQUIRED to do so. The requirement on the RM Destination is that it MUST filter out duplicate messages, i.e. that it MUST NOT redeliver any message. [SB] I find "that is MUST NOT redeliver any message" confusing. The requirement is to filter out duplicates that arrive on the wire. But we can't forbid redelivery of a message that arrived only once or for which duplicates have been eliminated. e.g. RMD delivers message to AD in the context of a local atomic transaction that gets rolled back, this text seems to say that the message should not be redelivered. wsrmp:ExactlyOnce Each message is to be delivered exactly once. The requirement on an RM Source is that it SHOULD retry transmission of every message sent by the Application Source until it receives an acknowledgement from the RM Destination. The requirement on the RM Destination is that it MUST filter out duplicate messages, i.e. that it MUST NOT redeliver any message. [SB] Same comments apply. -- Some additional comments: Doug pointed out that we talk about the RMS and RMD here, but that the wsrmp spec doesn't quite call out where the RMS and RMD are. For example, if a WSDL output message is decorated with the RM assertion + a DA, we would expect the server-side RMS to exist and do it's part, and similarly the client side RMD has a role to play. I think that this is a separate issue, and needs a bit of discussion, but the text for the DAs should be ok however we resolve that. Jacques: I hoped to get this out to you earlier so you could see our thought process, but I'm running out of time before the call. I'm sorry that time got away from me! Thanks Matt
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]