Cristiano Novelli

ebXML Collaboration Protocol (CPPA)

Versione Italiana

The ebXML Collaboration Protocol Profile and Agreement (CPP and CPA) OASIS Standard provides definitions for the sets of information used in business collaborations. One set of information (the Profile) contains data about the business partners' technical capabilities to engage in electronic business collaborations with other partners. The second set of information (the Agreement) contains data that has been agreed to configure the public, shared aspects of the exchange protocols used in the business collaboration.

Enterprises define their ebXML CPP profiles to describe the details of each business collaboration that they can support and execute. The CPP is created by each enterprise and it must be validated with related ebXML Schema. A CPP profile describes:
  • Party Information;
  • Information related the supported ebBPs;
  • Channel(s), to send and receive documents;
  • Security parameters;
  • Document envelope packaging.

Each CPP refers to one o more ebBP by URI. Enterprises A and B come to an agreement on business collaboration. The agreement is the result of a matching process on two CPP and it is formally represented in an ebXML CPA (Collaboration Protocol Agreement). The relationship between CPA and Process-Specification Document is same for CPP. That is, some URI under the ProcessSpecification element and the Role element points to suitable position of ebBP. The CPA contains all the features of the information exchange; it can be used, for example, like a configuration file for ebXML Business Service Interface software (enterprise front-end).

The following section is part of CPPA specifications.

A Party MAY describe itself in a single CPP. A Party MAY create multiple CPPs that describe, for example, different Business Collaborations that it supports, its operations in different regions of the world, or different parts of its organization.
To enable Parties wishing to do Business to find other Parties that are suitable Business Partners, CPPs MAY be stored in a repository such as is provided by the ebXML Registry [ebRS]. Using a discovery process provided as part of the specifications of a repository, a Party MAY then use the facilities of the repository to find Business Partners.
The document that defines the interactions between two Parties is a Process-Specification document that MAY conform to the ebXML Business Process Specification Schema [ebBP201]. The CPP and CPA include references to this Process-Specification document. The Process-Specification document MAY be stored in a repository such as the ebXML Registry.
The CPPA specification defines the markup language vocabulary for creating electronic CPPs and CPAs. CPPs and CPAs are XML documents.
The CPP describes the capabilities of an individual Party.
A CPA describes the capabilities that two Parties have agreed to use to perform particular Business Collaboration .
These CPAs define the "information technology terms and conditions" that enable Business documents to be electronically interchanged between Parties. The information content of a CPA is similar to the information-technology specifications sometimes included in Electronic Data Interchange (EDI) Trading Partner Agreements (TPAs). However, these CPAs are not paper documents. Rather, they are electronic documents that can be processed by computers at the Parties' sites in order to set up and then execute the desired Business information exchanges.
An enterprise MAY choose to represent itself as multiple Parties. For example, it might represent a central office supply procurement organization and a manufacturing supplies procurement organization as separate Parties. The enterprise MAY then construct a CPP that includes all of its units that are represented as separate Parties.
A CPP defines the capabilities of a Party to engage in electronic Business with other Parties. These capabilities include both technology capabilities, such as supported communication and messaging protocols, and Business capabilities in terms of what Business Collaborations it supports.
The CPP specification defines and discusses the details in the CPP in terms of the individual XML elements. The ProcessSpecification, DeliveryChannel , DocExchange , and Transport elements of the CPP describe the processing of a unit of Business (conversation). These elements form a layered structure somewhat analogous to a layered communication model.
Process-Specification layer - The Process-Specification layer defines the heart of the Business agreement between the Parties: the services (Business Transactions) which Parties to the CPA can request of each other and transition rules that determine the order of requests. This layer is defined by the separate Process-Specification document that is referenced by the CPP and CPA.
Delivery Channels - A delivery channel describes a Party's Message-receiving and Message-sending characteristics. It consists of one document-exchange definition and one transport definition. Several delivery channels MAY be defined in one CPP.
Document-Exchange Layer - The Document-exchange layer specifies processing of the business documents by the Message-exchange function. Properties specified include encryption, digital signature, and reliable-messaging characteristics. The options selected for the Document-exchange layer are complementary to those selected for the transport layer. For example, if Message security is desired and the selected transport protocol does not provide Message encryption and then Message encryption MUST be specified in the Document-exchange layer. The protocol for exchanging Messages between two Parties is defined by the ebXML Message Service specification [ebMS] or other similar messaging services.
Transport layer - The transport layer identifies the transport protocol to be used in sending messages through the network and defines the endpoint addresses, along with various other properties of the transport protocol. Choices of properties in the transport layer are complementary to those in the document-exchange layer (see "Document-Exchange Layer" directly above.)
Note that the functional layers encompassed by the CPP are independent of the contents of the payload of the Business documents.
A Collaboration-Protocol Agreement (CPA) defines the capabilities that two Parties need to agree upon to enable them to engage in electronic Business for the purposes of the particular CPA.
Most of the XML elements used into CPA are the same of CPP.

CPPA XML Schema (v2.1)
CPPA XML Schema (v3.X)

- ebBP
- ebMS