Shimamura-san,
You are asking for message ordering to be guaranteed across a stream of
messages for the same conversation some of which are processed by MSH B and
some of which are processed by MSH C. There are these possibilities:
MSH B and MSH C are really physically separate. IMHO, you are asking to
support a use case whose implementation would be extremely complex.
MSH B and MSH C are separate data structures within the same physical
MSH. That still strikes me as excessively complex.
Your use case is valid and is a strong argument that conversation
management, including message sequencing, belongs at an upper level of
middleware and not in the MSH at all.
If the use case is really valid, (3) is the only sensible design.
Regards,
Martin Sachs
*************************************************************************************
Martin W. Sachs
IBM T. J. Watson Research Center
P. O. B. 704
Yorktown Hts, NY 10598
914-784-7287; IBM tie line 863-7287
Notes address: Martin W Sachs/Watson/IBM
Internet address: mwsachs @ us.ibm.com
*************************************************************************************
SHIMAMURA Masayoshi <shima.masa@jp.fujitsu.com> on 12/14/2001 06:58:47 AM
To: ebxml-msg@lists.oasis-open.org
cc:
Subject: [ebxml-msg] Generation of SequenceNumber
Please make a small change in section "10.1.1 SequenceNumber element" as
following:
[line 2098-2101 on Page 54]
The SequenceNumber is unique within the ConversationId and MSH. The
From Party MSH and the To Party MSH each set an independent
SequenceNumber as the Sending MSH within the ConversationId. It is
set to zero on the first message from that MSH for a conversation
and then incremented by one for each subsequent message sent.
|
V
The SequenceNumber is unique per combination of MSH, ConversationId
and Endpoint (target MSH's URI specified in CPA). The From Party MSH
and the To Party MSH each set an independent SequenceNumber as the
Sending MSH within the pair of ConversationId and Endpoint. It is
set to zero on the first message from that MSH for a conversation to
a Endpoint and then incremented by one for each subsequent message
sent.
Rationale:
The current CPPA and the Message Service specification accepts
following configuration. Because a To Party can have several
Services, and each Service can have different Endpoint each other.
Endpoint B
+------+--------+ path AB for Service B +-----------+-------------+
|From |Sending +--------------------------->|Receiving +-> Service B |
|Party |MSH A +------+ |MSH B | |
+------+--------+ | +-----------| To |
| | Party |
| +-----------| |
+-------------------->|Receiving | |
path AC Endpoint C |MSH C +-> Service C |
for Service C +-----------+-------------+
In the configuration, message order should be guaranteed per each
path separately even if same ConversationId is used for the messages
in both path AB and AC. Because the two Receiving MSH works
independently each other. To clear this point, we need to add
Endpoint to conditions of uniqueness of SequenceNumber.
Regards,
--
SHIMAMURA Masayoshi <shima.masa@jp.fujitsu.com>
TEL:+81-45-476-4590(ext.7128-4241) FAX:+81-45-476-4726(ext.7128-6783)
Planning Dep., Strategic Planning Div., Software Group, FUJITSU LIMITED
----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>