摘 要:介绍一种新的电子信息交换语言标准UBL,简述了其产生和发展以及在供应链信息交换之中的应用框架,并通过实例介绍UBL的语法结构、特点及其意义。
关键词:供应链 信息交换 UBL XML-EDI
在当今的供应链信息交换过程中,XML已经成为主流技术,并作为电子商务信息交换的一个重要手段被广泛应用于商业领域中。但是在XML应用中存在一个重要问题,即信息交换语言标准问题。XML要应用到实际的电子商务之中,就必须满足每一个商业领域的特殊需要。因此产生了许多不同的、用来满足不同商业领域需求的XML版本。这也导致了XML在使用中存在以下问题[1]:
(1)对不同版本的相同商务文档(如购买订单和发票)进行开发和维护,工作重复,浪费时间和人力。
(2)开发和维护多种能满足跨商业领域交易关系的适配器,是项艰巨的工作。
(3)由于多种XML版本的出现,后台办公系统中的XML信息整合工作变得更加困难。
(4)需要花费大量的资金购买能够支持多种XML版本的软件,而且软件维护困难。
事实上,不同的XML版本之中都包括一些基本的文档,如购买订单、货运通知和发票等,而这些版本中文档的格式、名目、数据类型不同。如果有一个通用的语言标准,使之能符合各个领域的要求,就可以满足所有用户的需要。
OASIS的UBL[1](Universal Business Language)作为一个基于XML的信息交换通用语言标准可以解决上述问题。它为商业文档定义一个通用的XML交换格式,并可以通过扩展满足特殊领域的要求。
1 UBL的产生和发展
近年来随着XML的普及,电子商务进入了XML和EDI结合的电子商务数据交换新时代[2]。现在流行使用的XML-EDI模式有很多种,xCBL[4](XML Common Business Library)是其中影响较大的一种。它定义了一组可重用的、标准的XML组件标准,以此为基础构成电子商务数据交换的XML文档。xCBL不是一个产品或一种业务,而是一种任何组织和个人都可以获得的免费标准框架。为了更好地支持电子商务中的信息交换,OASIS在2001年10月17日宣布以xCBL 3.0为起点,基于其他XML商业库或类似技术的信息交换经验,对xCBL 3.0进行修改,开发了UBL。因此UBL将在很多方面与xCBL很类似,并会继续以xCBL 3.0为核心。2004年5月1日OASIS正式发布了UBL 1.0版本,本文所提到的UBL指的就是UBL的1.0版本。
UBL是用于商业交易的文档库,它是面向中小型组织以及大型组织设计。UBL的目的是通过修改现有XML模式库来开发XML商业文档的标准库,继承和发扬其他现有XML商业库的最佳特性。随后UBL将产生一种机制,并通过该机制将转换规则应用到通用的UBL源库,生成适用于特定商业环境的商业模式。UBL旨在成为不必获得特许或支付其他费用就可自由使用的电子交易标准。
2 UBL在供应链中的通用应用框架
供应链中最常见的交易过程是买方和卖方之间从订单到发票的订货-发货交易过程,UBL支持这种交易过程中常用的商业表单。除此之外,UBL还包含以下的功能:具有一个可以重用数据组件的XML模式库,可以重用地址、货物、应付款等日常商业文档中经常使用的数据元素;拥有一套通用商业文档的XML模式,在组件库中构建了订单、发货通知、收据等元素,这些元素都能应用到一般的订货-发货交易过程之中;在特殊交换关系中UBL可以进行特殊定制。
订货-发货交易过程是供应链中最常见的从买方到卖方的交易过程,其中主要包括三个主体:货物的买方、卖方和货物的接收方(可能是也可能不是买方)。UBL所提供的文档模式支持整个交易过程,其具体的交易流程如图1所示[1]。
UBL描述了通用的订货—发货过程中需要的商业规范。其中主要包括:
(1)订单。订单指出了货物、供应量以及付费说明。付费说明包括收费方式和付费人,还包括一个默认的全局流通货币单位。订单还提供了许多订单行,每个订单行都详细说明了一批货物的送货地点、数量和需求时间。
(2)简要订单回复。简要订单回复是卖方确认收到买方发出订单的一种方法。它表明了买方对待订单的态度:不接收订单或者不作任何修改的接收订单。
(3)详细订单回复。卖方对订单进行了修改,然后以详细订单回复的形式发出并覆盖原来的订单,这是卖方用来向买方确定和提供订单相关细节的一种方法。详细订单回复包括:货运时间、价格、交易折扣、费用、商品分类编码等信息。
(4)订单更改。买方通过订单更改项修改以前接收的订单,比如改变订单货物、数量、送货日期、收货地点等。供应商可以用详细订单回复或者简要订单回复接收或者拒绝订单更改。
(5)订单取消。在交易过程中,买方可以通过订单取消来取消已建立的订单事务。但是合法合同、交易协议和商业规范都对订单取消的时间做了一定的约束。
(6)发货通知。发货通知应该包括下列信息:运输的方法、模式、多种货运平台、时间、地点,发货时的包装类型和标识。在发货通知中,还需表明货物的来源及其危险性。
(7)收货通知。收货通知由接收方发给卖方,用来确认收到货物并报告货物的短缺和损坏情况。在收货通知中,接收者可以从发货货物中找出缺点并因特定原因拒绝货物接收。
(8)收据。收据包括计价时需要的信息,不会重申任何订单、订单更改、订单回复、发货通知和接收通知中已经存在的不必要的信息。如有必要,收据可以提供订单、发货通知和接收通知接口,其中每行都对应订单、发货通知或接收通知中的相应行。
UBL作为一个通用商业信息交换语言标准,很好地支持了供应链中通用的商业交换流程。但是由于各个行业及领域的特殊性,还需要结合特定的接口才能应用到实际的供应链活动中。
3 UBL应用实例
下面将通过一个UBL的应用实例来说明UBL的结构及语法。这是一个公司的订单以及其供应方的订单回复实例XML的源代码,使用的是UBL 1.0语言。
(1)订单
1.
Types:1.0:0.70″>
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15. US
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
第1~3行说明了订单的基本信息,表明订单开始。其中包括订单的名称po,格式UBL 1.0中的订单格式以及订单的ID 4500004875(这是订单在买方公司的ID),还有订单的日期2004年9月8日。第4~22行记述了买方的资料。其中第6行的
(2)简单订单回复
1.
names:tc:ubl:CommonAggregateTypes:1.0:0.70″>
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
第1~2行说明了简要订单回复的基本信息,表明简要订单回复开始。简要订单回复名称为ors,其格式使用UBL 1.0中的简要订单回复格式。
第3行表明了简要订单回复的ID为6489105763,此ID为订单在卖方公司的ID。
第4行表明简要订单回复的日期为2004年9月9日。
第5行表明了简要订单回复对订单的接受状态为真,即无改变的接收订单。
第6~10行记述了订单接口。其中第6行的
第11~17行定义了买方资料,由于是简要订单回复,这里只说明了买方名字为IDES INC US。根据UBL 1.0格式要求,需要定义在party中的partyname中的name属性中。
第18~27行定义了卖方的资料。其中第18行表明了卖方资料定义的开始,卖方资料包括卖方名字Joes Supply、订单联系人属性。第27行表明卖方资料结束。
第28行表明简要订单回复ors结束。
通过以上二个实例可以看出:UBL与XML一样,文档中的各项元素都用<元素名>开始,以元素名>结束,中间的内容就是该项元素的数据。与其他语言不同的是,其他语言对元素名没有特殊的要求,而UBL将订货—发货交易过程中各个阶段中常用的元素名都进行了统一定义。UBL委员会成立了一个附属委员会,从事 UBL 命名和设计规则(UBL Naming and Design Rule,NDR)工作,该附属委员会编写了一个综合文档,包含UBL XML组件中的命名和总体设计规则。这些规则的建立确保了包括在UBL中的XML组件的一致性。具体规则请参考http://www.oasis-open.org/committees/download.php/9236/cd-UBL-NDR-1.0.pdf。
UBL构造的名称必须使用大小写混合(camel-case),第一个字母为大写,以后名称中每个内部单词的第一个字母大写,其后跟着小写字母,如:AmountType。
对于每个基于对象类的复杂类型定义,必须定义其内容模型,以便它将对象类的每个特性反映为一个元素声明,它在内容模型内的基数和定位由与语法无关的模型详细信息确定。数据类型的特性指的是W3C XML Schemas(WXS)数据类型,它被选为UBL的标准模式语言。作为辅助格式,这些文档类型用ASN.1(Abstract Syntax Notation number One)模式定义。
UBL中的属性名结合了各个语言之所长,更加适合实际的运用。
4 结束语
综上所述,UBL在供应链中的订货—发货交易过程中对常用的元素做了定义和规范。这使各个公司之间的交易信息交换变得更加容易,不会再因为同一元素的命名不同或者不同元素的同一命名造成误解以及交易失误。
UBL可以很好地解决现今电子商务信息交换,尤其是供应链中的信息交换问题。它定义严格,利用并参考了其他技术成果。由于它无需支付版税,因此被广泛采用。
现在的UBL才刚刚起步,短期内并不会取代目前已经比较成熟的xCBL。由于xCBL是UBL的基础,xCBL的发展并不会阻碍UBL的发展,而会促进UBL的发展。这样,UBL一定会在xCBL的基础上健康成长,最终取代xCBL而成为电子商务信息交换的主要模式。
参考文献
1 OASIS.Universal Business Language 1.0.http://www.oasisopen.org/committees/tc_home.php? wg_abbrev=ubl.2004
2 牟彤华.从EDI到XML-EDI——企业电子商务模式的演变.企业经济,2002;(7)
3 顾穗珊,张治江.XML/EDI:新型的电子商务数据交换模式. 情报科学,2003;(5)
4 flyspace.xCBL.http://blog.csdn.net/flyspace/archive/2003/05/15/4298.aspx.2003