【摘要】本文介紹了基于B/S體系結(jié)構(gòu)的文獻管理系統(tǒng)的設(shè)計與實現(xiàn),介紹了相關(guān)技術(shù)及應(yīng)用環(huán)境。并且介紹的應(yīng)用情況。
【關(guān)鍵詞】B/S;文獻管理系統(tǒng);ASP;數(shù)據(jù)庫
1.引言
目前各種文獻管理系統(tǒng)已經(jīng)廣泛的應(yīng)用于各個圖書館的文獻管理之中。但是,現(xiàn)在的文獻管理系統(tǒng)絕大多數(shù)是基于C/S(Client/Server)體系結(jié)構(gòu)。這在應(yīng)用中存在一些限制和不方便。這些限制和不方便是我校圖書館對原來應(yīng)用的文獻管理系統(tǒng)進行改造的主要原因。目前,基于B/S(Browser/Server)體系結(jié)構(gòu)的各種管理系統(tǒng)的開發(fā)已經(jīng)形成潮流;并且,基于B/S體系結(jié)構(gòu)的管理信息系統(tǒng)有著自己獨特的優(yōu)點。隨著華北電力大學(xué)的發(fā)展,我校由北京校部、保定一校區(qū)、二校區(qū)以及科技學(xué)院的兩個分校區(qū)組成的五個校區(qū)組成。從地理上看,五個校區(qū)分別在五個不同的地區(qū),而且相互之間距離比較大。除北京校部的圖書館自己有相應(yīng)的技術(shù)人員來做系統(tǒng)開發(fā)和維護外,其它四個校區(qū)的圖書館只有一組技術(shù)人員進行系統(tǒng)開發(fā)和維護。為了保證五校區(qū)實現(xiàn)文獻的資源共享,就必須采用同一管理系統(tǒng)進行管理。如果采用原來的C/S模式進行管理,那么技術(shù)人員的維護成本和強度是相當大的。并且原來的C/S模式軟件系統(tǒng)為商業(yè)軟件,該軟件采用用戶許可證方式進行用戶授權(quán)管理,有用戶數(shù)量的限制;不能滿足圖書館的發(fā)展。從而迫切需要一種工具對文獻進行有效的管理。
2.相關(guān)技術(shù)及應(yīng)用環(huán)境
2.1 B/S模式
B/S(Browser/Server,瀏覽器/服務(wù)器)模式又稱B/S結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S模式應(yīng)用的擴展。在這種結(jié)構(gòu)下,用戶工作界面是通過IE瀏覽器來實現(xiàn)的。B/S模式最大的好處是運行維護比較簡便,能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù);最大的缺點是對企業(yè)外網(wǎng)環(huán)境依賴性太強,由于各種原因引起企業(yè)外網(wǎng)中斷都會造成系統(tǒng)癱瘓。[1]
隨著Internet和WWW的流行,以往的主機/終端和C/S都無法滿足當前的全球網(wǎng)絡(luò)開放、互連、信息隨處可見和信息共享的新要求,于是就出現(xiàn)了B/S型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大特點是:用戶可以通過WWW瀏覽器去訪問Internet上的文本、數(shù)據(jù)、圖像、動畫、視頻點播和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實際存放在數(shù)據(jù)庫服務(wù)器中??蛻舳顺薟WW瀏覽器,一般無須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。而各個企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。[2]
2.2 ASP技術(shù)
ASP是Active Server Page的縮寫,意為“動態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。ASP支持多種腳本語言,其中VBScript是其默認的腳本語言。ASP完全建立在ActiveX基礎(chǔ)之上,而ActiveX不僅僅是一種技術(shù)標準,允許軟件同存在于網(wǎng)絡(luò)環(huán)境中的另一個軟件進行交互。
ASP有7個固有對象分別是Request,Response,Server,Application,Session,Asp-Error和ObjeetContext。Request對象用來處理用戶做出的請求,此請求可以HTML的形式輸入或僅以URL的形式作出的;Response對象用來處理從Web服務(wù)器向用戶發(fā)送信息并對此信息進行控制;Server對象用來代表服務(wù)器自身;Application對象用來代表應(yīng)用,可用它來管理諸如應(yīng)用目錄這一類的東西;Session對象用來代表用戶會話,并存儲該會話的信息,可利用Session對象來管理如Web服務(wù)器在用戶“請求”之間等待的時間;ObjectContext對象用來配合NITS服務(wù)器進行分布式事務(wù)處理,由于可以設(shè)定ASP程序在服務(wù)器端運行,客戶端頁面得到的是運行生成后的HTML頁面。
ASP的技術(shù)特點如下:(1)使用VBScript、JScript等簡單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。(2)無須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。(3)使用普通的文本編輯器,如Windows的記事本,即可進行編輯設(shè)計。(4)與瀏覽器無關(guān),用戶端只要使用可執(zhí)行HTML編碼的瀏覽器,即可瀏覽ASP所設(shè)計的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言(VBScript、Jscript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。(5)ASP的源程序,不會被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。(6)可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。[3]
2.3 Web數(shù)據(jù)庫技術(shù)
目前主要的服務(wù)器端的擴展技術(shù)可分為:公共網(wǎng)關(guān)接口CGI、應(yīng)用程序接口API和活動服務(wù)器網(wǎng)頁ASP。用這種方式實現(xiàn)Web和數(shù)據(jù)庫交互的過程為:首先由客戶端瀏覽器在所瀏覽的Web頁上通過超鏈接或表單提交發(fā)出數(shù)據(jù)庫訪問請求,從而在Web服務(wù)器上啟動并運行對數(shù)據(jù)庫進行訪問的程序。其次動態(tài)生成符合HTML標準的網(wǎng)頁,通過網(wǎng)絡(luò)鏈接按HTTP協(xié)議傳遞給Browser,由其解釋并顯示。這種技術(shù)實質(zhì)上就是在瀏覽過程中動態(tài)地生成Web頁以返回數(shù)據(jù)庫信息給Browser端,所有的處理過程都足在Web服務(wù)器端完成的。[4]
2.4 應(yīng)用環(huán)境
我校圖書館的服務(wù)器采用Windows 2000和Windows 2003作為操作系統(tǒng)。數(shù)據(jù)庫平臺為Oracle 9.2。網(wǎng)站采用ASP技術(shù)作為核心代碼。系統(tǒng)使用獨立的服務(wù)器進行運行。系統(tǒng)采用數(shù)據(jù)庫服務(wù)器和Web應(yīng)用服務(wù)器兩個服務(wù)器的結(jié)構(gòu)。在Web應(yīng)用服務(wù)器上安裝了Oracle客戶端和IIS6.0兩個應(yīng)用。
3.系統(tǒng)設(shè)計及遺留問題
3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計
系統(tǒng)采用模塊化結(jié)構(gòu),各模塊的劃分和設(shè)計遵循高內(nèi)聚、低耦合的原則。由主模塊調(diào)用各個子模塊,每個子模塊完成一項相對獨立的功能,每個子模塊可獨自開發(fā)、測試和修改,最后組合成整個系統(tǒng),因此系統(tǒng)具有良好的可擴展性。系統(tǒng)總體結(jié)構(gòu)模塊如圖1所示。
3.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫的設(shè)計是數(shù)據(jù)生存周期中一個重要的階段,其質(zhì)量對數(shù)據(jù)庫系統(tǒng)影響頗大,因此數(shù)據(jù)庫的設(shè)計是管理信息系統(tǒng)開發(fā)中一個至關(guān)重要的環(huán)節(jié)。系統(tǒng)所采用的數(shù)據(jù)庫管理系統(tǒng)為Oracle 9.2,Oracle是大型數(shù)據(jù)庫,性能穩(wěn)定,可靠性高。
系統(tǒng)建立的LIBSYS數(shù)據(jù)庫由多個數(shù)據(jù)表組成,分別用于存放讀者基本信息、書目信息、借閱信息、賬目信息、歷史信息、違章信息、系統(tǒng)操作員信息等。下面是幾個主要數(shù)據(jù)表的設(shè)計:
(1)讀者信息表
由11個字段組成,用于記錄讀者的信息包括姓名、性別、出生日期、所在單位、有效期限、讀者類型、預(yù)付款項、欠款狀態(tài)、違章狀態(tài)、讀者密碼、讀者證號等信息。
(2)書目信息表
由12個字段組成,用于記錄書目的信息包括書名、出版社、ISBN號、分類號、序列號、多媒體信息、書價、復(fù)本信息、作者、出版時間、館藏地、MARC數(shù)據(jù)等信息。
(3)借閱信息表
由5個字段組成,用于記錄借閱的信息包括借閱開始時間、借閱結(jié)束時間、借閱者證號、續(xù)借狀態(tài)、借閱書目序列號等信息。
3.3 主要功能模塊實現(xiàn)
(1)數(shù)據(jù)連接的實現(xiàn)
ASP對數(shù)據(jù)的訪問是通過ADO。ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對象)是Microsoft提出的應(yīng)用程序接口(API)用以實現(xiàn)訪問關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。例如,如果您希望編寫應(yīng)用程序從DB2或Oracle數(shù)據(jù)庫中向網(wǎng)頁提供數(shù)據(jù),可以將ADO程序包括在作為活動服務(wù)器頁(ASP)的HTML文件中。當用戶從網(wǎng)站請求網(wǎng)頁時,返回的網(wǎng)頁也包括了數(shù)據(jù)中的相應(yīng)數(shù)據(jù),這些是由于使用了ADO代碼的結(jié)果。
像Microsoft的其它系統(tǒng)接口一樣,ADO是面向?qū)ο蟮摹K荕icrosoft全局數(shù)據(jù)訪問(UDA)的一部分,Microsoft認為與其自己創(chuàng)建一個數(shù)據(jù),不如利用UDA訪問已有的數(shù)據(jù)庫。為達到這一目的,Microsoft和其它數(shù)據(jù)庫公司在它們的數(shù)據(jù)庫和Microsoft的OLE數(shù)據(jù)庫之間提供了一個“橋”程序,OLE數(shù)據(jù)庫已經(jīng)在使用ADO技術(shù)。ADO的一個特征(稱為遠程數(shù)據(jù)服務(wù))支持網(wǎng)頁中的數(shù)據(jù)相關(guān)的ActiveX控件和有效的客戶端緩沖。作為ActiveX的一部分,ADO也是Microsoft的組件對象模式(COM)的一部分,它的面向組件的框架用以將程序組裝在一起。[5]
(2)系統(tǒng)管理的實現(xiàn)
系統(tǒng)管理模塊主要負責管理用戶權(quán)限,系統(tǒng)使用的用戶包括讀者和管理員。管理員又分為普通管理員和系統(tǒng)管理員,普通管理員是圖書館分管采購、編目、借閱、賬目及違章管理,系統(tǒng)管理員具有最高管理權(quán)限。系統(tǒng)管理模塊能對不同用戶進行管理、密碼維護和登錄設(shè)置。
(3)讀者管理模塊的實現(xiàn)
①讀者信息管理子模塊
子模塊對本系所有讀者的基本信息進行統(tǒng)一管理。用戶可以按讀者證號、姓名、所在單位及多種組合查詢讀者的狀態(tài)等信息,并可對查詢到的讀者記錄進行修改和刪除操作。
②單個讀者添加子模塊
若一次只添加一個讀者記錄,則直接在讀者添加界面中輸入該讀者的基本信息,然后單擊“添加讀者”按鈕即可。[6]
③批量讀者添加子模塊
若一次要添加多個讀者記錄,則需先選擇要添加的讀者個數(shù),然后單擊“設(shè)定參數(shù)”按鈕,系統(tǒng)即可自動生成多個讀者的基本信息輸入界面,該方式一次最多可添加20個讀者記錄。若添加的多個讀者具有相同的所在單位、狀態(tài)等參數(shù),則可事先在設(shè)定參數(shù)欄一次性設(shè)置好相同的參數(shù),然后再添加。
3.4 遺留問題
我校圖書館將圖書的隨書光盤和館藏多媒體資源的一部分也存入了圖書館的磁盤陣列;并且發(fā)布到網(wǎng)上供讀者下載。由于多媒體文獻的數(shù)據(jù)量很大,絕大部分數(shù)據(jù)超過了100M;而采用ASP方式的B/S結(jié)構(gòu)的管理系統(tǒng)中,針對文件上傳的大小限制為20M。這就使得無法采用ASP方式的B/S結(jié)構(gòu)的系統(tǒng)中實現(xiàn)這樣的功能。為了解決這個問題,遂利用Borland Delphi開發(fā)了一個基于C/S結(jié)構(gòu)的軟件來實現(xiàn)這個功能。目前正在開發(fā)一個文件上傳組件來適宜大數(shù)據(jù)量文件上傳的需求。以達到徹底采用B/S方式管理所有的文獻信息的目的。
4.結(jié)論
本系統(tǒng)的投入使用極大的降低了保定校區(qū)圖書館系統(tǒng)維護人員的工作強度。節(jié)省了工作人員使用的工作用機的維護及采購成本。方便了學(xué)校各個校區(qū)圖書館的文獻資源的共享。并且由于系統(tǒng)界面友好,系統(tǒng)幫助文檔豐富,使得圖書館管理人員能夠比較容易學(xué)習(xí)和掌握;方便管理人員的操作。降低了工作中的差錯率。進一步提高了圖書館的管理水平。
參考文獻
[1]王皞.電力公司計量管理系統(tǒng)的實現(xiàn)研究[D].河北保定:華北電力大學(xué),2008:17-19.
[2]Ying Xu.The Research and Implementation of a New B/S Access Control [C].In:Intelligent Information Technology Application,2009:146-149.
[3]王勇,仲治國.ASP動態(tài)網(wǎng)站設(shè)計完整實例詳解[M].北京:電子工業(yè)出版社,2009:230-233.
[4]劉清懷,龐婭娟.ASP網(wǎng)絡(luò)開發(fā)實例自學(xué)手冊[M].北京:人民郵電出版社,2008:155-160.
[5]Dan Hotka.Oracle SQL Developer編程手冊[M].馬振晗譯.北京:清華大學(xué)出版社,2008:47-49.
[6]B/S架構(gòu)系統(tǒng)的界面技術(shù)[EB/OL].(2010-04-30)[2010-09-25].http://www.alibuybuy.com/18655.html.