新一代图书馆服务平台FOLIO理念初探
2019-11-22周斌
周 斌
(南宁职业技术学院,广西南宁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的系统平台。
1 图书馆服务平台的演化过程
从20 世纪50 年代至今,图书馆系统经过几十年的演化,不断更新理念,以提升图书馆服务能力,满足图书馆业务需求为核心驱动,使用现代信息技术大致构建了三代图书馆系统。第一代图书馆系统(20 世纪50 年代至70 年代),以机读目录为典型代表,仅实现单一功能,用于替代传统手工,多为图书馆自主研发,是图书馆业务从手工迈向自动化的最早尝试。第二代图书馆集成管理系统(20 世纪70 年代至今),以汇文、金盘、ILAS、ALEPH 等为典型代表,多为C/S 结构,部分为B/S结构,实现了流通、编目、采访、期刊、OPAC 等功能,基本涵盖了图书馆常规业务,实现了图书馆业务集成化、自动化管理。第三代图书馆服务平台(2010 年至今),以ALMA、WMS、FOLIO 等为典型代表,基于云架构,整合了纸质资源、数字资源和现有工作流,但大多数系统仍然封闭,个性化和定制化困难。基于模块化设计和微服务架构创建的FOLIO 真正代表了图书馆第三代服务平台,支持开源,基于社区合作,具备良好的开放性、灵活性和扩展性,重新定义了LSP,是LSP 领域的一次技术革命。
2 新一代图书馆服务平台FOLIO
2.1 FOLIO起源与简介
FOLIO 是图书馆、供应商和开发人员基于社区合作创新定义的一个开源项目,是云计算时代诞生的第一个大型的图书馆技术项目。项目由开放图书馆基金会(Open Library Foundation)主办,该基金会是一个独立的非营利组织,旨在确保项目的开源和开放获取的可用性、可访问性和可持续性。2016 年4 月美国EBSCO 信息服务公司宣布为FOLIO 的开发提供主要资金,由60 多名开发人员组成的7 个开发团队与来自超过15 个图书馆和图书馆联盟的近150 名专家共同为FOLIO 工作。2016年8月,FOLIO 团队发布了基础平台的初始代码并提供了模块化服务的功能。2018 年7 月,FOLIO 实现测试版,准备好为全球各种规模的图书馆提供生态系统服务和技术支持。
2.2 FOLIO使命
FOLIO 旨在通过图书馆、开发人员和供应商的社区合作为图书馆创建现代技术生态系统,使图书馆通过开源应用程序来管理图书馆资源,扩大图书馆价值,促进图书馆服务的快速创新。FOLIO 的目标是创建一个社区空间,图书馆可以聚集在一起进行创新和对话,提供一个支持图书馆业务需求的生态系统并持续开发改进该产品。
2.3 FOLIO社区合作伙伴
FOLIO 依靠社区来构建平台并发展项目。社区由多元化的团体组成,包括图书馆员、开发人员和供应商。图书馆员作为主题专家贡献他们的专业知识,项目依赖于图书馆员的技能和经验来指导开发。开发人员和用户体验设计师与图书馆员密切合作,构建平台和模块,并确保所有组件之间的兼容性。供应商为实施FOLIO 的图书馆提供一揽子托管和支持服务,负责将现有应用程序整合链接到平台或创建新的应用程序。
3 FOLIO理念
3.1 基于云架构
传统的图书馆管理系统通常是封闭的专有系统。这些封闭系统利用新技术的难度和成本都很高,集成到外部系统也很有挑战。随着时间的推移,管理的数字馆藏越来越多,各独立的数据库之间协作困难而且整合成本高昂。云计算是一种具有大规模可扩展性和弹性的计算方式,支持IT 的功能并以服务形式提供给网络客户的技术,分为基础设施、平台、应用程序和服务4 种形式。云计算改变了系统构建和服务交付的方式。云架构是一种开放式的服务架构,图书馆可以在机构内合作,也可以跨越机构合作,利用已发布的应用程序接口(API),加强扩展他们的核心服务。通过云架构,图书馆可以使用共享硬件,不再需要运行本地系统,可充分受益于网络实现合作智能和提高服务水平,提高效率,专注于服务和创新。
3.2 微服务、模块化
图1 FOLIO架构
FOLIO 采用开放式、微服务架构(见图1),可确保随着技术和需求的发展,轻松开发或替换组件。系统层(数据存储层),利用多种存储技术,实现了数据标准化、高性能化的存储;接口层,实现了规范统一的通用接口,可以实现跨语言、跨系统、跨平台的无缝实时调用;应用层,分为标准应用和扩展应用,标准应用集成了采访、流通、编目等常规业务工作流,扩展应用为服务商、机构及社区提供的付费或免费应用组件,用于解决个性化、定制化问题;用户界面层用于提供风格样式多样化的用户界面,提高应用的交互性和友好性。FOLIO 的目标是构建一个高度模块化的服务模式,可单独定制个性化应用, 选择性地组成一个适合各自图书馆的服务平台[7]。
3.3 灵活性
3.3.1 系统部署灵活性。自主选择本地部署或云端部署。规模大的机构可以选择本地部署方式;规模小的机构可以形成共享联盟,采用云端部署,共享硬件和软件系统,提高资金使用效率。
3.3.2 系统应用灵活性。图书馆可以掌控工作流,可以自由选择图书馆机构内和跨越机构合作形式开发应用,也可以选择由供应商创建应用程序来满足业务需求,支持本地业务创新和集成。由于固有的灵活性,不同的供应商或开发人员的任何应用程序之间可以轻松地相互连接并协调工作。
3.3.3 系统配置灵活性。图书馆可以自主选择标准的用户界面或定制的用户界面,满足全终端使用需求,可以根据实际业务需要,不受限制地选择添加或卸载应用程序,开发或调整工作流程,应用程序的添加和删除不需要做数据迁移。
3.4 支持多用户
FOLIO 采用的云架构,在多用户环境下具有天然的优势。运行在云上的系统平台,可以同时为多个图书馆提供标准化甚至可定制化的服务,且保证各图书馆之间的业务数据隔离和安全。根据数据存储策略的区别,可以分为两种方案。
3.4.1 为不同的图书馆提供独立的数据库。可以做到物理上的数据隔离,简化数据模型和数据库设计,最大程度地满足用户差异化需求,数据安全等级高,容灾能力强,数据恢复简单,但增加了数据库的数量,因此提高了维护成本和系统成本。
3.4.2 多个图书馆共享数据库。一个数据库下运行多个实例,可以做到逻辑上的数据隔离,但并不是完全隔离。这种方案共享程度高,支持的用户数量多,能够以最少的硬件代价提供最多的服务,但是一旦出现故障,数据较难恢复,牺牲了数据安全的级别。
图书馆选择何种模式要综合考虑成本因素、安全因素、技术因素。共享性越好,可支持的用户越多,技术要求越高,成本越低,安全系数越低,反之亦然。
3.5 开源和社区化
开源系统成为整个自动化领域的一部分已经超过15 年,并已成为一个完善和成熟的选择。过去,图书馆管理系统主要由单一供应商控制的专有产品提供给图书馆,依赖于该供应商对产品进行持续的软件开发和改进,技术资源有限的图书馆很难实现开源图书馆软件。FOLIO 改变了这一点,作为一个真正的开源项目,FOLIO100%由社区驱动并向社区开放,任何图书馆或图书馆联盟都可以选择在本地托管和运营FOLIO,该软件对任何用户都是免费的。围绕FOLIO 将会诞生一个蓬勃发展的社区,更多的图书馆业内人士和从事信息化产业的人士将会聚集在一起工作,共同建设图书馆服务平台,更快更好地引入新的概念和功能,更高效率地开发应用组件和服务。同时,开源系统由于有许多人共同监督和改进,会更加安全和可靠。目前,虽然专有软件仍然是主流方法,但越来越多的图书馆开始采用开源产品。FOLIO 的推出开启了图书馆技术行业的新篇章。
3.6 支持开放、跨系统的互操作和数据交换
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 应用程序都可以使用本地元数据源。
3.7 共享和复用
类似于安卓手机和苹果手机的应用市场,在FOLIO 社区内,不同机构、个人可分享开发的应用组件,形成一个丰富活跃的FOLIO 应用市场。社区的力量能够推动相关产品和服务快速演进,促进产品快速升级和进步,实现智力成果的共享和复用。需要注意的是,部分应用或功能可能是需要付费的,只有这样才能持续保持社区的活力和创造性,为平台的发展提供一个可持续的生态环境。
3.8 支持智慧图书馆
伴随着大数据、云计算、物联网和人工智能等新一代信息技术的快速发展,智慧图书馆正由梦想照进现实。智慧图书馆是建立在数字图书馆的基础框架上,通过物联网将数字图书馆和物理图书馆进行有机融合,自动和实时地感知资源、服务和读者的状态和变化,LSP后台进行大量复杂高速的运算并提供各种智能化信息服务。智慧图书馆服务平台是一个基于数据云和元数据的,整合纸质、电子和数字等各类资源的,带有标准化接口并支持各类(含移动)终端的,具备统计分析功能并支持知识关联与管理的一站式发现与获取的智能化平台[8]。由此可见,智慧LSP 是智慧图书馆建设的关键基础设施,智慧LSP 是一个面向未来,开放的、模块化的、可扩展的系统平台。基于标准元数据和云架构的FOLIO 为智慧图书馆提供了全面的业务支持,提供了智慧LSP的整体框架设计和技术实践,是目前最有希望成为智慧LSP的系统平台。
4 FOLIO在中国
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已上线应用
5 结语
FOLIO 代表了LSP领域的最新技术成果,是一个带有应用市场的操作系统。FOLIO 不仅仅是一个产品,还是一个理念,其基于云架构、微服务、标准数据和社区,融合开放开源、支持多用户和灵活扩展等理念,充分显示了技术的先进性和架构的合理性,必将塑造图书馆系统研发的新生态。FOLIO 对智慧图书馆的全面支持,有助于智慧图书馆发展和落地。CALIS 牵头的新一代图书馆服务平台建设联盟正在基于FOLIO 进行本地化开发并取得了丰硕成果。国内图书馆应该对FOLIO 保持持续关注,并以积极姿态拥抱FOLIO。