基于Web Service的分布式图书管理系统研究
作者:张 宏
来源:《电脑知识与技术·学术交流》2008年第20
        摘要:随着高校的合并与扩招,许多的高校拥有多个校区和多个分布异地的图书馆,因此,如何实现各个分布式图书馆的集中管理,是一个典型的切实际的难题,本文从实际需求出发,分析了解决分布式问题的各种技术的优缺点,最后采用Web Service技术解决高校多个分布式图书馆的集中管理问题。
        关键词: 分布式系统;图书管理;Web Service
        中图分类号:TP302.1文献标识码:A 文章编号:1009-3044(2008)20-30215-03
       
        Research of Distributed Books Management System Based on Web Service
        ZHANG Hong
        (College of Application Technology, Hunan Institute of Engineering, Xiangtan 411101,China)
        Abstract: With the merging and increased enrollment, and more and more universities own several campuses and distributed library, therefore, How to achieve the centralized management of all distributed library, is a typical realistic problem. Based on actual needs, the advantages and disadvantages of the various techniques of solving distributed problems are analyzed. By using the Web Service technology to resolve a number of distributed libraries centralized management.
        Key words: distributed system; library management; Web Service
       
        1 引言
       
        图书资料是人类宝贵的精神财富之一,而高校的图书馆又是图书集中的地方,随着时代的发展,图书不再是简单书本,它所盖含的范围变得更宽广,光盘,电子文档等都属于图书管理的范畴,因此,简单的手工的图书管理显然已经不再适应时代的需要。在信息时代和网络化环境下,图书馆应是Internet网上信息的集散点,这个集散点必须具备对网上信息的收集与重组能力,必须具备在Internet网上进行信息发布的能力。随着网络与电子技术的发展,出现了许多基于Web的或者基于C/S架构的图书管理系统。但是,随着高校的扩招和多校合并,出现了许多的一校多区的现象,而几乎每个校区都会有自己的图书馆,有的高校的不同校区甚至不在同一个城市。那么如何对这些分布在异地的图书进行统一管理,成了需要研究的重点问题。本文的主要对基于分布式的图书管理系统的一些需要解决的技术难题进行了分析,对各种实现技术进行了分析和比较,设计并实现了一个基于Web Service技术的分布式高校图书管理系统。
       
        2 分布式图书管理系统的技术难点
       
        图书管理从手工操作上升到计算机管理后,工作效率和服务效益大为提高。但最初数据库建设仅限于书目和文摘数据库,数据格式不统一,通用性差,图书管理系统都是DOS界面或基于C/S结构的系统,操作起来也不是很方便,更不要说分布式管理了,但是,在图书管理系统的发展历史上,它仍然是一种本质的飞跃[1]。从90年代中期开始。网络技术飞速的发展,使网络技术已经进入人们的日常生活中,基于Web的图书管理系统也随之应用而生。基于Web的系统开发技术有4种,它们是:CGICommon Gate Interface)、ASP(Active Server Pages)JSP(Java Server Pages)PHP (Hypertext Preprocessor)。但是基于上述技术建立的基于WebB/S架构的图书管理系统大多是静态的,缺少Web数据库查询功能和交互式访问功能,随着自建特数据库的不断增加和网上用户对图书馆的交互式访问的需求不断增加,设计动态的、尤其是具有Web数据库查询功能和其有交互能力的Web页面, 是图书馆的一种重要的需求。最关键的是,如何实现分布式的异地图书管理,是一个急需解决的问题。
        2.1 技术选择
        但是,分布在各个地方的图书管理功能也许是在不同的时期,由不同的开发语言或者开
