1、XML 在企业信息交换中的应用摘要:XML 由于其固有的优点,现在已经逐渐成为 Internet 上数据表示与交换的标准,本文从企业对外界信息的及时需求的角度出发,分析了传统的 EDI 技术的不足之处,讨论了 XML 在企 业信息交换中的应用,讨论了目前应用 XML 进行企业信息交换的两种思路,并提出了一种用 XML 作为消息传送中间件的企业信息交换的实现方式。关键词:XML EDI 数据交 换Abstract:With his intrinsic merits,XML now becoming a new standard for data representation and data e
2、xchangeFrom the viewpoint of the fact that the enterprise needs to access the information from outside timely,this paper analyzes the shortcomings of traditional EDI,discusses the application of XML in enterprise information exchange,and discusses two ideas that using XML in present application,fina
3、lly submit a solution that using XML as a MOM in enterprise information exchangeKeywords:XML EDI dataexchange第一部分 背景计算机,通信,电子技术的飞速发展为人们充分利用信息技术提供了基本的保证,信息技术已成为促进国民经济发展的重要力量。随着世界竞争的加剧,企业对信息有了进一步的需求。产生了 CRM,SCM 等概念。于是出现了新的问题,就是怎样把企业外部信息与企业内部应用系统进行集成。即互联网上的信息交换。传统的分布对象技术采用了 DCOM 与 CORBA 等,但是,当这两种方法当应用在
4、 Internet 上时,便产生了不可避免的缺陷。DCOM 最大的缺点在于它是依赖于 WINDOWS 平台的,无法满足异构环境下应用的要求。而 CORBA 主要的缺点在于:CORBA 的体系结构庞大而复杂,并且技术和标准的更新相对较慢。然而基于 XML 的 RPC 及 XML SOAP 协议却很好的解决了这方面的不足。而且,由于 XML 的简单性以及其开放性,基于 XML 的信息交互技术也解决了传统的用 EDI 方式进行数据交换方面的不足。下面将讨论两种数据集成的方法,并提出了一个用 XML 作为数据中间转换格式的集成系统。第二部分 用传统的 EDI 进行企业间信息交互的方式21 EDI 的概
5、述EDI(Electronic Data Interexchange)是一种计算机应用技术,其目的在于通过计算机网络,对需要进行的数据进行自动的交换与处理,EDI 已发展成为集计算机软硬件技术,商业规则,安全保密等于一体的标准体系。国际标准化组织对 EDI 的定义如下: “为商业或行政事物的处理,定义一个公认的标准,形成结构化的事物处理或消息报文格式,从计算机到计算机的数据传输方法”。1980 年至 1985 年美国与欧洲都制定了一套标准分别是 ANSIXl2 与 TDIGTDI标准,此后两大标准统一为 UNEDIFACT 成为国际统一标准。22 EDI 标准的结构由于 UNEDIFACT 已
6、经成为实际的国际标准所以下面主要讨论UNEDIFACT 的结构,根据联合国贸易数据交换手册(UNTDID) 和贸易数据电子交换统一实施规则(UNCID) ,UNEDIFACT 标准的主要内容如下 9 个方面:(1)数据元目录 EDED(2)复合数据元目录(3)代码目录 (EDCU)(4)段目录 (EDSD)(5)标准报文格式 (UNSM)(6)应用语法规则 (IS09735)(7)语法应用指南(8)报文设计指南(9)贸易数据交换格式构成总览 (UNCID)其中应用语法规则(IS09735)定义了 EDI 交换中交换信息的语法规范。其中IS097352 定义了 EDlI 数据结构,ISO9735
7、3 定义了 EDI 数据的传输规范。23 用 EDI 进行企业间信息交互的实现过程:用 EDI 系统在企业间进行数据的交互与传输,可以在企业内构建 EDI 服务器,将所有 EDI 与客户系统及企业内部 ERP 系统的接口软件以及各 EDI 专用软件都放于 EDI 服务器端,企业间 EDI 报文通过增值网(VAN)进行数据的传送。其大致框图如图 1 所示:其中,用户界面是提供给用户的通过 EDI 服务器与企业内部各应用系统交互的接口程序可以是 WEB 页面。由于企业内部各个系统有着其特定的数据格式而 EDI 数据格式由于受到在 VAN 上的带宽的限制,因而是一种紧密压缩的标准格式,所以需要设立转
8、换程序(翻译软件)主要起将 EDI 格式的文件转换成企业内部应用程序格式的数据及将企业内部应用程序格式的数据根据 EDI 标准转换成 EDI 格式的数据的作用。数据映射程序主要起提取企业内部格式数据并与企业内部应用系统接口交互,实现与企业内部系统的集成的作用。通讯模块作用是使自己的计算机把数据传送到一个中央网络,由这个中央网络负责把EDI 信息传到目的地,另一方面也从这个网络接收信息。中央网络为每个加入到其中的用户开设一个邮箱。贸易伙伴交换信息时,发送方只要把信息送入对方的电子邮箱,接收方从自己的邮箱中接收信息即可。可以利用增值网络(VAN)建立。这种模型的主要缺点在于:1)EDI 编码格式复
9、杂,是一种非自描述的格式,因而晦涩难懂。这是由于受到增值网的带宽限制,所以 EDI 数据格式采用了一种高度压缩的,隐含的信息格式。不便于人们阅读,理解。2)EDI 是基于严格的事务处理并包含了一定的商业规则,因而是一种受限的,低可扩展性的数据交换,进行商业活动的双方一旦有一方退出,或有新的合作伙伴加入,那么另一方就要重新修订业务逻辑,而企业的商业活动在于对市场的敏捷反映,因而,EDI 这种模式不适合于企业对信息的需求。3)EDI 需要专门的通讯网络,因而代价高。不适合目前中,小企业的发展。由上可见用纯 EDI 的方式实现企业间的信息集成并不是一种有效的方法。然而随着 xml 技术的发展,EDI
10、 有了其新的发展空间,如WEBEDl , lNTERNET EDI。第三部分 XML 在企业信息化中的应用随着 Internet 技术的不断发展,WWW 已经成为了一种重要的信息发布与信息查询的载体,I998 年 W3C 发布了作为 Internet 上数据表示与数据交换的新的标准 XML,它突破了传统的标记语言的缺点,为 Internet 上的信息共享与信息的交互提供了强有力的支持。3l XML 简介:eXtensible Makeup Language 是一种可以对信息进行自我描述的语言,它允许你定义一套符合自己需要的标记。作为信息传输的载体。标记用于界定内容,XML 语法允许自行定义任意
11、复杂的标记结构。XML 都是使用普通的文本,而不是二进制的数据格式,所以其天生就具有跨平台的优点。XML 的优点在于:1)规范,简单。XML 文档有着一套严谨而简洁的语法结构。这为 XML 解析器获取文档所含信息提供了前提。2)可扩展性。应用者可以按照需求定义自己的标记,而不象 HTML 一样其标记都是预先定义的。3)自描述性,自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提,因此具备很强的开放性。4)XML 的意义在于它可以把所有信息都存在于 XML 文档中,可以以 http的方式传输,而远程的应用程序又可以从中提取其需要的信息。32 目前使用 X
12、ML 的两种方式目前,在企业信息系统中使用 XML 作为数据传递及处理的格式有两种基本思路:第一种思路是:利用现有技术对 XML 提供的支持,将 XML 作为各个分系统共同支持的标准,定义一个流程化的基于 XML 的完整的业务流程解决方案,使 XML 的应用与系统整体构架紧密关联,并提供对 XML 文档有效性验证及不同数据格式转换的应用工具,实现企业用户自定义业务流程的自动化处理。在这个方面的突出例子是微软 visutal stdionet 平台的应用服务器 Biztalk Serve rBiztalk server 目标是简化与 B2B 解决方安案相关的开发与维护工作,该产品可以从外部来源接
13、受 XML 文档,并在这个基础上使这些文档可以供内部应用程序进行自动化处理,这种解决方案充分地利用了现有的技术与工具,建立在分布式多层体系结构上,以 SQ L server 做为后台数据层,企业的各种应用服务从数据层提取信息,加工处理,形成企业的业务信息,作为中间应用层。以IIS 组件构建 WEB 服务器,作为企业与外界的接口,即用户层。图 2 描述了由BIZTALK 建立的系统构架。在这种系统构建方法中,关键步骤在于:1)正确地设置其消息管理模块,当文档发送到 BIZTALK 时, BIZTALK 首先由消息处理模块接受文档,在这个模块中对文档进行格式的转换(由 BIZTALK CHANNE
14、L 完成),根据输入一输出文档的 schema 定义把 EDI 格式的文档转换成 XM L 文档格式,或者把企业外部XML 数据转换成本企业内部 XML 数据,以供企业内部应用系统使用,相当于EDI 方式中的翻译软件。并可以根据接受到的 XML 数据,把它传送给不同的目的地或各个业务处理模板。(由 BIZTALK PORT 完成)。2)正确的构建企业业务处理模板,消息处理模块接收到外部文档后,经过格式转换后发送给业务处理模块,在这个模块中定义了企业的业务流程,可以提取文档内部信息,并调用 COM DCOM 服务完成整个数据的处理。这种思路的优点在于:1)成本较低,充分应用了企业的现有资源。2)
15、能够提高系统的整体性能,可以同企业现有的业务系统集成,包括SAPPR3 与 EDI。3)不同数据格式的转换方便。通过 Biztalk Editor 与 mappe r 工具可以方便快捷地创建与编辑 XML,并实现不同数据格式的转换。4)网络传输协议支持:包括 HTTP,HTTPS,FTP,SMTP ,SMB(file transfer),Microsoft Message Queue Server(MSMQ) and Microsoft Exchange.5)可靠的安全性:提供加密、数字签名、公开密钥等技术,使得 Internet 上离保密性资料的传输具有很强的安全性。 种种不足之处是:1)这
16、是一种纯 XML 的解决方案,而 XML 技术有待于进一步的发展。2)目前各个行业的 XML schema 标准还不完善。3)这种模式目前还处于初级阶段,有待于在具体的应用中进一步的发展。第二种思路是:XML 仅仅起中间的数据表示与消息传输作用,即企业内部各个模块可以在不同的平台上采用不同的语言与工具开发,利用 XML 封装各个模块与外部的接口。外部系统把自己所需调用的方法名以及方法参数,通过XML 进行封装,并采用 http post 的方法传给远程服务器,即利用 XML RPC 或SOAP 协议访问远程对象,实现数据的共享。利用这种方式的主要是考虑到 1)其调用的方法名与参数使用基于 XM
17、L 的编码方式,利用了 XML 在数据交换上的强大能力。2)其传输的协议使用了 http 的方式,因而可以穿透防火墙的限制。3)它提供了一种松散耦合的远程方法调用方式,在传统的紧密耦合的系统中,要求理解在其中传递的消息的格式,比如是否在这些消息中使用了 OCOM 或者CORBA(IIOP)。而在 Internet 的体系结构上,在并不知道任何关于共享的分布对象结构的条件下,这种信息显然是未知。在实际的企业应用系统中,第二种方式应该更加有力,更有利于重要企业原有的各个部门分系统,保护原有的投资。而且以后的业务扩展打下基础。3.3 基于 XML 的企业信息集成的框架在实际的应用中,我们构建了一个基
18、于 XML 的企业信息集成系统。主要部分在于提供了一个企业内部系统与企业外部系统交互的接口。其目的是:1 )对于消除不同企业系统存在的数据表达的差异,使外部数据对于企业内部的应用来说是透明的。2)对于外部的请求调用合适的服务,并对服务返回的数据按照 XML 规范编码,返回其请求源目的地。3)对企业内部各应用系统发出的请求利用 SOAP 协议用 HTTP POST 方法发送到外部企业的服务器。其大体结构如图 3 所示:格式转换模块:提供了与企业 WEB 服务器的接口与格式转换的功能。在这个系统中,由于不同的企业有着对数据的不同表示方法,所以,首先要对数据进行格式化转化。比如说在企业 A 中对产品
19、的描述可能是:而在其原料供应商中的相关数据有可能是:经过格式转换,使对于企业来说,外部信息的格式是透明的。由于在 XML文档中这种格式的差异体现在与之相关的 DTDSchema 的差异上。因而需要提供将 XML 消息中的变量名相互绑定的机制,并与企业所提供的各种服务的接口参数相关联。XML 文档分新模块:这部分的主要工作是,分析由格式转换模块送来的文档,提取文档中的各个标记所含的信息,如请求方法的方法名,请求参数等等,并把这些参数与后台的应用系统接口相关联,接受外部请求。XML 生成模块:这部分的主要工作是将企业内部的应用系统返回的信息,以 XML 的格式组织起来,并发送到格式转换模块进行文档
20、格式的转换。34 企业信息集成框架的工作过程:1)请求过程。首先,企业 B 通过其内部应用系统向企业 A 发送调用请求,企业 B 的 XML 生成模块将这些调用请求翻译成 XML 文档,其中应该包括调用请求名,请求参数,企业标识等等并对文档进行加密,之后 XML 消息发送给企业 B 的 web 服务器,由其用 http post 的方法,把这个调用请求发送到企业A 的 web 服务器。2)应答过程。企业 A 的 WEB 服务器接收到发送来的请求信息以后,将其递交给企业的信息服务器,由信息服务器对请求信息进行身份认证,通过认证以后,对文档进行解码。并交给格式转换器,由格式转换器把文档内容转换成本
21、企业内部信息格式,并交给文档分析模块进行进一步处理。文档分新模块提取XML 文档信息,与企业内部应用系统提供的服务进行对比与绑定,如果提供了相应的服务,则通过应用接口将信息传送给企业内部系统,由其处理。如果没有提供相应的服务,则返回报错信息。结束语:目前我们正在做的南京市科委企业信息化集成平台课题研究,我们已经初步建立了系统的整体框架,实现了企业内部各个系统的集成。下一步准备按照上述的构架,实现企业间的信息交互与共享。参考资料:I)http:wwww3c org2)http:microsoft co mbiztalk3)http:wwwbiztalk com4)XML 高级编程机械工业出版社李喆等译5)基于 XML 的 Internet EDI 郝颖等华南理工大学学报(v0129 No6 2001 年)6)http:wwwxmlrpc comspec7)XML and SOAP Programming for BizTalk ServersBrian E Travis copyright by Micorsoft Corporation8)http:wwww3orgTRSOAP图 3 基于 XML 一的企业信息集成的实现方式来源:信息化新模式李海峰 2003-7