周 斌
(南寧職業技術學院,廣西南寧530008)
隨著大數據時代的到來,信息和智能技術突飛猛進,傳統的圖書館服務平臺(Library Services Platform,LSP)越來越不能滿足復雜多元的資源管理和服務需求。近年來,圍繞著新一代LSP的研究和探索從未中斷。2013 年,包凌和趙以安提出新一代LSP 采用面向服務的體系框架(Service Oriented Architecture,SOA),對原系統進行重新設計,以軟件即服務(Software as a Service,Saa S)的方式提供云服務,能更好地適應圖書館的資源建設和服務創新[1]。2016 年,Marshall Breeding 指出開源軟件是圖書館在實施戰略技術時應考慮的關鍵選項[2]。楊新涯等人在研究中指出,向服務“平臺化”轉型應成為下一代圖書館管理系統的發展趨勢[3]。錢國富提出建立以云服務為主要特征的新一代LSP,使得圖書館的信息系統建設和服務模式可以從本地服務器向云服務轉移[4]。目前,國內外圖書館和系統廠商圍繞新一代LSP 已經積累了不少成功的實踐經驗。2014年12月英國威爾士學術圖書館聯盟聯合威爾士國家圖書館、威爾士國家健康服務圖書館系統和艾利貝斯公司簽約,采購Alma和Primo 作為聯盟共享的新一代LSP,該項目已在2016 年8 月完成并全部上線[5]。重慶大學圖書館和維普公司合作,2016 年對外發布新一代LSP:智慧圖書館系統[6]。相對于傳統的圖書館管理系統,新的LSP 強調功能全面性、體驗友好性、性能魯棒性、靈活擴展性和開放兼容性。目前,市場上可供選擇的新一代LSP 還很少,真正能夠滿足標準化、靈活性、擴展性要求的新一代LSP 幾乎沒有,開源平臺FOLIO(Future of Libraries is Open,FOLIO)是真正能代表第三代LSP的系統平臺。
從20 世紀50 年代至今,圖書館系統經過幾十年的演化,不斷更新理念,以提升圖書館服務能力,滿足圖書館業務需求為核心驅動,使用現代信息技術大致構建了三代圖書館系統。第一代圖書館系統(20 世紀50 年代至70 年代),以機讀目錄為典型代表,僅實現單一功能,用于替代傳統手工,多為圖書館自主研發,是圖書館業務從手工邁向自動化的最早嘗試。第二代圖書館集成管理系統(20 世紀70 年代至今),以匯文、金盤、ILAS、ALEPH 等為典型代表,多為C/S 結構,部分為B/S結構,實現了流通、編目、采訪、期刊、OPAC 等功能,基本涵蓋了圖書館常規業務,實現了圖書館業務集成化、自動化管理。第三代圖書館服務平臺(2010 年至今),以ALMA、WMS、FOLIO 等為典型代表,基于云架構,整合了紙質資源、數字資源和現有工作流,但大多數系統仍然封閉,個性化和定制化困難。基于模塊化設計和微服務架構創建的FOLIO 真正代表了圖書館第三代服務平臺,支持開源,基于社區合作,具備良好的開放性、靈活性和擴展性,重新定義了LSP,是LSP 領域的一次技術革命。
FOLIO 是圖書館、供應商和開發人員基于社區合作創新定義的一個開源項目,是云計算時代誕生的第一個大型的圖書館技術項目。項目由開放圖書館基金會(Open Library Foundation)主辦,該基金會是一個獨立的非營利組織,旨在確保項目的開源和開放獲取的可用性、可訪問性和可持續性。2016 年4 月美國EBSCO 信息服務公司宣布為FOLIO 的開發提供主要資金,由60 多名開發人員組成的7 個開發團隊與來自超過15 個圖書館和圖書館聯盟的近150 名專家共同為FOLIO 工作。2016年8月,FOLIO 團隊發布了基礎平臺的初始代碼并提供了模塊化服務的功能。2018 年7 月,FOLIO 實現測試版,準備好為全球各種規模的圖書館提供生態系統服務和技術支持。
FOLIO 旨在通過圖書館、開發人員和供應商的社區合作為圖書館創建現代技術生態系統,使圖書館通過開源應用程序來管理圖書館資源,擴大圖書館價值,促進圖書館服務的快速創新。FOLIO 的目標是創建一個社區空間,圖書館可以聚集在一起進行創新和對話,提供一個支持圖書館業務需求的生態系統并持續開發改進該產品。
FOLIO 依靠社區來構建平臺并發展項目。社區由多元化的團體組成,包括圖書館員、開發人員和供應商。圖書館員作為主題專家貢獻他們的專業知識,項目依賴于圖書館員的技能和經驗來指導開發。開發人員和用戶體驗設計師與圖書館員密切合作,構建平臺和模塊,并確保所有組件之間的兼容性。供應商為實施FOLIO 的圖書館提供一攬子托管和支持服務,負責將現有應用程序整合鏈接到平臺或創建新的應用程序。
傳統的圖書館管理系統通常是封閉的專有系統。這些封閉系統利用新技術的難度和成本都很高,集成到外部系統也很有挑戰。隨著時間的推移,管理的數字館藏越來越多,各獨立的數據庫之間協作困難而且整合成本高昂。云計算是一種具有大規模可擴展性和彈性的計算方式,支持IT 的功能并以服務形式提供給網絡客戶的技術,分為基礎設施、平臺、應用程序和服務4 種形式。云計算改變了系統構建和服務交付的方式。云架構是一種開放式的服務架構,圖書館可以在機構內合作,也可以跨越機構合作,利用已發布的應用程序接口(API),加強擴展他們的核心服務。通過云架構,圖書館可以使用共享硬件,不再需要運行本地系統,可充分受益于網絡實現合作智能和提高服務水平,提高效率,專注于服務和創新。

