Collaboration-Protocol Profile and Agreement Specification Armin Haller Digital Enterprise Research Institute
2 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=„ –XML Digital Signature ns: xmlns:ds=„ –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 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)
Collaboration-Protocol Profile and Agreement Specification Q & A