为了进一步研究图书馆服务质量的改善,进行系统分析后,笔者采用CentOS进行实验。笔者采用了VitualBox v6.1.4和Vargrant虚拟机管理脚本,采用的编译构建为Apache Maven程序。FOLIO的前端默认端口为3000,后端默认端口为9132,数据请求基于Postman软件。基于FOLIO2018年的版本(FOLIO/Q4-2018)进行实验,界面层运行成功后,如图6-5所示。
图6-5 FOLIO界面层
OKAPI网关层运行成功后,如图6-6所示。
笔者研究了FOLIO微服务应用的官方示例,研究了FOLIO应用示例开发的完整生命周期,其中,前端的示例代码为Stripes代码[9],后端的示例代码为Verti.x代码[10],相关代码均可以在Github免费获取。图书馆如果采用FOLIO,从读者和馆员角度而言,主要有以下优势。
从读者角度而言,主要的优势包含两个方面。
①以用户功能为中心,优化个性化定制服务。读者关心的个性化服务中的用户体验(Usability)和功能可用性(Availability),FOLIO在改善读者的用户体验时,通过Stripes框架可以实现。Stripes框架支持Mock测试,可以在收集读者个性化需求时先基于Mock测试模拟数据,从需求端而不是业务端构建完整的产品原型(Prototyping),让读者用模拟数据反复确认个性化需求是否明确,然后再进行开发工作。Stripes框架自带一套UI控件框架,并不使用系统原生的HTML控件,可以做到按钮组件级的二次开发和主题定制,优化用户体验,方便修改和重构。当读者的个性化需求发生改变时,由于Stripes框架不直接请求数据库,而是通过OKAPI网关通信,可以在OKAPI网关增加新的用户服务,而不用删除旧服务。这样的优势是方便读者切换新系统,对比旧系统,更好地判断个性化需求是否满足。
(www.xing528.com)
图6-6 FOLIO网关层
②以用户体验为中心,统一用户体验。图书馆的数据系统来自不同厂家,系统集成很困难。如果基于FOLIO,则很容易整合。具体而言,如果图书馆购买了厂家的镜像版数据库。只需通过Vert.x框架实现访问镜像数据库,或者镜像数据库的请求接口(通常为JDBC桥接),然后重新发布到OKAPI网关,这样就可以通过前端的Stripes框架去调用后台服务。
从馆员角度而言,主要的优势包含以下4个方面。
①降低开发成本。由于FOLIO本身开源和免费,自带大量的相关应用,图书馆不需要付费。另外,FOLIO开源协议基于Apache协议,即便有商业公司进行闭源再发布,只要保留Apache协议,也不侵犯知识产权。FOLIO并不会对二次开发的系统进行收费,极大地降低了图书馆行业的成本。
②分析读者行为,优化采购决策。由于FOLIO本身是以用户为中心,不是以馆藏资源量为中心,基于FOLIO的微服务的架构可以提高数据资源的曝光,具体有很多种方法,如通过FOLIO的OKAPI网关统一管理图书馆的馆藏数据资源,然后在OKAPI网关转发前增加统计代码(例如Google Analytics代码),或者通过OKAPI网关的日志(本质是NGINX日志)分析读者的请求和搜索的网址关键词,结合搜索引擎优化技术对关键词日志进行热词分析,帮助馆员了解读者真正需要的资源分布,为图书馆购买数据库提供量化的依据。
③优化文献传递服务。FOLIO是面向互联网的架构,本身支持分布式部署。有些大学图书馆的经费不足,资源不够,需要进行文献传递。基于FOLIO架构,可以通过FOLIO在云端请求不同大学的OKAPI网关,进行有效的文献传递。同时,由于前端是Stripes框架,对读者而言,不会改变用户体验,不会增加读者使用难度。
④优化馆藏资源的曝光。过去的图书馆系统是根据业务需求建立,但业务需求本身复杂,并且业务需求和读者的用户需求本身并不完全一致,结果使图书馆重复采购,但读者并不知道图书馆的馆藏资源分布情况,搜索不到相关资源。同时,馆员不能意识到读者的具体需求。如基于FOLIO,图书馆的服务形态仿照苹果公司的应用商店(AppStore)。馆员将现有的数据资源通过Vert.x和Stripes进行微服务封箱,将封箱好的服务进行统一发布、曝光和运营。读者在图书馆的应用商店进行搜索,不同馆藏资源则通过应用商店优化技术(App Store Optimization,ASO)优化排名,让读者快速找到馆藏资源。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。