ebXML - CPP 和 CPA

协作协议配置文件 (CPP) 提供了有关特定贸易伙伴打算如何开展电子商务的所有必要信息。CPP 定义了贸易伙伴的以下属性:

  • 通过业务流程实现的业务能力。

  • 他们在协作中扮演的角色(买方或保险人)。

  • 交付渠道和传输协议。 (HTTP、SMTP 等)

  • 业务文档的打包方式。

  • 安全约束(SSL、数字证书)。

  • 根据业务流程规范进行每方配置。

CPP 存储在具有全局唯一标识符 (GUID) 的 ebXML 注册表中,业务合作伙伴可以通过注册表找到彼此的 CPP。

CPP 中的信息可供搜索,因此潜在的贸易伙伴可以确定该组织是否有能力开展业务。

CPP 的结构

CPP 在其根元素上定义命名空间,并定义版本以区分任何后续更改。 CPP 的结构由根协作协议配置文件元素和以下元素组成:

  • PartyInfo: PartyInfo 元素提供有关组织的信息。

  • Packaging: Packaging 元素提供有关消息实际构造方式的信息。消息将作为 SOAP 消息进行处理。

  • 签名: 文档的可选部分

  • 注释元素: 可以包含在内。

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

贸易伙伴协议

贸易伙伴协议 (TPA) 是一种合同,它定义了贸易关系中双方合作伙伴的法律条款和条件以及技术规范。CPA 源自贸易伙伴的 CPP。

电子 TPA 指定的规则与任何一方的业务流程无关。TPA 中条款和条件的技术描述以 XML 文档表示,该文档配置每个 IT 系统以根据协议规则运行。

TPA 属性包括其名称、合作伙伴名称、开始和结束日期、角色和其他参数。通常,一方生成 CPA 并将其提供给另一方以供批准。双方达成协议后,各自获取同一 CPA 的电子副本,并使用它来配置其系统。

CPA 也可以添加到注册表中以供参考,但这不是标准要求。

CPA 的结构

CPA 在其根元素上定义命名空间,并定义版本以区分任何后续更改。CPP 的结构由根协作协议协议元素以及以下元素组成:

  • 开始和结束:这些元素以协调世界时表示此 CPA 处于活动状态的开始和结束时间。

  • PartyInfo: PartyInfo 元素提供有关组织的信息。此处包括参与协议的双方的 PartyInfo 元素。

  • 打包: Packaging 元素提供有关消息实际构造方式的信息。消息将作为 SOAP 消息进行处理。

  • 签名:文档的可选部分。

  • 注释元素:可以包含在内。

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