OASIS ebXML Messaging Services TC

RE: [ebxml-msg] Attributes specified in both the message and the CPA

  • 1.  RE: [ebxml-msg] Attributes specified in both the message and the CPA

    Posted 11-01-2001 18:25
    
    David,
    
    Some comments below, as "MWS".
    
    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
    *************************************************************************************
    
    
    
    David Fischer <david@drummondgroup.com> on 11/01/2001 10:21:37 AM
    
    To:    Dan Weinreb <dlw@exceloncorp.com>, ebxml-msg@lists.oasis-open.org
    cc:    ebxml-cppa@lists.oasis-open.org
    Subject:    RE: [ebxml-msg] Attributes specified in both the message and
           the CPA
    
    
    
    Hi Dan,
    
    I think you have made an assumption which is at the core of this problem.
    You
    have assumed that there is a pre-agreement.  Many in this group agree with
    you
    but some don't.
    
    Take the case, for example, of someone requesting a stock quote.  This may
    be a
    one-time transaction, and a rather simple one at that.  Why go through all
    the
    trouble of negotiating a CPA?
    
    MWS:  You still have to get both ends' middleware to agree on how to
    exchange
    the message.  What you need is to be able to negotiate and deploy the CPA
    so rapidly that it can be thrown away after one use.  Some people call it
    "dynamic eCommerce".  Automated negotiation is a step in that direction.
    
    Take the case, for example, of someone purchasing a sweater from L.L.Bean.
    This
    is a B2C transaction and again, may be one time.  Why bother with a CPA
    negotiation which takes longer than the transaction?
    
    MWS:  My comment above applies.  However let's face it.  B2C works quite
    well
    today using browsers.  What we are really after is dynamic B2B eCommerce.
    
    When we agreed not to require a CPA, we agreed not to require it.  When we
    ask
    the question, "how does this work without a CPA?" we have to assume there
    is no
    CPA and no "virtual" CPA.  Does this mean we have no configuration?  Of
    course
    not, it only means there is no negotiation between the parties.
    
    MWS:  Excuse me.  You may call it "negotiation" or not but the two parties
    still have to understand each other's IT requirements or the message won't
    flow.
    
    What then is
    required in the message headers to accomplish this task?  Many things, like
    persistDruation, retries, retryInterval, etc. can be given default or
    "bootstrap" values.
    
    MWS:   Yes, you could throw the entire equivalent of the CPA into the
    message
    headers but you thus guarantee that two different implementations are
    required,
    one with and one without CPAs.
    
    Even the CPAId can be given a default -- like a credit card
    number -- or the sender can pick one and the receiver continues to use it.
    So
    we come down to -- what can't be given defaults?  These are going to be
    transmission parameters such as syncReply, and parameters which may change
    per-message, like AckRequested.  These are the things we need to maintain
    in
    both the MessageHeader and the CPA (my personal opinion is that
    syncReplyMode
    should be removed from CPA).
    
    MWS:  OK, I think we more or less agree in these last two paragraphs.
    Someone
    else can comment on whether it makes implementation
    sense to dynamically change between sync and nonsync
    (or ack requested and no ack requested) for the same action. It
    makes perfect sense to define some actions as sync and others non-sync.
    Different messaging characteristics can be accounted for by defining
    different
    actions (i.e. different business transaction activities) in the BPSS spec.
    That's
    why the CPA provides for specifying a different delivery channel for each
    action.
    
    We also MUST allow ebXML-MS to work with a CPA -- which will probably be
    the
    most common case.  To do this, we agreed NOT to override CPA values with
    values
    in the MessageHeader.
    
    Regards,
    
    David Fischer
    Drummond Group.