1、问题的提出
数字图书馆建设以分部式存在的系统为基础,系统的开放性是一个关键的因素,分布系统的融合使用程度直接影响应用系统的效果。目前的研究成果显示,在利用开放协议实现整合检索方面已经比较成熟,在关联集成、构建基于多分布系统的应用系统方面还有许多问题待解决,包括什么开放接口比较适合数字图书馆应用系统的构建,资源与服务的封装与调用的复杂程度和表示的自由度,如何利用互联网带给我们的条件等。本研究选择具有普遍关注度的基于OpenAPI的新型应用系统构建模式进行尝试,以数字资源的集成揭示为实践主题,探索具有普遍应用意义的数字资源集成揭示解决方案。
2、设计思路
通过OpenAPI关联异系统数字资源,在应用系统中从一个资源出发,自动给出与之相关的数字资源信息,并可以直接点击打开使用页面。选择书目检索系统为源系统,常用的数字资源为目标资源系统,包括电子书刊、随书光盘和书影。两个关键点是:OpenAPI的建立和调用OpenAPI的技术路线。
开发环境:
基础系统: ALEPH 500的Web 2.0版OPAC
客户端脚本语言: JavaScript/AJAX
本地CGI开发语言: Perl
OpenAPI:XML/JSON/HTML API
发布系统:Apache
3、OpenAPI封装
由于多数目标资源系统没有合适的OpenAPI接口:XML/JSON API。首先设计了REST风格的OpenAPI请求与应答模版,与资源提供商合作对通过特定条件调用资源的功能进行封装。如:随书光盘(畅想之星系统) OpenAPI 请求与应答格式示例。
请求:
http://202.112.82.28/emlib4/system/datasource/opaclink.aspx?srchtype=I&wd=978-7-111-26359-3&linktype=X
应答:
<?xml version="1.0" encoding="UTF-8" ?>
<OpacLink>
<resultCode>1</resultCode>
<html>http://202.112.82.28/emlib4/format/release/aspx/book_xxxx.aspx?RUID=11d3d05b0000810117</html>
</OpacLink>
上述OpenAPI释义:请求isbn号为978-7-111-26359-3的随书光盘,srchtype=检索资料的方式(I:按ISBN检索),linktype=链接类型(X:返回xml格式的链接内容)。应答信息中,<resultCode>包含命中情况,<html>包含资源访问的url。
4、OpenAPI调用
为获得良好的用户体验和可设计的显示格式,选择AJAX(Asynchronous JavaScript and XML)技术路线,通过CGI技术解决了跨域请求问题。架构如图1所示。
图1 异系统异步通讯数字资源集成框架
5、集成效果
6、结语
OpenAPI在数字图书馆建设中有着宽阔的应用前景,目前也存在诸多待解决的问题,如:OpenAPI的质量直接影响应用系统的正确性,误检会造成关联匹配错误;OpenAPI的标准化还未形成,应用系统开发中有大量的技术力量耗费在不同OpenAPI应答信息解析上;还有各种权限控制问题等。基于OpenAPI的Web应用有望将数字图书馆服务提升到一个新高度。
转载自:http://www.sal.edu.cn/Information-Info.asp?id=297