摘要:隨著高校的合并與擴招,許多的高校擁有多個校區(qū)和多個分布異地的圖書館,因此,如何實現(xiàn)各個分布式圖書館的集中管理,是一個典型的切實際的難題,本文從實際需求出發(fā),分析了解決分布式問題的各種技術(shù)的優(yōu)缺點,最后采用Web Service技術(shù)解決高校多個分布式圖書館的集中管理問題。
關(guān)鍵詞: 分布式系統(tǒng);圖書管理;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 引言
圖書資料是人類寶貴的精神財富之一,而高校的圖書館又是圖書集中的地方,隨著時代的發(fā)展,圖書不再是簡單書本,它所蓋含的范圍變得更寬廣,光盤,電子文檔等都屬于圖書管理的范疇,因此,簡單的手工的圖書管理顯然已經(jīng)不再適應(yīng)時代的需要。在信息時代和網(wǎng)絡(luò)化環(huán)境下,圖書館應(yīng)是Internet網(wǎng)上信息的集散點,這個集散點必須具備對網(wǎng)上信息的收集與重組能力,必須具備在Internet網(wǎng)上進行信息發(fā)布的能力。隨著網(wǎng)絡(luò)與電子技術(shù)的發(fā)展,出現(xiàn)了許多基于Web的或者基于C/S架構(gòu)的圖書管理系統(tǒng)。但是,隨著高校的擴招和多校合并,出現(xiàn)了許多的一校多區(qū)的現(xiàn)象,而幾乎每個校區(qū)都會有自己的圖書館,有的高校的不同校區(qū)甚至不在同一個城市。那么如何對這些分布在異地的圖書進行統(tǒng)一管理,成了需要研究的重點問題。本文的主要對基于分布式的圖書管理系統(tǒng)的一些需要解決的技術(shù)難題進行了分析,對各種實現(xiàn)技術(shù)進行了分析和比較,設(shè)計并實現(xiàn)了一個基于Web Service技術(shù)的分布式高校圖書管理系統(tǒng)。
2 分布式圖書管理系統(tǒng)的技術(shù)難點
圖書管理從手工操作上升到計算機管理后,工作效率和服務(wù)效益大為提高。但最初數(shù)據(jù)庫建設(shè)僅限于書目和文摘數(shù)據(jù)庫,數(shù)據(jù)格式不統(tǒng)一,通用性差,圖書管理系統(tǒng)都是DOS界面或基于C/S結(jié)構(gòu)的系統(tǒng),操作起來也不是很方便,更不要說分布式管理了,但是,在圖書管理系統(tǒng)的發(fā)展歷史上,它仍然是一種本質(zhì)的飛躍[1]。從90年代中期開始。網(wǎng)絡(luò)技術(shù)飛速的發(fā)展,使網(wǎng)絡(luò)技術(shù)已經(jīng)進入人們的日常生活中,基于Web的圖書管理系統(tǒng)也隨之應(yīng)用而生。基于Web的系統(tǒng)開發(fā)技術(shù)有4種,它們是:CGI(Common Gate Interface)、ASP(Active Server Pages)、JSP(Java Server Pages)、PHP (Hypertext Preprocessor)。但是基于上述技術(shù)建立的基于Web的B/S架構(gòu)的圖書管理系統(tǒng)大多是靜態(tài)的,缺少Web數(shù)據(jù)庫查詢功能和交互式訪問功能,隨著自建特色數(shù)據(jù)庫的不斷增加和網(wǎng)上用戶對圖書館的交互式訪問的需求不斷增加,設(shè)計動態(tài)的、尤其是具有Web數(shù)據(jù)庫查詢功能和其有交互能力的Web頁面, 是圖書館的一種重要的需求。最關(guān)鍵的是,如何實現(xiàn)分布式的異地圖書管理,是一個急需解決的問題。
2.1 技術(shù)選擇
但是,分布在各個地方的圖書管理功能也許是在不同的時期,由不同的開發(fā)語言或者開發(fā)工具實現(xiàn),要實現(xiàn)統(tǒng)一的管理,實現(xiàn)分布式系統(tǒng)的動態(tài)集成,是一個典型的分布式系統(tǒng)集成問題。顧名思義,所謂分布式系統(tǒng),就是多個異構(gòu)系統(tǒng),每個系統(tǒng)實現(xiàn)自己各自的功能,但是,把它們集成起來,可以讓這些系統(tǒng)能共同地集中地提供更大更完善的服務(wù)。這樣可以大大地增加分布式系統(tǒng)中各個單獨系統(tǒng)的可重用性。
但是,各個圖書管理子系統(tǒng)可能是異構(gòu)的,它們的運行平臺,開發(fā)環(huán)境、開發(fā)語言甚至采用的數(shù)據(jù)庫都可能不同。
在Web Services出現(xiàn)前,出現(xiàn)了許多集成技術(shù),如:COM、DCOM、CORBA、EJB等,但是,這些技術(shù)在解決系統(tǒng)動態(tài)集成方面都有不同程度的缺陷。比如說,如果采用COM或DCOM技術(shù),那么,所有參與集成的系統(tǒng)都必須采用Windows平臺。如果采用CORBA技術(shù)來集成,那么每個參與集成的系統(tǒng)都必須運行同樣的ORB產(chǎn)品,而如果采用EJB技術(shù),則每個企業(yè)都必須運行在J2EE平臺上。
2.2 傳統(tǒng)分布式技術(shù)的比較
三種組件技術(shù)之間的各種性能和參數(shù)的詳細比較如表1所示[2]。
表1 DCOM、CORBA和EJB之間的性能比較
表1對DCOM、CORBA和EJB三種技術(shù)進行分析比較,從表中我們可以看出相對于其它技術(shù) CORBA在大多數(shù)方面具有明顯的優(yōu)勢,特別是與工作流系統(tǒng)緊密相關(guān)的一些特性上,如:事務(wù)處理、事件服務(wù)、安全服務(wù)等等方面,更是具有明顯的優(yōu)勢。但是,它最大的缺點就是過于復(fù)雜,沒有編程功底和經(jīng)驗的人,很難在短時間內(nèi)掌握這種技術(shù)。
2.3 Web Service的優(yōu)點
Web Service 是下一代分布式系統(tǒng)的核心,它具有如下優(yōu)點[3]:
1)完好的封裝性:Web服務(wù)既然是一種部署在Web上的對象,自然具備對象的良好封裝性,對于使用者而言,他僅能看到該服務(wù)的描述。
2)松散耦合:這一特征也是源于對象/組件技術(shù),當一個Web服務(wù)的實現(xiàn)發(fā)生變更的時候,調(diào)用者是不會感到這一點的,對于調(diào)用者來說,只要Web服務(wù)的調(diào)用接口不變,Web服務(wù)的實現(xiàn)任何變更對他們來說都是透明的,甚至是當Web服務(wù)的實現(xiàn)平臺從J2EE遷移到了.NET或者是相反的遷移流程,用戶都可以對此一無所知。對于松散耦合而言,尤其是在Internet環(huán)境下的Web服務(wù)而言,需要有一種適合Internet環(huán)境的消息交換協(xié)議。而XML/SOAP正是目前最為適合的消息交換協(xié)議。
3)使用協(xié)約的規(guī)范性:這一特征從對象而來,但相比一般對象其界面規(guī)范更加規(guī)范化和易于機器理解。首先,作為Web服務(wù),對象界面所提供的功能應(yīng)當使用標準的描述語言來描述(比如WSDL);其次,由標準描述語言描述的服務(wù)界面應(yīng)當是能夠被發(fā)現(xiàn)的,因此這一描述文檔需要被存儲在私有的或公共的注冊庫里面。同時,使用標準描述語言描述的使用協(xié)約將不僅僅是服務(wù)界面,它將被延伸到Web服務(wù)的聚合、跨Web服務(wù)的事務(wù)、工作流等,而這些又都需要服務(wù)質(zhì)量(QoS)的保障。其次,我們知道安全機制對于松散耦合的對象環(huán)境的重要性,因此我們需要對諸如授權(quán)認證、數(shù)據(jù)完整性(比如簽名機制)、消息源認證以及事務(wù)的不可否認性等運用規(guī)范的方法來描述、傳輸和交換。最后,在所有層次的處理都應(yīng)當是可管理的,因此需要對管理協(xié)約運用同樣的機制。
4)使用標準協(xié)議規(guī)范:作為Web服務(wù),其所有公共的協(xié)約完全需要使用開放的標準協(xié)議進行描述、傳輸和交換。這些標準協(xié)議具有完全免費的規(guī)范,以便由任意方進行實現(xiàn)。一般而言,絕大多數(shù)規(guī)范將最終有W3C或OASIS作為最終版本的發(fā)布方和維護方。
5)高度可集成能力:由于Web服務(wù)采取簡單的、易理解的標準Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺的差異,無論是CORBA、DCOM還是EJB都可以通過這一種標準的協(xié)議進行互操作,實現(xiàn)了在當前環(huán)境下最高的可集成性。
6)開放性: Web Service可以與其他Web Service進行交互。它具有語言和平臺無關(guān)性。支持CORBA、EJB、DCOM 等多種組件標準。支持各種通訊媒體如:HTTP、SMTP、MQ、FTP、RMI over IIOP等。
鑒于Web Service有如此多的優(yōu)點,而且有其在解決分布式系統(tǒng)集成問題上的強大優(yōu)勢,因此,本文選用Web Service技術(shù)作為高校分布式圖書管理系統(tǒng)集成的技術(shù)。
2.4 基于Web Service的分布式圖書管理解決方案
為了實現(xiàn)分布式資源的集成與管理,最關(guān)鍵的是要能實現(xiàn)各個封裝好的Web Service的引用地址的動態(tài)集成。目前,MICROSOFT和IBM兩家公司提供了公有、開放和免費的UDDI注冊發(fā)布中心,任何單位和個人可以通過該UDDI注冊和發(fā)布自身的Web Service,任何人也可以調(diào)用這些Web Service。這種方式發(fā)布Web Service盡管很方便而且免費,能節(jié)省開發(fā)時間和工作量,但是,在發(fā)現(xiàn)和調(diào)用Web Service時就很困難,而且,過分的開放機制勢必影響其安全性。因此,必須建立私有UDDI中心,各個分校的圖書館通過總校區(qū)的圖書管理系統(tǒng)提供的統(tǒng)一Web Service注冊向?qū)В迅鱾€分校提供的Web Service注冊于總校區(qū)的私有UDDI中心,同時,在私有UDDI中心的信息記錄數(shù)據(jù)庫中,記錄每個注冊Web Service的引用地址和其它相關(guān)信息[4]。當用戶從分校的圖書館入口登錄,總校區(qū)的圖書管理系統(tǒng)會通過Web Service判斷用戶的類型,系統(tǒng)將根據(jù)用戶的類型與請求,從數(shù)據(jù)庫中提取相應(yīng)的Web Service 的引用地址,從而實現(xiàn)分布式、異構(gòu)系統(tǒng)的動態(tài)調(diào)用。將得到的結(jié)果,經(jīng)過加工整理,以統(tǒng)一的數(shù)據(jù)形式提供給用戶,為用戶屏蔽了分布式圖書館的異構(gòu)性和分布性,實現(xiàn)了高校分布式圖書管理系統(tǒng)的動態(tài)集成和管理。而且由于UDDI注冊是私有的,降低了動態(tài)發(fā)現(xiàn)和綁定的難度,同時大大提高了Web Service的安全性。
3 實現(xiàn)
用戶先登陸總校區(qū)的圖書管理系統(tǒng),然后提出請求,總校區(qū)的圖書管理系統(tǒng)先調(diào)用每個分校圖書館提供的Web 服務(wù),從而實現(xiàn)高校分布式圖書管理系統(tǒng)的集成。其運行界面如圖1所示:
本文的創(chuàng)新點:Web Service技術(shù)是最新的實現(xiàn)分布式系統(tǒng)集成的技術(shù),本文采用Web Service技術(shù)集中管理分布于高校各個校區(qū)內(nèi)的圖書,該方案對從事分布式系統(tǒng)開發(fā)的專業(yè)人員尤其是圖書管理系統(tǒng)開發(fā)的人員有一定的指導(dǎo)和借鑒意義。
參考文獻:
[1] 何陽.小型院系圖書管理的研究[J]. 福建電腦. 2006(08):80-81.
[2] 于潔.基于XML的面向網(wǎng)絡(luò)化制造平臺的產(chǎn)品制造信息交換技術(shù)研究[J].浙江大學(xué)碩士論文,2003.
[3] 佚名.什么是Web Service[J]. http://seekjob.diy.myrice.com/Webservice.htm,2007.2.24
[4] 王淑營、岳紅偉.網(wǎng)絡(luò)化制造平臺資源信息集成方案[J].西南交通大學(xué)學(xué)報.2006,41(4):471-475.
[5] 屈喜龍.ASP+SQL Server開發(fā)動態(tài)網(wǎng)站實例薈萃[J].機械工業(yè)出版社.2006.3:156-179.
[6] 商俊燕、吳正明. matlab神經(jīng)網(wǎng)絡(luò)在圖書資源管理中的應(yīng)用[J]. 微計算機信息.2006,22(6):63-65.