- ebXML 教程
- ebXML - 首页
- ebXML - 简介
- ebXML - 架构
- ebXML - 业务流程
- ebXML - CPP & CPA
- ebXML - 注册服务
- ebXML - 核心组件
- ebXML - 消息服务
- ebXML - 使用示例
- ebXML - 总结
- ebXML 术语
- ebXML - 术语
- ebXML 有用资源
- ebXML - 快速指南
- ebXML - 有用资源
- ebXML - 讨论
ebXML - CPP & CPA
协作协议配置文件 (CPP) 提供了有关特定交易伙伴打算如何进行电子商务的所有必要信息。CPP 定义了交易伙伴的以下属性
通过业务流程实现的业务能力。
他们在协作中扮演的角色(买方或保险公司)。
交付渠道和传输协议。(HTTP、SMTP 等)
业务文档的打包方式。
安全约束(SSL、数字证书)。
对业务流程规范的每方配置。
CPP 存储在 ebXML 注册表中,并具有全局唯一标识符 (GUID),业务伙伴可以通过注册表找到彼此的 CPP。
CPP 中的信息可供搜索,因此潜在的交易伙伴可以确定组织是否具备开展业务的能力。
CPP 的结构
CPP 在其根元素上定义命名空间,并定义版本以区分任何后续更改。CPP 的结构由一个根协作协议配置文件元素组成,并包含以下元素
PartyInfo:PartyInfo 元素提供有关组织的信息。
Packaging:Packaging 元素提供有关消息实际构建方式的信息。消息作为 SOAP 消息处理。
Signature:文档的可选部分
Comment 元素:可以包含。
<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 的结构由一个根协作协议元素组成,并包含以下元素
Start 和 End:这些元素分别以协调世界时表示此 CPA 生效期间的开始和结束时间。
PartyInfo:PartyInfo 元素提供有关组织的信息。此处包含协议中涉及的双方的 PartyInfo 元素。
Packaging:Packaging 元素提供有关消息实际构建方式的信息。消息作为 SOAP 消息处理。
Signature:文档的可选部分。
Comment 元素:可以包含。
<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>