XML在Domino环境中的应用研究

dom|xml

摘 要:提出利用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. 

时间: 2024-10-03 09:34:52

XML在Domino环境中的应用研究的相关文章

如何建立一个 XML 的开发环境

xml 学习 XML 的最佳途经是从简单的开发入手,大胆实践,循序渐进.XML 的妙处只有在开发过程中才能深入体会,离开了开发是学不好 XML 的.因此学习 XML 首先应该建立一个 XML 的开发环境.我给大家介绍一下怎样建立一个基于 Java 的 XML 开发环境.因为我现在没办法用到 Linux,所以所有的例子都是在 Windows 上做的.但是这里介绍的所有的软件在 Linux 和 Windows 上都是可以用的,用法也大同小异.而且除了 Sun 的 JRE 以外都是 open sour

如何建立一个 XML 的开发环境(1)

xml   学习 XML 的最佳途经是从简单的开发入手,大胆实践,循序渐进.XML 的妙处只有在开发过程中才能深入体会,离开了开发是学不好 XML 的.因此学习 XML 首先应该建立一个 XML 的开发环境.我给大家介绍一下怎样建立一个基于 Java 的 XML 开发环境.因为我现在没办法用到 Linux,所以所有的例子都是在 Windows 上做的.但是这里介绍的所有的软件在 Linux 和 Windows 上都是可以用的,用法也大同小异.而且除了 Sun 的 JRE 以外都是 open so

在.NET环境中实现每日构建(Daily Build)--ccnet,MSBuild篇

每日构建,对我们团队来说一个全新的概念.随着项目开发的进展,在开发过程需要及时反馈一些BUG 和功能要求的处理情况.而在这种情况下每天或隔一段时间Build一个版本,工作量还是比较大的,所以 就特别有必要引入每日构建.关于每日构建,在园里有已经有很多的文章了,特别是摩诘的<在.NET环境 中实现每日构建(Daily Build)--NAnt篇>更是从概念上和实践上手把手地介绍如果在.NET环境下实现每 日构建.但很遗憾,在我实现每日构建之前没有看到这篇文章,错失了一次快速入门的机会,不过感到庆

在J2EE环境中使用Quartz企业级计划调度器(2)

3 自动启动Servlets 我们希望在应用被部署或容器启动时就提交任务.我们必须在web模块并重启动的时候 初始化QuartzInitializerServlet 和 howto.quartz.servlet.QuartzServlet.为了达到 这个目的,我们需要在Web应用的部署描述符(web.xml)中增加以下内容: <servlet> <servlet-name>QuartzInitializer</servlet-name> <display-name

用Java客户机调用Web服务: J2SE和J2EE环境中Web服务客户机简介

Web 服务的力量在于互操作性.由于业界在 Web 服务技术方面(SOAP.WSDL.UDDI)的协作,更具体地说,是由于 Web 服务互操作性组织(Web Services Interoperability organization,WS-I.org)的工作,Web 服务才可以与其他的 Web 服务进行交互,而不管 Web 服务开发和运行在哪一个平台上(比如是 Microsoft .NET 还是 IBM WebSphere).Web 服务客户机分为多种类型,比如另一个 Web 服务.用脚本语言

在IBM Lotus Domino Designer中使用Java构建应用程序

本文旨在帮助那些传统的 LotusScript 开发人员转向 Java 开发.在几乎不具备 Java 知识的情况下,本文可帮助您开始在 IBM Lotus Domino 中进行 Java 应用程序开发. 简介 对于 IBM Lotus Notes 应用程序开发人员来说,LotusScript 和 LotusScript 类在设计 Notes 应用程序时很有用.LotusScript API 支持以编程方式与数据库.文档,甚至设计元素进行交互.随着 Java 发展成为主流编程语言,原来越多的 No

《DB2性能管理与实战》——2.6 DB2 pureScale环境中内存管理

2.6 DB2 pureScale环境中内存管理 DB2性能管理与实战 本节将要介绍与pureScale特性相关的内存管理,可以对比前面的单节点环境下的内存管理,来分析它们之间的异同点.本节为学习后续章节中的相关案例奠定了基础. 2.6.1 集群高速缓存设施 在DB2 pureScale环境中,又引入了集群高速缓存设施(CF),CF将不同内存堆用于以下用途. 1.组缓冲池内存 组缓冲池内存被用于DB2pureScale实例的组缓冲池.如果以一致方式将此类型的内存用至最大已配置能力,那么可能会对性

《Hadoop MapReduce实战手册》一1.8 在分布式集群环境中设置Hadoop

1.8 在分布式集群环境中设置Hadoop Hadoop MapReduce实战手册 Hadoop的部署包括一套HDFS.一个JobTracker和多个TaskTracker.在1.5节中,我们讨论了HDFS的部署.为了设置Hadoop,我们需要配置JobTracker和TaskTracker,然后在HADOOP_ HOME/conf/slaves文件中指定TaskTracker列表.当我们启动JobTracker时,它会启动相应的TaskTracker节点列表.图1-5描述了一套完整的Hado

struts2-ssh环境中使用ajax的问题

问题描述 ssh环境中使用ajax的问题 ssh环境中使用ajax时,是用struts2的action处理请求还是用servlet处理请求,如果用action处理请求的话是不是不写result? 解决方案 这要看你返回类型是什么,如果是JSON格式,一种方式是struts.xml需要配置json-default,struts2对json数据的支持, 还有一种就是导一个fastjson包,通过JSON.toJSONString()转成json格式,然后printwrite写出去 解决方案二: SS