David:
That sounds like re-implementing reliability at ebMS level - something
I'd prefer to avoid until all other options fail to deliver :-)...
Besides guaranteed delivery there is also duplicate detection (based on
sequence numbers or so for the 2 RM specs), so the redundancy is
starting to build-up.
Now, we may consider a mode of multi-hop reliability where RM is
per-segment, and in order to catch the cases of loss during router
forward, a kind of (ebMS) status request where the initial sender MSH
could notify the ultimate receiver MSH of the list of message IDs it is
supposed to have received over the last hour or so, and the receiver MSH
would notify back on what it has not been able to deliver. Re-sending by
the ebMS layer itself may or may not be mandated - could be left to a
re-submit at application level (if no risk of duplicates). At least that
would add awareness of both sender and receiver of message loss (i.e.
non-delivery), something we do not have today especially with WS-RM.
This awareness by the receiver would in turn allow the choreography
layer to better diagnose failures.
Jacques
Original Message-----
From: David RR Webber (XML) [mailto:david@drrw.info]
Sent: Monday, November 19, 2007 6:42 PM
To: Moberg Dale
Cc: Pim van der Eijk; Durand, Jacques R.; ebxml-msg@lists.oasis-open.org
Subject: RE: [ebxml-msg] Pim on routing intermediaries,
WS-ReliableMessaging
Dale,
I'm not sold on WS-Reliable messaging - for starters its merely trying
to mimick what ebMS already has for the past five years!
Then - who knows what oversights they've made in the rush to get
something in place. Reading their design and such does not give me great
confidence. My sense is we are well ahead of them - and they should be
adopting ebMS reliable messaging (and actually they are trying to clone
most of it!!!) Of people using WS the majority could not careless about
reliable delivery - in fact their whole modus operandi is built assuming
unreliable messaging and instant traffic exchanges (query/response).
OK - so where does that leave us?
Why can we not look at some kind of orchestration agent here? Seems to
me that what is needed is a very simple component that is tasked with
plugging the gap and acting as an ebMS/SOAP delivery extension agent.
All it has to be able to do is manage SOAP-based exchanges at the basic
transport level. If its built very dumb and simple - it just acts as a
relay and a pass through - with minimal logic - mostly just leveraging
SOAP acks and errors themselves.
The ebMS then interacts with one or more of these SOAP relay agents -
and will keep trying delivery until it gets an end-to-end SOAP
acknowledgement relayed back to it.
The agent could be designed to use basic WS - and in fact then any SOAP
server could be integrated as a delivery service with the simple
addition of the agent component. This seems much more like what we
want. Coopting delivery via SOAP servers.
DW
"The way to be is to do" - Confucius (551-472 B.C.)
>