下一代图书馆服务平台ALMA与FOLIO的对比分析

2020-03-03 05:02王晓翠
数字图书馆论坛 2020年12期
关键词:服务平台架构图书馆

王晓翠

(北京第二外国语学院图书馆,北京 100024)

自20世纪90年代开始,国内图书馆自动化系统(又称图书馆集成管理系统)逐步取代了图书手工管理方式,成为图书馆事业发展的主流模式。30年过去了,美国图书馆专家Marshall等[1]在撰写的《创新的周期:2019年图书馆系统市场报告》中提到“图书馆的核心工作已经发生了变化,过时的自动化系统还在强调那些不再重要的工作”。因此,以上海图书馆刘炜等为代表的学者认为图书馆发展正在进入以智慧图书馆为主要特征的第三代图书馆时期,采用新型技术架构和互操作技术的“第三代图书馆服务平台”已逐渐成熟,其需求、功能和形态已基本成型,正在促成图书馆及相关行业形成新的业务模式和环境生态[2]。

1 下一代图书馆服务平台发展现状

1.1 图书馆服务平台发展概述

2012年Marshall[3]在自动化报告中首次提出下一代图书馆服务平台(Next Generation Library Services Platforms,LSP)的概念,下一代图书馆服务平台是整合全媒体的资源管理、全流程的业务管理和全网域的资源发现业务的服务系统[4],取代了图书馆自动化系统和图书馆集成管理系统的命名方式。下一代图书馆服务平台的突出特点:可同时管理纸本与电子资源;依赖全球知识库而不是本地数据库;通过面向云服务架构的SaaS进行部署;提供一套API实现更高的互操作性和可扩展性[5]。

Marshall等[6]在《2020图书馆系统市场报告:整合中的新机遇》中提到,2019年图书馆技术行业发生了一些重大变化,ProQuest旗下的Exlibris公司收购了Innovative Interfaces,打破了市场平衡。自2011年图书馆服务平台产品化以来,就在激烈的竞争中不断重组,从最初的7款主流产品[7],Exlibris公司的ALMA、OCLC的WorldShare Management Services(WMS)、Innovative Interfaces公司的Sierra、SirsiDynix公司的BLUECloud LSP、ProQuest公司的Intota和Kuali OLE、VTLS公司的Open Skies,到最后市场上基本就剩下3款产品ALMA、Sierra和WMS。随着Innovative Interfaces公司被Exlibris公司并购,ALMA与Sierra也由竞争对手变为合作伙伴,Exlibris公司成为学术型图书馆和研究型图书馆市场领先的技术提供商,市场中可供选择的产品正变得越来越少。

2016年EBSCO资助推出FOLIO项目,该项目利用开源代码库,以社区为基础,以模块化的系统结构、独立App开发方式,为图书馆、服务提供商和其他组织提供一个平台,这个平台让图书馆能够很容易地扩充新的服务,作为发展图书馆服务平台的协同社群,将会彻底改变图书馆、服务提供商以及技术开发人员之间的行业生态,从而利用基于OLE(Open Library Environment)的社群平台来打造下一代图书馆服务平台。“FOLIO项目让图书馆与供应商能够为了同一个目标携手合作,而这个目标将会对行业的未来产生巨大的影响”[8]。FOLIO项目的开展,会对市场上主导图书馆服务平台发展的ALMA产生怎样的影响,令人拭目以待。

1.2 国内发展概况

