Collaboration-Protocol Profile and
Agreement Specification
http://www.ebxml.org/specs/ebCCP.pdf
Armin Haller
Digital Enterprise Research Institute
[email protected]
Outline
•
•
•
•
•
ebXML Overview
Collaboration Protocol Profile (CPP)
Collaboration-Protocol Agreement (CPA)
The potentials and use of an ebXML formal description
Leverage in WSMO
[email protected]
2
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
[email protected]
3
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
[email protected]
4
ebXML Overview (cont’d)
• Infrastructure elements
–
–
–
–
ebXML Messaging Service specification (ebMS)
Registry & Repository
Trading Partner Information
Business Process Specification Schema
[email protected]
5
ebXML Overview (cont’d) Infrastructure elements
• ebXML Messaging Service specification (ebMS)
– extends the SOAP specification
– can be used independently of other ebXML
specifications
– defines both a message format and the behavior of
software that exchanges ebXML messages
[email protected]
6
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
[email protected]
7
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
[email protected]
8
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)
[email protected]
9
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
[email protected]
10
Collaboration Protocol Profile (CPP)
(cont’d)
• The CPP contains:
–
–
–
–
–
CollaborationProtocolProfile
PartyInfo
Packaging
Signature
Comment
[email protected]
11
Collaboration Protocol Profile (CPP)
(cont’d) - CollaborationProtocolProfile
• Rootelement of the document
• Includes as usual the namespace declarations
• Three mandatory
– Default ns:
xmlns=„http://www.ebxml.org/namespaces/tradePartner“
– XML Digital Signature ns:
xmlns:ds=„http://www.w3.org/2000/09/xmldsig#“
– XLINK ns: xmlns:xlink=„http://www.w3.org/1999/xlink
[email protected]
12
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
[email protected]
13
Collaboration Protocol Profile (CPP)
(cont’d) - Packaging
• Includes information how the message header
and the payload constituents are packaged for
transmittal
• Information what document-security packaging
is used
• Include three child elements
– Required ProcessingCapabilites Elemet
– Required SimplePart Element
– Optional CompositeList Element
[email protected]
14
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
Signature
– If CPP is signed, each ds:Reference element must
pass reference validation and each ds:Signature must
pass core validation
[email protected]
15
Collaboration Protocol Profile (CPP)
(cont’d) - Comments
• Optional element for textual notes
• Multiple comments are possible
[email protected]
16
Collaboration Protocol Agreement
(CPA)
• 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
organizations
• 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
[email protected]
17
Collaboration Protocol Agreement
(CPA) (cont’d)
• Structure of CPA is similar to CPP, consists of:
–
–
–
–
–
–
Status
CPA Lifetime
ConversationConstraints
PartyInfo
Signature (identical to CPP element)
Comment (identical to CPP element)
[email protected]
18
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
[email protected]
19
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
[email protected]
20
Collaboration Protocol Agreement (CPA)
(cont’d) - ConversationConstraints
• Element places limits on the number of
conversations under the CPA
• Two attributes:
– invocationLimit
– concurrentConversations
[email protected]
21
Collaboration Protocol Agreement (CPA)
(cont’d) - ParyInfo
• Similar to CPP PartyInfo
• Only difference, two PartyInfo elements, one for
each organization
[email protected]
22
The potentials and use of an ebXML
formal description
• suffices to look up the commonalities in the two
CPP
• 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
[email protected]
23
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
(PartyInfo)
• other elements would be part of choreography
description in WSMO? (CollaborationRole)
[email protected]
24
Collaboration-Protocol Profile and
Agreement Specification
Q&A
Descargar

Collaboration-Protocol Profile and Agreement Specification