●渠 芳(徐州師范大學 圖書館,江蘇 徐州 221116)
機構知識資源作為尚等開發利用的特有資源,越來越為人們所重視,國內外學術組織聯盟開發了眾多機構知識庫來保存、傳播與利用機構知識資源。然而,機構知識庫多為集中建設或分布建設,存在數據安全性能差、數據冗余混亂、運行成本過高、操作復雜繁瑣等問題,已經不能滿足學術組織對機構庫聯盟建設的要求,而基于SaaS的聯盟模式就可以解決這些問題。本文基于SaaS模式的機構知識庫聯盟建設進行探討,并在此基礎架構了SaaS理念下的機構庫聯盟建設模式及實現方法。
根據目前已有機構知識庫聯盟模式發展,機構知識庫聯盟模式可以分為集中式、采集式。
集中式機構知識庫聯盟模式是指聯盟體只部署一個服務器,各個聯盟體內部成員都直接將元數據與內容提交到集中的服務器上,然后通過統一的服務界面為聯盟成員提供服務。聯盟體也可以作為數據提供方,通過開放協議為其他服務提供方采集其元數據提供服務(見圖 1)。[1]

圖1 集中式聯盟機構知識庫
這種模式下,從數據提交一直到開放利用,所有管理與維護功能都實行集中化管理。每個聯盟成員都把數據提交到到中心服務器,由固定的聯絡員負責數據的管理與維護,用戶也是從中心服務器開放獲取機構知識庫資源。
集中式聯盟機構知識庫與機構個體機構知識庫相比,可以大大降低機構庫建設的成本,可以收到規模性的經濟效益。由于是集中管理,技術標準應用具有同一性,便于元數據的管理和開放,[2]但是各個機構的數據都提交到同一數據庫中,容易造成數據冗余、混亂。
采集式機構知識庫聯盟是指機構知識庫聯盟成員分別建立屬于自己的機構知識庫,并且每個成員機構知識庫必須遵循開放協議,允許元數據被采集并存儲到一個集中的數據庫服務器中,但原始數據仍然保留在本地機構知識庫之中,數據與資源本身都是分布式的。在聯盟項目指導下,對采集到的各成員機構的知識庫元數據構建統一檢索平臺,對用戶開放使用。(見圖 2)。[1]在采集模式下,每個聯盟成員都是獨立的,負責對本地機構知識庫數據提交、管理及維護,中心服務器對每個聯盟機構知識庫收割元數據,對用戶開放元數據,實現采集式聯盟機構知識庫項目提供的統一元數據搜索。然而,采集式聯盟的缺點是每個機構都要安裝機構知識庫系統,這樣會增加各個機構的初次投入和維護成本。

圖2 采集式聯盟機構知識庫
SaaS(So ftwareasa Service)是軟件即服務的簡稱,是一種全新的以軟件租用、在線使用方式提供軟件服務的軟件應用模式。在這種模式下,軟件提供商將應用軟件統一部署在服務器上,供多個客戶根據自己的需求在線租用。
SaaS模式不同于傳統的軟件模式,傳統的軟件模式是客戶不僅要購買軟件提供商的軟件,還要購買相應的硬件設備及數據庫,然后把軟件部署在自己的服務器應用。而SaaS模式具有以下特性:[3]
(1)多租戶性。SaaS支持多用戶同時使用,多個客戶租用一套軟件,每個客戶有可以擁有多個終端用戶;(2)按需付費。SaaS的付費方式比較靈活,每個客戶根據自己的需求采用不同的付費方式,并且客戶在對服務不滿意時可以隨時終止付費,降低了一次性投資軟件的風險;(3)托管運營。Saas模式采用托管運營的服務方式,軟件管理維護及各種數據統計等都托管給軟件提供商;(4)網絡訪問存取。Saas模式的應用程序存放在軟件提供商,不在客戶本地,客戶都是通過互聯網來訪問應用程序,任何能訪問互聯網的地方都可以使用自己的應用程序;(5)服務水平協議。服務水平協議是Saas的核心特征,是Saas提供商和客戶就服務內容簽訂的一份協議,是對服務水平的承諾,只有客戶對服務滿意,才能推廣Saas,使Saas真正成為一個產業。
Saas應用的構建涉及多種技術,未限定具體的應用架構,但一個成熟的Saas產品往往具有復雜的體系架構。微軟的Frederick Chong與Gianpaolo Carraro提出了如圖3所示的架構模型:
Saas架構與傳統軟件架構最大的區別為Saas架構中增加了元數據服務,元數據服務是為客戶提供定制和配置應用、滿足其特定需求的主要手段。有了元數據服務,用戶可以在數據層、應用層和顯示層進行個性化配置。從架構上看,Saas應用與采用服務導向型設計原理開發的其他應用很相似。

