王文清 陳 凌
摘要結(jié)合云計(jì)算、SaaS、Web2.0、SOA等技術(shù),基于CALIS“十五”成果和三期建設(shè)目標(biāo),提出了CALIS云戰(zhàn)略和相應(yīng)的數(shù)字圖書館云服務(wù)平臺(tái)(即Nebula平臺(tái))模型。該模型適合于構(gòu)建大型分布式的公共數(shù)字圖書館服務(wù)網(wǎng)絡(luò),能將分布在互聯(lián)網(wǎng)中各個(gè)圖書館的資源和服務(wù)整合為一個(gè)整體,形成一個(gè)可控的自適應(yīng)的新型服務(wù)體系,通過對(duì)各種服務(wù)進(jìn)行動(dòng)態(tài)管理和分配,來滿足不同層次和規(guī)模的數(shù)字圖書館需求,支持館際透明的協(xié)作和服務(wù)獲取,支持多館資源的共建和共享,具有自適應(yīng)擴(kuò)展的能力。文中描述了Nebula云服務(wù)平臺(tái)總體模型和主要服務(wù)功能,描述了平臺(tái)的整合機(jī)制(包括開放接口和服務(wù)整合方式等),給出數(shù)字圖書館公有云、私有云和混合云的構(gòu)建方式,最后論述該平臺(tái)需要解決的部分關(guān)鍵問題并介紹其進(jìn)展情況。
關(guān)鍵詞數(shù)字圖書館云計(jì)算云服務(wù)服務(wù)集成CALIS
1引言
中國高等教育文獻(xiàn)保障系統(tǒng)(China Academic Library Information System,簡稱CALIS)通過二期(即“十五”)項(xiàng)目建設(shè),已初步建成了分布式中國高等教育數(shù)字圖書館系統(tǒng),其中部分應(yīng)用系統(tǒng)已經(jīng)在上百個(gè)成員館和多個(gè)省中心部署和使用。
CALIS三期項(xiàng)目的建設(shè)目標(biāo)是為全國近2000個(gè)高校成員館提供標(biāo)準(zhǔn)化、低成本、自適應(yīng)、可擴(kuò)展的數(shù)字圖書館統(tǒng)一服務(wù)和集成平臺(tái),這些館通過彼此互聯(lián),構(gòu)成全國高校數(shù)字圖書館三級(jí)共建和共享服務(wù)以及多館服務(wù)協(xié)作的聯(lián)合體系,共同為高校師生提供全方位的文獻(xiàn)服務(wù)、咨詢服務(wù)、電子商務(wù)和個(gè)性化服務(wù)。
CALIS三期建設(shè)的難點(diǎn)在于既要建立多級(jí)共建共享中心,又要為不同規(guī)模的高校圖書館提供低成本、本地化的數(shù)字圖書館解決方案,同時(shí),這些中心和圖書館又能彼此互聯(lián),具有很好的擴(kuò)展性和靈活性。
云計(jì)算(Cloud Computing)是一種將分布式計(jì)算、網(wǎng)格計(jì)算、并行計(jì)算以及Internet結(jié)合起來的新的lT資源提供模式,能將動(dòng)態(tài)、可伸縮的IT計(jì)算資源以服務(wù)方式通過Internet提供給用戶。狹義上的云計(jì)算是指用虛擬技術(shù)構(gòu)建的虛擬化數(shù)據(jù)中心,將分布在大量的計(jì)算機(jī)和存儲(chǔ)設(shè)備(包括本地或遠(yuǎn)程設(shè)備)上的計(jì)算和存儲(chǔ)資源(包括內(nèi)存、I/O設(shè)備、存儲(chǔ)、帶寬、計(jì)算能力等)集中起來成為一個(gè)虛擬的資源池,以服務(wù)方式按需(免費(fèi)或租用)提供給網(wǎng)絡(luò)用戶。這種云計(jì)算被稱為“基礎(chǔ)設(shè)施即服務(wù)”(IaaS,Infrastructure as a Service),也被稱為“硬件即服務(wù)”(HaaS,Hardware as a Service)。Amazon的E2和E3是這類模式的代表。廣義上的云計(jì)算還包括軟件即服務(wù)SaaS(softwre as a Service)、平臺(tái)即服務(wù)PaaS(Platform as a Service)等多種服務(wù)模式。SaaS通過瀏覽器把程序以服務(wù)方式交付給用戶,向用戶收取服務(wù)費(fèi)。用戶通過互聯(lián)網(wǎng)使用程序,降低在服務(wù)器和軟件授權(quán)的購買和系統(tǒng)運(yùn)維上的成本;供應(yīng)商只需統(tǒng)一安裝和維護(hù)一套軟硬件系統(tǒng),如Salesforce.com等。很多SaaS還提供了開放API,讓開發(fā)者能夠開發(fā)更多的互聯(lián)網(wǎng)應(yīng)用。PaaS把開發(fā)環(huán)境、應(yīng)用程序運(yùn)行環(huán)境、數(shù)據(jù)庫環(huán)境等作為一種服務(wù)來提供給開發(fā)商,由后者開發(fā)程序并通過互聯(lián)網(wǎng)提供給用戶。這類服務(wù)商有Salesforce的網(wǎng)絡(luò)應(yīng)用軟件平臺(tái)force.com和Google的應(yīng)用軟件引擎Google AppEngine等。
總之,云計(jì)算的內(nèi)涵非常豐富。云計(jì)算不僅包括以服務(wù)為交付模式的計(jì)算和存儲(chǔ)基礎(chǔ)設(shè)施,還包括虛擬主機(jī)租用、應(yīng)用服務(wù)環(huán)境租用、數(shù)據(jù)庫環(huán)境租用、編程模型、數(shù)據(jù)服務(wù)(Data as a Service)、商業(yè)流程服務(wù)(Process as a Service)、應(yīng)用服務(wù)(Application as a Service)等各種模式。云計(jì)算具有這樣的特性:對(duì)資源動(dòng)態(tài)分配、以web為中心、交付的是服務(wù)。
云計(jì)算為CALIS三期建設(shè)提供了新的思路和可行的技術(shù)路線,應(yīng)用云計(jì)算對(duì)于CALIS完成三期建設(shè)目標(biāo)將起到至關(guān)重要的作用。
結(jié)合云計(jì)算、SaaS、Web2.0、SOA等技術(shù),基于CALIS十五成果、三期建設(shè)目標(biāo)和未來發(fā)展方向,本文提出了CALIS數(shù)字圖書館云戰(zhàn)略:即設(shè)計(jì)和開發(fā)CALIS數(shù)字圖書館云服務(wù)平臺(tái)(稱為Nebula平臺(tái)),構(gòu)建多級(jí)CALIS數(shù)字圖書館云服務(wù)中心,為高校用戶提供各種類型的數(shù)字圖書館服務(wù),同時(shí)為圖書館提供本地化的數(shù)字圖書館云計(jì)算解決方案。而這些服務(wù)和解決方案是CALIS和圖書館難以從Google等其他云計(jì)算廠商直接得到的。
CALIS數(shù)字圖書館云服務(wù)平臺(tái)Nebula適合于構(gòu)建大型分布式的公共數(shù)字圖書館服務(wù)網(wǎng)絡(luò),能將分布在互聯(lián)網(wǎng)中各個(gè)圖書館的資源和服務(wù)整合成為一個(gè)整體,形成一個(gè)可控的自適應(yīng)的新型服務(wù)體系,通過對(duì)各種服務(wù)進(jìn)行動(dòng)態(tài)管理和分配,來滿足不同層次和規(guī)模的數(shù)字圖書館需求,支持館際透明的協(xié)作和服務(wù)獲取,支持各館用戶的聚合和參與,支持多館協(xié)作的社會(huì)化網(wǎng)絡(luò)的構(gòu)建,支持多館資源的共建和共享,具有自適應(yīng)擴(kuò)展的能力。
本文主要描述Nebula云服務(wù)平臺(tái)的總體模型、服務(wù)架構(gòu)和主要服務(wù)功能、統(tǒng)一開放接口和服務(wù)整合方式,給出了分布式部署和集成方式(即公有云、私有云和混合云的構(gòu)建方式),最后介紹該平臺(tái)建設(shè)的關(guān)鍵問題和進(jìn)展情況。
2平臺(tái)總體模型
根據(jù)CALIS三期建設(shè)要求,結(jié)合云計(jì)算、SaaS、SOA等技術(shù),提出了CALIS數(shù)字圖書館云服務(wù)平臺(tái)(稱為Nebula Platform)框架。它以基礎(chǔ)設(shè)施服務(wù)IaaS/HaaS和基礎(chǔ)平臺(tái)服務(wù)PaaS為基礎(chǔ),包括以下4個(gè)方面的內(nèi)容:
(1)面向圖書館的CALIS數(shù)字圖書館公共服務(wù)平臺(tái),用于構(gòu)建CALIS云服務(wù)中心;
(2)面向圖書館的CALIS數(shù)字圖書館SaaS服務(wù)平臺(tái),用于為圖書館提供SaaS服務(wù);
(3)面向圖書館的數(shù)字圖書館本地服務(wù)平臺(tái):包括本地應(yīng)用基礎(chǔ)平臺(tái)和本地應(yīng)用系統(tǒng);
(4)面向圖書館的CALIS云聯(lián)邦服務(wù)平臺(tái),以便將不同的圖書館本地服務(wù)、CALIS公共服務(wù)以及第三方公共服務(wù)集成起來。
該平臺(tái)模型如圖1所示。
2.1基礎(chǔ)設(shè)施服務(wù)和基礎(chǔ)平臺(tái)服務(wù)
這兩類服務(wù)可以由第三方服務(wù)商提供,也可以由自己的云計(jì)算中心提供。
CALIS將建設(shè)1至多個(gè)云服務(wù)中心,搭建自己的基礎(chǔ)設(shè)施平臺(tái)IaaS;同時(shí),適當(dāng)利用第三方提供的部分IaaS服務(wù)。
2.2CALIS數(shù)字圖書館公共服務(wù)平臺(tái)
該公共服務(wù)平臺(tái)(稱為Nebula Central Platform)由一組軟件構(gòu)成,可以在云中使用,提供的基本服務(wù)包括統(tǒng)一認(rèn)證服務(wù)、計(jì)費(fèi)服務(wù)、聯(lián)合資源檢索服務(wù)、數(shù)據(jù)服務(wù)、知識(shí)服務(wù)、數(shù)字對(duì)象存儲(chǔ)和下載服務(wù)、元
數(shù)據(jù)聯(lián)合編目服務(wù)、文獻(xiàn)聯(lián)合訂購服務(wù)、全局資源調(diào)度服務(wù)等。
上述服務(wù)既可以直接面向圖書館,也可以通過一組Open API提供給圖書館。
CALIS公共服務(wù)平臺(tái)除了在CALIS全國中心部署,也可以在部分省中心部署,用于建立CALIS數(shù)字圖書館云服務(wù)中心。
2.3 CALIS數(shù)字圖書館SaaS服務(wù)平臺(tái)
該SaaS服務(wù)平臺(tái)直接面向圖書館提供最終的應(yīng)用服務(wù)。這類服務(wù)包括館際互借SaaS服務(wù)、參考咨詢SaaS服務(wù)、特色庫加工SaaS服務(wù)、教參管理SaaS服務(wù)、學(xué)位論文SaaS服務(wù)等。各個(gè)館可以按需租用部分或全部服務(wù)。
CALIS數(shù)字圖書館SaaS服務(wù)平臺(tái)可在CALIS全國中心和多個(gè)省中心部署。
2.4 CALIS本地服務(wù)平臺(tái)
CALIS本地服務(wù)平臺(tái)由CALIS本地應(yīng)用基礎(chǔ)平臺(tái)、CALIS本地應(yīng)用系統(tǒng)以及第三方本地應(yīng)用系統(tǒng)組成。前兩類系統(tǒng)能為圖書館提供本地化的云解決方案。
CALIS本地應(yīng)用基礎(chǔ)平臺(tái)(稱為Nebula Main Server)具有統(tǒng)一服務(wù)注冊(cè)和管理、統(tǒng)一監(jiān)控和日志管理、本地統(tǒng)一認(rèn)證/授權(quán)、單點(diǎn)登錄、公共服務(wù)發(fā)布、外部服務(wù)訂閱等核心功能。此外,該平臺(tái)還提供狀態(tài)管理、負(fù)載管理等實(shí)時(shí)服務(wù),提供簡化和自動(dòng)化的部署和管理方式,保證服務(wù)的可獲得性和可伸縮性。該基礎(chǔ)平臺(tái)負(fù)責(zé)與CALIS數(shù)字圖書館公共服務(wù)平臺(tái)、CALIS云聯(lián)邦服務(wù)平臺(tái)進(jìn)行交互,實(shí)現(xiàn)分布式資源和服務(wù)的自動(dòng)注冊(cè)和發(fā)現(xiàn)。CALIS本地應(yīng)用基礎(chǔ)平臺(tái)是本地化云解決方案的關(guān)鍵所在,起到承上啟下、館內(nèi)集成、館間互聯(lián)的核心作用。
CALIS本地應(yīng)用系統(tǒng)(統(tǒng)稱為Nebula Applica-tion Server)用于為圖書館提供具體的業(yè)務(wù)功能。這類應(yīng)用系統(tǒng)包括本地版的門戶系統(tǒng)(Portal)、館際互借系統(tǒng)、文獻(xiàn)傳遞工具、參考咨詢系統(tǒng)、特色庫加工系統(tǒng)、資源收割系統(tǒng)、資源發(fā)布系統(tǒng)、資源倉儲(chǔ)服務(wù)系統(tǒng)、統(tǒng)一檢索系統(tǒng)、資源調(diào)度系統(tǒng)等。CALIS本地應(yīng)用系統(tǒng)內(nèi)置了標(biāo)準(zhǔn)化接口,能與CALIS本地基礎(chǔ)平臺(tái)無縫集成。
第三方本地應(yīng)用系統(tǒng)通過支持標(biāo)準(zhǔn)化的統(tǒng)一認(rèn)證、監(jiān)控、日志等接口,與CALIS本地基礎(chǔ)平臺(tái)無縫集成,成為本地?cái)?shù)字圖書館的一個(gè)有機(jī)組成部分。
2.5云聯(lián)邦服務(wù)平臺(tái)
云聯(lián)邦服務(wù)平臺(tái)(稱為Nebula Federation Plat—form,NFP)用于實(shí)現(xiàn)跨云的服務(wù)集成,也是實(shí)現(xiàn)私有云和公有云互操作并形成混合云的關(guān)鍵。它以O(shè)pen API方式對(duì)外提供抽象化的應(yīng)用服務(wù),還能對(duì)CALIS各個(gè)中心的Open API提供托管服務(wù)。
該平臺(tái)用于將不同的圖書館本地服務(wù)平臺(tái)、CALIS公共服務(wù)平臺(tái)以及第三方公共服務(wù)集成起來,以統(tǒng)一服務(wù)接口方式提供給圖書館,供圖書館、CALIS和ISV進(jìn)行進(jìn)一步整合(mash-up),降低服務(wù)集成難度,從而能形成高度集成的數(shù)字圖書館系統(tǒng),以統(tǒng)一的界面和操作方式為讀者提供服務(wù)。
綜合上述,CALIS數(shù)字圖書館云服務(wù)平臺(tái)作為一個(gè)載體,承載了圖書館所需的各種服務(wù)。圖書館可在云平臺(tái)上開發(fā)和集成新的服務(wù),通過線上線下互動(dòng),以更好地滿足高校圖書館的內(nèi)部管理和用戶服務(wù)的需求。
3服務(wù)架構(gòu)
3.1 SOA架構(gòu)
面向服務(wù)架構(gòu)(sOA,Service-Oriented Architec—ture)是當(dāng)前web應(yīng)用系統(tǒng)有效的建模思想和軟件構(gòu)建方法,通過模塊化、集成化、動(dòng)態(tài)組裝,使得系統(tǒng)的重用性、可靠性、可擴(kuò)展性和開發(fā)速度大大提高。
OSGi規(guī)范為網(wǎng)絡(luò)服務(wù)定義了一個(gè)通用的、標(biāo)準(zhǔn)的、面向組件的計(jì)算環(huán)境。軟件組件可以動(dòng)態(tài)地發(fā)現(xiàn)和使用其他庫或者應(yīng)用程序。OSGi定義了組件規(guī)范和服務(wù)規(guī)范。服務(wù)是組件之間的交互接口。組件可插拔,可動(dòng)態(tài)改變行為,復(fù)用能力更強(qiáng)。IBM、SUM、BEA、開源社區(qū)等一些中間件和應(yīng)用系統(tǒng)都開始采用OSGi標(biāo)準(zhǔn)來構(gòu)建。
CALIS數(shù)字圖書館云服務(wù)平臺(tái)的系統(tǒng)架構(gòu)是以SOA規(guī)范為基礎(chǔ),以O(shè)SGi標(biāo)準(zhǔn)對(duì)各個(gè)服務(wù)進(jìn)行統(tǒng)一封裝,為服務(wù)提供者提供統(tǒng)一的服務(wù)發(fā)布功能,為服務(wù)消費(fèi)者和提供者之間提供統(tǒng)一的通信方式。
3.2服務(wù)模型
CALIS數(shù)字圖書館云服務(wù)平臺(tái)由一系列服務(wù)功能組成,這些功能分為5個(gè)層次:基礎(chǔ)層、開發(fā)層、核心服務(wù)和通用服務(wù)層、應(yīng)用層、門戶層。如圖2所示。
CALIS數(shù)字圖書館云服務(wù)平臺(tái)將各個(gè)層次的服務(wù)都構(gòu)建在OSGi框架上,這些服務(wù)都封裝為OSGi服務(wù),以供其他組件調(diào)用。
新開發(fā)的應(yīng)用系統(tǒng)都基于Nebula開發(fā)平臺(tái)進(jìn)行開發(fā),可以調(diào)用已有的核心/通用服務(wù)。已有的應(yīng)用系統(tǒng)通過提供規(guī)定的接口納入整個(gè)平臺(tái)。
部分應(yīng)用系統(tǒng)(如館際互借、參考咨詢等)需要基于Muhi-Tennant進(jìn)行改造和接入,統(tǒng)一內(nèi)部數(shù)據(jù),以便能夠提供SaaS服務(wù)。
門戶系統(tǒng)采用portlet作為統(tǒng)一的應(yīng)用前端組件,調(diào)用其他服務(wù),提供統(tǒng)一的用戶登入/登出,提供客戶自助服務(wù)中心,將各種業(yè)務(wù)功能以統(tǒng)一的界面和操作方式展現(xiàn)給用戶。
上述各種服務(wù)通過組合,可構(gòu)成不同的CALIS應(yīng)用平臺(tái)或應(yīng)用系統(tǒng)。
應(yīng)用服務(wù)的運(yùn)行狀態(tài)監(jiān)控、服務(wù)切換、服務(wù)分配等都由云服務(wù)平臺(tái)中的核心服務(wù)實(shí)現(xiàn),以此實(shí)現(xiàn)系統(tǒng)的自治。核心服務(wù)還提供安全管理、事務(wù)管理、容錯(cuò)性、持久化、緩存管理、負(fù)載管理、服務(wù)調(diào)度、大數(shù)據(jù)分布式存儲(chǔ)等服務(wù)功能。這些核心服務(wù)確保整個(gè)云服務(wù)平臺(tái)能提供“云”一樣的統(tǒng)一的、規(guī)?;姆?wù)。
4整合機(jī)制
為實(shí)現(xiàn)來自不同服務(wù)平臺(tái)/系統(tǒng)的服務(wù)整合,CALIS整個(gè)云服務(wù)平臺(tái)需要建立統(tǒng)一基礎(chǔ)信息,提供統(tǒng)一開放API,提供統(tǒng)一的API托管,提供統(tǒng)一認(rèn)證服務(wù)。
4.1統(tǒng)一基礎(chǔ)信息
整個(gè)CALIS數(shù)字圖書館云服務(wù)平臺(tái)建立和管理統(tǒng)一的基礎(chǔ)信息,包括用戶信息、知識(shí)庫信息、應(yīng)用/資源/服務(wù)/倉儲(chǔ)注冊(cè)信息、數(shù)據(jù)信息、訂閱信息、計(jì)費(fèi)信息等。這些信息為服務(wù)整合奠定了基礎(chǔ)。
4.2統(tǒng)一API
Open API是web 2.0的一種服務(wù)模式,也是云計(jì)算的服務(wù)方式。利用這些API可以實(shí)現(xiàn)對(duì)分散數(shù)據(jù)和服務(wù)進(jìn)行整合(mash-up),能帶來具有新價(jià)值的web服務(wù)。
CALIS云服務(wù)平臺(tái)上的各項(xiàng)服務(wù)都是基于CA—LIS自主開發(fā)的Nebula OSGi基礎(chǔ)框架來實(shí)現(xiàn),遵循OSGi服務(wù)接口規(guī)范。該基礎(chǔ)框架能將這些OSGi服務(wù)自動(dòng)發(fā)布成Web Services(格式為REST、SOAP、JSON等),作為統(tǒng)一的API對(duì)外服務(wù)。這種獨(dú)特的自動(dòng)封裝技術(shù),一方面大大免除了開發(fā)人員的重復(fù)性工作,提高了系統(tǒng)可靠性;另一方面能對(duì)外提供更多的服務(wù)接口。
CALIS云服務(wù)平臺(tái)提供的所有服務(wù)分為三個(gè)層次:系統(tǒng)內(nèi)的私有服務(wù)、館內(nèi)/平臺(tái)內(nèi)私有服務(wù)、公有
服務(wù),分別為:(1)同一系統(tǒng)內(nèi)的私有服務(wù)的注冊(cè)和管理由Nebula OSGi基礎(chǔ)框架完成。這些服務(wù)無需對(duì)系統(tǒng)外提供。(2)館內(nèi)/平臺(tái)內(nèi)的私有服務(wù)(即私有API),可以被同一個(gè)平臺(tái)內(nèi)的其他系統(tǒng)調(diào)用。(3)館/平臺(tái)的公有服務(wù)(即Open API)可以被另一個(gè)館/平臺(tái)所訪問。后面這兩類服務(wù)都通過應(yīng)用/服務(wù)注冊(cè)管理和同步機(jī)制來實(shí)現(xiàn)。
圖書館和獨(dú)立軟件開發(fā)商可以很方便地調(diào)用上述Open API,構(gòu)建自己的應(yīng)用系統(tǒng)和服務(wù),實(shí)現(xiàn)對(duì)現(xiàn)有海量數(shù)據(jù)的集成,實(shí)現(xiàn)對(duì)已有服務(wù)的集成,設(shè)計(jì)更多的業(yè)務(wù)模式和功能,實(shí)現(xiàn)自有應(yīng)用的快速接入。
4.3統(tǒng)一認(rèn)證
統(tǒng)一認(rèn)證是實(shí)現(xiàn)服務(wù)安全整合的前提。
CALIS云服務(wù)平臺(tái)能為各個(gè)云服務(wù)中心的所有用戶提供統(tǒng)一的用戶通行證(即CALIS_ID),使得用戶能在各個(gè)CALIS云服務(wù)中心和圖書館本地平臺(tái)之間實(shí)現(xiàn)跨域的單點(diǎn)登錄和身份認(rèn)證。
CALIS統(tǒng)一認(rèn)證機(jī)制也為CALIS數(shù)字圖書館云聯(lián)邦服務(wù)平臺(tái)NIP提供了API接口的安全調(diào)用和身份認(rèn)證功能,確保圖書館用戶能通過NIP安全地訪問被托管的受控的API服務(wù)。對(duì)于需要身份認(rèn)證的接口,所有調(diào)用這些接口的應(yīng)用系統(tǒng)都需要遵循CALIS統(tǒng)一認(rèn)證規(guī)范,調(diào)用CALIS提供的用戶身份認(rèn)證接口。
4.4服務(wù)整合和托管
CALIS各云服務(wù)中心都提供Open API,部分圖書館和其他獨(dú)立服務(wù)提供商也會(huì)提供部分OpenAPI。CALIS需要為這些不同來源的API提供一個(gè)統(tǒng)一的API托管服務(wù)中心,以方便各個(gè)圖書館對(duì)它們的調(diào)用。
CALIS云聯(lián)邦服務(wù)平臺(tái)(NFP)能為來自各個(gè)CALIS公共服務(wù)平臺(tái)、圖書館本地平臺(tái)以及其他ISP的服務(wù)提供統(tǒng)一的API托管服務(wù),以統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范提供給其他圖書館和ISV,以降低服務(wù)集成的困難和成本,并為圖書館帶來新的服務(wù)模式。
該平臺(tái)提供了各類服務(wù)的注冊(cè)和管理功能,提供了通用的認(rèn)證、授權(quán)、計(jì)費(fèi)和安全等服務(wù),能簡化服務(wù)集成,支持服務(wù)的快速接入和交付。
該平臺(tái)實(shí)際上是一個(gè)虛擬化的OpenAPI池,能使服務(wù)以標(biāo)準(zhǔn)化、統(tǒng)一的方式被各類應(yīng)用系統(tǒng)所整合和管理,從而實(shí)現(xiàn)各數(shù)字圖書館各應(yīng)用和資源之間的無縫集成,消除數(shù)據(jù)及應(yīng)用孤島,實(shí)現(xiàn)內(nèi)容整合和服務(wù)協(xié)同。
對(duì)于CALIS已有的整合方式和服務(wù)接口,需要按照新的Open API規(guī)范進(jìn)行封裝和調(diào)整,以便能納入CALIS云平臺(tái)中。
CALIS云聯(lián)邦服務(wù)平臺(tái)提供靈活的整合方式,如:用戶能創(chuàng)建和定制Mash-up整合方式,能將各種服務(wù)(如REST、WSDL、RSS、ATOM、OAI、ODL、SRU/SRW等)集成起來;能夠控制整合的范圍和權(quán)限,既能確保被整合服務(wù)的安全性,也能將整合結(jié)果共享給協(xié)作方。
5應(yīng)用方式
CALIS數(shù)字圖書館云平臺(tái)能提供標(biāo)準(zhǔn)化、低成本、自適應(yīng)、可擴(kuò)展的數(shù)字圖書館統(tǒng)一服務(wù)和集成解決方案,為CALIS及其成員館提供了靈活的部署和應(yīng)用方式,既能滿足CALIS構(gòu)建公有云服務(wù)中心的需要,也能滿足圖書館構(gòu)建私有服務(wù)云的需要,還能實(shí)現(xiàn)對(duì)這兩類服務(wù)云的整合。
5.1本地云平臺(tái)(私有云)
利用CALIS本地平臺(tái)(包括CAMS本地基礎(chǔ)平臺(tái)Main Server和應(yīng)用系統(tǒng)App Server),圖書館能方便構(gòu)建自己的數(shù)字圖書館云平臺(tái),支持與第三方應(yīng)用系統(tǒng)的集成。該本地云平臺(tái)可以安裝在本地HaaS/PaaS上,也可以部分安裝在遠(yuǎn)程的公共PaaS/HaaS平臺(tái)上。這些圖書館云平臺(tái)能獲取和集成CALIS公共云所提供的各種服務(wù)。
部分圖書館的云平臺(tái)也可以對(duì)外開放部分服務(wù)。這些服務(wù)能被CALIS云服務(wù)中心和CALIS云聯(lián)邦服務(wù)平臺(tái)以及其他圖書館所訪問和集成,從而實(shí)現(xiàn)各個(gè)館之間的資源和服務(wù)的共享和集成。
整個(gè)圖書館云平臺(tái)可以部署在多臺(tái)集群服務(wù)器上(如圖3所示),即Main server(主控服務(wù)器和)、Nebula App Server(簡稱N-Server)可以部署在一臺(tái)或多臺(tái)服務(wù)器上;隨著訪問量或者存儲(chǔ)容量需求的變化,服務(wù)器可以靈活增減。同時(shí),對(duì)外的服務(wù)以及本地平臺(tái)內(nèi)的統(tǒng)一認(rèn)證服務(wù)都由Main Server統(tǒng)一提供。此外,第三方應(yīng)用系統(tǒng)(簡稱X-Server)可與Main Server和N-Server集成。
5.2 CALIS公有云
利用CALIS公共服務(wù)平臺(tái)PaaS和SaaS服務(wù)平臺(tái),CALIS各個(gè)中心能有效地構(gòu)建高校數(shù)字圖書館公共云。這些公共云既可以架構(gòu)在CALIS自己的云計(jì)算中心中的基礎(chǔ)環(huán)境(HaaS/PaaS)中,也可以將部分功能放在其他云計(jì)算中心提供的遠(yuǎn)程公共基礎(chǔ)設(shè)施HaaS或基礎(chǔ)平臺(tái)PaaS上,其部署方式類似于圖3所示。
CALIS公有云將自己的服務(wù)以PaaS或者SaaS方式對(duì)外提供給各個(gè)館,供它們使用。
5.3混合云
在CALIS國家級(jí)云中心,部署CALIS云聯(lián)邦服務(wù)平臺(tái),能將CALIS各個(gè)公有云提供的Open API以托管方式匯集起來,以統(tǒng)一、透明的方式對(duì)外服務(wù),提供對(duì)各個(gè)公有云和私有云的整合方式,供圖書館進(jìn)行深層次集成,從而形成數(shù)字圖書館混合云(hy—brid/federated cloud)。
6結(jié)語
CALIS數(shù)字圖書館云服務(wù)平臺(tái)具有動(dòng)態(tài)、可管理、自適應(yīng)的系統(tǒng)組成能力和集成機(jī)制,具有很強(qiáng)的自治性,能實(shí)現(xiàn)分布式數(shù)字圖書館服務(wù)的虛擬化,能實(shí)現(xiàn)更大程度的資源共享和協(xié)作,將使我國數(shù)字圖書館應(yīng)用進(jìn)入一個(gè)新的里程。
云技術(shù)在實(shí)踐中面臨著大量的技術(shù)難題和工程問題。由于服務(wù)的分布式、動(dòng)態(tài)組合、響應(yīng)性能、可伸縮性等要求,為實(shí)現(xiàn)CALIS云服務(wù)平臺(tái),還需要進(jìn)一步研究、開發(fā)和完善很多關(guān)鍵技術(shù),如分布式緩存、分布式會(huì)話管理、大數(shù)據(jù)的分布式存儲(chǔ)、海量數(shù)據(jù)庫的水平或垂直切分、分布式索引、服務(wù)動(dòng)態(tài)注冊(cè)、分布式服務(wù)調(diào)度與服務(wù)質(zhì)量保證、分布式監(jiān)控、基于Ma-pReduce的海量數(shù)據(jù)處理等,以確保整個(gè)數(shù)字圖書館云平臺(tái)的可靠性、魯棒性、安全性和可伸縮性。
此外,CALIS云服務(wù)平臺(tái)的復(fù)雜性還在于除了開發(fā)集中式的公共服務(wù)平臺(tái)和云聯(lián)邦服務(wù)平臺(tái)(需據(jù)此構(gòu)建1至多個(gè)CAHS云服務(wù)中心)之外,還需要能同時(shí)為圖書館本身提供本地化、標(biāo)準(zhǔn)化、低成本、自適應(yīng)的云解決方案,并且這些平臺(tái)之間都需要能相互集成。
到目前為止,CAHS云服務(wù)平臺(tái)的基本框架已經(jīng)完成,Nebula OSGi框架、Nebula開發(fā)平臺(tái)、本地基礎(chǔ)平臺(tái)核心版和典型應(yīng)用系統(tǒng)、統(tǒng)一用戶等基礎(chǔ)信息庫和統(tǒng)一認(rèn)證機(jī)制基本建成、公共服務(wù)平臺(tái)框架、部分核心服務(wù)、基于Hadoop的大數(shù)據(jù)資源存儲(chǔ)服務(wù)系統(tǒng)(PaaS服務(wù))原型以及已有SaaS系統(tǒng)的改進(jìn)已初步完成。
在上述框架中,各個(gè)系統(tǒng)內(nèi)部由獨(dú)立的邏輯組件(OSGi)組成,對(duì)外屏蔽系統(tǒng)在內(nèi)部實(shí)現(xiàn),提供統(tǒng)一的服務(wù)接口;各組件之間可以動(dòng)態(tài)組配成一個(gè)新系統(tǒng)或者從已有系統(tǒng)中卸載,具有很大的彈性,以滿足不同規(guī)模的需求。這使得整個(gè)系統(tǒng)具備更高性能的服務(wù)能力。
上述基礎(chǔ)工作的順利完成,表明了CALIS云服務(wù)平臺(tái)模型的可行性,為CAHS云服務(wù)平臺(tái)的進(jìn)一步開發(fā)以及CALIS三期項(xiàng)目的建設(shè)和大規(guī)模實(shí)施奠定了良好的基礎(chǔ)。