国外的研究和相关产品开发都走在国内前面,国内图书馆大多还是停留在第二代集成管理系统上。目前,国内图书馆对下一代图书馆服务平台的研究多是对系统功能和系统特征的分析及对国外系统的对比分析,如刘炜[9]提出下一代图书馆系统应支持阅读服务、空间服务和知识服务等。2016年教育部高校图工委信息技术应用工作年会主题涉及下一代图书馆系统的特征和功能等议题[10]。杨新涯等[11-12]讨论下一代图书馆系统应具备的特征,并基于重庆大学图书馆在图书馆管理系统领域的理论研究和实践探索,分析了向服务平台转型的下一代图书馆管理系统存在的问题,对其发展趋势进行了展望。钱国富[13]从系统特征、联盟应用、统一管理、平台转型等角度对下一代图书馆集成管理系统进行研究,认为转向学术生态系统是图书馆服务平台的发展趋势。李娟等[14]对4款国外产品进行对比分析,为用户选择提供决策建议。虽然下一代图书馆服务平台的概念还有些模糊,市场上的产品也不尽完美,但国内也有用户尝试使用下一代图书馆自动化系统,如2014年9月,华中科技大学与Innovative公司签约,正式应用Sierra。2016年12月北京师范大学成为中国第一家Exlibris公司ALMA用户,2017年1月清华大学也选择ALMA作为其下一代图书馆服务平台。根据Exlibris官网显示,截至2020年,ALMA的中国用户共有9家。在引进国外商业系统的同时,国内图书馆界也在积极合作,探索研发更适合我国图书馆需求的下一代图书馆服务平台。CALIS在2017年3月发起CLSP(CALIS New Generation of Library Service Platform)建设项目,联合图书馆和开发商共同参与建设下一代图书馆服务平台。CLSP采用FOLIO微服务架构和技术标准,是FOLIO在中国的本地化应用[15]。2018年9月,CALIS管理中心联合北京大学、上海交通大学、中国人民大学、深圳大学和上海图书馆组成“5+1”建设联盟,希望通过图书馆、服务商、系统供应商等多方合作,探索高校图书馆协同发展机制,逐步构建一个可持续发展的图书馆生态环境[16]。随着CLSP项目的建设,国内越来越多的图书馆关注到FOLIO,如厦门大学图书馆的肖铮等[17]对FOLIO的项目背景、社区模式、技术架构、项目进展进行了探讨。2019年4月,江苏图星与南京大学图书馆合作研发的基于云部署、微服务架构、纸电融合的下一代图书馆服务平台正式发布,集成了中央知识库、采选平台、馆员智慧服务平台、读者应用服务平台四大模块,预示着国内LSP的研究与开发已经形成阶段性的实践成果。

通过对国内外下一代图书馆平台的发展情况分析可以看出,目前国内研发的LSP产品还不够成熟,在国内市场还未得到推广使用,国外成熟产品中最具竞争力的当属ALMA,随着国内CALIS的CLSP项目的进展,FOLIO在中国受到越来越多的关注,目前深圳大学图书馆将原有系统进行FOLIO化并上线[18]。因此,本文选择ALMA和FOLIO进行比较分析,以为国内图书馆在选择下一代图书馆服务平台时提供一些参考。

2 ALMA与FOLIO比较研究

ALMA和FOLIO有很多共性,如云端部署方式、提供全生命周期的纸本与电子资源管理等,但两者在产品定位、使用技术、服务方式等方面又有很大的不同,本文将从产品现状、系统功能、系统架构、售后服务4个方面对ALAM和FOLIO进行比较分析。

2.1 产品现状比较分析

本文从产品成熟度、总体运营成本、管理复杂度等6个方面比较ALMA和FOLIO的现状,见表1。Exlibris公司于2012年7月正式推出ALMA,8年时间ALMA已经成长为一款比较成熟的产品,ALMA从设计之初就定位服务于各种规模的学术型图书馆。截至2019年底,全球有超过2 000家机构签约ALMA。2016年ALMA在北京建立数据中心,使中国用户更容易选择ALMA。截至2019年12月,ALMA的中国用户已经达9家。FOILO相对ALMA起步较晚,2016年6月24日,OLE(Open Library Environment)、EBSCO和Index Data向媒体宣布FOLIO项目,直到2018年7月才推出测试版,2019年在瑞典查尔莫斯大学图书馆上线并进行测试,2020年6月密苏里州立大学图书馆正式上线FOLIO平台[19],2020年10月美国密西根州立大学开始向FOLIO图书馆服务平台迁移并计划在2021年完成FOLIO完整平台部署[20],国内深圳大学将原有系统进行FOLIO化并上线,以上海图书馆为主导的国内FOLIO项目也即将上线。

表1 产品现状比较分析

