ebXML - CPP et CPA
Un profil de protocole de collaboration (CPP) fournit toutes les informations nécessaires sur la manière dont un partenaire commercial particulier entend faire des affaires électroniques. Un CPP définit les attributs suivants d'un partenaire commercial:
Capacités commerciales grâce aux processus commerciaux.
Le rôle (acheteur ou assureur) qu'ils jouent au sein d'une collaboration.
Canaux de livraison et protocoles de transport. (HTTP, SMTP, etc.)
Façon de conditionnement des documents commerciaux.
Contraintes de sécurité (SSL, certificats numériques).
Configuration par partie selon les spécifications des processus métier.
Un CPP est stocké dans le registre ebXML avec un identifiant global unique (GUID) et les partenaires commerciaux peuvent trouver le CPP de l'autre via le registre.
Les informations contenues dans le RPC peuvent être recherchées, de sorte qu'un partenaire commercial potentiel peut déterminer si l'organisation a les capacités de faire des affaires.
Structure d'un RPC
CPP définit les espaces de noms sur son élément racine et une version pour distinguer les modifications ultérieures. La structure d'un CPP se compose d'un élément de profil de protocole de collaboration racine avec les éléments suivants:
PartyInfo: L'élément PartyInfo fournit des informations sur l'organisation.
Packaging:L'élément Packaging fournit des informations sur la manière dont les messages sont réellement construits. Les messages sont traités comme des messages SOAP.
Signature: Partie facultative du document
Comment elements: peut être inclus.
<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>
Accord de partenariat commercial
Un accord de partenaire commercial (TPA) est un contrat définissant à la fois les conditions légales et les spécifications techniques pour les deux partenaires de la relation commerciale. Un CPA est dérivé des CPP des partenaires commerciaux.
Les règles spécifiées par le TPA électronique sont indépendantes des processus métier de l'une ou l'autre des parties. Une description technique des termes et conditions du TPA est exprimée dans un document XML, qui configure chaque système informatique pour fonctionner selon les règles de l'accord.
Les propriétés TPA incluent son nom, les noms des partenaires, les dates de début et de fin, les rôles et d'autres paramètres. En règle générale, une partie génère un CPA et le propose à l'autre partie pour approbation. Une fois que les deux parties sont parvenues à un accord, elles prennent chacune une copie électronique du même CPA et l'utilisent pour configurer leurs systèmes.
Le CPA peut également être ajouté au registre pour référence, mais ce n'est pas une exigence standard.
Structure d'un CPA
CPA définit les espaces de noms sur son élément racine et une version pour distinguer les modifications ultérieures. La structure d'un RPC se compose d'un élément racine du protocole de collaboration et des éléments suivants:
Start and End: Ces éléments représentent, en temps universel coordonné, le début et la fin de la période pendant laquelle ce CPA est actif.
PartyInfo:L'élément PartyInfo fournit des informations sur l'organisation. Ici, les éléments PartyInfo sont inclus pour les deux parties impliquées dans l'accord.
Packaging:L'élément Packaging fournit des informations sur la manière dont les messages sont réellement construits. Les messages sont traités comme des messages SOAP.
Signature: Partie facultative du document.
Comment elements: peut être inclus.
<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>