RE: Proposed text on reliable messaging

Oh, this is an addition.  I see.  Well, then I think that what it adds
to needs some work, too, but that's another story.

There was a breakout a few F2F's ago in which a number of people
discussed reliability and presented the results to the full group.  I
took notes on that and later reworked them into some of the text
currently in the document.  I don't have the original notes with me at
the moment, if that's what you are asking for.

-----Original Message-----
From: He, Hao [mailto:Hao.He@thomson.com.au] 
Sent: Friday, August 22, 2003 7:46 PM
To: Cutler, Roger (RogerCutler); He, Hao; 'www-ws-arch@w3.org ';
'w3c-wsa-editors@w3.org '
Subject: RE: Proposed text on reliable messaging


hi, Roger,

I started with the original text and added the missing bits.  If you
believe that I have removed some of the valuable bits, please point
those out so I can add them back in. 

BTW, what exactly did you refer to for those at a F2F (I might have
missed.)

Hao

-----Original Message-----
From: Cutler, Roger (RogerCutler)
To: He, Hao; www-ws-arch@w3.org; w3c-wsa-editors@w3.org
Sent: 23/08/03 10:36
Subject: RE: Proposed text on reliable messaging

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 Saturday, 23 August 2003 09:29:26 UTC