作为一款商业化产品,ALMA的总体运营成本较高,其中包含软件购买费用、年服务费、授权使用费等,对于中小型图书馆是一笔不小的开销,但对于管理人员来说ALMA的管理维护更简单,其完全采用云托管模式,管理人员不再需要对服务器及应用进行更新维护,对于技术能力不足的图书馆来说是不错的选择。与ALMA相比,FOLIO目前功能还不够完善,没有一个成熟的版本可以推广使用,作为一款开源产品,任何类型的图书馆都可以根据自身的技术实力进行尝试,或与服务商、开发商合作选择适合自己的产品,图书馆可以参与平台功能的研发,但维护相对复杂,需要较高技术水平的管理人员或与软件服务商合作进行维护。任何有能力的图书馆都可以自行部署实施FOLIO,每个开发商都可以参与其中,避免了商业产品一家独大的情况,从而总体运营成本相对较低。

2.2 系统功能比较

ALMA和FOLIO作为下一代图书馆服务平台中最活跃的两个产品,在功能上有很多相似之处,也有各自的优势,见表2。ALMA提供六大功能模块,包括资源订购、资源揭示、资源获取、用户管理、统计分析、通用管理,业务模块之间、模块内部各操作环节基于角色和工作流管理。图书馆可以按照系统默认的业务流程管理框架进行角色设计,来塑造本馆资源管理流程,也可以自定义工作流,对一些独有或特定属性的工作自定义管理模式[21]。FOLIO提出了“域”(Domain)的概念和秉承最小化的原则,根据图书馆的业务需求将整个平台分为不同的域,包含Codex域、知识库域、馆藏域、采购域、典藏域、流通域,每个域由多个应用(App)组成,共同完成特定的功能[22]。因此,图书馆可根据自身业务需求自定义工作流程及各模块的功能,与ALMA相比灵活性更大。

ALMA和FOLIO符合下一代图书馆服务平台实现全媒体资源管理的理念,实现包括电子、数字和纸本等资源管理。目前上海图书馆基于FOLIO框架已经完成基础管理、发现、流通、用户、典藏等模块的开发[23]。下一代图书馆服务平台中没有OPAC的概念,所有资源都通过发现系统统一揭示,ALMA与其原有的发现系统Primo、Summon进行无缝结合,依托Exlibris公司强大的中心知识库CKB(Central Knowledge Base)对资源做到有效揭示,但公司已有的数据库资源多是外文,因此对中文资源的揭示不够好。FOLIO没有固定的发现系统,可以使用支持者EBSCO公司的发现系统EDS,也可以与第三方发现服务进行对接,相对而言FOLIO更具灵活性,可以让图书馆有更多选择。鉴于目前EBSCO公司已经收录了万方公司的四大数据库,也希望FOLIO在中文数据库的揭示方面能有所突破。

表2 系统功能比较分析

元数据标准经历了从纸质文献的MARC到数字时代的DC、再到现今的多媒体标准BIBFRAME的变革,下一代图书馆服务平台在元数据管理方面有了更高的要求,不仅要支持纸本和电子资源,还要有灵活的扩展性及开放性。ALMA遵循BIBFRAME标准,目前支持MARC、DC和RDA,并声称其设计架构可以扩展管理其他更多格式。而FOLIO在元数据管理方面有所创新,它自定义一个命名为Codex的虚拟元数据模型作为元数据标准,以BIBFRAME2模型为基础建立抽象数据模型,并参考DC元素设计了一套最小核心元数据元素集,通过Codex作为数据注册中心和数据链接中介,消除不同业务域中数据的编码、格式和存储差异,能够支持未知馆藏资源类型和元数据格式,以及接入新的知识库,从而使得FOLIO平台能够真正独立于任何元数据格式而中立。

ALMA本身采用工作流的方式进行流程管理,图书馆可根据自身需求定制工作流,系统可根据工作流设置工作提醒、异常提醒等。FOLIO虽然也声称采用工作流的方式,但目前还没有成型的模块,是否可根据用户需求进行自定义还是未知数。

数字资源使用分析对图书馆调整采购方向及策略制定具有重要的指导意义,目前各图书馆统计电子数据使用情况时多是从数据库提供商处获得使用报告,或从各个数据库后台取得使用数据进行手工分析,既费时费力又缺乏统一的标准,分析结果不一定准确。ALMA提供了强大的统计分析能力,借助ALMA Analytics工具,图书馆可根据需求生成各种统计分析报告,系统支持自定义统计报告模板,无须任何第三方工具。FOLIO目前尚未有成型的统计分析功能。

