XML在Domino环境中的应用研究

12/3/2006来源:Lotus Notes人气:6154

 摘 要:提出利用xml在Domino环境下实现供应链内各成员企业物流信息交换,并给出一个应用实例。

  关键词:物流信息;XML;Domino;供应链

  1 引 言

  物流计划和执行的过程是一个企业内部各部门之间,乃至与供应链上下游合作伙伴之间的流程协作过程,因而,物流信息通常需要实现跨部门、跨企业流动,以便使业务伙伴之间可以像企业内部部门之间那样实现补货、运输、采购、订单处理等流程协同化工作,实现面向物流流程的协作。这必须要以物流信息协作为基础。然而,由于供应链中各成员企业相互独立,其已建立的物流信息系统所采用的数据库系统不尽相同,如有:Oracle,SQLServer,Sybase等;同时他们对一些数据文件的存放格式也不一样,如有:WWW信息、关系型数据以及结构化文档,这些差异制约了物流信息在供应链成员企业中的传递与共享。针对这种情况,我们提出在Domino环境下利用目前流行的XML语言,来实现物流信息跨部门、跨企业交换。

  2 XML与Domino简介

  2.1 XML数据交换模式

  XML是互联网联盟(W3C)于1998年制订的一种全新的描述结构化数据的语言,是SGML的一个优化子集,其优越的特性使之逐渐成为支持数据交换的一种标准。选择XML来实现物流信息交换,主要基于其具有下列诸多优点:

  (1)在物流信息交换过程中存在着大量的单据信息,同一份单据可能会在多个应用模块之间流转,使用XML可以简单的对单据进行校验、转化、显示及同步;

  (2)XML采用了典型的树状结构,因此对一个XML对象的操作如:遍历、查询、删减、重建、添加等,只要遵循经典的树操作便可;

  (3)XML是面向数据与具体应用无关的,因此在一个模块中引用XML不会影响到其他应用;

  (4)目前所有的主流数据库管理系统都开始支持XML,比如在Oracle8i,DB2 7.0以上,SQLServer2000中,都直接支持XML文档到数据库的双向数据读写;

  (5)XML文档是自描述的,其中的数据可以被任何能够对XML数据解析的应用所提取、分析和处理,并以所需格式显示;

  (6)XML标准本身在Web上是完全开放的,可以免费获得。

  2.2 Domino技术

  Domino是由Lotus公司开发出来的群件软件产品。他是一个建立在计算机网络之上,面向文档的,具有强大通信功能和信息共享能力的系统应用平台。Lotus Domino可运行在多种操作系统的平台上,能全的存取中心,有安全、健壮、可靠的通信基础,同时他也是一个Web服务器,因此适宜同XML相结合实现Internet Web上的数据交换与信息发布,启动供应链中商务伙伴系统的无缝连接,并实现了网上数据的交换与共享。

  2.3 XML与Domino相结合的优势

  采用XML在Domino平台上实现物流信息交换,是与XML的应用要求和Domino所提供的服务相一致的,两者结合具有以下优势:

  (1)XML应用要求支撑系统应具有很强的跨平台能力,而Domino服务器具有跨平台性,支持Microsoft Windows 95/NT(Intel和DEC Alpha),IBM OS/2,OS/390,OS/400,AIX,HewlettPackardHP_UX,Sun Solaris(SPARC和IntelEdition),NovelNetWare等多种操作平台。

  (2)物流信息交换平台要求能够为授权用户提供企业级的安全保证,特别是在Internet上传输有价值的数据时。Domino服务器提供了4级安全措施:双向验证、存取控制列表ACL安全管理—达到单个域级、字段级加密和电子签名,并且完全集成了对SSLV3,X.509验证,CDSA及S/MEME安全机制的支持,在最大范围内提供数据传输的安全保证。

  (3)利用XML实现物流信息交换,要求必须有一个消息传输机构来驱动数据传输。Domino应用服务器最显著的特征就是消息传输,他可以利用以邮件系统为中心的一整套机制来传输消息,实现数据的快速传递和反馈。

  (4)XML技术的存储方式应接近XML本身格式,即树形结构,他提供了数据的结构化表示,并且易于操作。而Domino数据库服务器也是文档型数据库,可以保证存储的XML数据的结构和语意信息的完整性,而Domino数据库的这一特性又很好地保证了数据的可伸缩性。在这种情况下,数据可以任意地扩展和收缩,诸如节点元素和属性的增加或删除此类的修改都可轻松完成。

  (5)利用XML技术中的DTD,搜索引擎能够方便的定位数据的标识,排除显示标识的干扰使得数据搜索快速而高效。Domino通过其核心功能—分布式知识搜索,采用独特的复制技术、目录管理技术、文件系统管理和数据库索引,在整个网络域中实现了对数据库、文档或其他类型文件的高效搜索。

  3 XML在Domino环境中实现物流信息交换应用实例

  (1)在进行物流信息交换时,Domino服务器端接受客户端物流信息查询请求,触发WebQueryopen代理,生成一个对数据库的查询请求,然后执行数据库操作,产生一个XML对象。下面给出该代理的部分编码:



  (2)随后,服务器端将查询数据库产生的XML对象封装成XML格式,发送回数据请求端。为了将查询结果封装为XML格式,我们采用MS-XML解析器。首先创建XMLDOMDocument对象变量“XMLDoc”,并创建一个根结点“XMLRoot”。



  此时,所有的结果记录都被添加进“XMLDoc”这一XMLDOMDocument对象变量中。通过“XMLDoc”的“XML”这一属性可以得到其中的所有文本,并将其通过Domino邮件机制发送给客户端。

  (3)当客户端接收到封装为XML格式的数据后,进行信息搜索并提取所需数据信息。在这个过程中,需要对XML文档进行解析和定位,我们可以通过DOM(Document Object Model)技术。例如,我们要从一个XML文档中提取一些基本数据信息,解析器把XML文档转换生成DOM树,如图1所示。



  这样,信息的搜索就变成了对信息树的遍历,用户可以在信息树上进行增加、删除和修改等操作。下面给出遍历该XML文档的部分程序代码:




  ……

  4 结 语

  将XML和Domino结合起来实现物流信息交换,充分使用了XML灵活的数据格式、存储与显示分离的特点,以及Domino强大的通信功能和信息共享能力,便于实现异构系统间的物流信息交换与应用集成,更好地实现企业的物流协作,提高供应链整体的快速响应能力。

  参考文献

  [1] 金鑫,陈家训.基于本体的供应链信息交换研究[J].计算机应用,2003,23(1):7-10.

  [2] 王仲,陈晓鸥.基于XML的数据交换与存取技术研究[J].计算机工程与应用,2002,(24):108-111.

  [3] 周国兵,周莲英,查杰民.XML在Domino上应用的企业应用集成[J].计算机应用研究,2002,(1):91-93.

  [4] Rose Kellepher M,Thomas Jones A.LotusDomino/Notes R5应用教程[M].北京:机械工业出版社,1999.
,