郭志弘
(福州市圖書館,福建 福州350000)
20世紀60年代,北美和英國的一些圖書館就開始了通過電腦單機為圖書館提供技術服務,這個“單機服務”標志著圖書館自動化系統的萌芽。在我國,上世紀80年代是圖書館自動化系統的探索階段。半個世紀以來,圖書館經歷了以“中央書目數據庫”為技術核心、以資源為中心、以服務為立身之本的第一代圖書館,以“統一平臺建設”為技術核心、以業務為中心、以業務標準化和成本效益化為目標的第二代圖書館,目前正在5G技術、大數據、云計算、人工智能、區塊鏈技術等推動下,逐步走向以“開放、標準”為技術核心、以用戶為中心、以“社交化、互動化、場景化”為目標的第三代圖書館[1]。
FOLIO(The Future of Library Is Open)是一個開源的圖書館服務平臺項目,于2016年興起,是一個新型開放獲取的學術交流合作項目。該項目為圖書館、服務供應商以及開發人員提供了一個共同維護和使用的環境,是一個“社交化、互動化、場景化”的發展圖書館的服務平臺(Library Services Platform),是一個可以免費使用和發布的開源(代碼)平臺,一個可通過開源項目合作交流的平臺。它在支持傳統圖書館管理功能的基礎上,讓圖書館、服務供應商和技術開發人員與相關行業聯系在一起,通過合作共同開發的方式實現圖書館平臺的服務[2]。
FOLIO正是利用開源和協同社群為基礎的方式重塑著圖書館服務和創新圖書館的未來,使它成為當前第三代圖書館技術探索的代表。近年來,上海市圖書館行業協會成立了FOLIO技術及應用聯盟,將FOLIO的研究落地國內,促進其向開放服務平臺過渡,加速了智慧圖書館應用生態建設。
筆者通過SWOT分析法審視FOLIO服務平臺,對其存在的優勢、劣勢、機遇、威脅進行分析研究,旨在引起國內圖書館界對此服務平臺的關注。
20世紀80年代,美國舊金山大學的韋里克(H.weihrich)教授對研究對象的優勢因素(Strength)、弱勢因素(Weakness)、機遇因素(Opportunity)和威脅因素(Threat)進行綜合考慮和系統分析,進而獲得一系列的相應結論,為依據結論制定相應的組織發展戰略、計劃提供了科學的視角與方法,為形成正確的規劃以及科學的對策提供了工具保障[3]。筆者借鑒此研究工具,試圖對以FOLIO為代表的第三代圖書館的發展優勢與方向、面臨機遇與挑戰展開深入研究,以期發揮優勢,認識不足,抓住機遇,迎接挑戰,取長補短,加速第三代圖書館的建設與發展。
3.1.1 基于穩定可靠的網絡基礎
以FOLIO為代表的第三代圖書館根植于5G技術、大數據、云計算、人工智能、區塊鏈技術下的會思考的“物聯網”,即真正意義上的“智聯網”。
物聯網解決數據的生產和采集,5G通信技術解決數據的傳輸和無縫銜接,區塊鏈解決數據的存儲和保護,人工智能解決數據的分析和應用。在萬物互聯這個大舞臺上,5G、人工智能、物聯網、區塊鏈將同臺獻藝,為第三代圖書館服務平臺提供了充分的網絡基礎。
3.1.2 具有無限擴展的運營能力
FOLIO是以用戶為中心的系統,具有幾乎無限的擴展能力,提供無限多的個性化可能性。未來的圖書館所開展的業務以智慧服務為目標,任何單個企業都無法做到大而全,因此必須維持一個開放的、任何公司或個人都能夠參與的應用生態環境,而只有采用了開放的微服務架構,支持配置各業務系統/模塊通過程序接口(API)集成,遵循社區驅動的敏捷開發模式的“第三代圖書館服務平臺”才能做到這一點。
通過FOLIO服務平臺設計要求來看,它不僅要滿足當前復合型圖書館在全媒體管理、全流程管理和全網域資源發現方面的基本需求,而且具備足夠的靈活性、擴展性和個性化能力,能夠支持未來圖書館大量已知和未知業務,幫助圖書館實現多樣性和差異化發展,支持圖書館之間的各類合作,如總分館建設和聯盟化發展等,促進與相關行業形成知識創新的生態環境,最終實現智慧圖書館,達成圖書館在數字時代的繁榮和復興[4]。
3.1.3 采用開源軟件和開源框架
從開發技術來看,FOLIO使用的開源軟件和開 源 框 架,主 要 有Java、React、RAML、Vert.x、Stripes、MongoDB、PostgreSQL等。FOLIO基于開源軟件的開放性,支持各類編程語言,不只局限于單一有限的編程語言,支持多類型操作系統,可適用于廣大用戶的操作環境。
FOLIO采用Apache v2開源協議發布,讓任何人員、機構、合作伙伴或供應商能夠利用這些程序代碼,可以商業使用,也可以用于其他用途,能讓更多的供應商參與平臺建設,讓越來越多的供應商參與創造符合FOLIO條件的App(無論是開放或免費),讓圖書館服務合作可以有更多的選擇,同時也可以使更多的供應商有了為圖書館提供服務的機會。
每個圖書館都可以選擇搭建自己的FOLIO平臺,使用FOLIO提供的各種免費的App,或者采用第三方提供的收費的FOLIO平臺和App,建立自己的第三代圖書館服務平臺。
FOLIO采用RAML標準、基于Raml/RMB生成接口定義實施開發,任何具備符合其規范和標準的接口App都可以兼容FOLIO,讓各種微服務成為可能[5]。
3.1.4 采用微服務架構
FOLIO將把圖書館服務劃成具體的、單一的應用,每個應用是一個小的服務,服務與服務之間互相協調、互相配合,實現最終的服務價值。每個服務運行于獨立進程之中,服務間使用輕量級的通信機制溝通,每個服務都圍繞具體業務構建,能夠被獨立地部署到生產環境,這就是微服務[6]。
FOILO采用微服務架構,對特定業務領域的分析與建模,將復雜的應用分解為小而專一、低耦合度并且高度自治的一組服務,每個服務都是很小的應用,讓FOLIO具有了無限擴展的運營能力。
以一個微服務為例,某讀者對紅外自動測溫感興趣,使用圖書館的“你好奇我滿足”應用程序(以下簡稱為App),拍照自動測溫現場,App馬上向讀者提供了這方面的知識,知識十分豐富,有技術說明視頻,有技術原理等。
要實現這些,FOLIO服務平臺需要做到:首先提供一個友好的對話界面(UI)“你好奇我滿足”應用服務程序;服務程序通過對話界面把讀者的需求按約定的“標準”把信息轉化成這個生態圈的“語言”,列出需要提供的微服務(如:身份驗證、查詢信息,可以利用)。
獲取服務需求的微服務后,按約定的“語言”提交給“服務應用程序編程接口層”,該層受理各種微服務需求(如:身份驗證、查詢信息),在“基礎支持層”的“配合”下審核讀者身份,提供相應的查詢結果(多元結果,有技術說明視頻,有技術原理,這些內容是多種不同的數據資源商提供的信息)。
生成“結果”反饋“‘數據標準’信息處理模塊”,形成約定的標準“語言”,這是后面要談的“FOLIO的元數據管理”。
服務程序把反饋回來的“語言”轉化成讀者看得見的查詢結果展示給讀者。
通過以上流程,讀者所需的服務在FOLIO中由多個微服務協調合作完成,各個微服務既獨立于其他微服務,又協作于整個FOLIO生態圈。正是成千上百的微服務應用支撐起了未來新一代圖書館的技術服務(流程如圖1所示)。
3.1.5 FOLIO的元數據管理
從上例可見,FOLIO的每個微服務之間的松散耦合,彰顯了FOLIO的“域(Domain)”概念和秉承的最小化原則。FOLIO依照圖書館的業務需求將整個服務平臺分為幾個不同的域,如圖書館館藏域、數據資源信息域、業務采購域、讀者管理域、流通服務域等。這些域對應相應的應用(App),由它們共同組成并完成特定的功能。按照最小化的原則,每個域可以按需設計僅滿足本身功能需求的元數據方案。在不同的域之間起到數據整合和橋梁作用的域稱為“Codex”[7]。
上海圖書館是國內FOLIO服務平臺項目的發起人,華東師大圖書館、上海交大圖書館等專家于2019年1月17日在該館召開“討論Codex主要功能以及實現”的會議上提出了“明確Codex作為規范化的核心集,實現登記、鏈接、分發等任務,所有元數據管理都通過Codex進行索引。Codex的主要功能是進行元數據的管理?!焙汀懊鞔_Codex是Codex search的核心集,Codex search可以檢索所有內容,包括KB(聯合目錄+電子資源)和Inventory(物理資源)的資源,并且用戶可定制[8]?!边@些理論直接促進了FOLIO的元數據規范,為后續業務發展提供了方向。

