250 likes | 443 Views
Collaboration-Protocol Profile and Agreement Specification. http://www.ebxml.org/specs/ebCCP.pdf Armin Haller Digital Enterprise Research Institute armin.haller@deri.org. Outline. ebXML Overview Collaboration Protocol Profile (CPP) Collaboration-Protocol Agreement (CPA)
E N D
Collaboration-Protocol Profile and Agreement Specification http://www.ebxml.org/specs/ebCCP.pdf Armin Haller Digital Enterprise Research Institute armin.haller@deri.org
Outline • ebXML Overview • Collaboration Protocol Profile (CPP) • Collaboration-Protocol Agreement (CPA) • The potentials and use of an ebXML formal description • Leverage in WSMO armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
ebXML Overview (cont’d) • Infrastructure elements • ebXML Messaging Service specification (ebMS) • Registry & Repository • Trading Partner Information • Business Process Specification Schema armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
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) armin.haller@deri.org
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 armin.haller@deri.org
Collaboration Protocol Profile (CPP) (cont’d) • The CPP contains: • CollaborationProtocolProfile • PartyInfo • Packaging • Signature • Comment armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
Collaboration Protocol Profile (CPP) (cont’d) - Comments • Optional element for textual notes • Multiple comments are possible armin.haller@deri.org
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 armin.haller@deri.org
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) armin.haller@deri.org
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 armin.haller@deri.org
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 armin.haller@deri.org
Collaboration Protocol Agreement (CPA) (cont’d) - ConversationConstraints • Element places limits on the number of conversations under the CPA • Two attributes: • invocationLimit • concurrentConversations armin.haller@deri.org
Collaboration Protocol Agreement (CPA) (cont’d) - ParyInfo • Similar to CPP PartyInfo • Only difference, two PartyInfo elements, one for each organization armin.haller@deri.org
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 armin.haller@deri.org
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) armin.haller@deri.org
Collaboration-Protocol Profile and Agreement Specification Q & A