1 / 30

ebXML CPP/CPA

ebXML CPP/CPA. Dept of Computer Engineering Khon Kaen University. Trading Partner Information. A trading partner needs a mechanism to publish information about Business processes it supports Capabilities and Constraints for exchanging business messages

Download Presentation

ebXML CPP/CPA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ebXMLCPP/CPA Dept of Computer Engineering Khon Kaen University

  2. Trading Partner Information • A trading partner needs a mechanism to publish information about • Business processes it supports • Capabilities and Constraints for exchanging business messages • For example, a company might say that it supports purchase order business process as a seller and its capabilities might include that it supports HTTP as transport protocol • The trading partner information will be captured in the form of CPP (Collaboration Protocol Profile) 168493: XML and Web Services (II/2546)

  3. CPP (Collaboration Protocol Profile) • A CPP defines the capabilities of a Party to engage in electronic Business with other Parties • These capabilities include both • Technology capabilities: supported communication, messaging protocols, etc. • Business capabilities: what business collaboration it supports 168493: XML and Web Services (II/2546)

  4. CPP (Collaboration Protocol Profile) • The CPP is a document which allows a Trading Partner to express their supported Business Processes and message-exchanging capabilities • These message exchanging capabilities might include information on transport, messaging, and security constraints • Business partners can find each other’s CPP through ebXML registry 168493: XML and Web Services (II/2546)

  5. Why CPP? • Enable automation of business collaboration • Machine readable description • Can be published and discovered • Enable flexible implementation • Business collaboration gets specified in declarative instead of procedural fashion 168493: XML and Web Services (II/2546)

  6. Process-Specification Delivery Channels Document-Exchange Transport CPP Functional Layers Describe the processing of a unit of Business – analogous to a layered communication model 168493: XML and Web Services (II/2546)

  7. Process-Specification • The process-specification layer defines the heart of the business agreement between the parties • Parties can request CPA of each other and transition rules that determine the order of requests • This layer is defined by the separate Process-Specification document that is referenced by the CPP and CPA 168493: XML and Web Services (II/2546)

  8. Delivery Channels • A delivery channel describes a Party’s Message-receiving characteristics • It consists of one document-exchange definition and one transport definition • Several delivery channels may be defined in one CPP 168493: XML and Web Services (II/2546)

  9. Document-Exchange Layer • The document-exchange layer accepts a Business document from the Process-Specification layer at one Party • Encrypts it if specified • Adds a digital signature if specified • Passes it to the transport layer for the transmission to the other party 168493: XML and Web Services (II/2546)

  10. Transport Layer • The transport layer is responsible for Message delivery using the selected transport protocol • The selected protocol affects the choices selected for the document-exchange layer • For example, some transport-layer protocols might provide encryption and authentication while others have no such facility 168493: XML and Web Services (II/2546)

  11. CPA (Collaboration Protocol Agreement) • Derived from CPP’s of trading partners • The actual contents of CPA is basically the intersection of two or more CPP’s • Describes the capabilities that trading partners have agreed to use to perform a particular Business Collaboration • Contract between two or more trading partners • Does not dictate implementation details • It is a contract between trading partners 168493: XML and Web Services (II/2546)

  12. CPA and Runtime Environment • CPA is used by trading parties’ computing systems to set up runtime environment • For the exchange of business messages • The runtime environment is represented by ebXML message service handler which knows how to handle secure and reliable message transfer • The CPA and the Process-Specification defines a conversation between the two Parties 168493: XML and Web Services (II/2546)

  13. CPP Structure <CollaborationProtocolProfile xmlns:ds=http://www.w3.org/2000/09/xmldsig# …> <PartyInfo> <!– one or more  … </PartyInfo> <Packaging id=“ID”> <!—one or more  … </Packaging> <ds:Signature> <!– zero or one  … </ds:Signature> <Comment>…</Comment> <!– zero or more </CollaborationProtocolProfile> 168493: XML and Web Services (II/2546)

  14. CPP Structures: Top-level Elements • PartyInfo • Describes the business organization • Packaging • Describes how message handlers and payloads are configured • Digital Signature • Contains optional digital signature • Comments 168493: XML and Web Services (II/2546)

  15. CPP: PartyInfo • PartyId • Identifies the company with unique string • UCC/EAN (Universal Code Council/European Article Numbering) assigned company code or D-U-N-S (Data Universal Number System) numbers • Partyref • Points to more descriptive data about the company and use Xlink syntax • Can point to ebXMl or UDDI registry, Company website 168493: XML and Web Services (II/2546)

  16. CPP: PartyInfo • CollaborationRole • Identifies the roles that this Party can play in the context of a Process Specification • Certificate • Identifies the certificates used by this Party in security functions • DeliveryChannel • Defines the characteristics of each delivery channel that the Party can use to receive Messages 168493: XML and Web Services (II/2546)

  17. CPP: PartyInfo:CollaborationRole Example <Role certId=“N03” RoleId=“N02” name=“buyer”> <ServiceBinding xlink:type=“locator” xlink:href=“http://www.ebxml.org/services/purchasing”>Buy and Sell</ServiceBinding> </Role> <Role certId=“N03” RoleId=“N08” name=“seller”> <ServiceBinding xlink:type=“locator” xlink:href=“http://www.ebxml.org/services/purchasing”>Buy and Sell</ServiceBinding> </Role> 168493: XML and Web Services (II/2546)

  18. CPP: PartyInfo:DeliveryChannel Example <DeliveryChannel channelID=“N04” transportId=“N05” docExchangedId=“N06”> <ServiceBinding xlink:type=“locator” xlink:href=“http://www.ebxml.org/services/purchasing”>Buy and Sell</ServiceBinding> </DeliveryChannel> 168493: XML and Web Services (II/2546)

  19. CPP: PartyInfo (Continued) • Transport • Characteristics of the transport protocol(s) • Protocol, end point, security information • DocExchange • Properties of messaging services 168493: XML and Web Services (II/2546)

  20. CPP: PartyInfo: Transport Example <Transport transportid=“N05”> <Protocol version=“1.1”>HTTP</Protocol> <TransportEncoding>base64</TransportEncoding> <TransportTimeout> <Timeout>30</Timeout> <Retries>5</Retries> </TransportTimeout> <TransportSecurity> <Protocol version=“3.0”>SSL</Protocol> <CertificateRef certId=“N03”/> </TransportSecurity> </Transport> 168493: XML and Web Services (II/2546)

  21. CPP: PartyInfo: DocExchange • Message encoding • Reliable messaging properties • Only and only once • Best effort • Non-repudiation • Digital envelope • Namespace 168493: XML and Web Services (II/2546)

  22. PartyInfo: DocExchange Example <DocExchange docExchangeId=“N06”> <ebXMLBinding version=“0.9”> <ReliableMessaging deliverySemantics=“BestEffort” idempotency=“false”> … </ReliableMessaging> <NonRepudiation> … </NonRepudiation> … </DocExchange> 168493: XML and Web Services (II/2546)

  23. CPP (or CPA) and Business Process Specification • CPP captures business processes a particular business organizations supports • Business processes might have been defined by someone else • Typically CPP contains the references to the business process specifications that a business wants to support 168493: XML and Web Services (II/2546)

  24. CPP: Packaging • Define how the Message Header and payload constituent(s) are packaged • What document-level security packaging is used • Way in which security features have been applied 168493: XML and Web Services (II/2546)

  25. CPP:ds:Signature • The CPP may be digitally signed using technology that conforms with the XML Digital Signature specification 168493: XML and Web Services (II/2546)

  26. Creating CPP • Suppose that party A want to create a CPP • It first needs to describe “what Business capabilities it can perform when conducting a Business Collaboration with other parties” • It then builds a CPP with this information • Party name • Contact info • Transport Protocol • Specification document • etc. 168493: XML and Web Services (II/2546)

  27. CPP For Party A Creation of CPA from CPP’s CPA CPP For Party B negotiate negotiate CPA ID 1 2 Party’s information agree agree Agreed CPA Agreed CPA 3 3 4. Start Business activities with each other 168493: XML and Web Services (II/2546)

  28. Trading-Partner Agreement Possibilities Capabilities Agreements 168493: XML and Web Services (II/2546)

  29. CPA XML Document • Since CPA is derived from CPPs of communicating partners, the same elements of CPP such as PartyInfo, Packaging, ds:Signature are expected to be found in CPA as well • The elements that are new to CPA include Start and End elements which indicates the period in which the CPA is valid 168493: XML and Web Services (II/2546)

  30. CPA Structure <CollaborationProtocolAgreement xmlns=“http://www.ebxml.org/namespaces/tradePartner” ….> <Status value=“proposed”/> <Start>2004-04-01T09:00:00</Start> <End>2004-07-31T17:00:00</End> … <PartyInfo>…</PartyInfo> … </CollaborationProtocolAgreement> 168493: XML and Web Services (II/2546)

More Related