📜  ebXML-快速指南

📅  最后修改于: 2020-11-10 05:26:03             🧑  作者: Mango


企业不可避免地以各种方式进行交互。直到最近几年,许多大公司曾经通过电子数据交换(EDI)自动进行通信,这使两家公司可以使用预定的信号进行通信。

EDI的问题在于它非常昂贵,并且最初是为大型机世界创建的。现在,ebXML正在取代EDI。

定义

ebXML的代表对于E lectronicusiness E X tensible中号arkup大号anguage。这是电子商务的全球标准,它使任何地方的任何人都可以通过Internet与任何人进行业务交易。

特征

ebXML的功能如下:

  • ebXML是一个端到端的B2B XML框架。
  • ebXML是一组启用模块化框架的规范。
  • ebXML依赖于Internet的现有标准,例如HTTP,TCP / IP,MIME,SMTP,FTP,UML和XML。
  • ebXML可以在几乎任何计算平台上实现和部署。
  • ebXML提供了具体的规范来实现动态的B2B合作。

ebXML愿景

ebXML旨在创建一个全球电子市场,任何规模,任何地点的企业都可以:

  • 以电子方式找到对方。
  • 开展业务-
    • 使用XML消息交换。
    • 根据标准业务流程顺序。
    • 具有清晰的业务语义。
    • 使用现成的已购买业务应用程序。
    • 根据共同商定的贸易伙伴协议协议。

为什么选择ebXML?

  • 现有的B2B框架还不够:
    • EDI和RosettaNet太重且太僵硬。
    • BizTalk是专有的,单一供应商和单一平台。
  • 简单对象访问协议(SOAP); Web服务定义语言(WSDL);仅通用描述,发现和集成(UDDI)还不够:
    • WSDL不解决业务协作。
    • 基本形式的SOAP无法提供安全可靠的消息传递。
    • UDDI不提供业务对象的存储库功能。
  • 越来越需要标准化业务合作来解决以下问题:
    • 业务流程
    • 参与业务合作的各方及其角色
    • 在业务协作中交换XML文档
    • 业务协作的安全性,可靠性,服务质量要求

    ebXML解决了所有这些需求。

ebXML创始组织

ebXML是UN / CEFACT和OASIS的一项联合倡议。

联合国/ CEFACT:

  • 它代表联合国贸易便利化和电子商务中心。
  • 它保持UN / EDIFACT电子数据交换(EDI)标准。

绿洲:

  • 它代表结构化信息标准促进组织。
  • 它创建并维护XML互操作性规范以及广泛的行业支持。

ebXML-体系结构

根据定义, B2B合作的迭代生命周期包括以下步骤:

  • 工艺定义
  • 合作伙伴发现
  • 合作伙伴注册
  • 电子插件
  • 流程执行
  • 流程管理
  • 流程演进

总体ebXML规范旨在涵盖B2B协作的几乎整个过程,并旨在满足上述需求。

ebXML团队定义的ebXML架构提供:

  • 定义业务流程及其关联的消息和内容的方法。
  • 一种注册和发现具有相关消息交换的业务流程序列的方法。
  • 定义公司资料的一种方法。
  • 定义贸易伙伴协议的一种方法。
  • 统一的消息传输层。

因此,ebXML的技术架构由五个模块组成:

  • 业务流程规范
  • 合作伙伴资料和协议
  • 注册表和存储库
  • 核心组件
  • 讯息服务

这些模块将在接下来的五个后续章节中介绍。该图显示了ebXML的简化架构:

ebXML体系结构

ebXML-业务流程

业务流程是企业所做的事情,例如购买计算机零件或出售专业服务。它涉及两个或多个贸易伙伴之间以某种可预测的方式交换信息。

业务流程定义的规范使组织能够表达其业务流程,以便其他组织可以理解它们。它使公司内部或多个公司之间的业务流程集成成为可能。

ebXML业务流程规范架构(BPSS)提供了XML文档的定义,该文档描述了组织如何开展业务。 ebXML BPSS是对组成业务流程的合作伙伴,角色,协作,编排和业务文档交换的声明。

下图给出了业务流程的概念图。

业务流程概述

业务合作

业务协作是一组精心设计的业务交易活动,其中两个贸易伙伴交换文档。

最常见的是二进制协作,其中两个合作伙伴交换文档。当多于两个方之间交换信息时,就会发生多方协作。

多方协作实际上是经过编排的Binary Collaborations。

在最低层次上,业务协作可以分解为业务交易。

商业交易

业务交易是业务流程中工作的原子级别。它要么成功要么完全失败。

商业交易是贸易伙伴实际转移商业文件的交易。

业务单据流:

当业务文档在请求和响应角色之间流动时,实现了业务交易。根据所需的事务语义,总是存在一个请求业务文档,以及可选地一个响应业务文档,例如,单向通知与双向对话。

实际的文档定义是使用ebXML核心组件规范或ebXML外部的某种方法实现的,但会导致ebXML业务流程规范可以指向的DTD或Schema。

编舞:

编排是根据状态及其之间的转换来表示的。业务活动被称为抽象状态,业务协作和业务交易活动被称为具体状态。在ebXML业务流程规范架构中,使用活动图概念(如开始状态,完成状态等)描述了编排。

商业文件

商业文档由商业信息对象或先前已识别的较小信息块组成。

当然,这些块或组件不携带任何信息。它们仅仅是定义信息和表示的结构,例如XML模式或DTD。最终结果是一个可预测的结构,在该结构中放置了信息,以便最终文档的接收者可以解释该信息以提取信息。

业务流程规范示例

下面给出了业务流程规范的部分示例:


    
    
    
    
    
    
    

结论

业务流程规范:

  • 描述两个合作伙伴之间的合作
  • 定义角色,关系和责任
  • 定义业务文档的编排
  • 以平台和供应商无关格式表示
  • 可以使用UMM建模(UN / CEFACT建模方法)
  • 由业务流程规范架构(BPSS)正式描述
  • 由CPP和CPA引用。
  • 引用业务文档定义。

ebXML-CPP和CPA

协作协议简介

协作协议简档(CPP)提供了有关特定贸易伙伴打算进行电子商务的所有必要信息。 CPP定义了贸易伙伴的以下属性:

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

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

  • 交付渠道和运输协议。 (HTTP,SMTP等)

  • 商业文件的包装方式。

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

  • 各方配置到业务流程规范。

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

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

CPP的结构

CPP在其根元素和版本上定义了名称空间,以区分任何后续更改。 CPP的结构由具有以下元素的根协作协议概要文件元素组成:

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

  • 包装:包装元素提供有关消息实际构造方式的信息。消息被作为SOAP消息处理。

  • 签名:文档的可选部分

  • 评论元素:可以包含。



    ...
    
...


    ...
    
    ...


    ...
    
    ...


    ...
    
    ...


贸易伙伴协议

贸易伙伴协议(TPA)是为贸易关系中的双方定义法律条款和条件以及技术规格的合同。 CPA来自贸易伙伴的CPP。

电子TPA指定的规则独立于任何一方的业务流程。 TPA中条款和条件的技术描述以XML文档表示,该文档将每个IT系统配置为根据协议规则进行操作。

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

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

注册会计师的结构

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

  • Start and End: These elements represent, in coordinated universal time, the beginning and end of the period during which this CPA is active.

  • PartyInfo: The PartyInfo element provides information about the organization. Here PartyInfo elements are included for both parties involved in the agreement.

  • Packaging: The Packaging element provides information about the way in which messages are actually constructed. Messages are processed as SOAP messages.

  • Signature: Optional part of the document.

  • Comment elements: can be included.



1998-04-07T18:50:00
1999-04-07T18:50:00


    ...
    
    ...


    ...
    
    ...
    

    ...
    
    ...


    


    


ebXML-注册表和存储库服务

什么是注册表和存储库:

ebXML注册中心充当外部资源库的索引和应用程序网关,它包含用于管理各方与资源库交互方式的API。 ebXML存储库是组件的所有者。

  • ebXML注册表对于ebXML体系结构至关重要。

  • 注册表也可以看作是支持ebXML的电子商务项目数据库的API。

  • ebXML注册中心充当数据库,用于共享ebXML商业交易的相关公司信息,例如公司功能,业务流程,技术蓝图,订单,发票等。

  • 存储库中的项目是通过对注册表的请求来创建,更新或删除的。

  • 存储库为贸易伙伴提供了共享的业务语义。

  • ebXML注册表是用于访问和发现共享业务语义的接口。

  • 注册表接口被设计为独立于基础网络协议堆栈,例如基于TCP / IP的HTTP或SMTP。

注册表提供了稳定,持久的已提交内容存储,其中包括XML模式和文档,流程描述,核心组件,上下文描述,UML模型,有关各方的信息,甚至是软件组件。可以将其表示为服务的软件堆栈,如下所示:

注册表堆栈

ebXML注册中心的目标

ebXML注册中心的目标是使相关方之间能够共享信息,以实现他们之间的业务流程集成。

ebXML注册中心的好处

ebXML注册表具有以下优点:

  • 发现和维护注册内容。

  • 支持协作开发,用户可以在其中创建XML内容并将其提交给注册表,以供授权方使用并可能进行增强。

  • 在贸易伙伴之间进行交互期间,Web服务业务流程执行语言(WS-BPEL),WSDL和业务文档的持久性。

  • 注册内容的安全版本控制。

  • 合作注册管理机构联合会通过无缝查询,同步和重新分配注册内容来提供注册内容的单一视图。

  • 通过电子邮件或Web服务进行事件通知。

合规

根据ebXML Registry Services规范,如果注册表实现满足以下条件,则符合ebXML规范:

  • 它支持ebXML注册信息模型。

  • 它支持注册表接口的语法和语义以及安全性。

  • 它支持ebXML注册表DTD。

  • 注册表中对SQL查询的语法和语义的支持是可选的。

如果注册表客户端实现满足以下条件,则它符合ebXML规范:

  • 它支持ebXML CPA和自举过程。

  • 注册表客户端接口的语法和语义。

  • ebXML错误消息DTD。

  • ebXML注册DTD。

注册表对象和元数据

注册表对象

指提交给注册表以进行存储和保管的对象

  • 称为“存储库项目”

  • XML文档或DTD,业务流程模型,CPP等

元数据

  • 注册表使用它来分类和管理注册表对象。

  • 它由注册表项表示

注册表信息模型(RIM)

注册表信息模型(RIM)为ebXML注册表中的元数据提供了高级蓝图。可以将其表示为服务的软件堆栈或服务金字塔,如下图所示。信息模型的元素表示有关内容的元数据,而不是存储库中的内容本身。注册表信息模型定义了在注册表中存储和组织的对象的类型。

信息模型是元数据类型和元数据之间关系的路线图。注册表信息模型可以映射到关系数据库模式,对象数据库模式或某些其他物理模式。

RIM堆栈

ebXML-核心组件

“核心组件捕获有关现实世界业务概念以及该概念与其他业务概念之间的关系的信息。核心组件可以是单个业务信息,也可以是一系列业务信息。它是核心,因为它发生了在工业/商业信息交换的许多不同领域”

…定义表格xbXML由Eric Chiu简化

核心组件是一个基本的,可重用的构建块,其中包含代表业务概念的信息。采购订单部分核心组件的一些示例是采购订单日期,营业税和总金额。

通常,核心组件可用于许多不同的领域,行业和业务流程。在ebXML环境中,核心组件是消息和文档中使用的XML语义和业务词汇的构建块。

从业务流程中的特定业务文档中,我们可以引用一个核心组件,该组件包含最少的电子商务信息集。如果业务流程是电子商务术语中的动词,则核心组件代表名词和形容词。

核心组件可以在多个业务部门中使用,但是对于特定业务领域(例如单个行业领域),它也可以变得特定于上下文。

核心组件可与注册表一起使用,因为它可以使用标准ebXML注册表进行存储和检索。中央核心组件库用作跨行业业务流程的通用业务实践的参考文档。

工具和参考

ebXML为业务和技术分析师提供的核心组件的基本参考和工具清单如下:

  • 上下文和核心组件的可重用性:本文档包含上下文定义,分类值列表的来源以及描述核心组件和上下文描述符之间关系的图形模型。

  • 上下文驱动程序目录:本文档提供了上下文驱动程序目录。

  • 文档组装和上下文规则:这描述了使用上下文驱动的核心组件组装文档的过程和架构。

  • 核心组件字典:本文档分为多个部分。每个部分均以适用类别和核心组件类型的信息开头。

  • 核心组件编辑器和浏览器:这些工具可帮助分析人员浏览现有的核心组件并进行集成,以定义在贸易伙伴之间交换的XML消息的格式,并正确定义和应用上下文规则。

核心组件示例:

  • 核心组成部分A:

    • 供应商(行业1)
    • 制造商(行业2)
    • 供应商(行业3)
  • 核心组件B:

    • 分销商(行业1)
    • 批发商(行业2)
    • 商家(行业3)
  • 核心组件C:

    • 商店(行业1)
    • 插座(行业2)
    • 零售商(行业3)

结论

核心组件是-

  • 唯一可识别的。
  • 可重用的底层数据结构
    • -例如,聚会,地址,电话,日期,货币
    • -上下文相关
  • 用于定义业务流程和信息模型。
  • 促进不同系统之间的互操作性。
  • ebXML中的核心组件可以包含另一个核心组件。

