APP下载

公共图书馆读者服务应用建设实践研究

2023-02-13首都图书馆黄钟婷

办公室业务 2023年1期
关键词:图书馆模块功能

文/首都图书馆 黄钟婷

一、背景介绍

服务是贯穿图书馆发展的主线,是图书馆的核心价值观,图书馆现代化发展的最终目的就是提供更好的服务。随着读者服务在内容、范围、类型各维度中的拓展,承载服务的应用从图书馆集成管理系统向PC端、自助设备端、移动设备端延伸。这些在多平台、多终端、多系统中开展的读者服务,逐步形成了公共图书馆的应用服务体系。

从应用服务体系的全局视角来看,这些应用应该是互联互通、功能共享、业务协同的。这样既能避免它们成为一个个“信息孤岛”,从而不必重复注册,从任意入口都可享受均等服务,降低读者使用难度;又可避免重复建设,减少公共图书馆的管理成本。

ALEPH500系统作为图书馆集成管理系统,应用于全国26家公共图书馆和高校图书馆中。在读者服务多元化发展趋势下,有必要对其提供数据交互服务的核心——X-SERVER服务开展研究,理解其本质与运行逻辑,以更好地使ALEPH500系统的“采、编、典、流、读”各个业务流程产生的数据为各读者服务应用所用,从而实现服务功能的共享与协同。

二、数据对接是读者服务应用建设的前提

各读者服务应用与ALEPH500系统进行功能共享和工作协同,实质是对ALEPH500系统已有的读者数据、馆藏数据等数据资源进行利用,这就必须建立在数据对接的前提下。X-SERVER是ALEPH500系统提供的数据交互服务,负责数据调用申请的响应、关键参数的传递及数据交互结果的展示,本质上是一个基于XML数据格式解析的应用程序开发接口服务(API)。它支持多平台、多系统、多终端同时与ALEPH500系统进行数据交互,而这正是公共图书馆建设多元读者服务应用须进行的数据对接的关键。例如通过读者数据的对接,可在移动端、PC端、自助设备终端同时实现读者注册、认证、借阅查询等功能,使原本只在ALEPH500系统馆员客户端中开展的这些服务延展到各处,从而实现读者服务功能的共享。

X-SERVER服务中数据交互的过程由X-SERVICE接口完成。在建设读者服务应用时,可根据所需功能调用一个或一组X-SERVICE接口,以实现与ALEPH500系统的数据对接和共享。在我国本地化发展中,ALEPH500系统逐渐与图书馆实践相融合,其X-SERVICE接口也不断演化发展。常用接口被保留并根据图书馆实际需要迭代升级,如update-bor-nlc是更新读者信息update-bor接口功能的升级版,提供了修改读者密码功能;新接口因服务需要而产生,例如因网借功能需求而产生的外借前检查接口lcl-loan-check;而一些接口由于不再适应新发展形式而不再被使用,例如读者信息查询接口bor-info-nlc。

三、读者服务应用建设中的数据对接过程

本文以首都图书馆(以下简称“首图”)为例,阐述公共图书馆基于X-SERVER服务及其接口进行读者服务实践的情况。在完成了系统搭建与部署、数据格式转换及迁移、系统应用培训等阶段后,首图于2014年进入原智慧2000系统与ALEPH500系统的双系统并行阶段,至2017年4月正式完成系统更迭,实现了ALEPH500系统的稳定运行。截至目前,首图所常用的X-SERVICE接口共21个。

在实践中,读者服务应用一般由多个功能共同构成,可选择某一个接口进行调用,也可使用多个接口的组合来实现目标功能。为更清晰地构建接口之间的联系,本文将这21个常用X-SERVICE接口分为四类:读者、流通、馆藏及工作人员类。为了便于读者服务应用开发工作的开展,将其进一步封装为10个逻辑功能模块(如图1所示)。对于复合功能,在使用时可组合调用多个模块;对于单一功能,可选择模块中的某个接口进行调用。

图1 首图读者服务应用常用接口

