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] | [List Home]


Subject: RE: [ebxml-msg] scenario: relaying acks


 

Hello,

A couple of comments / questions:

1)  Does the RSP require WSRM headers to be signed?  

If yes, then Intermediary cannot create its own WSRM responses to requests
from Source, and it needs to copy the WSRM structures on incoming messages
on all outgoing messages.  Intermediary can only respond to Ackrequested by
forwarding this Ackrequested to Destination, and copying the response. But
that is basically the RM-transparent scenario, it goes beyond chaining two
separate RM processors and sequences. 

If no, then this scenario has some additional advantages compared to
RM-transparent:
-  There is no need for all messages on a sequence arriving at an
intermediary to be forwarded on a single sequence or to a single recipient.
All messages can be routed separately, i.e. Intermediary can inspect all
messages to determine the "next ebMS hop".  If it doesn't yet have a
sequence with that hop, it needs to set one up. If it already has a
sequence, it can reuse it.  If Source sends 10 messages to Intermediary it
can dispatch them on separate sequences to different Targets.  It may even
deliver some messages (acting as an Endpoint) and forward others (as an
Intermediary) without Source knowing.  All Source needs to know is that the
messages are all received by Intermediary.  

(This would not be possible if there is a one-to-one mapping between
incoming sequences and outgoing sequences, as Sander's description seems to
assume.)

2) We've discussed a special ebMS signal message that has more information
than other signals.  If that signal is bundled with the CreateSequence
message, it could be forwarded without having to wait for the first ebMS
UserMessage, as in the other scenarios.

3) There is the issue of getting the acknowledgment for the last message of
a sequence.  If the intermediary is asynchronous, some messages may still be
somewhere between sender and recipient.  This may trigger unnecessary
resends (unnecessary because, if Source had waited a bit longer,
Intermediary would have been able to deliver/forward the message and mark it
as received).  
Potential solutions:
-  Find a way to send the Ackrequested on a separate connection, giving the
intermediary time to successfully forward the message.
-  Rely on a WS-RM CloseSequence.  Contrary to the RM-transparent scenario,
there is no need to bundle this with an ebMS signal. 

4) More generally, Intermediary should check for receiptacknowledgments more
often than Source, to prevent unnecessary retries.

Pim



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