OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: RE: T2 SyncReply and ReliableMessagingMethod in QualityOfServiceI nfo

Masayosi/Scott/Marty/Chris/David F

Phew! This is quite a thread which I have just caught up on. I also
apologise for the length of this reply but to try and come to some type of
resolution I have:
1. Presented a specific use case involving an intermediary
2. Analyzed the use case to draw out some of the key issues that arise
3. Responded individual emails by extracting relevant items

The bottom line is that, apart perhaps from some clarifications, I don't
think the spec needs changing. Details below ...

This use case describes the characteristics of two parties exchanging
messages via an intermediary. Specifically:
1. There is one intermediary between the two parties.
2. When the intermediary receives a message from a "From Party" they do not
always forward it immediately to the "To Party"
3. The intermediary has separately agreed with each of the other two
   a) the messaging protocols that will be used between the intermediary and
the party
   b) that the intermediay will transform messaging protocols and payloads
if the From Party and To Party use different protocols.
4. Specifically the agreements are:
   a) One party and the intermediary will use RosettaNet documents as
payload with MQ Series without the ebXML Reliable Messaging protocols
   b) The other party and the Intermediary use EDI Messages with ebXML
messaging using SMTP and the ebXML Reliable Messaging Protocol
5. The intermediary does not take part in the business process between the
To and From Parties - i.e. the intermediary does not alter the semantic
meaning of any of the data in the payload
6. The Application that is the ultimate destination at one of the parties
runs in batch and therefore their MSH needs to store messages and deliver
them to the application later.

There is one intermediary
Although there is only one intermediary the same principles will apply if
there are many.

The intermediary stores messages before forwarding
This is a valid use case since it is possible that the final destination of
a message is off-line (e.g. they are a SME who only uses email) but they
want to be able to let their customers also use HTTP.

What this means is that there is benefit in the intermediary returning an
"acknowledgment message" as the From Party can then turn off their retry
process without waiting for the message to reach the final destination.

The intermediary has separate agreements with each party
What this means is that there two types of agreements in place:
1. Between the From or To Party and the Intermediary which covers how
messages are sent but NOT the business process.
2. Between the From and To Party directly that cover the business process
they will follow but not how messages are sent.

As each party uses diferent transport protocols for reliable messaging, one
MQ Series and one the ebXML RM Protocol, you need to specify separately for
each hop which RM protocol to use. This is why reliableMessagingMethod is in
the Via rather than the main message header.

The application at the ultimate destination runs in batch
If the rule is that application always provides the Delivery Receipt, then
the sender of the message might have to wait a long time to get a response,
even though the message has actually been received by the MSH running at the
To Party. As the To Party is running both the MSH AND the Application it is
OK for the MSH to send the Delivery Receipt. If the Application is online
and can send a receipt immediately after say it has checked the payload,
then the MSH level Delivery Receipt is not necessary.

Now for some comments on individual emails ...
The following are extracts from various emails on this topic with responses
to each one.

David Fischer: Tue 8/7/2001 1:02 PM
>>  We had long (heated) discussions about this in London and David (B)
assured us that Acknowledgements were for intermediate hops only.
Acknowledgement (sp) only goes back to the previous hop.  This is why it is
only in the Via.<<
<DB>No. Acknowledgements are for Reliable Messaging using the ebXML RM only.
If a message is being sent over MQ Series then an Acknowledgment message is
not needed (although it could be requested) as reliable delivery is provided
in a different way. However whether you are using the ebXML RM protocol or a
proprietary protocol such as MQ Series, you still might want Non Repudiation
of Receipt. This is why you need the Delivery Receipt separate from the

Chris Ferris: Tue 8/7/2001 9:58 PM
>>The following references cite discussion that clearly demonstrates that
the team had felt that the delivery receipt is an application-level response
[1] [2] [3] [4] and that we endeavored to separate the two so that it was
clear that DR was not related to RM. <<
... and ...
>>Again, it clearly states "To Party" which equates to "application" which
means that it is a business level signal. Nowhere in this section will you
find any discussion of reliable messaging because it is completely
unrelated. A search of the Reliable Messaging section (10) in the spec turns
up a whopping 0 (zero) occurances of the word DeliveryReceipt.<<
<DB>I disagree. The Delivery Receipt is a MSH level response. For example,
in the use case where the To Party MSH stores a message before passing it to
the application. Indeed, if the application receiving the message is an old
application it may not be able to generate the equivalent of a Delivery
Receipt. Hence a Delivery Receipt produced by the MSH is useful. In
addition, I don't think it is the MSH's responsibility to generate messages
business application responses.</DB>