(一)读者类。1.读者认证模块。该模块由1个接口读者认证与检查接口bor-auth-valid构成。主要用于应用的读者认证,读者仅需在ALEPH500系统中注册一次,即可登录任一与此模块对接的应用,无需在多个系统中重复注册。该模块应用于首图的读者服务应用中,如数字资源服务、馆舍网络接入服务。2.读者信息查询模块。该模块由获取读者信息bor-info和查看读者证状态bor-status两个接口构成。bor-info能够展示读者详细信息,包含当前借阅、预约情况、账户支付信息等;通过bor-status可以查看读者证当前状态,退证、挂失、过期等。这一模块中的两个接口常配合其他模块共同使用。3.新办读者证模块。新办读者证模块的更新读者记录接口update-bor用于更新读者记录,可完成读者记录的新建、退证、信息修改等功能。其最初只在ALEPH500系统的web流通办证服务中使用,后应用于各自助办证服务设备中,现已在各类移动端应用的新办读者证服务中使用。由于update-bor不具备在申请系统分配读者ID值的同时写入对应的校验值功能,本文将更新读者信息接口update-bor-nlc按先后顺序组合形成新办读者证模块。通过它们的依次使用将读者新办证参数写入数据库,以确保数据的完整性。4.读者支付模块。该模块由update-cash接口构成,此接口用于建立读者账户、更新读者办证押金、逾期费等各种支付信息,一般与读者类的上述3个模块结合应用。例如在调用读者新办证模块后,应用调用此模块可进行读者账户的创建、记录押金支付情况;此模块也可完成读者逾期费、丢书费的查询及支付。

(二)流通类。1.外借及归还模块。此模块由3个接口组成,可实现读者服务应用中的文献借阅及还回。外借前检查lcl-loan-check接口负责执行外借前检查,查看读者是否可以外借该单册,例如读者是否有逾期费或超期书未还。同时可返回读者总可借册数、该单册所在分馆的总可借册数以及该单册类型的总可借册数,与ALEPH500客户端检查条件一致。文献外借lcl-loan及文献归还lcl-return接口负责实施借出及还回的具体操作。目前此模块应用于首图移动端网借服务中。2.查看借阅情况模块。读者对于借阅情况的查询需求一般可分为“当前借阅”“借阅历史”“即将到期”三种情况。当查询读者“当前借阅”情况时,可调取bor-info接口中的loans参数实现;loan-history接口用于展示借阅历史;overdue-list接口用于展示即将过期的外借文献,应用程序可向读者发出文献到期提示。3.文献外借预约模块。此模块用于文献预约功能,读者可对在架文献进行预约,在预约需求满足后,文献将通过物流配送至读者指定地点,从而完成外借。该模块由hold-list、hold-req-nlc、hold-reqcancel接口组成,可分别实现当前预约信息的查看、实施预约和取消预约。

(三)馆藏类。1.单册信息管理模块。此模块中包含获取单册信息item-data-nlc及更新单册信息update-item-nlc两个接口。前者用于查看某种书目记录对应单册的详细情况,如馆藏地信息、单册馆藏处理状态、单册是否可预约、标记此馆藏单册是否已借出等,应用于各读者服务应用中的馆藏查询功能中。后者用于单册管理系统中索取号数据及架位导航信息的更新。2.馆藏检索模块。此模块中包含3个接口:find接口负责检索馆藏书目、sort-set接口负责排序、present负责显示结果。检索结果为书的种类,查询某一种书的具体馆藏信息时需与单册信息管理模块中的item-data-nlc接口结合使用。

(四)工作人员类。工作人员管理模块由工作人员认证user-auth接口和更新工作人员密码update-userpwd两个接口构成。X-SERVER服务通过其身份验证与权限分配体系,每个发起调用申请的应用使用“用户名+密码”来进行身份校验,并根据实际需要为每个用户分配不同权限。user-auth可用于工作人员用户登录时的身份校验,工作人员用户包括馆员、系统开发人员等。在首图实践中将其应用于Web流通系统及“首图E支付”系统的馆员登录功能。update-user-pwd用于多场景中工作人员进行密码修改。

四、首图读者服务应用建设情况

(一)应用情况总览。在X-SERVCIE接口及功能模块的支撑下,首图开展了读者服务的多种探索,应用场景、服务范围及类型不断拓展。截至2022年,在pc端、移动端、自助设备端、跨平台端的各类平台中构建应用总计46余种(如图2所示)。其中跨平台端应用21种,为读者提供数字资源服务触达、网络服务接入的跨平台认证,以及为应用后端提供数据支持服务。PC端9种,包含首图网站群服务、预约借书服务、web流通服务等;自助设备端7种,包含自助办证及借还设备、智能书架、虚拟馆员机器人等。

