最早的电子商务是传统的EDI(Electronic Data Interchange,电子数据交换)。20世纪60年代末,欧洲和美国几乎同时提出了EDI的概念。早期的EDI是在两个商业伙伴之间依靠计算机之间直接通信完成的,70年代,数字通信技术的发展大大加快了EDI技术的成熟和应用范围的扩大,也带动了跨行业EDI系统的出现。80年代EDI标准的国际化又使它的应用跃入一个新阶段。
传统EDI将数据信息规范化、格式化,通过网络互联处理,便于不同公司、企业应用或商业运营的数据交换和交流。但是随着EDI的普及,它的一些缺点也相应显现出来。传统EDI利用专网或增值网服务,成本高。基于严格的事务处理的标准集,其中包含了商业的规则,仅适用于特定应用,对于经常变动的商业规则不适用,难于实现跨平台跨系统的数据交换。
90年代初,随着Internet的迅速普及,出现了基于Internet的电子商务。它利用Internet的全球性,扩大了交易范围,成本大大降低;采用数据加密、电子认证、安全电子交易等一系列措施,提高了交易的安全性。但是在实现跨平台跨系统的数据交换方面还不是很方便,仍需要在多种文件格式间进行转换。
90年代后期,XML的出现为电子商务注入了新的活力。XML与EDI的结合提供了一种可被广泛理解的商业规范,文档、表单等信息可在不同的系统中相互交换,提高了数据的可持续性,降低了由于商业规则上的变化所引起的额外应用成本,保证同旧系统的连接,保护既有投资。当然,目前XML/EDI技术尚未完全成熟,需要进一步发展和完善。
可扩展置标语言XML(eXtensible Markup Language)是W3C联合SGML专家组成的SGML工作组,对SGML(Standard for General Markup Language)进行裁剪而形成的SGML精简子集。它为互联网开发者提供了一个全新的实现电子商务和电子数据交换EDI解决方案的工具。
XML具有以下4个主要特点:
1.简单性
XML为程序员和文档作者提供了一个友好的环境。XML的严格定义和规则集使人类和机器都能更容易地阅读文档。XML文档语法包含一个非常小的规则集,使开发者能立刻开始工作。根据文档的结构,DTD(Document Type Definition,文档格式定义)既可以通过一个标准过程创建,也可以由专家创建。
XML文档建立在基本嵌套结构的一个核心集的基础之上。当一层又一层的细节增加使结构变得越来越复杂时,作者或开发者为内部结构的复杂化付出的努力将是很少的。这些基本结构可以用来代表复杂的信息集合,而不需要改变结构自身。XML的语法分析器也非常容易创建。
2.可扩展性
XML在两个意义上是可扩展的。首先,它允许开发者创建他们自己的DTD,有效地创建可被用于多种应用的“可扩展的”标志集;其次,使用几个附加的标准,可以对XML进行扩展,这些附加标准可以向核心的XML功能集增加样式、链接和参照能力。作为一个核心标准,XML为可能产生的其他标准提供了一个坚实的基础。
3.互操作性
XML可以在多种平台上使用,而且可以用多种工具进行解释。因为文档的结构是相容的,所以解释它们的语法分析器就能以较低的费用建立。XML支持用于字符编码的许多主要标准,允许它在全世界许多不同的计算环境中使用。
XML对Java进行了很好的补充,许多早期的XML开发是用Java进行的。一个用于语法分析器的普通应用程序接口——XML的简单API(SAX),可以免费获得,也可获得用C++、C、JavaScript、Tcl和Python等编写的语法分析器。目前,XML语法分析器的开发集中在免费的插件(Plug-in)上,这些插件为XML应用提供了语法分析能力,极大降低了使用XML建立实际应用的费用。
4.开放性
XML标准在Internet上是完全开放的,可以免费获得。XML文档自身也较为开放,任何人都可以对一个结构良好的XML文档进行语法分析,如果提供了DTD,还可以校验这个文档。公司仍然用特定方式创建用于它们应用的XML,而XML文档中的数据却是任何应用都可使用的。虽然开发者可以建立语意模糊的DTD,或以自己的方式加密数据,但他们将会失去使用XML的许多好处。XML并不禁止创建私有格式,但它的开放性是它最大的优点之一。
用HTML页面和数据库打交道时,要经过复杂的转换手续,而需要在一种类型的数据库和另一种类型的数据库之间交换数据时,更是要大费周折。反观XML,由于它采用了结构化的数据,所以要储存或是要在不同数据库之间交换时,都非常容易。可以预见,XML今后将会成为数据在不同数据库之间交换时的标准方式。
众所周知,当在Internet上一次传输大量的数据时,经常会遇到数据代表的意义即数据的格式无法确定的问题。特别是在远程报表项目中,每一张报表均有大量的数据,还要包括报表本身的信息和数据在报表中的位置,而且报表的格式五花八门,这更增加了数据表示的难度。此时,最好的方法就是利用XML来格式化数据。
通常用XML格式能够很好地表示报表的结构,不但能传送报表的数据,还能准确表示数据在报表中的位置。所以,当这样两个XML文件传送到客户端时,我们可以很容易地将其恢复成原来的报表。
当我们需要在客户端实现脱机操作时,就要求在客户端保留大量的信息,但在客户端建立数据库不符合瘦客户的原则。如果换一个角度来看,XML对数据的结构化描述,就是一个以树型结构表示的数据库。当然,我们需要一个管理XML将它们连起来,这样可以把多个XML文件连接起来形成一个文件数据库,而且占用的空间小,更新十分方便。
XML/EDI小组于1997年7月通过互联网成立,目的在于培育和发展开放的和对XML/EDI广泛适用的下一代电子商务标准。XML/EDI的目的是允许各种组织为全球用户配置更为智能、更为便宜和具有更高可维护性的系统。
EDI是电子商务的始祖,具备用简单格式表现结构数据的能力,使得数据能够传递到其他人,且接收者能解释接收到的信息。在EDI转移到下一代产品过程中,XML/EDI为现存的EDI交易提供了100%的向后兼容性。这意味着我们无需抛弃现有的EDI投资和知识。
EDI和XML两者本质上都是封装在标记格式和结构中的数据和元数据。因此现有的EDI机制可以用XML语法来表示,而且能够创建新的更为灵活的方法。EDI传统上使用独特的类似标记的段落标识来分隔和标识消息中的数据项;XML使用同样的基于标记的方法,但允许动态的标记和对象结构。因此,用Internet标记替换段落标识使得XML充分表现EDI,而且可以通过Internet传送EDI单证。
只是简单地重新定义消息格式使得消息可以在Internet上传递还是不够的,传统的EDI单证机构由于自身的固定性和不灵活性将面临被淘汰的危险。为此XML/EDI工作组增加了3个额外的关键组件:
处理模板(Process Template)
软件代理(Software Agent)
全球实体知识库(Global Entity Repositories)
这3个额外的组件将传统的EDI转变为XML/EDI,允许业务伙伴间开展完整动态的电子商务,并且每个组件增加了利用其他部分的独特工具。过去,EDI是静态的,而XML/EDI提供了完善的动态处理过程,可以无限扩展。
处理模板提供了将整个XML/EDI结合在一起的粘合剂。如果没有处理模板,用户将无法单独使用XML语法表达所有需要进行的工作细节。模板是全局应用,或者在XML中作为特殊的段落或标记集合向前传播,而且容易读取和解释。它们在布局和内容上将传统的处理控制语言语法集中起来,并对XML中所声称的文档类型定义提供补充。DTD(Document Type Definition,文档类型定义)通过定义结构和内容,提供交易的互操作性。DTD还允许两个组织相互理解数据。处理模板定义了数据上发生的动作,并提供交易处理。
软件代理,不仅解释处理模板,执行必要的工作,而且与EDI交易数据定义、用户业务应用相互作用,为每一特定的任务创建新的模板。代理也能访问全局知识库,为现有工作查找并配属恰当的模板。软件代理也能参考DTD,决定窗体的显示特征。这是Java和ActiveX所擅长的领域。当前,这两个技术为创建代理提供最好的中介。
全球互联网知识库(Global Internet Repositories)已经应用于传统EDI了,例如:BSI的BEACON系统。它使用BEACON字典,用户可以手工查找EDI元素的含义和定义。当前,全球互联网知识库概念已进入下一层次,提供自动查找功能,正如当前较高级的互联网搜索引擎一样。该组件为全球业务交易提供了语义基础,并为软件代理正确的实体交叉引用提供支撑。
XML/EDI为系统提供传递信息,不仅仅是数据,而且包含所需要的信息处理逻辑。
XML/EDI也定义了一个标准,用于为表现特征、结构和支持业务交易(编目录,订单表格和合法要求等)的数据行为进行编码,它为关键交易信息的交换提供了便利,从而形成了自动执行和基于文档的交易。
XML/EDI的基本思想是在文档中增加足够的智能处理信息使得文档(以及以文档为中心的文档处理工具)成为电子商务的框架。
例如:在企业之中的供应商供应链的管理、客户服务的支援、资源整合和物流管理等的应用,通常会牵涉到很多不同的处理过程和步骤,文件需要转送很多部门,而且文件之中的资料内容和结构又不尽相同,这些工作HTML根本就不能胜任。而XML却提供了各种完整的解决方案和功能,包括资料传递、资料采撷、资料结构与资料呈现等,让设计流程大为简化。XML可以让电子商务拥有更多的资源选择,并且与消费者或供应商与合作伙伴之间维持更密切、更有效率的关系。
下面讨论具体的XML/EDI系统的实现,系统基本框架如下:
XML解释器:考虑到平台兼容性,由Java编程来实现。它处于EDI服务器和WWW服务器之间,负责在基于X12和EDIFACT等EDI标准事务处理集和XML间进行转换,例如单证格式、信息格式等;
WWW服务器:使用Apache服务器并编译进支持XML的模块;
处理模板:利用XML的DTD编写各类模板,来满足传统EDI系统对商业规则和各类标准的要求(如各种单证标准),并由软件代理控制;
软件代理:使用Java编写,用CORBA技术来和XML翻译器、EDI服务器进行联系通信;
EDI服务器和全球实体知识库:利用传统的EDI系统,增加相应的支持CORBA的接口。
该系统通过XML语言将支持传统EDI的电子商务系统与非EDI的基于Internet的电子商务系统有机地结合起来。有效地利用了现有的网络和设施,大大降低了客户的成本,满足中小企业对电子商务的需求。
以下列出目前已有的基于XML的电子商务标准:
1.cXML规范(Commerce XML)
1999年8月,Ariba Technologies正式推出了cXML/1.0标准。该标准是一种基于XML标准的面向Internet中B2B模式电子商务交易的行业标准。规范主要内容是用于定义电子商务交易DTD,涉及订单(order)、采购(PunchOrder)和商品目录(Catalog)等。
2.eConcert计划与PIP规范集
1998年工业标准组织RosettaNet发起了eConcert计划。规范内容包括:PIP通用的电子商务流程标准;规范描述形式DTD。
3.xCBL 2.0规范(XML Common Business Library)
1999年1月由CommerceOne提出。该规范描述形式为DTD,是一个跨行业的基于XML的电子商务标准与框架。主要为中小企业提供一种快捷的电子商务解决方案。
4.BizTalk框架
1999年12月6日,微软推出BizTalk框架1.0规范。该框架是微软电子商务解决方案的核心,规范描述形式为Schema,信息传送主要方式是BizTalk Server间的传送消息、转换数据。
Internet与传统EDI结合产生了新一代Internet EDI,HTML带来了Internet、WWW及Internet EDI的发展,但因其过于简化,逐渐为Web的发展所不容。XML顺应需要,其优秀性能带来了新一代Web,更带来了真正Web风格的EDI。发展中的XML,其更深远的影响有待进一步研究。