文/江玲 王亮
圖書館軟件開發思路的變遷
文/江玲 王亮
從自主開發到引進開源軟件,再到云計算技術研究的興起,高校圖書館的軟件技術經歷深刻變革。
十幾年來,隨著信息技術的快速發展,圖書館軟件開發的思路發生深刻的變革。在上個世紀末的圖書館自動化時代,少數有條件的單位就利用數據庫軟件自行開發了圖書管理系統。到本世紀初的數字圖書館階段,軟件開發門檻大幅降低,特別是相關的開源軟件逐步豐富,讓很多圖書館可以花費很低的成本開發自己的特色服務。尤其是近兩年來,云計算的興起又為圖書館服務開發提供了一個全新的選擇,研發成本和門檻再一次降低。
華中科技大學圖書館作為教育部圖書館建設示范基地,在圖書館技術更新方面緊跟潮流,經歷了圖書館軟件開發的三個階段。
從上世紀90年代開始,計算機逐步進入圖書館,就有了早期的軟件開發需求。國內一些有條件的圖書館,利用早期的數據庫系統,如FoxBASE,開發了自己的書目管理系統。同時,出現了一些較為成熟的產品,如北京郵電大學的MELINETS、深圳圖書館的ILAS。
而近些年來,數字圖書館建設新生了一些軟件需求,由于其專業性非常強,很難歸入一般的IT軟件行列,商業招標或者直接購買都存在一定的困難,一些有實力的圖書館就選擇自主開發。具有代表性的是圖書館的異構資源統一檢索平臺系統,主要是對圖書館已有的數據庫進行整合搜索。
圖書館的自主開發,一般都需要有雄厚的技術實力做支持,國內只有少數幾所知名圖書館具備這樣的能力。由于軟件系統都有自己的生命周期,各個圖書館自主開發的軟件中有很多由于維護和后續開發跟不上、通用性差、缺乏推廣,真正產生影響力的并不多。
在圖書館自動化時代,圖書管理基本是圖書館唯一的軟件需求,大部分圖書館只要選擇一款合適的管理系統即可,相關的成熟商業軟件也非常多。但到了本世紀初的數字圖書館時代,資源大大豐富,由于存在數據異構、服務接口不統一等問題,成熟的數字資源管理系統非常少。圖書館迫切需要新技術,尤其需要價廉物美的支持軟件來構建新的管理與服務平臺。這個時期,開源軟件大量涌現,為數字圖書館的建設與管理提供了極大便利,促使數字圖書館建設朝著低成本、高性能、短開發周期的方向發展,并有效提高圖書館的創新能力,提升圖書館的核心競爭力,因此,數字圖書館和開源軟件的結合是一種必然趨勢。
數字圖書館綜合管理系統
這類系統功能一般比較全面,涵蓋了現代數字圖書館所需的數字內容管理、數字資產保存、機構學術信息的收集與利用等各個方面的內容。其中具有代表性的有Fedora數字對象倉儲管理系統。Fedora倉儲提供了存儲管理和訪問數字對象的接口,可作為功能完整的學術機構倉儲庫和基于Web實現互操作的數字圖書館平臺。Fedora功能強大,具有良好的可擴展性,特別適合用來管理多類型的、多層次的復合數字對象,并支持元數據層面的互操作。但由于系統只提供管理和訪問數字對象的接口,很多應用的需求需要進行二次開發,應用的門檻比較高, 對技術支持要求的力度比較大。
另一個功能較為簡單的系統為GreenStone系統,這也是一個完整的數字圖書館系統, 包含了創建、管理和發布功能。系統提供了可視化的操作界面,使用該系統的機構或個人不需要特殊的編程開發即可直接安裝使用。
信息檢索系統
圖書館的核心功能就是信息檢索,而以Lucene為代表的開源搜索系統的出現,為圖書館開發各種搜索服務提供了很大的便利。Lucene是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。我們在構建專題數據庫時,對于一些網頁資源,就是利用Lucene進行索引的。而在構建元數據倉儲時,由于數據量超過了千萬條,利用關系數據庫中的索引進行檢索,速度就非常慢,因此我們就利用Lucene對數據庫進行重新索引,構建新的全文索引文件提供搜索服務,檢索速度大幅度提高。
個性化門戶系統
各類門戶系統是數字圖書館開發的重點。圖書館具有代表性的有SPT( Scout Portal Toolkit)系統——這是美國威斯康星-麥迪遜大學開發的開源軟件。它的目標是使學術機構和圖書館等信息服務機構能夠以最少的技術成本,快速有效地搭建學科信息門戶。中國國家科學數字圖書館就利用該系統創建了學科信息門戶網站,同時還自行擴充OAI功能和RSS功能,利用RSS方式動態聚合更新多個門戶網站的新聞,增加用戶訪問統計等多項實用功能,并集成了MyLibrary個性化圖書館系統,使CSDL的學科信息門戶功能更加豐富。華中科技大學圖書館在構建湖北省科技文獻共享平臺門戶網站時,就采用了DNN(DotNetNuke)開源系統,該系統可以方便地構建門戶站點,有豐富的第三方組件可供利用,同時也可方便地嵌入統一檢索等自行開發的模塊。

