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] end-to-end RM option in case of WS-ReliableMessaging

As you write, I think the point of having ebMS intermediaries is that they support routing based on the ebMS user message elements and decoupling routing logic. 
But I think we could distinguish between:
- making a routing decision based on a feature that is common to all messages in a logical sequence, e.g. To/PartyId.  This is a simple lookup table, very easy to implement.   If we have this restriction, a sender knows which messages will be delivered to the same recipient MSH, even if it does not know what that MSH is or where it is located. All ebMS message having that feature will be delivered to the same MSH and can be sent on the same RM sequence.
- making a decision based on some feature that may not be available on all messages in the same sequence.  Here we have a potential issue that messages sent on the RM sequence should get to the same MSH. In that case, we could impose some restriction that the routing decision is made based on  the first ebMS message that is bundled with the sequence creation message, and having a way of linking subsequent messages to that established routing. 
Going back to ebMS2 MessageOrdering, one way of doing this is to require that all messages sharing the same values for ebMS From/To/CPAId/ConversationId are sent on the same WSRM message sequence and routed in the same way.  This will make sure they will end up at the same recipient MSH (even if the sender doesn't know what/where/who that MSH is).  This does require the intermediary to maintain a potentially large set of <ConversationId, NextMSH> mappings.  But SSL/TLS terminators, load balancers etc. do this for SSL/TLS session affinity/resuming routinely, and they can store up to hundreds of thousands of session ids, so this isn't that unrealistic.

From: Moberg Dale [mailto:dmoberg@axway.com]
Sent: 12 December 2007 22:51
To: Durand, Jacques R.; ebxml-msg@lists.oasis-open.org
Subject: RE: [ebxml-msg] end-to-end RM option in case of WS-ReliableMessaging

Some quick responses


From: Durand, Jacques R. [mailto:JDurand@us.fujitsu.com]
Sent: Wednesday, December 12, 2007 1:59 PM
To: ebxml-msg@lists.oasis-open.org
Subject: [ebxml-msg] end-to-end RM option in case of WS-ReliableMessaging


Following the end-to-end RM option for a Push mep in case of WS-ReliableMessaging:



Assumptions: (actually needed whenever RM sequences are used, regardless of which reliability specification)


- the sender always knows which messages are for the same destination, even if the decision about what this destination is (URL) is left to the routing function. A destination is also supposed to map to a single RM destination (i.e. there are not two RM Destination modules serving the same business destination)


<Dale> I thought that Pim explicitly stated that knowing where messages go beyond the entry GW is not something the sender should have to know. This would increase management headaches.  Why not use some standard metadata for the routing. The protocol requires that the Service and Action and Role values be known. Why not use what the protocol requires for every message?


- the sender knows what fileds in a message are used to resolve the routing path, so that a dummy ebMS [user] message can be crafted to establish the RM sequence prior to sending actual user messages. Recommendation is: to simply use MPCs as routing means.


<Dale> MPC is not required in the ebMS header. I want to use required features, either To and From or Service and Action, not something that is not required for the 1-way PUSH case.

I don’t think we want to make the profile for routing through intermediary rely on an optional information item.




Piggybacking of an ebMS "dummy"  message on all RM sequence management messages.


<Dale> Why not create a special ebMS signal message?


No new ebMS signal needs be designed for this piggybacking : a "dummy"  user message has the service field set to: http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/service


<Dale> What if they want to use both Service and Action for routing? Or To and From? Not certain that this meets enduser configuration use cases in general.


which is enough to process it correctly in core V3, i.e. to NOT deliver it to the MSH consumer layer. (that way, no additional feature is required from the destination MSH, other than core V3 compliance). We might want to specify a new Action field value, but no need to interpret it on receiver side.


- teh response RM management messages need be routed back. Suggest to put the burden of the piggybacking for these responses on the last MSH intermediary, not on the ultimate MSH who should not be aware of the RM-thru-intermediaries aspects.



Comments: all this is about using ebMS intermediaries. Clearly, alternative forms of multi-hop routing can apply to achieve end-to-end reliable exchanges, such as SOAP intermediaries (non-MSH) that use WS-addressing wsa:To, wsa;From or wsa:Action headers.  Both styles can co-exist: such SOAP nodes could be intertwined with MSH intermediaries on a path. We do not specify that one. In that case, different nodes on a path will use different routing info (e.g. wsa header vs. ebMS header).



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