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>