图2 各类终端读者服务应用占比情况

自2017年起,首图读者服务的多个业务流程向移动端延展。智慧服务是在现代信息技术的支持下为满足读者日益变化的需求而提供的无所不在、无时不在的文献服务、信息服务、知识服务。移动端读者服务借助智能手机平台,将各种智能技术应用于读者服务中,便于实现数据资源的汇集与积累,逐步推进读者服务向智慧化发展。首图在移动端中实现了馆藏查询、数字资源使用、读者身份认证、读者借阅和账户查询、新办读者证、二维码读者证、读者到馆及活动预约、手机扫码借书、异地还书、图书网借、虚拟馆员咨询、逾期费支付等功能,逐步构建了读者服务的常用移动端应用场景。截至目前,移动端应用数量达9种,占使用X-SERVER服务总应用数的20%。移动端的“阅读北京”支付宝小程序、“首都图书馆”微信公众号及小程序已成为首图线上、线下服务的主阵地。

(二)应用服务部署策略。首图各应用使用X-SERVER服务与ALEPH500系统进行数据交互的次数达年均400余万次。为保障业务的正常运行,首图将承载X-SERVER服务的ALEPH500应用服务系统采用可扩展的结构进行部署,利用多台服务器分担数据交互过程中的负荷。由于ALEPH500系统不仅服务于首图,也服务于北京市公共图书馆服务体系中的各图书馆,在部署时充分考虑业务功能划分的情况,以“核心业务与外围业务分离,首图业务与区馆业务分离”为原则,使各服务器使用不同域名,面向不同业务范围提供X-SERVER服务。例如,为服务全市的Web流通服务单独分配一台服务器以负担大量的服务数据统计功能;为频繁执行数据写入操作的读者服务,如新办读者证服务应用,配备独立的服务器进行支持。

(三)应用服务用户管理策略。使用X-SERVER服务需根据既定实现的功能在ALEPH500系统中为每个应用账号分配相应接口权限,允许服务器对其使用接口发起的数据请求进行回应。为保障数据能安全、有序调用,制定了以下用户管理策略:首先,以“一应用一账号”原则,以既定命名规则为提出X-SERVER服务申请的应用分配用户名及其密码。某些应用开发者负责不止一个系统的建设,要保证其开发的每个应用使用唯一的账号,这样既便于在后续出现问题时能及时溯源并定位,也为业务数据统计提供了条件。其次,对不同用户的相同权限申请,采用功能代理实现了功能的复用,并形成了用户权限管理体系。再次,充分利用数据库事务日志、用户管理记录表保留相应的数据交互痕迹,便于用户情况的统计及分析。最后,对于不再提供服务的应用,将其账号及权限及时回收。

(四)实践案例。如上所述,首图已将多个基于X-SERVER服务的应用投入读者服务。下文将以移动端的“首图E支付”POS端服务、“阅读北京”小程序和网借服务为例阐述具体应用情况。1.“首图E支付”POS端支付服务。该服务是基于银行POS机支付平台开发的小程序。逾期费是因读者借阅文献时间超过约定期限而产生的违约费用,通常金额较小,读者对使用移动支付方式支付逾期费有诉求。“首图E支付”整合了X-SERVER的读者认证、读者信息查询、读者支付、工作人员管理4个功能模块。馆员在pos移动端查询到读者逾期费后,使用pos机扫描读者手机移动端的支付二维码,即可完成逾期费的收取。同时也支持馆员选择工作台进行身份认证登录,便于工作地点的灵活切换及业务工作统计。通过X-SERVER与银行支付平台的数据对接,打通了银行支付平台与ALEPH500系统平台的数据链路,在业务流程上实现了读者付款信息在两个平台中的同步。2.“阅读北京”服务小程序。“阅读北京”服务小程序是移动端支付宝平台上的综合读者服务。通过与X-SERVICE接口及功能模块的组合使用,集成了读者借阅及账户查询、新办读者证、二维码读者证、手机扫码借书等功能。其中新办虚拟卡读者证服务与预约到馆服务、数字资源服务的结合使用,在疫情中成为首图线上线下服务结合的主阵地;二维码读者证功能在北京市公共图书馆中首次实现实体读者证向虚拟证的转化,让读者不携带实体卡也可使用各项服务;手机借书功能选取了文献外借及归还接口,在大兴机场分馆中实现了小范围的手机扫码借书,将流通工作台扩展至移动端,为手机端移动借书在首图本馆中的广泛应用积累了实践经验。3.首图网借服务。首图网借服务可为读者提供任意时间、地点的移动端文献借阅服务。读者可在移动端查询图书信息,并对感兴趣的图书进行下单借阅,图书将通过物流方式送至读者手中。还书时读者可勾选图书通过物流进行还回,不用到馆即可使用文献流通服务,实现了馆内到馆外“点到点”的纸质文献流通服务。网借服务应用选用了外借及归还模块、单册信息管理、读者信息、读者认证作为主要功能模块。网借服务应用以网上借阅功能为功能主线,以ALEPH500系统为馆藏、读者、流通的核心数据源,以物流系统、移动支付系统为配套支撑。在使用读者认证模块进行数据对接时,网借服务还尝试启用了新的交互方式。