2.3 系统架构比较

ALMA与FOLIO在系统架构方面的比较,见表3。从软件的体系架构上看,ALMA采用SOA架构,而FOLIO采用微服务架构。SOA与微服务的共性都是以服务为核心,有学者认为微服务是SOA的延续,是SOA的子系统,但SOA与微服务架构还存在很大的区别,两者的差别不仅在于服务通信模式,更在于对扩展性、容错性及对DevOps的支持,SOA与微服务架构的对比见图1。首先,微服务架构剔除SOA中复杂的ESB企业服务总线,所有业务逻辑在服务内部处理,使用HTTP(Rest API)进行轻量级通信。其次,SOA强调按水平架构划分为前后端、数据库、测试等。微服务架构则强调按垂直架构划分,按业务能力进行划分,每个服务完成一种特定的功能,服务即产品。最后,SOA注重大块业务逻辑,着重中央管理,强调中心化,适用于集成遗留系统。而微服务则是由许多较小的、松散耦合的服务组成一个应用程序,着重分散管理,去中心化,适用于新系统或重构旧系统。

ALMA系统采用软件即服务(SaaS)的云服务部署模式,用户环境部署在Exlibris建立在全球包括中国的私有云数据中心,本地没有服务器,减少了本地硬件设施的维护成本,且减少了本地更新迁移等操作。公有云平台的安全性较高,Exlibris及数据中心通过GDPR、ISO/IEC27001、ISO/IEC27018、ISO/IEC27017、ISO/IEC22301等国际标准认证,从而可确保数据的安全性,同时提高图书馆的投资回报,减少图书馆基础设施的总体拥有成本,对于技术能力不足的用户是非常不错的选择,但云端的方式对网络带宽要求较高,网络不通畅会导致系统业务直接受到影响。FOLIO支持本地部署和云端部署两种方式,对于规模较大、技术能力比较强的机构可以选择本地部署方式,而规模较小、人员技术水平和经费水平不足的机构更适合采用云端部署的方式,借助服务商的技术优势,共享硬件和软件系统,提高资金使用率。

表3 系统架构比较

图1 SOA与微服务架构对比

在主流技术选择上,ALMA采用Spring Cloud技术框架,它复用Spring Boot的开发便利性,巧妙地简化了分布式系统基础开发,是一套成熟完整的解决方案。FOLIO前端界面层采用Stripes开发框架,它是一款开源的基于Node.JS的Javascript的UI框架。FOLIO使用RESTful(REST Representational state transfer,表现层状态转移)风格开发API接口,采用YAML格式定义API建模语言。核心OKAPI网关基于Vert.x框架编写,Vert.x是一款高并发、轻量级、高性能、支持多种语言开发的Java框架,也是基于事件和异步解决方案的开源框架,属于小众技术,可查阅的资料较少,目前国内开发使用的也较少,即使作为FOLIO国内先行者的CALIS也只使用OKAPI作为服务发现的注册框架,其余则采用原有技术栈,前端完全抛弃了FOLIO的UI框架[24]。ALMA延用Oracle数据库,FOLIO则采用开源的关系型数据库Postgre SQL作为存储事务性数据,使用非关系型数据库MongoDB存储书目数据,数据以JSON格式存储,MongoDB是当前流行的Nosql数据库之一,可存储比较复杂的数据类型,更适合当前数据多样化的形态,使元数据管理不仅包含图书、期刊、电子资源,还可包含研讨间、机构库以及未来可能出现的数据格式。

ALMA作为一款成熟的商业化产品,提供了丰富的API接口,包括Web Services、Restful API、发布服务、适配器与接口、导入与导出服务等。另外,ALMA还提供开发者网络平台,用户和开发者可以从APIs中选择适合自己需求的应用,也可将自己的API发布出去与大家共享。ALMA的各种信息完全由厂商控制,用户没有主导权,可定制性差,针对国内用户提出的各种需求支持度不够,尽管ALMA开放了一些应用程序接口,但透明度不够,ALMA业务模块由厂商定制,图书馆不能自行定制,平台本身归ALMA厂商私有,不允许图书馆在厂商平台上自行开发和部署应用。而FOLIO则完全由图书馆主导,任何第三方应用都可以通过开发与OKAPI交互的微服务App来实现互操作,FOLIO平台支持应用商店,任何开发商都可以发布自己的应用,图书馆可自由选择适合自己的应用,真正实现“图书馆是一个不断生长的有机体”这一理念。

