OASIS ebXML Messaging Services TC

 View Only
  • 1.  Re: message routing

    Posted 07-29-2001 21:43
    
    Arvola,
    
    I completely agree with your last point.  Using RosettaNet as an initial
    use case, we must come up with a solution that will meet all the industry
    standards that we are aware of and will be extensible to new applications.
    I believe that the CPP-CPA will be affected along with the messag header.
    
    Regards,
    Marty
    
    *************************************************************************************
    
    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
    *************************************************************************************
    
    
    
    "Arvola Chan" <arvola@tibco.com> on 07/26/2001 12:40:45 PM
    
    To:   "christopher ferris" <chris.ferris@east.sun.com>, Martin W
          Sachs/Watson/IBM@IBMUS
    cc:   <ebxml-cppa@lists.oasis-open.org>, "ebXML Msg"
          <ebxml-msg@lists.oasis-open.org>
    Subject:  Re: message routing
    
    
    
    
    Chris and Marty:
    
    The RosettaNet message header currently carries a  lot of redundant
    information that can potentially be derived from the local  software
    configuration (i.e., the implicit bilateral trading partner agreement  that
    has been configured into the software). For example, David Fischer earlier
    asked if there should be a place in the ebXML message header to carry the
    PIP  process identifier (e.g., PIP 3A4 Request Purchase Order). I believe
    RosettaNet  PIP actions have unique GlobalBusinessActionCodes, so if we use
    the Action  element to carry a GlobalBusinessActionCode, it should be
    possible to do a table  lookup using the Action element to determine the
    RosettaNet PIP process  identifier. Even if my uniqueness assumption turns
    out to be false, it is still  possible to encode the PIP process identifier
    information into the Action  element (perhaps using it as a prefix).
    
    To ease solution providers' migration from the  existing RosettaNet
    Implementation Framework to a future version that takes  advantage of the
    ebXML messaging infrastructure, it will be highly desirable if  all
    existing RosettaNet message header elements can be mapped to equivalent
    ebXML header elements, or carried as namespace specific extension elements,
    rather than requiring convoluted lookups.
    
    Appendix A (ebXML SOAP Extension Elements Schema)  in the messaging service
    spec shows that the MessageHeader can take wildcard  attributes. It may be
    useful to also allow an arbitrary number of namespace  specific wildcard
    elements to be included. Similarly, the MessageData element  currently
    carries a RefToMessageId element that can be used for correlation
    purposes. In the RosettaNet case, an equivalent InReplyTo element carries
    both a  messageTrackingID as well as a GlobalBusinessActionCode. The latter
    information  while redundant helps the recipient to properly route the
    response  message.�Therefore, it�will be helpful if either the MessageData
    element or the RefToMessageId can carry additional wildcard  sub-elements.
    
    Rather than tailoring the ebXML message header to  meet RosettaNet's
    requirements (and to the exclusion of all others),  I would advocate�making
    the ebXML message  header sufficiently extensible so that it can meet the
    needs of different  industry specific standards.
    
    Regards,
    -Arvola
    
    Arvola Chan (arvola@tibco.com)
    TIBCO Software  (on loan to RosettaNet)
    +1-650-846-5046 (US-Pacific)
    
    ----- Original Message -----
    From: "christopher ferris" <chris.ferris@east.sun.com>
    To: "Martin W Sachs" <mwsachs@us.ibm.com>
    Cc: <ebxml-cppa@lists.oasis-open.org>
    Sent: Thursday, July 26, 2001 5:15 AM
    Subject: Re: message routing
    
    
    > Marty (or possibly more correctly Arvola),
    >
    > Please  see below.
    >
    > Cheers,
    >
    > Chris
    >
    >  Martin W Sachs wrote:
    > <snip/>
    > >
    > > I agree  that it deserves attention, the larger question in my mind is
    what
    > >  manner of attention?
    > >
    > > MWS:� The specific goal  should be to satisfy the RosettaNet needs.� If
    we
    > > can come up  with a generalization that will accomplish a larger set of
    > > needs,  so much the better. For example, perhaps some routing URI that
    > >  contains
    > > terms for all the routing levels
    > > would be the  way to go.� The critical point is that each of those
    levels
    > >  must
    > > be visible in the BPSS instance document so that the BPSS  instance
    document
    > > continues to express the routing agreement that  enables each party to
    send
    > > a message with the routing information  needed at the destination.� For
    > > RosettaNet, it means that the  BPSS instance document must include
    > > surrogates
    > > for all  the levels that Arvola needs.
    > >
    > <snip/>
    >
    > I would agree that we should be striving to satisfy RosettaNet's  needs,
    > but IMHO, not to the exclusion of all others.
    >
    > I  take it that these needs are not satisfied with what is currently
    >  available? I would like to understand the issues more thoroughly.
    >
    > First off, what is the issue with regards to routing that cannot  be
    > adequately expressed with CPAId, ConversationId, Service,  Action
    > AND state? If it is Role, which is absent from the Message,  then
    > this can be easily derived. Admittedly, it gets a little  complicated
    > when both parties can act in either role and this is  expressed in
    > the same CPA, but it is still possible if you are willing  to assume
    > that the first message of a new conversation is always  what
    > it appears to be (the first message of a new conversation) as  opposed to
    > a message with the wrong service/action and  conversationId.
    >
    > In any event, you can derive role by working  out which role in the CPA
    > has service/action as its first message in the  choreography. From
    > there on, it is merely state information about the  conversation.
    >
    > I suppose that we could add it to the message as  long as the MS TC
    > agreed. It seems overly redundant to me to be passing  this around
    > as the information IS in the CPA. Of course, if you're  flying
    > without a net, er... CPA, then all bets are off;-)
    >