圖1
3.2.1 誰來主導FOLIO社區的建設
圖書館服務迭代式發展,而各圖書館基本上已建成成熟的服務平臺,是在原有的圖書館服務平臺上進行推倒重建,還是改善、改變現有的服務平臺,讓它與第三代圖書館服務平臺進行對接,引入FOLIO的理念?推倒重建,許多公共圖書館有過更換圖書館軟件的經歷,重建服務方式和服務方法,會直接影響圖書館服務的穩定性。因此最好的辦法是通過改善和改變現有的服務平臺,在圖書館管理軟件方面入手。
從FOLIO社區來看,它強調了圖書館在這個社區中的主導作用,作為一個開源的社區,同時又需要有優秀的圖書館服務供應商來配合完成。雖然說FILIO通過開源的方式提供程序代碼,使更多的軟件得到授權,讓更多的圖書館與供應商能夠參與。圖書館是服務的主體,但事實上在技術能力方面是無法主導的,因為圖書館不擅長技術研發。僅就圖書館服務軟件來看,就存在著選擇困難:繼續現有的服務供應商還是更換服務供應商值得商榷。
3.2.2 國內外對FOLIO的研究剛剛起步
2018年上海圖書館開始FOLIO理念、架構、微服務框架相關調查研究;2019年啟動上海圖書館FOLIO項目,成立上圖LSP技術委員會,翻譯了FOLIO開發規范和技術標準白皮書,并著手需求分析;2020年開始開發測試,參加WOLFcom2020,參與FOLIO國際社區,應用落地;計劃于2021年上線,實現流通用戶發現上線運行、基礎模塊開發、智慧圖書館支撐模塊開發等;2022年開始擴展模塊需求、設計和開發考核、信息共享、檔案記錄等[9]。
2020年5月份上海圖書館的劉煒副館長、工程師周綱老師和陳曉揚老師,在以“FOLIO社群更新報告”為主題的研討會中,談到了上海圖書館啟動了FOLIO項目工作,香港公共圖書館正在評估新系統,韓國和日本圖書館對FOLIO有興趣但尚未參與[10]。
3.2.3 開源應用存在的挑戰
3.2.3 .1開源給供應商帶來的商業危機和壓力
FOLIO服務平臺倡導開源,開源后服務平臺供應商不具有壟斷性,圖書館在采購、培訓、維護等不同階段,可以按需選擇合適的方式和服務供應商,打破現有的圖書館服務運營模式。雖然降低總體運行成本,但也會面臨如何選擇有質量的服務運營商參與具體服務的問題。FOLIO重視產品的功能,而其高RAS性(Reliability,Availabity and Serveablity)通常由圖書館自己設定解決方案。從現有圖書館人才結構來看,如何讓FOLIO吸引高可靠性的商業級團隊參與到社區服務來,形成相應的技術團隊,實現對項目的掌控,仍存在挑戰。
3.2.3 .2開源軟件的兼容性和問題修復
FOLIO采 用 的Java、React、RAML、Vert.x、Stripes、MongoDB、PostgreSQL等開源軟件決定了相應的技術方向及產品架構。開源軟件為社區提供最高效的產品,兼容性的重要性相對靠后,因此,經常性地會出現同一軟件版本升級后,無法有效兼容前面版本的問題。無論是底層的架構,還是面向使用者的命令,都無法有效兼容。由于開源軟件是面向社區用戶的,沒有給出任何關于問題修復時長及是否修復的承諾,不能像商業軟件一樣有專門的服務公司對產生的問題進行徹底解決。以上的問題對于圖書館來說,開發、維護、升級都需要承擔一定的風險,如何解決服務平臺穩定升級的問題,以適應技術更新的步伐,圖書館需要投入更多的精力[11]。
3.2.3 .3開源軟件存在商業化的可能性
受市場的影響,在現代化經濟體系中,開源軟件主流化后,潛在地面臨著被強大科技公司收購轉型為商業化產品的可能性(如MySQL被甲骨文公司收購)。這雖然有悖于開源軟件發展的初衷,但卻是真實存在的事情,FOLIO在未來的服務中所帶來的影響力可大可小,這取決于其自身的掌握力及轉型速度。
3.3.1 圖書館遇上了最好的歷史機遇
近年來,國家高度重視公共文化服務體系建設,我國圖書館事業獲得了快速發展,尤其“十二五”和“十三五”期間,取得了令人矚目的巨大成就。我們將很快迎來“十三五”規劃的收官和“十四五”規劃的開啟,圖書館服務作為公共文化服務體系的重要組成部分,再次迎來快速發展的機遇。
公共文化服務、公共圖書館服務都已有立法保障,圖書館事業標準化管理和服務取得重大進步,圖書館事業形成多主體、多層次、多類型的全同服務體系,服務效能顯著提升?!笆奈濉逼陂g,圖書館將主要圍繞空間、資源、服務、管理等四大要素創新求變,向“以知識為中心”和“智慧服務”為主要特征的第三代圖書館轉型[12]。
3.3.2 軟件信息技術開始新一輪的變革
近年來,我國加強了基礎軟件產業的發展,并取得了顯著成果,多項核心技術取得突破。開源軟件正在成為軟件業的主流,在引進的基礎上,充分消化和吸收,從而達到創新是主流趨勢。國產操作系統大多數都是基于開源軟件發展起來的,越來越多的企業(如華為、中國移動、中國電信、中國聯通、騰訊云、九州云等)加入開源社區,開源使得單一軟件或程序框架得以在行業市場延續,吸引更多領域機構的關注,拉動產品與投資者間的距離,甚至通過商業運作獲得更高的融資和回報[13]。所以,以FOLIO服務平臺為代表的第三代圖書館服務平臺同樣可期。
3.3.3 FOLIO在國內已開始測試,生態環境正在構建
從2020年9月24日上海圖書館的“智慧、開放、包容的第三代智慧圖書館服務平臺研討會”來看,當前已有11家公共圖書館,總計50多個圖情相關機構,約120余位代表參加了研討會,約2000人次通過會議的兩個線上直播平臺參與該會議。上海圖書館正在全力打造基于FOLIO的第三代圖書館服務平臺。這為推進國內圖書館向下一代微服務架構的開放服務平臺過渡、加速智慧圖書館應用生態建設提供了實踐案例。相信在不久的將來,會有更多的圖書館和相關機構會加入中國FO?LIO社區,建立起FOLIO在國內應用和發展的生態環境,實現互利和共贏。
3.4.1 開源軟件的安全性
FOLIO是一個基于開源軟件的服務平臺,開源軟件沒有想象中的那么安全,從Snyk(一家針對開源項目提供安全服務的知名公司)對2019開源安全現狀調查報告來看,被采用的開源項目存在著開發者沒有實施安全測試,對漏洞也沒有及時進行修補等問題。因為漏洞存在于間接依賴關系中,所以漏洞數量呈上升趨勢[14]。絕大部分用戶認為開發者需要負責開源軟件的安全性,所以FO?LIO的組織團隊將要承擔更重要的安全責任。
3.4.2 FOLIO服務生態的安全威脅
FOLIO服務平臺在技術上無法回避用戶隱私、資源版權等問題,數據的安全保護工作尤為重要。FOLIO將具體的元數據和文件格式都交給各服務應用商自己管理,必將面臨著更多的安全風險。這就對FOLIO提出了更高的要求。FOLIO需要處理好與云服務商的關系,解決私有云和公有云的關系,提供一個高水準的服務等級協議進行管理。
由于FOLIO在國內剛剛開始,作為一個正在完善的開發項目,存在較大風險。只有在保持其簡潔性的基礎上,才能實用;只有制定足夠的標準規范,才能滿足整個應用生態的安全需求。
3.4.3 微服務的風險
微服務架構給FOLIO服務平臺帶來了優勢,也同時帶來了風險。伴隨著微服務切割,各種微服務被分得很細,隨之而來的就是對技術的復雜度要求就很高,其不確定性也就變得越來越大[3]。
3.4.4 第三方系統接入的風險
FOLIO允許非微服務化第三方系統的接入,采用HTTP的API可以很簡潔地加入服務系統,這是優勢,但需要配備相應的保障措施,以避免意外問題。這就需要在實踐中積累大量的經驗,有更多的標準指南和最佳的實踐路徑以進行規范和管控。
綜上所述,我們對FOLIO服務用SOWT進行了充分分析,現就FOLIO的優勢機遇戰略、弱勢機遇戰略、優勢威脅戰略和弱勢威脅戰略做如下矩陣分析(見表1)。
根據表1矩陣關系,可以就FOLIO服務平臺建設的未來發展做如下構想,這些構想應落實在圖書館技術人才培養、FOLIO規范標準建立、FOLIO風險管控、FOLIO服務設計和應用等幾個方面。
在“十三五”收官“十四五”規劃開啟之際,圖書館應把技術人才培養作為工作重點。長期以來,在圖書館自動化建設中,普遍出現專業技術人才不足、人才知識結構不合理的現象。專業型、應用型、創新型人才缺乏,制約了新技術在圖書館行業應用的深化及業務創新[15],借第三代圖書館服務平臺建設的契機,圖書館深化人才改革,建立科學合理的競爭激勵機制,培養出屬于圖書館自己的技術人才,通過參與甚至主導FOLIO社區項目建設,讓圖書館在FOLIO項目建設中成為執牛耳者。
上海圖書館在規劃FOLIO項目過程中組織成立了上海市圖書館行業協會FOLIO技術及應用聯盟,把從事FOLIO技術和開發應用的系統開發商、集成商和對FOLIO技術及應用有興趣的圖書館或各類組織機構組織起來,推動上海市各級各類圖書館應用與開發基于FOLIO的第三代圖書館服務平臺,促進國內圖書館向下一代微服務架構的開放服務平臺過渡,加速智慧圖書館應用生態建設[16]。