2.4 服务及售后比较

售后服务也是各馆选择下一代图书馆服务平台应该考虑的一个重要因素。图书馆行业一个系统的生命周期为十年左右,完善的售后服务无疑会让用户更加信任,公司实力、售后服务方式、数据迁移、系统升级模式等均要考虑。ALMA和FOLIO的售后服务比较见表4。Exlibris变成ProQuest全资子公司后,ALMA背后的支持力量显而易见。EBSCO公司针对FOLIO推出一套托管和支持服务,目前迁移到FOLIO的密苏里州立大学和密西根州立大学都使用了EBSCO的FOLIO部署与托管服务[19-20],但FOLIO作为开源项目,最终的售后服务选择权完全在于用户。下一代图书馆自动化平台推崇共享的理念,ALMA提供了公共社区、合作网络区、用户机构区,用户可以从公共服务区获取资源,也可分享自定义服务到共享服务区,各用户之间还可以互相共享,使得全球用户可互相学习并共享资源。FOLIO通过开源社区协作共享,社区由图书馆、开发者、服务提供方和其他相关机构组成,通过专题兴趣小组展开讨论,任何机构都可以加入专题兴趣小组。

表4 售后服务比较

从旧系统到新系统的迁移是一项巨大而复杂的工作,当前庞大的业务系统群之间有着千丝万缕的关联,作为核心的图书馆自动化系统迁移必须先梳理系统之间的关系,对当前数据进行清洗之后再行迁移,在人员和技术方面都带来很大的挑战。ALMA作为一款商业系统完全由公司负责迁移部署等工作,但与业务关联的其他系统升级则需要图书馆的技术人员自行梳理并与各系统商对接,从北京师范大学图书馆迁移的案例可评估系统迁移的难度[25]。选择FOLIO,图书馆既可根据自身实力自行迁移,也可选择和商业公司合作,实现系统及数据的迁移。FOLIO是对系统的重构,与其相关联的业务系统可以从应用市场中选择适合自己馆的应用或与软件开发商合作重新编写。

ALMA是一个完全基于云环境的软件即服务的解决方案,售后服务完全由厂商主导,系统采用按月进行更新的模式,无须用户维护,完全由厂商完成更新。FOLIO采用可随时增量式升级,可自行定义,根据部署方式是本地部署还是云端部署来决定是用户手动更新还是由服务提供商进行更新。ALMA的售后服务效果取决于其售后服务团队的规模和水平,可能存在响应速度慢、新需求解决不了、无法针对国内用户做定制化开发等问题。FOLIO作为一款开源软件,图书馆可自行维护或选择合适的软件服务商进行合作,可随时根据需求进行更改。

3 结语

ALMA和FOLIO作为目前市场上呼声很高的两款产品各有千秋,ALMA产品成熟,市场占有率非常高,维护简单,且公司实力雄厚,相对应的产品使用费用较高,可定制化程度较低,更适合需求简单,缺少技术人员,资金较充足的机构使用。FOLIO的推动者一直强调下一代图书馆服务平台是可生长的一套生态系统,所有应用可以像手机一样在应用市场中选择适合自己的App,图书馆只需要搭建基础平台,然后就可以直接安装适合自己的应用,在应用、价格、适应度等方面可能更符合国内用户的需求,但目前这个生态系统刚刚开始,还缺乏统一的规范和标准,参与其中的图书馆、行业供应商和软件开发商有限,这个生态系统的成长还需要时间。

猜你喜欢
服务平台架构图书馆
基于FPGA的RNN硬件加速架构
打造一体化汽车服务平台
功能架构在电子电气架构开发中的应用和实践
江苏省一体化在线交通运输政务服务平台构建
论基于云的电子政务服务平台构建
基于云服务的图书馆IT架构
基于云计算的民航公共信息服务平台
图书馆
WebGIS架构下的地理信息系统构建研究
去图书馆