Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Enable real-world trading partner collaborations in SOA

An introduction to the ebXML Collaboration Protocol Profile and Agreement standard

  • Print
  • Feedback

Page 3 of 6

As shown in Figure 2, the Status, Start, End, ConversationConstraints, PartyInfo, and Signature elements are the key elements that define the capabilities that two trading partners need to agree upon so they can engage in electronic business for the purposes of the particular CPA. The Status element records the state of the composition/negotiation process that creates the CPA. The Start element specifies the starting date and time of the CPA. The End element specifies the CPA's ending date and time. The ConversationConstraints element places limits on the number of conversations under the CPA. The PartyInfo element specifies the parties' selected terms for engaging in the business collaborations defined by the process specification documents referenced by the CPA. The Signature element, if present, is made up of one to three Signature elements.

The CPA can be signed by one or both trading partners, but both signatures are recommended. To obtain signatures for both trading partners, one trading partner initially signs, after which the other trading partner then signs over the first trading partner's signature. The resulting CPA may then be signed by a notary. The Signature element is the root of a subtree of elements used for signing the CPP.

Figure 2. The XML elements in Collaboration Protocol Agreement. Click on thumbnail to view full-sized image.

In this article, we provide only a brief overview of the CPA's key elements, as shown in Table 2.

Table 2: CPA key elements

<CollaborationProtocolAgreement> The root element of the CPA XML document. The cpaid attribute acts as the CPA document's unique identifier.
<Status> Defines the state of composition/negotiation process that creates the CPA. Different available states are proposed, agreed upon, and signed.
<Start> Defines the CPA's starting date and time.
<End> Defines the CPA's ending date and time.
<ConversationConstraints> Defines the limit of conversations under the CPA.
<PartyInfo> Defines one PartyInfo element for each e-trading partner.
<SimplePart> Defines the MIME content type values.
<Packaging> Defines one or more Packaging elements.
<Signature> Defines the signature element, which is used for signing the CPA, conforming to the XML Digital Signature specification (XMLDSIG).

ebXML CPPA in a runtime environment



As shown in Figure 3, Trading Partner A creates the information to be placed in a repository for the discovery process, constructs a CPP that contains this information, and then enters it into an ebXML registry or similar repository along with additional information about the trading partner. The additional information might well include a description of the businesses that the trading partner engages in. Once Trading Partner A's information is in the repository, other trading partners can discover Trading Partner A by using the repository's discovery services. Trading Partner A and Trading Partner B can then use their CPPs to jointly construct a single copy of a CPA by calculating the intersection of the information in their CPPs. The resulting CPA defines how the two trading partners will interact in their business collaboration.

  • Print
  • Feedback

Resources