圖1 FOLIO架構
FOLIO 采用開放式、微服務架構(見圖1),可確保隨著技術和需求的發展,輕松開發或替換組件。系統層(數據存儲層),利用多種存儲技術,實現了數據標準化、高性能化的存儲;接口層,實現了規范統一的通用接口,可以實現跨語言、跨系統、跨平臺的無縫實時調用;應用層,分為標準應用和擴展應用,標準應用集成了采訪、流通、編目等常規業務工作流,擴展應用為服務商、機構及社區提供的付費或免費應用組件,用于解決個性化、定制化問題;用戶界面層用于提供風格樣式多樣化的用戶界面,提高應用的交互性和友好性。FOLIO 的目標是構建一個高度模塊化的服務模式,可單獨定制個性化應用, 選擇性地組成一個適合各自圖書館的服務平臺[7]。
3.3.1 系統部署靈活性。自主選擇本地部署或云端部署。規模大的機構可以選擇本地部署方式;規模小的機構可以形成共享聯盟,采用云端部署,共享硬件和軟件系統,提高資金使用效率。
3.3.2 系統應用靈活性。圖書館可以掌控工作流,可以自由選擇圖書館機構內和跨越機構合作形式開發應用,也可以選擇由供應商創建應用程序來滿足業務需求,支持本地業務創新和集成。由于固有的靈活性,不同的供應商或開發人員的任何應用程序之間可以輕松地相互連接并協調工作。
3.3.3 系統配置靈活性。圖書館可以自主選擇標準的用戶界面或定制的用戶界面,滿足全終端使用需求,可以根據實際業務需要,不受限制地選擇添加或卸載應用程序,開發或調整工作流程,應用程序的添加和刪除不需要做數據遷移。
FOLIO 采用的云架構,在多用戶環境下具有天然的優勢。運行在云上的系統平臺,可以同時為多個圖書館提供標準化甚至可定制化的服務,且保證各圖書館之間的業務數據隔離和安全。根據數據存儲策略的區別,可以分為兩種方案。
3.4.1 為不同的圖書館提供獨立的數據庫。可以做到物理上的數據隔離,簡化數據模型和數據庫設計,最大程度地滿足用戶差異化需求,數據安全等級高,容災能力強,數據恢復簡單,但增加了數據庫的數量,因此提高了維護成本和系統成本。
3.4.2 多個圖書館共享數據庫。一個數據庫下運行多個實例,可以做到邏輯上的數據隔離,但并不是完全隔離。這種方案共享程度高,支持的用戶數量多,能夠以最少的硬件代價提供最多的服務,但是一旦出現故障,數據較難恢復,犧牲了數據安全的級別。
圖書館選擇何種模式要綜合考慮成本因素、安全因素、技術因素。共享性越好,可支持的用戶越多,技術要求越高,成本越低,安全系數越低,反之亦然。
開源系統成為整個自動化領域的一部分已經超過15 年,并已成為一個完善和成熟的選擇。過去,圖書館管理系統主要由單一供應商控制的專有產品提供給圖書館,依賴于該供應商對產品進行持續的軟件開發和改進,技術資源有限的圖書館很難實現開源圖書館軟件。FOLIO 改變了這一點,作為一個真正的開源項目,FOLIO100%由社區驅動并向社區開放,任何圖書館或圖書館聯盟都可以選擇在本地托管和運營FOLIO,該軟件對任何用戶都是免費的。圍繞FOLIO 將會誕生一個蓬勃發展的社區,更多的圖書館業內人士和從事信息化產業的人士將會聚集在一起工作,共同建設圖書館服務平臺,更快更好地引入新的概念和功能,更高效率地開發應用組件和服務。同時,開源系統由于有許多人共同監督和改進,會更加安全和可靠。目前,雖然專有軟件仍然是主流方法,但越來越多的圖書館開始采用開源產品。FOLIO 的推出開啟了圖書館技術行業的新篇章。
FOLIO 可以與機構內外的眾多應用系統集成和連接,例如OA 系統、機構知識庫、統一用戶認證系統、商業數據庫等。它超越了傳統的圖書館管理系統,將應用程序構建在開放平臺上,為圖書館提供了更多選擇并為用戶提供新服務。
3.6.1 互操作機制。FOLIO 最核心的是由OKAPI服務實現的API 網關模式。來自外部到FOLIO 應用程序以及OKAPI 業務邏輯和存儲模塊之間的HTTP 請求通過OKAPI 網關進行代理。OKAPI 在請求中添加了用戶基本信息、機構基本信息、OKAPI 基本信息之后,將請求發送給對應的應用程序。OKAPI 對業務邏輯和存儲模塊實例之間的請求進行負載平衡,強制實施機構隔離,并檢查用戶權限。執行業務邏輯和持久存儲數據的OKAPI 模塊可以用任何編程語言編寫,只要它們保持接口統一即可。
3.6.2 數據標準。FOLIO 定義了元數據的基本數據元素和格式。作為以圖書館為中心的平臺,FOLIO 描述元數據的方法是創建所有FOLIO 應用程序必須理解的元數據元素的高級子集,這個元數據子集稱為FOLIO Codex。Codex 源自元數據格式的源記錄,例如MARC。無論使用哪種描述格式,應用程序都可以對庫館藏進行操作。
OKAPI 和Codex 組合代表了FOLIO 的開放潛力和互操作能力。FOLIO 支持創建和維護本地服務名稱和主題權限元數據。這些記錄作為FOLIO中編目應用程序的一部分,用于創建檢索本地授權的應用接口,也可以用于存儲系統的用戶界面。通過這種方式,FOLIO 和非FOLIO 應用程序都可以使用本地元數據源。
類似于安卓手機和蘋果手機的應用市場,在FOLIO 社區內,不同機構、個人可分享開發的應用組件,形成一個豐富活躍的FOLIO 應用市場。社區的力量能夠推動相關產品和服務快速演進,促進產品快速升級和進步,實現智力成果的共享和復用。需要注意的是,部分應用或功能可能是需要付費的,只有這樣才能持續保持社區的活力和創造性,為平臺的發展提供一個可持續的生態環境。
伴隨著大數據、云計算、物聯網和人工智能等新一代信息技術的快速發展,智慧圖書館正由夢想照進現實。智慧圖書館是建立在數字圖書館的基礎框架上,通過物聯網將數字圖書館和物理圖書館進行有機融合,自動和實時地感知資源、服務和讀者的狀態和變化,LSP后臺進行大量復雜高速的運算并提供各種智能化信息服務。智慧圖書館服務平臺是一個基于數據云和元數據的,整合紙質、電子和數字等各類資源的,帶有標準化接口并支持各類(含移動)終端的,具備統計分析功能并支持知識關聯與管理的一站式發現與獲取的智能化平臺[8]。由此可見,智慧LSP 是智慧圖書館建設的關鍵基礎設施,智慧LSP 是一個面向未來,開放的、模塊化的、可擴展的系統平臺。基于標準元數據和云架構的FOLIO 為智慧圖書館提供了全面的業務支持,提供了智慧LSP的整體框架設計和技術實踐,是目前最有希望成為智慧LSP的系統平臺。
CALIS 新一代圖書館服務平臺(CALIS New Generation of Library Service Platform,CLSP)采用FOLIO 微服務架構和技術標準,是FOLIO 在中國的本地化應用。2018年5月,CALIS 管理中心聯合北京大學、上海交通大學、中國人民大學和深圳大學等圖書館成立4+1建設聯盟。CLSP 的愿景是發展成為一個融合多方資源和力量的共同體,匯集圖書館與信息技術產業的聰明才智和實踐經驗,激發合作,聯合創新,完善規則,探索高校圖書館協同發展機制,構建一個持續支持圖書館創新發展的開放平臺[9]。CLSP 的理念與FOLIO 一致,目標是建立一個開放互聯、標準化、可擴展的云服務平臺,一個豐富的應用市場和一個開發者聯盟。
CLSP 在FOLIO 方面做了很多開創性工作,已經發布了《CALIS 微服務架構產品相關命名規范》《前端開發規范》《后端Module開發規范》《Okapi環境安裝部署及使用說明》《產品開發工作流程及執行規范》《CLSP開放接口定義、開發使用規范》等技術標準。CLSP 率先打開了APP 市場,已上線基礎類、館員類、讀者類、公共類4 類應用,從實踐上驗證了FOLIO技術的可行性,具有重要的示范意義。

表1 CLSP已上線應用
FOLIO 代表了LSP領域的最新技術成果,是一個帶有應用市場的操作系統。FOLIO 不僅僅是一個產品,還是一個理念,其基于云架構、微服務、標準數據和社區,融合開放開源、支持多用戶和靈活擴展等理念,充分顯示了技術的先進性和架構的合理性,必將塑造圖書館系統研發的新生態。FOLIO 對智慧圖書館的全面支持,有助于智慧圖書館發展和落地。CALIS 牽頭的新一代圖書館服務平臺建設聯盟正在基于FOLIO 進行本地化開發并取得了豐碩成果。國內圖書館應該對FOLIO 保持持續關注,并以積極姿態擁抱FOLIO。