ebXML-消息服务

完整的消息称为消息包,它是一个多用途Internet邮件扩展(MIME)对象。消息包包含两个主要部分:

  • SOAP消息容器:这是消息的必需部分,并且包含ebXML的SOAP扩展元素,例如路由信息,贸易伙伴信息,消息标识和传递语义信息。

  • 有效负载容器:这是消息的可选部分,可以包含要在各方之间交换的任何类型的信息。

邮件设计标准

根据消息传递服务规范,ebXML消息服务的设计目标是:

  • 尽可能利用现有标准。

  • 易于实现。

  • 支持各种规模的企业。

  • 支持多种通信协议(HTTP,SMTP,FTP等)

  • 支持任何类型的有效负载(XML,EDI事务,二进制数据等)

  • 支持可靠的消息传递。

  • 确保安全。

消息架构

ebXML消息服务旨在在ebXML计划的整个上下文中工作。但是,ebXML技术体系结构是模块化的,并且可以独立于ebXML使用消息服务。

ebXML消息服务在业务应用程序和网络协议之间具有三个逻辑体系结构级别:

  • 消息服务接口(MSI):这是业务应用程序的应用程序接口,可调用消息处理程序功能来发送和接收消息。与ODBC,JDBC和其他抽象服务接口类似,它将消息处理程序功能作为一组定义的API公开给业务应用程序开发人员。

  • 消息服务处理程序(MSH):它具有基本服务,例如头处理,头解析,安全服务,可靠的消息服务,消息打包和错误处理。

  • 消息传输接口(MTI):旨在通过各种网络和应用程序级别的通信协议发送消息。传输接口将ebXML特定数据转换为网络服务和协议承载的其他形式。这涉及到双方之间的完整交换,背负在网络堆栈中现有协议的基础上。

下图显示了ebXML消息传递体系结构。

ebXML体系结构

邮件格式:

ebXML消息必须根据ebXML消息服务规范进行格式化,并且必须符合MIME语法,格式和编码规则。 XML元素的定义由XML模式提供,该模式扩展了SOAP以定义ebXML消息头,跟踪头,清单,状态和确认。

结论

ebXML消息必须根据ebXML消息服务规范进行格式化,并且必须符合MIME语法,格式和编码规则。 XML元素的定义由XML模式提供,该模式扩展了SOAP以定义ebXML消息头,跟踪头,清单,状态和确认。

ebXML消息传递-

  • 使用带有附件的SOAP作为有效负载信封。

  • 通过各种通信协议(例如HTTP,SMTP,FTP)运行。

  • 支持业务交易中需要的高级语义。 (安全性和可靠性)

ebXML-使用示例

下图显示了ebXML场景,可以轻松了解ebXML的概念。该示例摘自《技术体系结构规范》。

使用范例

该示例显示了组织如何为ebXML做准备,如何寻找新的贸易伙伴,然后从事电子商务。

  • 公司A浏览ebXML注册表以查看在线提供的内容。充其量,公司A可以重用已经存储在ebXML注册表中的所有现有业务流程,文档和行业通用的核心组件。否则,公司A设计缺少的部分,将它们存储在ebXML注册中心中,并将其提供给其行业合作伙伴。

  • 公司A决定以ebXML方式进行电子商务,并考虑实现本地ebXML兼容应用程序。 ebXML业务服务接口(BSI)提供了公司与ebXML外部环境之间的链接。该公司必须创建一个协作协议配置文件(CPP),其中描述了受支持的业务流程功能,约束和ebXML技术信息,例如加密算法的选择,加密证书和传输协议的选择。

  • 公司A将其CPP提交给ebXML注册中心。从那时起,公司A在ebXML注册表中公开列出,并可能被其他公司寻找新的贸易伙伴发现。

  • 公司B已在ebXML注册中心注册,正在寻找新的贸易伙伴。公司B查询ebXML注册中心并接收公司A的CPP。公司B然后有两个CPP:公司A的CPP和它自己的CPP。两家公司必须就如何开展业务达成协议,这在ebXML术语中称为“协作协议协议”(CPA)。公司B使用ebXML CPA形成工具从两个CPP的需求中得出CPA

  • 在这种情况下,公司B直接与公司A进行通信,并将新创建的CPA接受以接受给公司A。在公司A与CPA达成协议后,两家公司都准备好进行电子商务。

  • 然后,公司使用基础ebXML框架并交换符合CPA的业务文档。这意味着两家公司都遵循CPA中定义的业务流程。