五、未来读者服务应用建设思路展望

面对公共图书馆服务边界的持续扩展和用户需求不断变化,X-SERVER作为数据枢纽,使ALEPH500系统与各种新服务应用相互配合,共享数据及功能,创新了多种读者服务场景。与任何事物一样,软件也有其孕育、诞生、成长、成熟和衰亡的阶段,一般称其为软件的生命周期。以2001年进入中国国家图书馆为节点,ALEPH500系统经过在国内图书馆领域20余年的发展,不可避免地进入生命周期的下行通道。从网借服务系统建设伊始,首图尝试使用新的技术路线进行系统功能的建设,基于微服务架构搭建了智慧服务管理平台,并在此基础上部署了统一标准的开放API管理网关,从而实现数据交互的标准化及系统功能的组件化。在新技术路径、新系统框架下,ALEPH500系统将作为其中功能组件和业务基础数据的数据来源,继续发挥其在馆藏管理、读者管理等方面的优势,持续为读者提供服务。

(一)数据交互过程标准化。在智慧服务管理平台的建设中,前述X-SERVICE接口及其功能模块将与其他读者服务应用的接口一起以统一格式封装,并注册到开放API网关中,从而使数据交互过程标准化。这样做有以下几点好处:一是注册到API网关中的接口会拥有互通互认的通信格式,将减少应用之间的沟通成本,X-SERVICE接口将更易被其他应用理解及使用。二是API网关可对封装后的X-SERVICE接口与其他系统的接口进行流量调节和访问权限控制,如对非正常的数据申请进行监控和预防,可提升数据交互过程的安全性。三是统一格式封装后的接口可对返回的数据进行更细致的数据过滤,提供定制化数据交互结果,这种方式对数据库资源与网络传输资源的占用更少,可提高接口之间的数据交互效率。

(二)功能组件化。在智慧服务管理平台的数据交互标准化的基础上可推进功能组件化,各应用将自身的数据接口在API管理网关进行注册、封装后,形成拥有通用格式的组件,这些组件以API的形式存在,以统一的规则相互通信,协同完成业务流程。统一封装后的“X-SERVICE接口组件”将引领ALEPH500系统融入这一功能组件化进程。例如网借服务中的读者认证功能,是由ALEPH500系统、网借系统所形成的组件进行通信而完成的。此前,其他读者服务应用是在以ALEPH500系统为核心的框架下为各应用提供服务的,而在智慧服务管理平台中,功能组件化可降低其他应用对ALEPH500系统的强依赖,与其并行在同一个层级进行数据交互,可缓解X-SERVER服务的压力,提升公共图书馆服务的稳定性和安全性。

六、结语

在公共图书馆读者服务应用的实践中,应最大限度地利用图书馆集成管理系统已有数据资源和服务功能。本文通过对X-SERVER服务的数据对接过程的分析,阐述了首都图书馆以ALEPH500系统开展的读者服务应用建设实践。数据交互标准化和功能组件化将是未来读者服务应用建设工作的主要思路,公共图书馆应在此方面进一步探索,以实现更多新服务场景的构建、服务范围的拓展及服务效能的提升。

猜你喜欢

图书馆模块功能
也谈诗的“功能”
28通道收发处理模块设计
“选修3—3”模块的复习备考
图书馆
关于非首都功能疏解的几点思考
去图书馆
中西医结合治疗甲状腺功能亢进症31例
辨证施护在轻度认知功能损害中的应用
集成水空中冷器的进气模块