Collaboration-Protocol Profile and
Agreement Specification
Armin Haller
Digital Enterprise Research Institute
ebXML Overview
Collaboration Protocol Profile (CPP)
Collaboration-Protocol Agreement (CPA)
The potentials and use of an ebXML formal description
Leverage in WSMO
ebXML Overview
• ebXML is a global electronic business standard
• sponsored by
– UN/CEFACT = international body, supported by
the United Nations, that aims to simplify
international trade, notably through electronic means
– OASIS = international consortium of vendors and
users of markup languages
• first announced in September, 1999
ebXML Overview (cont’d)
• Goals
– Specifications to enable interoperability
– extend e-commerce to SMEs and emerging markets
– collaborate with other initiatives and standards
development organizations
– building on the experience and strengths of existing
EDI knowledge
ebXML Overview (cont’d)
• Infrastructure elements
ebXML Messaging Service specification (ebMS)
Registry & Repository
Trading Partner Information
Business Process Specification Schema
ebXML Overview (cont’d) Infrastructure elements
• ebXML Messaging Service specification (ebMS)
– extends the SOAP specification
– can be used independently of other ebXML
– defines both a message format and the behavior of
software that exchanges ebXML messages
ebXML Overview (cont’d) Infrastructure elements
• Registry & Repository
serves as a central repository
Repository stores data
Registry is where users can query & retrieve data
ebXML Registry architecture is based on a clientserver architecture
ebXML Overview (cont’d) Infrastructure elements
• Business Process Specification Schema (BPSS)
– provides a standard framework to describe a
business process in an XML document
– modeled in UML and converted to XML
– does not specify the structure of Busines documents
– supports the specification of Business Transactions
and the choreography of Business Transactions into
Business Collaborations
ebXML Overview (cont’d) Infrastructure elements
• Trading Partner Information
– specifies the technical details of how to do ebusiness
– Collaboration Protocol Profile (CPP)
– Collaboration Protocol Agreement (CPA)
Collaboration Protocol Profile (CPP)
• Formal description file that defines a party’s
message exchange capabilities and the Business
Collaboration that it supports
• written in XML, fairly long
• possible to create multiple CPPs
• Can be stored in the ebXML Registry
Collaboration Protocol Profile (CPP)
• The CPP contains:
Collaboration Protocol Profile (CPP)
(cont’d) - CollaborationProtocolProfile
• Rootelement of the document
• Includes as usual the namespace declarations
• Three mandatory
– Default ns:
– XML Digital Signature ns:
– XLINK ns: xmlns:xlink=„
Collaboration Protocol Profile (CPP)
(cont’d) - PartyInfo
• General information about the organization
• more than one partyInfo element possible
• the PartyInfo element consists of 7 child elements:
PartyId element
CollaborationRole element
Certificate element
DeliveryChannel element
Transport element
DocExchange element
PartyRef element
Collaboration Protocol Profile (CPP)
(cont’d) - Packaging
• Includes information how the message header
and the payload constituents are packaged for
• Information what document-security packaging
is used
• Include three child elements
– Required ProcessingCapabilites Elemet
– Required SimplePart Element
– Optional CompositeList Element
Collaboration Protocol Profile (CPP)
(cont’d) - Signature
• CPP can be digitally signed using technology
that conforms with XML Digital Signature
• Constraints on ds:Signatures
– CPP must be considered invalid if any ds:Signature
element fails validation as defined by XML Digital
– If CPP is signed, each ds:Reference element must
pass reference validation and each ds:Signature must
pass core validation
Collaboration Protocol Profile (CPP)
(cont’d) - Comments
• Optional element for textual notes
• Multiple comments are possible
Collaboration Protocol Agreement
• Defines the capabilities that two Parties must agree
upon to enable them to engage in electronic Business
• Can be seen as interserction between the CPPs of two
• After agreeing on one CPA two organizations have
identical CPA
• Used to customize their particular systems
• CPAs can be stored in ebXML registry like the CPPs
Collaboration Protocol Agreement
(CPA) (cont’d)
• Structure of CPA is similar to CPP, consists of:
CPA Lifetime
Signature (identical to CPP element)
Comment (identical to CPP element)
Collaboration Protocol Agreement
(CPA) (cont’d) - Status
• Has a required value attribute recording the
current state of composition of CPA
• Possible values:
– Proposed
– Agreed
– Signed
Collaboration Protocol Agreement
(CPA) (cont’d) - CPA Lifetime
• The lifetime of the CPA is given by Start and
End elements
• Start element specifies the starting date and time
of the CPA
• End element specifies the ending date and time
of the CPA
• Both should conform to the content model of a
canonical timeInstant as defined in the XML
Schema Datatypes Specification
Collaboration Protocol Agreement (CPA)
(cont’d) - ConversationConstraints
• Element places limits on the number of
conversations under the CPA
• Two attributes:
– invocationLimit
– concurrentConversations
Collaboration Protocol Agreement (CPA)
(cont’d) - ParyInfo
• Similar to CPP PartyInfo
• Only difference, two PartyInfo elements, one for
each organization
The potentials and use of an ebXML
formal description
• suffices to look up the commonalities in the two
• software has found a match and it can configure
itself for HTTP
• if CPP are incompatible (e.g. one party uses only
ftp, the other only http), two parties cannot
establish an electronic relationship
Leverage in WSMO
• ebXML addresses more general issues
– in WSMO one web service is an operation of a
WSDL file
– in ebXML everything accessible through any
possible network can be described in CPP
• definition of protocols, channels etc. are required
• other elements are part of WSMO capabilities description
• other elements would be part of choreography
description in WSMO? (CollaborationRole)
Collaboration-Protocol Profile and
Agreement Specification

Collaboration-Protocol Profile and Agreement Specification