Collaboration-Protocol Profile and Agreement Specification Armin Haller Digital Enterprise Research...

25
Collaboration-Protocol Profile and Agreement Specification http://www.ebxml.org/specs/ ebCCP.pdf Armin Haller Digital Enterprise Research Institute [email protected]

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

[email protected]

[email protected] 2

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] 3

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] 4

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] 5

ebXML Overview (cont’d)

• Infrastructure elements– ebXML Messaging Service specification

(ebMS)– Registry & Repository– Trading Partner Information– Business Process Specification Schema

[email protected] 6

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] 7

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

[email protected] 8

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] 9

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)

[email protected] 10

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] 11

Collaboration Protocol Profile (CPP) (cont’d)

• The CPP contains:– CollaborationProtocolProfile– PartyInfo– Packaging– Signature– Comment

[email protected] 12

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] 13

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] 14

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] 15

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] 16

Collaboration Protocol Profile (CPP) (cont’d) - Comments

• Optional element for textual notes• Multiple comments are possible

[email protected] 17

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] 18

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] 19

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] 20

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] 21

Collaboration Protocol Agreement (CPA) (cont’d) - ConversationConstraints

• Element places limits on the number of conversations under the CPA

• Two attributes:– invocationLimit– concurrentConversations

[email protected] 22

Collaboration Protocol Agreement (CPA) (cont’d) -

ParyInfo• Similar to CPP PartyInfo• Only difference, two PartyInfo

elements, one for each organization

[email protected] 23

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] 24

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

SpecificationQ & A