DOM4J在图书信息推送系统中的应用
2015-06-01夏文忠单长吉
夏文忠,单长吉
(昭通学院物理与电子信息工程学院,云南 昭通 657000)
DOM4J在图书信息推送系统中的应用
夏文忠,单长吉
(昭通学院物理与电子信息工程学院,云南 昭通 657000)
面对若干个异构系统,实现多系统数据信息的集成、共享与利用,是提升信息系统整体效能的关键.实现多系统间信息共享的关键是使用与系统描述无关的XML形式传递数据.DOM4J是纯JAVA实现的XML解析器,可以方便快捷的实现JAVA对象与XML数据间的相互转换,实现多系统间数据共享.
XML;DOM4J;数据交换;系统
当前的大学图书馆各种异构的系统,多种信息源,多种不同类型的数据库为读者方便、快捷和高效的利用图书馆馆藏资源带来了挑战.所以,构建一个能实现图书馆管理系统、各种电子资源系统间信息共享、互通的集成信息平台,成为图书馆集成管理平台研究的热点.对于许多高校图书馆,是没有足够的技术实力来进行这样庞大的系统开发与维护工作的.
为了确保应用程序和各数据库能正常读取、写入和操纵数据,通常的做法是自己使用JAVA语言开发一个与平台系统无关的中间件完成多系统平台的异构,将图书馆和各种资源数据库管理系统统一管理协调,实现数据库系统间数据信息的交换、共享和系统集成共用.采用这种中间件方式虽然能解决多系统协调的问题,但缺点是系统间只能传递表示简单的数据信息,系统间高度耦合,升级维护困难,不具有通用性、普适性.
XML是可扩展标记语言,特点是只描述数据,与平台和具体数据库管理系统无关、与具体开发语言无关等特性.XML的特点决定它可以完美支持B/S或者C/S的系统开发,并且具有良好的可操作性、可维护性,能实现多系统之间的解耦合,方便系统的重构与维护.
1 XML[1]和DOM4J[2]简介
XML主要关注于数据的传输和存储,对数据如何显示则并不关心.XML要求每个XML文档有且仅有一个根元素;每个元素都由开始标签和结束标签组成;元素与元素之间应该合理嵌套.XML的树状结构为它提供了良好的数据描述性,从而为多个语言和系统提供数据交换.
DOM4J是一套开源的XML解析工具,完全支持DOM、SAX和JAXP机制.DOM4J采用了面向接口编程[3],程序在处理XML解析时更加灵活.DOM4J实质上是以其他的XML解析器为基础,采用面向接口编程的方式将允许DOM4J的底层在不同的解析机制之间自由切换.
DOM4J对底层原始的XML解析器进行了高度封装,这种封装简化了XML处理.DOM4J包提供了处理数据的DOMReader、SAXReader、XPP3Reader、XPPReader四个类来处理XML数据. DOM4J主要接口如图1所示.
图1 DOM4J主要接口图
2 系统设计
据统计,目前绝大多数高校图书馆都拥有纸质图书管理系统、随书光盘管理系统以及各种电子资源管理系统,这些系统之间只有极少数能实现数据信息的共享为读者提供信息服务.对于现存的多种异构系统,后台数据库异构、应用系统采用各种语言开发,为了实现多个系统数据的共享,超星百链发现系统完成了一部分功能,但绝大多数情况下只能搜索自己库内的内容.
以昭通学院图书馆为例,使用北京金沙汇金盘图书集成系统管理纸质书目信息,拥有同方知网期刊数据库、万文数据的部分博硕士论文库、金图外文电子图书、自建的地方特色书目数据库、超星部分电子图书库等资源.这些资源之间没有必然联系,读者要想实现一个搜索引擎查询多个库的内容基本不可能,只能分别查询单个的数据库来实现信息的检索与查询.
以DOM4J为基础的XML异构系统平台,只要求各个数据库提供商把自己库的数据提供XML接口,通过DOM4J的数据转换功能实现XML数据的解析工作,为异构数据库的资源整合提供良好的数据支持.系统平台的框图如图2所示.
由图2可知,使用DOM4J开发的XML中间件可以方便快捷的在多个异构系统间实现信息的互联互通,满足了信息集成与共享的要求.
图2 图书信息推送系统结构图
3 系统实现
DOM4J可以方便快捷的解析XML数据,在图书馆现有的资源管理信息中,只要相应的公司提供访问该资源的XML数据,即可使用低浸入的方式来访问使用该管理系统的数据资源.各个子系统提供给图书信息推送系统的数据为XML格式的数据,为了实现各个系统间数据信息的互联共享,需要把XML标准格式的数据解析为图书信息推送系统的JAVA开发语言.使用DOM4J可以方便快捷的实现这一转变,经过信息推送系统内部处理完成后,再使用Xstream[4]把JAVA对象转换为其他系统使用的XML标准格式文件,从而实现整个业务系统的互联共享.
下面以图书馆微信公众平台的数据转换为例阐述DOM4J在图书馆信息推送系统中的应用.微信公众号与现有业务系统实现数据的传输与转换就是通过XML的数据来实现.当用户使用自己的帐号访问图书馆的订阅号时,先通过微信公众号[5]把数据传送到微信服务器,微信服务器把用户请求封装为标准的XML格式文件,微信服务器把封装好的XML使用POST方式推送到图书馆服务器,图书信息推送系统解析微信服务器发送来的XML文件,找到用户查询关键词,然后执行相应的业务逻辑来完成数据查询,当得到用户需要结果后,使用Xstream把得到的对象转换为微信服务器能识别的XML格式文件,再经微信服务器把数据推送到用户端.
微信支持的XML格式关键代码如下所示:
上述代码实现把微信服务器推送过来的POST数据解析为JAVA对象,并将结果存入HashMap表中,从而方便业务逻辑的调用.
4 结语
本文简要介绍了XML和DOM4J的基本特性,结合图书馆现在业务系统,给出了一个多系统集成的业务模型,通过微信公众号的使用说明了DOM4J在图书信息推送系统中的应用,能有效提高图书馆为读者服务的效率,具有一定的通用性和普适性.
[1] 李刚.疯狂XML讲义[M].北京:机械工业出版社,2009:1-10.
[2] DOM4J百度百科[EB/OL].http://baike.baidu.com/link?url=V-MPgg2YEH98I4q4XctaSNCvjuIAc-dXD-cqv9mc4tb5G2fY1d8MPaXzivN3y-uyzZFu-vzabHmVfKa9DlI9ga.
[3] 候捷译.JAVA编程思想[M].北京:机械工业出版社,2002:172-190.
[4] Xstream百度百科[EB/OL].http://baike.baidu.com/link?url=LtzVLJE7TrW2co8IAurGcXhpjrS1LDb0TLk4P1eliNmMJ2TeyZicl-zJ-z6cC-ltKCP41v4VmjS-d-aFTjEjK.
[5] 微信公众平台开发者文档[EB/OL].http://mp.weixin.qq.com/wiki/14/89b871b5466b19b3efa4ada8e577d45e.html.
[责任编辑王新奇]
On the Application of DOM 4J in Book Information Push System
XIAWen-zhong,SHAN Chang-ji
(Institute of Physics and Electronic Information Engineering,Zhaotong University,Zhaotong 657000,China)
In handlingmultiple heterogeneous system,the integration,sharing and utilization of the data information between multiple systems is the key to improving the overall efficiency of the information system.Information sharing among multiple system is to be realized by data transferring with XML formats,which is alien to system description.DOM4J is XML parser purely implemented by JAVA.A convenientand swiftmutual conversion between JAVA objects and XML data can be implemented,hence,the data sharing between multiple systems.
XML;DOM4J;data exchange;system
TP391
A
1008-5564(2015)02-0075-03
2014-12-18
云南省教育厅科学研究基金项目(2011C041)
夏文忠(1979—),男,云南昭通人,昭通学院物理与电子信息工程学院讲师,硕士,主要从事计算机应用技术与图书馆应用研究.