• 咨询电话:400-7000-690

ebXML 基础架构

  • 日期:2005/8/18

  • 贸易伙伴信息 [合作协议配置文件CPP 和合作协议协定CPA] 

    为了简化电子商务的运作,潜在的贸易伙伴需要一种机制对外发布他们所支持的商务流程以及其交换商务信息能力的技术实施细则。这些可以通过合作协议配置文件(CPP)实现。 CPP 是贸易伙伴用来表达其支持的商务流程和商务服务接口需求的文件,并被其他使用 ebXML 符合的贸易伙伴所接受。

    一个具体商务协定是CPA,CPA意味着两个或多个使用ebXML进行商务交易的贸易伙伴的正式合作。

    CPP 描述了贸易伙伴支持的具体技术能力以及为交换商业文件所需的服务接口。 CPP 中包含了贸易伙伴的基本信息:合同信息、行业分类、支持的商务流程、接口需求和消息服务需求,但不限于此。 CPP 中也可包括安全和其它具体的实施细则。每个ebXML贸易伙伴应在 ebXML 符合注册服务中注册它们的 CPP ,这样就提供了一种发现机制,使得贸易伙伴之间( 1 )可以互相发现,( 2 )发现其他贸易伙伴支持的商务流程。CPP 定义中对于存在的多种实现可能(如 HTTP 或 SMTP传输 )时,应该明确指定使用哪一种选择。

    CPA 表示两个CPP 的相互协定,它由使用ebXML进行电子商务的贸易伙伴相互协定达成。CPA描述了: (1)消息服务 ;(2) 两个或多个贸易伙伴协定的商务流程需求。从概念上讲,为了达成电子商务交易的CPA,ebXML 支持一个具有三层子集的视图。

    最外面的一层是贸易伙伴能够支持的所有能力,下面一个子集是贸易伙伴实际上“愿意”支持的性能。

    一个 CPA 包括消息服务接口需求和贸易伙伴双方协定商务流程的实施细则。贸易伙伴可以在 ebXML 注册服务中注册他们的 CPA ,但这并不是 CPA 创建过程的必要部分。


    图 8 CPA的三层视图

    商务合作是ebXML贸易伙伴声明的第一个支持命令。在ebXML 注册或其它服务的目录服务上,用于发布的专门定义的文档便于进行商务合作的声明。图9概括了ebXML中合作协议协定的范围。


    图 9 CPA的范围

    商务流程和信息建模

    商务流程和信息元模型是一种机制,它通过统一的建模理论使得贸易伙伴能获取具体商务剧本的细节。商务流程描述了共享的合作中,贸易伙伴具体的角色、关系和责任,以及如何与其他贸易伙伴进行交互。角色间的交互可以看作一连串设计好的商务交易。每次商务交易都可以表示为电子商务文件的一次交换。商务文件则由可重用的商务信息组件组成。在低层次上,商务流程可以分解为可重用的核心流程,而商务信息对象可以分解为可重用的核心组件。

    ebXML 商务流程和信息元模型支持需求、分析和设计,提供一套语义集(词汇),并形成便于商务流程和信息整合及互操作性的基准。

    元数据模型的另一方面是提供支持配置, ebXML 商务交易的运行时间系统。所需数据元组的直接规范通过从其他视图中提取建模元素,规范的模式(Specification Schema)形成ebXML商务流程和信息元模型的一个语义子集。规范的模式可以采用两种单独的表示方法: UML 文档和文件类型定义 DTD 。

    ebXML商务流程和信息元模型与ebXML规范模式的关系如下图所示:


    图10EBXML元模型――语义子集

    规范模式支持商务交易的规范以及从商务交易到商务合作的转换。每个商务交易都可以用标准样式之一来实现。这些标准样式决定了贸易伙伴之间完成交易所交换的消息和信号。为了有助于规定这些格式,规范模式包括一组标准样式及其样式通用的建模元素组。因此一个商务流程的全部规范包括商务流程和信息元模型及据此规定的规范模式和样式的标识。他们是 CPP 和 CPA 信息的主要来源。如下所示:


    图 11  ebXML 元模型

    当构造一个新的商务流程时,并不一定要使用建模语言,然而如果要用建模语言开发商务流程,应使用统一建模语言 (UML)。这种强制的目的在于保证创建商务流程时使用统一的、一致的建模方法。使用统一建模方法的好处之一是可以比较模型,以避免重复已有的商务流程。

    为了保证创建一致的商务流程和信息模型, ebXML 将定义一组与数据仓库对应的核心商务流程。 ebXML 的用户可以扩展或使用其自己的商务流程。

    接口

    与 CPP 和CPA的关系

    某一贸易伙伴的 CPP 定义了它支持0、1个或多个商务流程功能和技术的能力,以及它在每个流程中的一个或多个角色。

    两个贸易伙伴之间的协定定义了他们共同做商务交易的实际情况。商务流程和信息元模型与CPA之间的接口是商务流程文件的组成部分。它们可以作为XML文件表示的商务流程和信息元模型中的商务交易和合作层。商业贸易的XML表示可在商务流程和贸易伙伴信息模型中共享。

    与核心组件的关系

    商务流程示例应规定与其他贸易伙伴交换商务数据的约定。商务信息可由ebXML数据仓库中的组件构成。通过引用适宜的商务和信息模型或者商务文件(如DTD或者Schemas)的XML文件,商务流程文件可以直接或间接地引用核心组件,连接核心组件和数据仓库的机制应是每个组件的唯一标识符。

    与 ebXML 消息的关系

    通过ebXML的消息,商务流程实例可以从一个注册服务传输到另一个注册服务。通过ebXML消息服务,它也可以在注册和用户应用程序之间进行传输。

    与注册系统的关系

    在ebXML基础结构中使用的商务流程实例,可以通过注册查询进行检索,因此,每个商务流程都应包含一个唯一的标识符。

    图 12   ebXML 商务流程和信息建模层

    ebXML 商务流程和信息元模型可根据UN/CEFACT 建模方法(UMM)来生成,或者其他任何方式,只要符合ebXML商务流程和信息元模型。

    核心组件和数据仓库功能性

    核心组件用于捕捉现实世界中商务概念的语境以及这些概念、其它商务信息对象和内容描述间的关系。内容描述了核心或整合信息实体。在具体的 ebXML 电子商务剧本中使用的。

    核心组件可以是一个独立的商务信息块,也可以商务信息对象合成一族,即整合信息实体。

    注册功能性

    ebXML注册提供了一套服务,它使得贸易伙伴之间可以共享信息。在注册这个组件中,保留了一个连接已注册项目的原数据的接口。通过注册服务中的接口(API)可以访问ebXML注册。

    图13  注册的整体架构

    正式功能性

    注册应存储的项目,由使用多字节字符组的语法进行表述。由提交组织定义的每一层级的每一个注册项必须有唯一标识。这将有利于注册应用程序的查询。

    注册应返回零或一个确定的结果,以回复查询唯一标识符的内容,这种情况下,如果出现两个或多个结果,则应向注册机构报告一个出错报文。

    一个注册项目的构成应适于标识、命名、描述它的信息的关联,给出其管理和访问状态,定义其持续性和不定性,按照预定义的分类进行分类,确定其文件表示类型,并标识提交和负责组织。

    注册接口相当于注册应用程序的进入机制。人与注册的交互应建立在注册接口的上一层(如Web浏览器),而不是作为一个独立的接口。

     注册接口应独立于网络协议套层(如:TCP/IP协议处于HTTP/SMTP的下一层)。注册接口交互具体结构包括在ebXML消息负载(Payload)中。

    注册支持的流程还包括:
        ●    一个在注册与注册客户端之间具体的CPA
        ●    一组包含注册与注册客户端的功能性过程
        ●    一组在注册与注册客户端之间交换的商务报文,作为商务流程的一部分。
        ●    一组基本的接口机制,以支持商务报文和有关的检索与响应机制。
        ●    一个具体的CPA ,用于在符合的 ebXML注册之间进行交互。
        ●    一组注册-注册之间交互的功能性过程。
        ●    一组出错响应和恢复处理条件。

    为了便于发现流程,注册使用人机交互的检索方式(如Web浏览器)。用户应能根据有效的注册分类表浏览。

    注册服务用于创建、修改和删除注册项目及其元数据。 当访问时,采用适当安全协议为数据仓库提供鉴别和监护。

    ebXML注册系统中所有项目都应被分配一个统一标识符 ( UID ) 。对于ebXML 全部内容,UID是必需的参考。可以使用全球统一标识符( UUIDs )确保注册中注册项目在全球范围内唯一,因此当系统通过 UUID 检索注册时,应仅有一个检索结果。

    为了便于商务流程和信息元模型的语义识别,注册服务系统应提供一种人可阅读的注册项目描述机制。现有的商务流程和信息元模型(如 RosettaNet PIPs )及核心组件在ebXML符合的注册系统注册时,应被赋予一个 UID 。这些 UID 可以通过 XML 语法以各种方式来实现。其中包括:
        ●    非常明确的参考机制(比如:URN:UID方法);
        ●    参考点方式(比如:URI:UID/名称空间:UID);
        ●    与W3C模式符合的基于对象的参考(如:URN:复合类型名称);
        ●    标准的数据类型(如:ISO8601:2000日期/时间/数据日期类型和传统数据类型)。

    ebXML中的组件必须支持多种语言。UID的参考非常重要,因为它提供了一种语言中性参考机制。为了支持多种语言,ebXML规范应与Unicode和ISO/IEC10646字符集和UTF-8或者UTF-16的字符编码保持一致。

    消息服务功能性

    ebXML 消息服务机制提供了一种标准的方法,在ebXML贸易伙伴间交换商务消息。它提供了一种非常可靠的方式,不依赖于技术和解决方案。ebXML消息包含消息标头(路由和传输必需的)和负载部分。

    从概念上讲,ebXML消息服务分为三个部分:(1)一个抽象的服务接口;(2)消息服务层所提供的功能;(3)到底层传输服务的映射。抽象接口、消息服务层次与传输服务三者之间的关系如下图所示。

    图14  ebXML消息服务

    ebXML 基础结构的用户间通过各种传输协议(如:SMTP、HTTP/S、FTP等)交换ebXML消息,ebXML消息服务为此提供了一种安全、稳定、可靠的机制。在分布的ebXML组件(包括注册机制和符合的用户应用程序)间,ebXML消息服务预定义所有这些消息的格式。

    ebXML消息服务不能对负载的内容作任何限定。

    ebXML消息服务支持简单的(单路径)和请求/回复(同步或异步)消息交换。

    当贸易伙伴间交换多重负载或多重消息时,ebXML消息服务支持负载的排序。

    在合作协议配置协定(包括与消息传送有关的安全和商务流程功能,但不限于此)中, ebXML消息服务层执行贸易伙伴。合作协议协定规定了每个贸易伙伴都愿意接受的行为。这些规则由一些表格定义,如:正式的合作协议协定,在商务交易发生(如:在线购书)时创建的相互作用的协议;或者其他协定的表格。消息服务层的功能就是执行这些规则,而违反规则会导致错误发生,出错信息将以适当的方式报告。

    ebXML消息服务执行下列安全功能,包括:
        ●    识别
        ●    鉴别
        ●    授权(存取控制)
        ●    保密性(加密)
        ●    完整性(消息签名)
        ●    抗抵赖性
        ●    日志记录

    接口
        ebXML 信息服务为ebXML提供了一个抽象接口,它的功能包括:
        ●    发送——发送一条ebXML消息——参数值从ebXML消息标头中获得。
        ●    接收——表示同意接收ebXML消息。
        ●    通知——通知意料的和意外的事件。
        ●    查询——提供查询具体的ebXML消息交换情况的方法。
       
        ebXML消息服务应该与内部系统相连接,包括:
        ●    内部系统中已接收消息的路径
        ●    出错通知
       
        ebXML消息服务将应便于与ebXML注册相连接。

    图15  ebXML消息结构

    在通信协议封装和ebXML消息封装的外部,ebXML消息由一个可选的传输协议组成。使用MIME对ebXML报文封装。在电子商务环境中,由于伙伴之间所交换信息的多样性,使用MIME作为打包方案。例如:双方或多方贸易伙伴复杂的商务交易需要包含一系列商务文件(XML或其他文件格式)、二进制图像或其它相关的商务消息的负载。