David Fischer: Tue 8/7/2001 6:03 PM
(David B) I am also uncomfortable with having two parameters that imply
essentially the same thing. For example if deliveryReceiptRequested or
immediateAckRequested are both set to NONE, then a syncReplyMode of AcksOnly
or AcksAndResponse would be inconsistent. We really ought be able to avoid
this sort of problem with the correct choice of parameters.

(David F) I still agree. David Burdett may prefer AckRequested rather than
DeliveryRequested (David?).
<DB>In this quote, the two parameters I was refering to as having similar
functionality were the syncReplyMode and either or both of the
deliveryReceiptRequested and intermediateAckRequested. The
deliveryReceiptRequested and the intermediateAckRequested parameters have
different meanings (see above).</DB>

SHIMAMURA Masayoshi: Wed 8/8/2001 5:44 AM
>>It means that if syncReply is set to False, the Reliable Acknowledgement
Message can not carry business level response. If so, at same time, the
Reliable Acknowledgement Message can not carry deliveryReceipt element when
syncReply is set to False. Because deliveryReceipt element is always carried
together business level response.<<
<DB>As the Delivery Receipt is a MSH level response, it can be sent
separately from the business level response.</DB>

David Fischer: Wed 8/8/2001 8:56 AM
>>How about section 9.2.1 & 9.2.2 which describes MSH level Ping & Pong?
Yet the spec says the response is sent:
	The message is then sent to the To Party.
The words "To Party" & "From Party" in these sections are used to describe
the MSH, not an application.<<
<DB>The To Party is BOTH the MSH AND the Application. The MSH is equivalent
to the mail room and the Application to the individual who opens and
processes a letter. They are both part of the same party.</DB>

Jim Hughes: Tue 8/7/2001 10:00 AM
>>Maybe you get more "reliability" if an intermediate MSH node pair use
MQseries, but I think it really confuses the issue when you allow the
presence of intermediate nodes to affect the basic RM algorithm. I think
that a node's use of RM should be quite distinct from the (higher layer?) RM
between the endpoint MSHs.<<
<DB>A node can usefully do its own RM processing especially if it stores a
message before forwarding it as can easily be the case. However hop by hop
RM does not mean that the sender knows that the final destination received
the message which is why you need a Delivery Receipt to let the original
sender know.</DB>

Scott Hinkelman: Tue 8/7/2001 10:17 AM
>>I agree. RM is From <-> To. However, does this imply that if a CPA is
used, and IMs are in the picture that multiparty (if an IM is a party) CPA
is required? Seems to me.<<
<DB>Yes and no. In the exmple above, the intermediary is providing
transformation services but does not "process" the payload in any
conventional sense as they are not the final destination. For example you
could organize it that all letters from French customers go to an outsourced
translation service before they are sent to you. Is the translation service
an integral part of the business relationship between you and your French
customers. I don't think so. Do your French customers need to know that you
have outsourced this part of your operation? Again, I don't think so. On the
other hand there is definitely a business relationship between you and the
French translation service you are using which will need agreements in

Scott Hinkelman: Wed 8/8/2001 7:22 AM
>>(Marty). It is not at all clear that a multiparty CPA is always needed to
handle intermediaries.  It mostly depends on whether the intermediary
particpates in the business process between the from and to party or acts as
a pass-through. At the moment, the BPSS handles  a multiparty collaboration
as a set of
(Scott) You are hitting on exactly the issue I brought up in [1]. I believe
we need to understand and clearify the functionality and responsibility
differences between a Trading Partner and an IM in order to to resolve much
of this.<<
<DB>Intermediaries CAN be pass throughs in that they do not process the
payload. However intermediaries still have agreements with the parties they
work with. For example as an email user, you have an agreement with your
ISP. However the people you exchange emails with don't need to know anything
about your agreement with them yet the agreement still exists.</DB>

Marty Sachs: Wed 8/8/2001 11:06 AM
>>Certainly an adjacent pair of pass-through intermediaries can forward
messages between themselves reliably "under the covers" but I have no idea
why they would do so since they have no skin in the outcome.  The only ones
the outcome matters to are the From and To parties.<<
<DB>I disagree. They might have a lot of skin in the outcome. For example if
an intermediary stores and forwards a message as a service then they will
want to make sure that they do not lose messages they have received before
forwarding them.</DB>

Let the discussion continue ... ;)

Product Manager, xCBL, XML Standards
Solution Strategy, Commerce One
4400 Rosewood Drive, Pleasanton, CA 94588, USA
Tel/VMail: +1 (925) 520 4422; Cell: +1 (925) 216 7704
mailto:david.burdett@commerceone.com; Web: http://www.commerceone.com

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC