1/30/2002 Negotiation Meeting Minutes

Attendees

Arvola Chan

Brian Hayes

Kevin Liu

Dale Moberg

Himagiri(Hima) Mukkamala

Marty Sachs

Yukinori Saito

Jean Zheng

Neelakantan Kartha (call-in)

Marc Gratacos (student from UC Berkeley)

Heiko is absent and Marty will project Heiko’s slides regarding CPA negotiation pattern.

Minutes

Administrative Matters:

- It is agreed that further Conference call is 3-4 EST.

- It is agreed to put minutes on the web site. Minute-taker can directly post the minutes once the ftp channel is set up. (userid/password etc.)

Preliminary Agenda:

- Required doc

- Further discussion as needed

- Agree on correction to process figure

- Ask for agreement that requirements process is completed

- ebXML ecommerce partterns tech report

- section on automated contract formation patterns Heigko

- Duan Nickull negotiation proposal - kartha

Marty made a brief summary regarding CPPA and negotiation: each party registers a copy of CPP that contains actual parameters for execution. An intersection of the two CPPs are decided during negotiation process. A CPA is the output result.

Glossary:

NDD: negotiation data descriptor, NDD can points to a CPP.

NCPA: negotiation CPA

Kevin’s diagram shows the overview: CPP discovery box is a decision box, if a CPP is found, then goes to the middle diamond in the middle, else go to the left diamond. Kevin sent out the corrected diagram during this meeting.

Next we go through the most recent changes made to the requirement document:

  1. Either party can propose a CPA template. Deal with race condition at run time.
  2. NDD formation : NDD formation is out of scope, NDD schema is a key component of this spec.
  3. Deliverables List contains the following new additions:
    1. Line 520-527
    2. Line 532-533

Kevin and Marty’s discussion regarding the discovery process: Find a partner, look at its CPP, and its NDD? Shouldn’t CPP has a pointer to its NDD(which in term states the existence or not of a cpa template)? Or should we rely on the registry to place the NDD and CPP together? Need to address this in our spec. Conclusion regarding this discussion, we will likely leave the option open for a party to register its NDD together with its CPP. Whether the CPP will have an actual pointer to the NDD is up for future discussion.

Hima’s question on NCPA: will SOAP binding replace the NCPA process?

Marty: SOAP binding will imply a soap binding in the NCPA that replaces the ebxml binding.

Arvola: vanilla SOAP has no security (authentication, etc)?

Dale: CPP and CPA are signed and transport security can use SSL. But no authentication is provided in SOAP.

Hima: purpose of SOAP binding

Dale: a lightweight bootstrapping way of doing negotionation. No security, no reliable messaging, no signing…

Kevin: Why not combining NCPA and NDD?

Marty: It may be a future discussion item to embed CPA Template in NDD

Hima: how about replace NCPA with a WSDL service, since there are only a few NCPA instances? (Notes by Jean, did we reach a conclusion on this item? I missed it)

We will vote on the negotiation requirement document after Marty made the changes we have discussed (see above).

Marty will also turn Chapter 3 into a separate document that contains a list of items that is needed in the negotiation process.

Heiko’s Slides regarding ecommerce pattern (Marty will post this to listserver):

Objective:

Proposed simple process contains:

Query/Response/RejectInquiry – Proposal/RejectProposal – Offer/Acceptance/Rejection – Contract

Side discussion:

Dale: only converging process makes sense otherwise the negotiation process falls in an infinite loop.

Marty: There are also various degree of rejections. Level one: too far off, level two: no convergence/going no where due to too many times of the same proposal received, etc. etc..

Possible Use for us (CPPA-negot)

Going Forward/Task assignment:

(The following highlighted tasks are identified by Marty as the ones we should work on first)

Deliverables:

Spec of negotiation process:

Definition of negotiation verbs – requesting business activity, offer, counteroffer, accept, reject, etc. – Responsible: Brian

Message envelope structure

Message schema – content of messages – Responsible: Jean (Opening dialog, offer, counter offer msgs, we’re done, we’ve failed).

Autonegotiation BPSS instance document (choreography) – model high level negotiation in UML – Responsible: Brian

NDD schema – content of NDD - Kartha

Sample NCPA

Sample NDD

SOAP binding for using vanilla SOAP for message exchange

Possible additions or revisions of appendix on composition of a CPA from two cpps

Tutorial

Best-practice

 

Dale:

Example of a possible verb: Your NDD is outbound based on my NDD.

Can CounterProposal contain a revised NDD based on the other party’s NDD comes in with the Proposal?

Marty: NDDs are exchanged during initial exchange. So both parties will have the other party’s NDD.

Dale: can we turn NDD into a state indicator? For convergence tracker?

Marty: It might be better to keep the state information in the message. Keep NDD static.

Don’t want CPP has a pointer to NDD, cuz one party might have different NDD for different partners.

Allow NDD to be registered with public registry. It may or may not be there. IF a party uses the same NDD for all parties, then it could be registered publicly. Interested party can obtain your NDD during initial negotiation as described below:

Discover CPP, form a preliminary CPA, attach my NDd, send the proposal to the other party. The other party decides whether to accept the negotionation or the CPA. If the other party decides to negotiate, send me the other party’s NDD. After that, there shouldn’t be any changes allowed to the initial NDD throughout the negotiation process(for version 1 of Negotiation spec).

Kartha gave a list of upcoming major tasks:

Define NDD – it evolves as CPP evolves

Define bpss

Define NCPA and how to define it.

Kartha discusses Duane Nickel’s proposal:

Good starting point for BPSS instance definition

Good idea: timeout during the negotiation process

Continue with future tasks:

Marty: bullet list contents of NDD and Message

Hima: does draft CPA needs to be exchanged throughout the process?

Marty: should exchange parameters instead of the actual CPA doc. Each party should indicate, in the message, the current parameter that is negotiating.

Hima: there is no need to have an initial draft of a CPA.

Marty: if the negotiation tool is centrally located, then there is no need for an initial draft of a CPA. If it is distributed, then there should be an initial draft.

Kevin: If I discovered a party’s CPP, without an initial CPA, the other party won’t have my CPP. Sending the other party my CPP instead of a draft CPA is one more step. So it might be better to send in the initial CPA. Subsequent message can reference to this draft, its actual content changes based on each round of msg exchange.

Marty: It is possible both parties compose the initial CPA and send it to each other simultaneously. The negotiation tool shall be able to handle this potential race condition.

Also, having initial CPA draft can avoid idref collision.

Notes for Message Contents: Message should contain a verb + a running list of items to negotiate, a list for items to negotiate for current transaction. Classpath has limitations cuz all nodes referenced in the message must be unique, while not all nodes have idref. What if one party wants to replace an entire node of the CPA?

No call on Feb.13, 2002