Tiven Wang
Wang Tiven April 23, 2018
425 favorite favorites
bookmark bookmark
share share
  • Business Partner an entity that engages in Business Transactions with another Business Partner(s).
  • Collaboration-Protocol Profile (CPP) The Message-exchange capabilities of a Party
  • Collaboration-Protocol Agreement (CPA) The Message-exchange agreement between two Parties

A CPA MAY be created by computing the intersection of the two Partners’ CPPs. Included in the CPP and CPA are details of transport, messaging, security constraints, and bindings to a Business-Process-Specification (or, for short, Process-Specification) document that contains the definition of the interactions between the two Parties while engaging in a specified electronic Business Collaboration.

A Party use repository to find Business Partners (other Parties).

A CPP includes many PartyInfo elements (Parties) each of which contains a reference to one Process-Specification document.

A Process-Specification document identifies the Business Collaborations that a Party can perform.

CPPs and CPAs are [XML] documents.

The CPP describes the capabilities of an individual Party. A CPA describes the capabilities that two Parties have agreed to use to perform particular Business Collaborations.

An enterprise MAY choose to represent itself as multiple Parties.

Client and Server are software counterparts, Requester and Responder are business counterparts, and Sender and Receiver are messaging counterparts.

Image: Overview of Working Architecture of CPP/CPA with ebXML Registry

CPA Template

Image: The actual exchange of business transactions

CPP

<tp:CollaborationProtocolProfile xmlns:tp="http://www.oasis-open.org/committees/ebxmlcppa/schema/cpp-cpa-2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxmlcppa/schema/cpp-cpa-2_0.xsd http://www.oasis-open.org/committees/ebxmlcppa/schema/cpp-cpa-2_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" tp:cppid="uri:companyA-cpp" tp:version="2_0b">
  <tp:PartyInfo> <!-- one or more -->
  ...
  </tp:PartyInfo>
  <tp:SimplePart id="..."> <!-- one or more -->
  ...
  </tp:SimplePart>
  <tp:Packaging id="..."> <!-- one or more -->
  ...
  </tp:Packaging>
  <tp:Signature> <!-- zero or one -->
  ...
  </tp:Signature>
  <tp:Comment>text</tp:Comment> <!-- zero or more -->
</tp:CollaborationProtocolProfile>

PartyInfo

The PartyInfo element identifies the organization whose capabilities are described in this CPP and includes all the details about this Party.

<tp:PartyInfo tp:partyName="..." tp:defaultMshChannelId="..." tp:defaultMshPackageId="...">
  <tp:PartyId tp:type="..."> <!-- one or more -->
    ...
  </tp:PartyId>
  <tp:PartyRef xlink:href="..."/>
  <tp:CollaborationRole> <!-- one or more -->
    ...
  </tp:CollaborationRole>
  <tp:Certificate> <!-- one or more -->
    ...
  </tp:Certificate>
  <tp:SecurityDetails> <!-- one or more -->
    ...
  </tp:SecurityDetails>
  <tp:DeliveryChannel> <!-- one or more -->
    ...
  </tp:DeliveryChannel>
  <tp:Transport> <!-- one or more -->
    ...
  </tp:Transport>
  <tp:DocExchange> <!-- one or more -->
    ...
  </tp:DocExchange>
  <tp:OverrideMshActionBinding> <!-- zero or more -->
    ...
  </tp:OverrideMshActionBinding>
</tp:PartyInfo>

The defaultMshChannelId attribute identifies the default DeliveryChannel to be used for sending standalone Message Service Handler[ebMS] level messages (i.e., Acknowledgment, Error, StatusRequest, StatusResponse, Ping, Pong) that are to be delivered asynchronously.

CPA

A Collaboration-Protocol Agreement (CPA) defines the capabilities that two Parties need to agree upon to enable them to engage in electronic Business for the purposes of the particular CPA.

<CollaborationProtocolAgreement xmlns:tp="http://www.oasis-open.org/committees/ebxmlcppa/schema/cpp-cpa-2_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" tp:cpaid="YoursAndMyCPA" tp:version="2.0a">
  <tp:Status tp:value="proposed"/>
  <tp:Start>1988-04-07T18:39:09</Start>
  <tp:End>1990-04-07T18:40:00</End>
  <!-- ConversationConstraints MAY appear 0 or 1 time -->
  <tp:ConversationConstraints tp:invocationLimit="100" tp:concurrentConversations="4"/>
  <tp:PartyInfo>
    ...
  </tp:PartyInfo>
  <tp:PartyInfo>
    ...
  </tp:PartyInfo>
  <tp:SimplePart tp:id="..."> <!-- one or more -->
    ...
  </tp:SimplePart>
  <tp:Packaging tp:id="..."> <!-- one or more -->
    ...
  </tp:Packaging>
  <tp:Signature> <!-- zero or one time -->
    ...
  </tp:Signature>
  <tp:Comment xml:lang="en-GB">any text</Comment> <!-- zero or more -->
</tp:CollaborationProtocolAgreement>

ebXML Message Service (ebMS)

Message

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd">
  <SOAP-ENV:Header>
    <eb:MessageHeader xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" SOAP-ENV:mustUnderstand="1" eb:id="20021209133003285">
      <eb:From>
        <eb:PartyId>FI1120921800010210</eb:PartyId>
        <eb:Role>Sender</eb:Role>
      </eb:From>
      <eb:From>
        <eb:PartyId>NDEAFIHH</eb:PartyId>
        <eb:Role>Intermediator</eb:Role>
      </eb:From>
      <eb:To>
        <eb:PartyId>003717655142</eb:PartyId>
        <eb:Role>Receiver</eb:Role>
      </eb:To>
      <eb:To>
        <eb:PartyId>003703575029</eb:PartyId>
        <eb:Role>Intermediator</eb:Role>
      </eb:To>
      <eb:CPAId>yoursandmycpa</eb:CPAId>
      <eb:ConversationId></eb:ConversationId>
      <eb:Service>Routing</eb:Service>
      <eb:Action>ProcessInvoice</eb:Action>
      <eb:MessageData>
        <eb:MessageId>20060829-0105151141</eb:MessageId>
        <eb:Timestamp>2006-08-29T11:07:39+02</eb:Timestamp>
        <eb:RefToMessageId></eb:RefToMessageId>
      </eb:MessageData>
    </eb:MessageHeader>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <eb:Manifest eb:id="Manifest" eb:version="2.0">
      <eb:Reference eb:id="Finvoice" xlink:href="20060829-0105151141">
        <eb:schema eb:location="http://www.pankkiyhdistys.fi/verkkolasku/finvoice/finvoice.xsd" eb:version="2.0"/>
      </eb:Reference>
    </eb:Manifest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Comments

Back to Top