ebXML - CPP & CPA

Ein Collaboration Protocol Profile (CPP) enthält alle erforderlichen Informationen darüber, wie ein bestimmter Handelspartner elektronische Geschäfte tätigen möchte. Ein CPP definiert die folgenden Attribute eines Handelspartners:

  • Geschäftsfähigkeiten durch Geschäftsprozesse.

  • Die Rolle (Käufer oder Versicherer), die sie innerhalb einer Zusammenarbeit spielen.

  • Lieferkanäle und Transportprotokolle. (HTTP, SMTP usw.)

  • Verpackungsart von Geschäftsdokumenten.

  • Sicherheitsbeschränkungen (SSL, digitale Zertifikate).

  • Konfiguration pro Partei gemäß Geschäftsprozessspezifikationen.

Ein CPP wird in der ebXML-Registrierung mit einer GUID (Globally Unique Identifier) ​​gespeichert, und Geschäftspartner können den CPP des anderen über die Registrierung finden.

Die Informationen innerhalb des CPP können durchsucht werden, sodass ein potenzieller Handelspartner bestimmen kann, ob das Unternehmen über die erforderlichen Geschäftsfunktionen verfügt.

Struktur eines CPP

CPP definiert Namespaces in seinem Stammelement und eine Version, um nachfolgende Änderungen zu unterscheiden. Die Struktur eines CPP besteht aus einem Stammelement des Collaboration Protocol-Profils mit folgenden Elementen:

  • PartyInfo: Das PartyInfo-Element enthält Informationen zur Organisation.

  • Packaging:Das Packaging-Element enthält Informationen darüber, wie Nachrichten tatsächlich erstellt werden. Nachrichten werden als SOAP-Nachrichten verarbeitet.

  • Signature: Optionaler Teil des Dokuments

  • Comment elements: kann enthalten sein.

<CollaborationProtocolProfile
xmlns="http://www.ebxml.org/namespaces/tradePartner"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1">
<PartyInfo>
    ...
    <!--REQUIRED, Repeatable-->
...
</PartyInfo>
<Packaging id="ID">
    ...
    <!--REQUIRED-->
    ...
<Packaging>
<ds:Signature>
    ...
    <!--OPTIONAL-->
    ...
</ds:Signature>
<Comment>
    ...
    <!-- OPTIONAL -->
    ...
</Comment>
</CollaborationProtocolProfile>

Handelspartnervertrag

Ein Handelspartnervertrag (TPA) ist ein Vertrag, der sowohl die rechtlichen Bedingungen als auch die technischen Spezifikationen für beide Partner in der Handelsbeziehung definiert. Ein CPA wird von CPPs von Handelspartnern abgeleitet.

Die im elektronischen TPA festgelegten Regeln sind unabhängig von den Geschäftsprozessen beider Parteien. Eine technische Beschreibung der Allgemeinen Geschäftsbedingungen aus dem TPA wird in einem XML-Dokument ausgedrückt, in dem jedes IT-System für den Betrieb gemäß den Vertragsregeln konfiguriert wird.

Zu den TPA-Eigenschaften gehören Name, Partnernamen, Start- und Enddatum, Rollen und andere Parameter. In der Regel generiert eine Partei einen CPA und bietet ihn der anderen Partei zur Genehmigung an. Sobald beide Seiten eine Einigung erzielt haben, nehmen sie jeweils eine elektronische Kopie desselben CPA und konfigurieren damit ihre Systeme.

Die CPA kann auch als Referenz zur Registrierung hinzugefügt werden, dies ist jedoch keine Standardanforderung.

Struktur eines CPA

CPA definiert Namespaces in seinem Stammelement und eine Version, um nachfolgende Änderungen zu unterscheiden. Die Struktur eines CPP besteht aus einem Stammelement der Collaboration Protocol Agreement sowie den folgenden Elementen:

  • Start and End: Diese Elemente repräsentieren in koordinierter Weltzeit den Beginn und das Ende des Zeitraums, in dem diese CPA aktiv ist.

  • PartyInfo:Das PartyInfo-Element enthält Informationen zur Organisation. Hier sind PartyInfo-Elemente für beide an der Vereinbarung beteiligten Parteien enthalten.

  • Packaging:Das Packaging-Element enthält Informationen darüber, wie Nachrichten tatsächlich erstellt werden. Nachrichten werden als SOAP-Nachrichten verarbeitet.

  • Signature: Optionaler Teil des Dokuments.

  • Comment elements: kann enthalten sein.

<CollaborationProtocolAgreement
xmlns="http://www.ebxml.org/namespaces/tradePartner"
xmlns:ds = "http://www.w3.org/2000/09/xmldsig#"
xmlns:xlink = "http://www.w3.org/1999/xlink"
cpaid="http://www.example.com/cpas/CPAS"
version="1.7">

<Status value = "proposed"/>
<Start>1998-04-07T18:50:00</Start>
<End>1999-04-07T18:50:00</End>

<ConversationConstraints invocationLimit = "150" concurrentConversations = "10"/>

<PartyInfo>
    ...
    <!--REQUIRED, repeatable-->
    ...
</PartyInfo>

<PartyInfo>
    ...
    <!--REQUIRED, repeatable-->
    ...
</PartyInfo>

<Packaging id="N20">
    ...
    <!--REQUIRED, repeatable-->
    ...
</Packaging>

<ds:Signature>
    <!--OPTIONAL-->
</ds:Signature>

<Comment xml:lang="en-gb">
    <!--OPTIONAL-->
</Comment>
</CollaborationProtocolAgreement>