表1 FOLIO的SOWT矩陣
從《上海市圖書館行業協會FOLIO技術及應用聯盟章程》來看,上海圖書館已通過FOLIO技術及應用聯盟推動“成員共同制定和發布FOLIO應用的各類標準規范和最佳實踐,保障FOLIO應用的統一性、兼容性和互操作性”的工作。這可以看出圖書館對FOLIO規范標準的重視,其可以從根本上解決FOLIO未來接入的問題。
國內圖書館對標準的建設一直很重視。早在1990年,中國國家標準機讀目錄在國家圖書館開始試驗發行,1991年1月正式出版發行。它收錄中國出版物,包括圖書、連續出版物、地圖、樂譜、音像文獻等機讀目錄著錄格式規范,是建設中文書目數據庫、開展檢索服務和國際書目信息交換的重要數據標準。其發行對文獻情報工作的標準化和圖書館工作的自動化起到了積極的保障作用[17]。因此,我們有理由相信,在FOLIO服務平臺建設過程中,由圖書館主導的FOLIO社區建設必須加強相關規范與標準研制。
當我們已明確了FOLIO服務建立在開源社區上的時候,也很清楚隨之而來的風險。上海圖書館十分重視FOLIO的風險管控,《上海市圖書館行業協會FOLIO技術及應用聯盟章程》明確要求“進行與FOLIO應用有關的各類技術評測和認證,發布評測報告,指導用戶選擇和使用各類FOLIO應用。
FOLIO服務平臺建設的最終目的是提供豐富的圖書館服務。在上海圖書館行業協會FOLIO技術及應用聯盟負責FOLIO中文開源版的二次開發和維護工作中,聘請專業人員負責與FOLIO國際社區的溝通聯絡,維護和保障FOLIO中文開源版與國際版的一致性,以及功能性和通用性;幫助成員開發和應用各類特色FOLIO應用程序,豐富FO?LIO的生態環境和商務模式。FOLIO服務平臺的開發應用必須從各圖書館實際出發,立足于特色資源、特色服務,彰顯服務平臺設計與應用的特色化,以資源共享、互利互惠為建設目標,力避重復投入和資源浪費。
以FOLIO服務為代表的第三代圖書館服務將在“十四五”期間為國內圖書館實踐提供一個嶄新的平臺,各圖書館應抓住歷史機遇,共享技術,共同開發,用實際行動體現文化自信中的圖書館服務自信。