[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Message Ordering Use Cases
I took an action item to provide some use cases for message
ordering. Here are two (generalized/anonymyzed from some practical
cases)
1) A simple one is a status change event notification.
Parter_A monitors some entity or system of interest and notifies
Partner_B of any changes. B wants to know the latest status of the observed
entity and also wants to have a historical overview of all changes.
Sometimes there are no changes for days, but when there are changes it is
possible that one change is very short, perhaps as short as seconds, after the
other.
Reliable messaging is important as B wants to get all
changes.
Ordering is important so that B has no misunderstanding about what is the
latest status.
2) A slightly more complex example
Partner A is a front-end organization for Partner B, handling customer
service issues.
Issues are communicated by A to B using a "Create Issue" message.
This is the first message in a conversation. The message handler sets the value
for ConversationId by selecting the value of an XML element called IssueId from
the XML payload. This value is reused by any subsequent messages about the
issue, to allow monitoring.
Subsequent
"Update Issue" messages can be sent by A to B to provide updated information.
Since a later update may reference earlier ones, they need to be processed
sequentially. The first "Update Issue" must be processed after the "Create
Issue" message. Sequence membership can be determined based on
ConversationId (and AgreementRef).
A "Close
Issue" message may also be sent by A to B when the customer indicates the
problem has been solved. This message has the same ConversationId as the "Create
Issue" and "Update Issue" messages. It needs to be processed after the
"Create Issue" message. However, a "Create Issue" message needs to be processed
as soon as possible, and if there are any "Update Issue" messages that have not
yet been processed, they can be ignored.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]