OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-poc message

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

Subject: Re: Negotiation problem


Thanks for bringing up this excellent point. It has been on my mind for some

time as well. IMHO, it deserves the attention of several ebXML project teams

and is possibly a broader TA issue. I will try and summarize my thoughts on
the issue below.

What we did in the Tokyo POC for this problem was a kludge. A special
(custom) business process that was implemented by both initiator and
responder, called the CPANegotiationProcess. The CPANegotiationProcess
allows the initiator to create a unilateral CPA and propose it to the
responder. The responder would then either accept or veto the proposed CPA.
If accepted the unilateral (proposed) CPA became a bilateral CPA and the
parties could now engage in exchanges based on the shared CPA.

Obviously the above is a kludge as there are no guaranties that the
responder implements the custom process. Some ways we could deal with this
problem in an architected way are suggested below:

1. ebXML specify a CPANegotiationProcess that is required to be implemented
by all parties. This could be defined in collaboration between TP and BP

2. ebXML specify a more generic publish/subscribe service that can be the
basis for a generic event notification mechanism. ebXML then defines some
standard event, one of which is a CPAProposal event.
Initiator could publish a CPAProposal event and responders could subscribe
to a CPAProposal event. The CPAProposal event only goes to the appropriate
subscriber(s). Similarly the responder published CPAAccepted/CPARejected
events while initiators subscribe to CPAAccepted/CPARejected events.

I personally like the 2nd approach better as it solves more than just the
CPANegotiationProcess issue. The same publish/subscribe mechanism can be
used to support many other types of event notification needs as well as
allow for brokered, loosely coupled, many-to-many B2B exchanges.


Michael Joya wrote:

>    I'm having a little bit of trouble visualizing Collaboration Protocol
> Agreement negotiation. The following is a depiction of a CPA negotiation
> and an impass I have reached while implementing. Please feel free to
> correct me on any of this or provide your own personal view. It's a
> fuzzy construction of a scenario, but I think the main points are valid.
>    I understand that a CPA is made up from N number of CPP documents,
> usually two. The schema for the CPA is static, although it can be
> templated from another document that lies outside of the ebxml scope,
> commonly known as a business process document. So the runtime
> transformation we have is:
> cpaDoc := constructCpaUsingMyBPSchema(bpDoc, cpp1Doc, cpp2Doc)
>    Ignoring details such as core component alignment, (which itself
> carries a heavy implementation load!) our newly formed CPA document
> becomes the basis of communications between two parties with a shared
> interest in participating in a known, public business process.
>    Let's analyze what's required to happen in real life before two
> parties engage in that business process. I'll call the two parties
> Initiator and Respondant from here on.
> --
>    Respondant takes a BP document and her business's CPP and puts them
> in a public place. This can be a web site, distribution CD, FTP site, or
> even via a public ebXML registry - using the recently inducted bootstrap
> CPA. The proprietary BP document allows some kind of parameterization to
> take place over the creation of the CPA document. The BP could even be a
> textual or UML representation of what message must be sent to who, and
> in what order, and so on.
>    Initiator finds said BP and CPP documents and decides to do business
> (discovers the Respondant?). Before an ebXML message is sent off, the
> initiator needs to have formed a CPA, and its corresponding CPAId.
> Knowning his own CPP, having the Respondant's on hand, and having a
> BP document to use as an aide, the Initiator magically puts the pieces
> of the puzzle together and forms the CPA.
>    The Initiator now has what is required to send off his first message.
> But wait! The CPA agreement magically created by the Initiator must also
> be exist in the Respondant's possession! Three possibilities exist -
> Either the Initiator submits this CPA to the Respondant's registry via
> the bootstrap protocol
>   OR
> The Respondant must calculate the exact same CPA as her potential
> client.
>   OR
> The Initiator sends the requested CPA to a human Respondant agent for
> manual trust validation. (By phone, etc)
> .....
> --
>    The problem is that neither of these modes of operation is terribly
> viable. I didn't believe it myself until I tried enumerating them in an
> implementation. Let's delve further:
>   - Option one forebodes authentication. There's no way for the
> Respondant to assure herself that the initiator is really Boeing,
> Coca-Cola, or XML Global; not having established a CPA in the first
> place, she has no frame of reference by which to trust the Initiator. It
> looks to me as though this option REQUIRES that third party trust
> intervene. If so, why is there no specified model for this?
>  - Option two would be desirable, but unfortunately ebXML specifications
> can't dictate any form of implementation. I think this restriction
> borders on silly; but since we're all abiding by the rules, this option
> can't be enforced in a specification. Not to mention that the
> transformation may be parameterized by use of a proprietary BP document.
>   - Option three defeats the purpose of an automatic messaging
> & discovery system altogether. However, if we all agree that a human
> operator should play a part in the negotiation of an ebXML CPA, I'm sure
> that as vendors and implementors, we could make this option come to
> life. But should we?
>    Have I err'd here? Since most of our POC demonstrations take place in
> a vacuum and under "cradled" circumstances, we don't run into
> negotiation problems very frequently. Has anyone else had similar
> trouble implementing negotiation?
>    Any and all feedback welcome.
> --
> // Michael Joya
> // XML Global Research and Development
> // 1818 Cornwall Ave. Suite 9
> // Vancouver, Canada
> // 604-717-1100x230


org:Sun Microsystems;Java Software
adr:;;1 Network Dr. MS BUR02-302;Burlington;MA;01803-0902;USA
fn:Farrukh Najmi

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

Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC