图书馆特色资源元数据API实现与比较研究
——以Web Service API与Widget API为例

2014-02-28 14:45赵增和
图书馆学刊 2014年8期
关键词:调用学位证书

赵增和

(天津市静海县图书馆,天津 301600)

图书馆特色资源元数据API实现与比较研究
——以Web Service API与Widget API为例

赵增和

(天津市静海县图书馆,天津 301600)

介绍了特色资源在当前图书馆价值取向转变中所起到的重要作用,分析了图书馆为自建特色数据库元数据提供API,实现资源开放获取,拓展特色资源服务渠道的迫切需求,以及资源开放过程中对知识产权的保护,并以某大学开展的学位论文数据库拓展服务为例,介绍了两种API——基于WCF框架的Web Service API、采用jQuery开发的Widget API方式,并分析了两种不同方式的优缺点及适用环境。

图书馆特色资源 API开放共享 安全控制

1 引言

随着信息服务网络化的发展以及信息开放理念的兴起,图书馆的价值取向也悄然转变,资源服务及知识传播已从原有的仅为在校师生提供检索查询转变为信息的开放互动与沟通共享,这对高校图书馆提出了全新的要求。在Web 2.0的用户参与、互动与分享以及开放图书馆理念的指导下,大学图书馆需要根据资源的特点,以更开放的心态迎接读者以及信息资源和信息服务日益泛在化的挑战。在世纪之交的十多年里,大学图书馆的数据信息量越来越庞大,它依托自身馆藏信息资源,针对用户的信息需求,对某一学科或某一专题的信息进行收集、归纳、分类、整理、存储,按照一定标准和规范将其数字化,自建了很多特色数据库,并以互联网为平台,面向广大师生用户提供基于内容的服务,特色数据库成为图书馆不同于互联网其他信息提供者的优势资源,能够在相关领域为读者提供“专业、精准、高速”的信息检索。在保护知识产权的前提下,图书馆针对特色资源开发API供第三方调用,是充分挖掘特色馆藏资源、在更大范围内被其他机构或者用户利用、拓展图书馆服务和体现资源深层价值的有效方式[1,2],既可以为图书馆特色数据库增加附加值和新的访问点,扩展特色资源的使用范围和使用价值,又可以使第三方通过混搭的方式使用图书馆资源,实现图书馆服务的无处不在。

2 特色资源元数据API技术实现

图书馆特色数据库种类众多,属性和软件架构各异,对于一些特色数据库,图书馆想要为其添加新的功能或者开放新的接口,必须求助于供应商,或者支付一定的费用,并且有的厂商并不提供相关的服务。然而如果图书馆一旦“进入”到其架构系统,几乎所有的事情都是可能的,因此我们尝试借助相关的技术,“强行”进入原本封闭的特色数据库架构系统,实现拓展特色资源价值的想法。由于图书馆特色数据库的平台各异及版权属性限制,在开发及开放特色数据库过程中需要在保护知识产权的前提下,尽量使用通用框架,屏蔽图书馆特色数据库与第三方调用者平台的异构性、开发语言的多样性,并且确保推送过程中的数据资源在可控范围内被合法、安全利用。

学位论文是高校图书馆特色资源的重要组成部分,笔者以某大学图书馆学位论文数据库拓展服务为例[3],介绍两种图书馆特色数据库元数据API的实现及比较——基于WCF框架开发的Web Service API方式,以及采用jQuery开发的Widget API方式。某大学学位论文数据库以TPI为平台,KBase数据库存储数据,系统部署在图书馆本地,TPI属于早年开发的商用特色资源数据库发布系统,系统开放性较差,通过上述两种技术打破学位论文数据库的固有围墙,实现学位论文元数据开放共享,拓展学位论文服务范围。

2.1 Web Service API

Web Service是一个URL资源,客户端可以通过编程方式请求得到它的服务,而无需知道所请求的服务是如何实现的,这一点与传统的分布式组件对象模型不同,其有两层含义:一是指封装成单个实体并发布到网络上的功能集合体;二是指功能集合体被调用后所提供的服务。Web Service的体系结构是基于Web服务提供者、请求者、服务管理者(注册中心)三个角色和服务发布、服务发现、服务绑定三个动作构建而成,如图1所示。简单地说,Web服务提供者即Web服务的拥有者,它等待为其他服务和用户提供已有的功能;Web服务请求者即Web服务功能的使用者,它利用SOAP消息向Web服务提供者发送请求以获得服务;Web服务管理者的作用是把一个Web服务请求者与合适的Web服务提供者联系在一起,它充当管理者的角色。

图1 Web Service体系结构

(1)开发实现框架

Web Service API是用所开发的Web Service替换用户对学位论文数据库的直接获取服务,调用者通过调用所发布的URL获取学位论文元数据。在技术实现环节,采用WCF技术[4]以面向服务的方式来创建学位论文Web Service API,实现数据的推送服务。WCF最突出的特点体现在互操作、安全可信赖以及通用性方面,并以一系列协议的定义、实现、发布为流程和框架实现。

①定义服务协定

在应用程序中添加IService.cs接口,以为第三方开放的数据及查询方式为服务协定进行定义,公布可以对外提供服务的操作、操作返回的数据类型、需要传入的参数个数、参数类型等。如某大学研究生院要求读者能够在研究生网站上通过专业查询相关导师指导的研究生论文情况,定义服务协定如下:

[Operation Contract]//定义服务协定,专业代码为参数,返回论文数据集

DataSet GetDataByMajor(string majorCode)

②实现服务协定

实现服务协定,定义一个类Service.cs以实现IService.cs接口中定义的所有服务协定,并返回相关结果。如,依照研究生院与某大学图书馆的服务协定,实现程序返回给研究生院导师所辅导论文的学生姓名、论文题目、摘要等:

//创建数据表函数,用于存储论文元数据的各个属性值并返回:

③搭建宿主,承载服务

公开WCF服务,需要提供一个运行服务的宿主环境,以IIS+.NET Framework 4.0+WCF环境为例,以IIS作为宿主来承载服务,承载于IIS中的WCF服务在IIS应用程序内表示为特殊内容文件(Service.svc文件)。.svc文件包含WCF特定的处理指令(@ServiceHost),该指令允许WCF承载基础结构激活所承载的服务,以响应传入消息。.svc文件的最常见语法如下所示。

<%@ServiceHost Language="C#"Debug="true"Service= "Service"CodeBehind="~/App_Code/Service.cs"%>

(2)安全控制机制

API作为一种数据传递方式,数据安全是开发过程中需要首先考虑的。在Web Service API方式中,采用X509证书[5]作为数据安全认证控制方式,加密通过证书对(服务器客户端各一个)完成,经过X509证书加密后的输入及获取到的输出内容,均是被加密的密文,在数据传递过程中无法看到明文,能确保数据传输过程私密、安全、可靠,并且实现这样的加密操作,在调用上不会受到任何影响,只需在WCF服务以及调用的客户端进行一些文件配置等操作即可,其实现方式具有高配置型、灵活性的特点,基于X509证书加密的操作流程如图2所示。

通过.NET的makecert命令为WCF服务应用创建客户证书和服务端的X509证书,命令如下:

makecert-sr localmachine-ss my-n CN=127.0.0.1-skyexchange-pe-r

此处“my”为生成的证书名字,CN后为服务器IP地址或服务器机器名称。

在授权调用控制环节,通过调用端和服务器端的证书对匹配,确保数据被合法者调用。在服务器端,将证书以私钥导出到本地硬盘、授权IIS访问服务器证书,以及将证书导入到服务器计算机的“受信任的根证书颁发机构”和“受信任人”存储区,给证书加everyone权限,并将证书颁发给合法的Web Service API调用方。调用端,将证书安装到“受信任的根证书颁发机构”中,给证书加everyone权限。最后,要确保证书的启用,使X509证书服务生效,需要在Web.config中加入服务器IP。如下:

图2 基于X509证书加密的操作流程

其中*.*.*.*为服务器IP。

(3)调用方式

Web Service作为一个URL资源,客户端无需了解学位论文数据库的结构属性,通过调用http://localhost/webservice/Service.svc,就可以像调用本地的函数一样调用Web Service接口获取相关资源,通过调用端和服务器端的证书对匹配,确保调用者的合法性,最终实现异构数据库之间数据的安全通信与共享。

2.2 Widget API

Widget技术来源于互联网,其以一种崭新的表现形式超越了浏览器和客户端的传统分类,Web Widget是轻量级的Web应用程序,调用者只需在页面上嵌入相关的JavaScript就可以运行在多种终端之上,并且功能丰富,使用简单,可以方便应用在站内应用、网站、客户端等应用中。Widget通过API将两个网站或平台和应用联系起来,打破了网站间的围墙,使网站不再只是通过超链接的简单连接,便可以实现不同网站之间用户和数据的融合。Widget主体框架结构可以分为服务层、视图层、应用层(如图3所示),其中服务层即等待为其他服务和用户提供已有的功能;视图层,即相应的.js和.css文件,实现从服务层获取数据并以预先设计好的结构展示;应用层即嵌入JavaScript的终端网站。

图3 Widget体系结构

(1)开发实现方式

学位论文Widget API可以看作一种定义好界面的插件,用户只需要在页面上嵌入图书馆提供的JavaScript,便可以在自己的网站上混搭学位论文元数据信息,实现学位论文元数据和其网站的融合,并自主进行学位论文在自身页面上的展示和重新排版。

①Widget服务层

用ASP编写学位论文数据库查询服务器端程序Widget. asp,根据不同的参数查询学位论文数据库,并将查询结果按照字段存入数组中返回给调用方。

采用jQuery技术实现学位论文客户端数据调用和重现,jQuery语法设计可以使开发更加便捷,更方便地实现选择DOM元素、事件处理等功能。采用jQuery技术编写theses.js供客户端调用服务器端程序,返回论文信息。

(show);});

(2)安全控制机制

Widget应用包由大量的JavaScript脚本、HTML文件以及CSS文件组成,源码对用户几乎透明,因此需要防止用户对Widget应用文件的非法篡改和非法调用。Widget分为桌面Widget和网页Widget,桌面Widget的安全控制机制有很多[6],如数字签名,访问策略控制,采用独立分发机制,网页Widget方式控制机制较少,且安全性较弱,需要通过浏览器的安全机制实现,或者在分发中采取人为控制措施。某大学学位论文项目开发的Widget属于网页Widget,我们在Widget应用包首次分发中采用人为控制方式,确保首次分发人为可信用户,以此保证Widget应用包分发给合法用户;对Widget应用文件进行加密打包,加密密钥和加密后的Widget包采用不同的分发途径信息分发,以保证用户不进行非法的二次分发,从而确保学位论文数据被合法者使用。

(3)调用方式

应用层对学位论文Widget API的调用过程相对简单,调用者只需要在自己的网站上嵌入相关代码,即可以实现在自己的网站上显示学位论文相关元数据,具体过程如下。

①将该Widget所需的theses.js、css文件引入到需嵌入Widget的页面:

<link rel="stylesheet"type="text/css"href="theses.css"/>

<script type="text/javascript"src="theses.js"></script>

由于该Widget使用了JQuery库,因此需要同时将其引入:<script type="text/javascript"src="jquery-1.7.2.min.js"></ script>

②在需嵌入Widget页面中希望呈现论文信息的位置引入以下HTML元素:

<div id="theses">学位论文:<a id="thesesLnk"href= "#type;keyword">历年硕博士论文</a></div>

③通过“②”中引入元素<a>的href属性值来配置查询类型,其中:type为检索途径,keyword为检索词,两者以“;”隔开,可用的检索途径以“检索参数表”文档方式提供给调用方。

3 WebServiceAPI与WidgetAPI比较

两种方式都打破了系统固有的封闭性,在确保数据能够被合法利用的同时,解决了平台异构性和开发语言差异性,使系统之间的内容关联性更强,增强了数据嵌入式服务呈现的一致性,提升了用户体验,减轻了调用方的数据维护工作强度,拓展了图书馆特色数据库资源的服务渠道。两种技术在实现方式的难易程度、安全认证的灵活性以及适应平台等方面各有千秋(如表1所示),图书馆可以根据不同特色数据库的特点灵活选择。

表1 Web Service API方式与Widget API方式比较

4 结语

目前,某大学图书馆通过两种API技术在学位论文数据库领域的实践收到了良好的效果,学位论文的服务价值得到了很好的拓展,实现了如下应用:

①将学位论文元数据推送到研究生院门户网站的博硕士招生专业目录查询栏目。研究生院门户通过对数据进行重新组合描述,使之混搭[7]在自己的网站上,实现与本地数据的无缝衔接,拓展了学位论文的社会价值,社会考生可以通过在研究生院网站上查询不同专业的学位论文数量、选题、研究方向、摘要、评价等信息,为学校及专业兴趣的选择提供参考,增强了考生报考的针对性。

②将学位论文元数据推送到学校门户网站的“教师名录”栏目。实现教师的历年指导学位论文信息可以动态更新,多渠道展示了教师教学科研成果,从而增强了大学产学研合作机会。

特色数据库已经成为大学图书馆的一大优势资源,图书馆应充分利用自身的特色资源,以更加开放的心态展现自身优势资源,以API技术为支撑,以内容服务为纽带,提供开放接口,方便图书馆外其他平台可以无缝地整合图书馆资源内容。图书馆可以根据特色数据库自身特点,采用以上两种技术框架开发相应接口,拓展特色资源的服务渠道和价值,使特色馆藏资源得到充分挖掘和利用,增强图书馆的吸引力,以全新的方式迎接互联网的全开放时代,在汹涌的信息潮流中突显图书馆的独特价值。

[1]李书宁,贾西兰.国内外图书馆行业相关OpenAPI发展现状调查及分析[J].图书情报工作,2012(7):11-15.

[2]贾西兰,郭建峰.图书馆行业OpenAPI利用的权限控制[J].图书情报工作,2012(7):21-25.

[3]Windows Communication Foundation[EB/OL].[2012].http:// msdn.microsoft.com/en-us/library/ms731082.aspx.

[4]X509-Wikipedia,the free encyclopedia[EB/OL].[2012].http: //en.wikipedia.org/wiki/X.509.

[5]李慧云,陆刚,张凌.Widget安全技术研究[J].广东通信技术,2009(11):9-12.

[6]Nicole C.Engard.Library Mashups:Exploring New Ways to Deliver Library Data[M].Information Today,Inc.,2009.

赵增和男,1973年生。本科学历,馆员。研究方向:信息资源建设与服务研究;信息检索与咨询研究;信息资源与知识产权管理;数字图书馆技术与管理。

G253

2014-05-12;责编:杨新宽。)

猜你喜欢
调用学位证书
WJCI 收录证书
CSCD收录证书
收录证书
教育部就学位法草案公开征求意见
收录证书
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
『博士后』是一种学位吗?
英国大学本科一等学位含金量遭质疑
利用RFC技术实现SAP系统接口通信