對各個圖書館而言,既不能固步自封,又不能盲目追求技術潮流,而應當根據自己的需要和技術資金實力,靈活采用購買/自主開發、開源系統、云計算這3種方案,構建最適合自己的數字圖書館應用系統。
與完全的自主開發相比,開源軟件大幅度降低了系統開發成本和門檻,但是大部分開源軟件仍需要進行二次開發,這就對操作人員提出了一定的技術要求,只有在具有較高專業能力的人員面前,開源軟件的優點才能得到更好的體現。開源軟件雖然是免費的,但其后續管理開發都需要專人、專門培訓和專門的經費預算來保證,這對國內大多數圖書館而言,目前尚不具備這方面的管理能力與技術力量。
自主開發軟件與使用開源軟件,均需要一定的技術實力做支撐,而目前看到的從事這方面研究開發的也只有國內一些知名的圖書館。對于更多的圖書館而言,它們需要這樣一種方案:讓不熟悉計算機編程的館員,也可以根據需要提供各類圖書館信息服務。而近兩年興起的云計算技術提供了這種可能。
狹義的云計算是指用虛擬技術構建的虛擬化數據中心,將分布在大量的計算機和存儲設備上的計算和存儲資源集中起來成為一個虛擬的資源池,以服務方式按需提供給網絡用戶,即“基礎設施即服務”,廣義的云計算還包括軟件即服務、平臺即服務等多種服務模式。
目前,在圖書館領域的典型服務模式有OCLC的“Web級合作型圖書館管理服務”,它屬于平臺服務。使用該平臺的圖書館,可以完成電子資源和印本資源的采購、館藏管理系統、身份管理、集體情報等各項任務,而無需再自行構建相應的系統。
而對單個圖書館而言,更重要的是如何利用云計算服務。正如Griffey J提出的“云圖書館員”所說的:“對云圖書館員而言最為重要的是在技術成熟時,就能應用這種技術為用戶服務,更重要的是如何使用網絡服務。”
華中科技大學圖書館在2010年構建新型學科館員門戶網站時,就完全采用了云計算的思路,利用新浪的Blog服務作為門戶網站的基本組成部分,提供統一的風格框架,由各個學科館員自身添加各種內容,再自行設計一個主頁面,用來鏈接各個學科館員Blog即可。Blog本身提供的文章、視頻、圖片的發布等功能基本可以滿足學科館員站點的需要。Blog同時提供了第三方組件功能,可以利用類似Widget的方式開發或引用第三方服務。例如我們使用了QQ的網頁嵌入服務作為即時通訊服務,利用Google的文檔服務發布更多形式的文件,同時還自行開發了學科專題檢索等第三方服務。
與自主開發/開源系統開發相比,云計算開發在成本、開發周期等方面有著顯而易見的優勢。例如我們用SPT等開源軟件開發該系統,開發周期至少要2個月,而且需要購置服務器及相應的軟件資源運行該系統,維護和后續開發也需要大量的工作。但使用了云計算的方式設計該系統,僅僅兩周系統即投入使用,基本不需要維護工作,后續開發和引入第三方服務也非常簡單。
總之,云計算方案具有開發周期短、維護成本低、不存在技術門檻等優點,最適合在圖書館領域推廣普及,但在目前網絡服務還并不普及的情況下,應當詳細分析需求的特點和現有的網絡服務,再判斷是否采用云計算的思路來設計系統。
對各個圖書館而言,既不能固步自封,又不能盲目追求技術潮流,而應當根據自己的需要和技術資金實力,靈活采用購買/自主開發、開源系統、云計算這3種方案,構建最適合自己的數字圖書館應用系統。
(作者單位為華中科技大學圖書館)