- From: Cutler, Roger (RogerCutler) <RogerCutler@chevrontexaco.com>
- Date: Fri, 22 Aug 2003 19:36:01 -0500
- To: "He, Hao" <Hao.He@thomson.com.au>, www-ws-arch@w3.org, w3c-wsa-editors@w3.org
I think that there is some really good material here. However, I don't understand how this is supposed to interact with the material currently in the document, which has obvious flaws but some of which I think is valuable -- particularly since at least some of it came from a group exercise at a F2F. Is the intention to replace ALL of the current text? I think that this would be a mistake. -----Original Message----- From: He, Hao [mailto:Hao.He@thomson.com.au] Sent: Wednesday, August 20, 2003 6:28 PM To: www-ws-arch@w3.org; 'w3c-wsa-editors@w3.org' Subject: Proposed text on reliable messaging I've taken my action item to work on the reliable messaging text. I've tried to improve the text on the following aspects: 1. To clarify the concept of "reliable messaging" under the context of Web services. 2. To articulate more on the difference between "guarantee of delivery" and "reliable messaging" 3. To add the "end-to-end argument". 4. To explain why the "life cycle" of a message may be important to improve reliability. 5. To correct a few typos. As always, your comments are appreciated. Hao 2.3.1.13 Reliable messaging 2.3.1.13.1 Definition Reliable messaging is a feature that may contribute to the overall reliability and efficiency of Web services. Reliable messaging requires participating software agents to act on a message after receiving it. Relationships to other elements reliable messaging is a feature reliable messaging may be realized by a combination of message acknowledgement and correlation. a good practise of reliable messaging is to make the life cycles of messages available to participating software agents. 2.3.1.13.3 Explanation Reliable messaging can improve the overall reliability and efficiency of Web services. Reliable messaging in Web services not only requires the delivery of messages but also the contact on the receiving agent to act on those messages as defined in service contracts. The goal of reliable messaging is to both reduce the error frequency for messaging and to provide sufficient information about the life cycle of messages. Such information enables a participating agent to make a compensating decision when errors or less than desired results occur. It is important to note that a guarantee of the delivery of message alone does not improve the overall reliability due to the "end-to-end argument."[1] It may, however, improve the performance of messaging. Requiring an agent to act on a message after receiving it would improve the overall reliability of Web services that only involve two software agents. High level correlation such "two-phase commit" is needed if more than two agents are involved. Reliable messaging may be realized with a combination of message receipt acknowledgement and correlation. In the event that a message has not been properly received and acted upon, the sender may attempt a resend, or some other compensating action at the application level. Note that in a distributed system, it theoretically not possible to guarantee correct notification of delivery; however, in practice, simple techniques can greatly increase the overall confidence in the message delivery. For example, a good practise is to make messaging idempotent so a sender can attempt sending a message again without worrying of causing undesired effects, if it is unsure about the status of the previous message. Message correlation may be used by the receivers of messages to ensure that messages are only acted on once - with duplicate messages being ignored or treated as errors. Whether two messages are duplicated is defined at the application level. [1]http://www.reed.com/Papers/EndtoEnd.html
Received on Friday, 22 August 2003 23:14:53 UTC