Collaboration-Protocol Profile and Agreement Specification Armin Haller Digital Enterprise Research...
-
Upload
derrick-wolven -
Category
Documents
-
view
214 -
download
0
Transcript of Collaboration-Protocol Profile and Agreement Specification Armin Haller Digital Enterprise Research...
Collaboration-Protocol Profile and Agreement
Specificationhttp://www.ebxml.org/specs/
ebCCP.pdf
Armin HallerDigital Enterprise Research Institute
Outline
• 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 specifications– 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 client-server 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 e-business– 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) (cont’d)
• The CPP contains:– CollaborationProtocolProfile– PartyInfo– Packaging– Signature– Comment
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
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 transmittal
• 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 Signature
– 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 (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
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)
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 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
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)