发工具实现,要实现统一的管理,实现分布式系统的动态集成,是一个典型的分布式系统集成问题。顾名思义,所谓分布式系统,就是多个异构系统,每个系统实现自己各自的功能,但是,把它们集成起来,可以让这些系统能共同地集中地提供更大更完善的服务。这样可以大大地增加分布式系统中各个单独系统的可重用性。
        但是,各个图书管理子系统可能是异构的,它们的运行平台,开发环境、开发语言甚至采用的数据库都可能不同。
        Web Services出现前,出现了许多集成技术,如:COMDCOMCORBAEJB等,但是,这些技术在解决系统动态集成方面都有不同程度的缺陷。比如说,如果采用COMDCOM技术,那么,所有参与集成的系统都必须采用Windows平台。如果采用CORBA技术来集成,那么每个参与集成的系统都必须运行同样的ORB产品,而如果采用EJB技术,则每个企业都必须运行在J2EE平台上。
        2.2 传统分布式技术的比较
        三种组件技术之间的各种性能和参数的详细比较如表1所示[2]
        1 DCOMCORBAEJB之间的性能比较
       
        1DCOMCORBAEJB三种技术进行分析比较,从表中我们可以看出相对于其它技术 CORBA在大多数方面具有明显的优势,特别是与工作流系统紧密相关的一些特性上,如:事务处理、事件服务、安全服务等等方面,更是具有明显的优势。但是,它最大的缺点就是过于复杂,没有编程功底和经验的人,很难在短时间内掌握这种技术。
        2.3 Web Service的优点
        Web Service 是下一代分布式系统的核心,它具有如下优点[3]
        1)完好的封装性:Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他仅能看到该服务的描述。
        2)松散耦合:这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用接口不变,Web
务的实现任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦合而言,尤其是在Internet环境下的Web服务而言,需要有一种适合Internet环境的消息交换协议。而XML/SOAP正是目前最为适合的消息交换协议。
        3)使用协约的规范性:这一特征从对象而来,但相比一般对象其界面规范更加规范化和易于机器理解。首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述(比如WSDL);其次,由标准描述语言描述的服务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描述语言描述的使用协约将不仅仅是服务界面,它将被延伸到Web服务的聚合、跨Web服务的事务、工作流等,而这些又都需要服务质量(QoS)的保障。其次,我们知道安全机制对于松散耦合的对象环境的重要性,因此我们需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。
       
        4)使用标准协议规范:作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般而言,绝大多数规范将最终有基于java的图书管理系统W3COASIS作为最终版本的发布方和维护方。
        5)高度可集成能力:由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBADCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
        6)开放性: Web Service可以与其他Web Service进行交互。它具有语言和平台无关性。支持CORBAEJBDCOM 等多种组件标准。支持各种通讯媒体如:HTTPSMTPMQFTPRMI over IIOP等。
        鉴于Web Service有如此多的优点,而且有其在解决分布式系统集成问题上的强大优势,因此,本文选用Web Service技术作为高校分布式图书管理系统集成的技术。
        2.4 基于Web Service的分布式图书管理解决方案
        为了实现分布式资源的集成与管理,最关键的是要能实现各个封装好的Web Service
引用地址的动态集成。目前,MICROSOFTIBM两家公司提供了公有、开放和免费的UDDI注册发布中心,任何单位和个人可以通过该UDDI注册和发布自身的Web Service,任何人也可以调用这些Web Service。这种方式发布Web Service尽管很方便而且免费,能节省开发时间和工作量,但是,在发现和调用Web Service时就很困难,而且,过分的开放机制势必影响其安全性。因此,必须建立私有UDDI中心,各个分校的图书馆通过总校区的图书管理系统提供的统一Web Service注册向导,把各个分校提供的Web Service注册于总校区的私有UDDI中心,同时,在私有UDDI中心的信息记录数据库中,记录每个注册Web Service的引用地址和其它相关信息[4]。当用户从分校的图书馆入口登录,总校区的图书管理系统会通过Web Service判断用户的类型,系统将根据用户的类型与请求,从数据库中提取相应的Web Service 的引用地址,从而实现分布式、异构系统的动态调用。将得到的结果,经过加工整理,以统一的数据形式提供给用户,为用户屏蔽了分布式图书馆的异构性和分布性,实现了高校分布式图书管理系统的动态集成和管理。而且由于UDDI注册是私有的,降低了动态发现和绑定的难度,同时大大提高了Web Service的安全性。