圖3 SaaS架構
基于Saas模式的機構知識庫聯盟建設平臺不僅具有展示和記憶各機構研究成果、實現各機構之間的學術資源共享的功能,還具有以下功能:
(1)用戶不分機構用戶和注冊用戶,都可以利用此平臺進行學術交流。
(2)個性化定制。機構管理員可以根據自己機構的特點和需求對界面、業務規則等進行個性化定制,資源利用用戶也可以對檢索界面和自己所需資源進行定制。
此平臺基于.Net的分層機構體系,分為Web層(界面層、服務層)、協作控制層、業務邏輯層及數據層,平臺的總體架構如圖4所示。

圖4 基于SaaS模式的機構知識庫聯盟建設平臺的總體架構
(1)數據層。數據層主要保存數據和對數據進行讀、寫、刪除操作。其中文件系統存儲的是各機構的全文數據等,各機構業務數據庫用來存放業務數據,為多用戶的數據庫,每個機構擁有一個獨立的數據庫,這樣數據隔離級別高,安全性比較好,機構信息數據庫存儲的是各個機構的基本信息,元數據數據庫存儲的是各機構實體的詳細信息,包括個性化信息等。
(2)業務邏輯層。業務邏輯層實現所有業務過程的實際處理邏輯,由于Saas模式允許客戶根據需求定制自己的商業規則和業務流程,就要求業務邏輯保證多個業務流程之間的隔離性,以此實現用戶對業務功能的配置,那么業務邏輯層就應封裝為較小的服務粒度。
(3)協作控制層。協作控制層是Saas模式應用特有的一層,該層可以實現元數據服務,為各機構提供定制和配置應用,可以在界面風格、業務規則、數據模型擴展及存取控制方面進行配置,用來滿足用戶的特定需求。
(4)Web層。Web界面層和Web服務層實現的是提供用戶發送請求的頁面,針對系統的接口,提供了所有功能的操作界面,將用戶層的請求轉交到業務層,不需要考慮系統業務的實現細節。
此平臺的開發環境為:Windows7 操作系統,Microsoft.NET Framework2.0 開發平臺,Microsoft Visual Studio2008專業版開發工具,C# 語言,Telegnosis Framework2.0 應用框架表現層控件選用 Develo PerEXPress.NETV 2009。由于篇幅有限,在此只介紹較重要的安全服務模塊和基于Saas的系統特有的元數據服務模塊的實現。
3.2.1 安全服務模塊實現
安全服務模塊主要是實現對用戶訪問系統進行安全認證,用戶首先要選擇自己所屬的機構,然后輸入自己的用戶、密碼,系統首先檢查用戶是否屬于所選機構,對用戶名、密碼進行匹配,通過認證進入系統,否則提示“登錄失敗”,部分實現代碼如下所示:

3.2.2 元數據服務模塊實現
元數據服務是基于Saas模式的平臺所具有的重要特性之一,是滿足用戶的特定需求的主要手段。它集成在本系統的提交資源和檢索資源需要個性化配置管理的窗體里。對于本系統,將采用DevExpress控件來實現,DevExpress開發的數據庫控件有很強的實力,不僅功能豐富,應用簡便,而且界面華麗,能實現對窗體外觀和風格的改變、顯示字段的個性化選擇、對字段排序及顯示進行個性化設置等,將這些個性化配置結果以XML文件的形式保存在本地,即使退出系統,下次打開窗體還能恢復到保存的個性化風格。在此以“機構知識庫查詢”窗體的顯示字段個性化選擇的實現來說明,該窗體將采用DevExpress控件的Grid Control組件來顯示數據,在窗體關閉時利用Save Layout TOXml方法將配置的結果保存到指定的XML文件來實現結果保存,部分實現代碼如下所示:,l
在X M L文件中配置窗體的屬性,窗體打開時利用Restore Layout FromXml方法將界面按XML文件里的配置恢復,部分實現代碼如下所示:
Privat evoidsearch Form_Load(objectsender,Event Argse){this.search Grid Control.Foree Initialize();
this.searchGrid Control.Main View.RestoreLayout-From Xml(Application.Startup Pat h+@”layXmlsearch.xml”);//恢復用戶定制界面的結果}
基于Saas模式的機構知識庫聯盟建設不僅可以避免集中式數據冗余、混亂和分布式的增加機構成本的弊端,還可以滿足用戶學術交流及個性化需求。基于Saas理念的機構知識庫聯盟建設模式為機構庫聯盟建設提供了更大的空間,也是機構庫聯盟建設的趨勢。
[1]鄧君.機構知識庫建設模式與運行機制研究[D].長春:吉林大學,2008.
[2]渠芳.高校教學聯合體機構知識庫聯盟建設研究——以徐州高校教學聯合體為例[J].情報理論與實踐,2010(11):83-85.
[3]霍小軍.Saas模式在電子政務中的應用初探[J].電子政務,2008(1):73-87.