admin 管理员组

文章数量: 1086019


2024年3月22日发(作者:编程用哪个linux系统)

图书馆特色资源元数据API实现与比较研究

以WebServiceAPI与WidgetAPI为例

赵增和

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

[摘要]介绍了特色资源在当前图书馆价值取向转变中所起到的重要作用,分析了图书馆为自

建特色数据库元数据提供API,实现资源开放获取,拓展特色资源服务渠道的迫切需求,以

及资源开放过程中对知识产权的保护,并以某大学开展的学位论文数据库拓展服务为例,介

绍了两种API——基于WCF框架的Web Service API、采用jQuery开发的Widget API方

式,并分析了两种不同方式的优缺点及适用环境。

[关键词]图书馆特色资源API 开放共享安全控制

[分类号]G253

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 API是用所开发的Web Service替换用户对学位论文数据库的直接获取服务,

调用者通过调用所发布的URL获取学位论文元数据。在技术实现环节,采用WCF技术[4]以

面向服务的方式来创建学位论文Web Service API,实现数据的推送服务。WCF最突出的特

点体现在互操作、安全可信赖以及通用性方面,并以一系列协议的定义、实现、发布为流程

和框架实现。

① 定义服务协定

在应用程序中添加接口,以为第三方开放的数据及查询方式为服务协定进行定

义,公布可以对外提供服务的操作、操作返回的数据类型、需要传入的参数个数、参数类型

等。如某大学研究生院要求读者能够在研究生网站上通过专业查询相关导师指导的研究生论

文情况,定义服务协定如下:

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

DataSet GetDataByMajor(string majorCode)

② 实现服务协定

实现服务协定,定义一个类以实现接口中定义的所有服务协定,

并返回相关结果。如,依照研究生院与某大学图书馆的服务协定,实现程序返回给研究生院

导师所辅导论文的学生姓名、论文题目、摘要等:

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

public DataTable GetDataTable()

{

DataTable dt = new DataTable("sblw");

DataColumn dc1 = new DataColumn("作者名",?Type(" "));

(dc1);

return dt;

}

//具体的服务协议实现,读取数据库,根据专业代码获取学位论文元数据

[OperationContract]

public DataSet GetDataByMajor(string majorCode){// 详细实现,查询数据库并将结

果保存在GetDataTable实例中返回

…}

③ 搭建宿主,承载服务

公开WCF服务,需要提供一个运行服务的宿主环境,以IIS+.NET framework 4.0+WCF环境

为例,以IIS作为宿主来承载服务,承载于IIS 中的WCF 服务在IIS 应用程序内表示为特

殊内容文件( 文件)。.svc 文件包含WCF 特定的处理指令

(@ServiceHost),该指令允许WCF 承载基础结构激活所承载的服务,以响应传入消

息。.svc 文件的最常见语法如下所示。

<%@ ServiceHost Language="C#" Debug="true" Service="Service"

CodeBehind="~/App_Code/" %>

(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证书服务

生效,需要在中加入服务器IP。如下:

x509FindType="FindBySubjectName" store?Name="My"/>

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

(3) 调用方式

Web Service作为一个URL资源,客户端无需了解学位论文数据库的结构属性,通过调用

localhost/webser?vice/ ,就可以像调用本地的函数一样调用

WebService接口获取相关资源,通过调用端和服务器端的证书对匹配,确保调用者的合法

性,最终实现异构数据库之间数据的安全通信与共享。

2.2 Widget API

Widget技术来源于互联网,其以一种崭新的表现形式超越了浏览器和客户端的传统分类,

Web Widget是轻量级的Web应用程序,调用者只需在页面上嵌入相关的Javascript就可以

运行在多种终端之上,并且功能丰富,使用简单,可以方便应用在站内应用、网站、客户端

等应用中。Widget通过API 将两个网站或平台和应用联系起来,打破了网站间的围墙,使

网站不再只是通过超链接的简单连接,便可以实现不同网站之间用户和数据的融合。Widget

主体框架结构可以分为服务层、视图层、应用层(如图3所示),其中服务层即等待为其他

服务和用户提供已有的功能;视图层,即相应的.js和.css文件,实现从服务层获取数据并

以预先设计好的结构展示;应用层即嵌入Javascript的终端网站。

(1)开发实现方式

学位论文Widget API可以看作一种定义好界面的插件,用户只需要在页面上嵌入图书馆提

供的Javascript,便可以在自己的网站上混搭学位论文元数据信息,实现学位论文元数据

和其网站的融合,并自主进行学位论文在自身页面上的展示和重新排版。

① Widget 服务层

用ASP编写学位论文数据库查询服务器端程序Widget.

asp,根据不同的参数查询学位论文数据库,并将查询结果按照字段存入数组中返回给调用

方。

rtype=Request("type") //检索参数属性,如按照专业检索

rkeyword=Request("keyword")//具体的参数值,如汉语汉文学

……//多个参数

query = "select * from 华东师大硕博士论文数据库where ´" & rtype &

"´=´" &rkeyword & "´" ;

ReDim a(n,4)//定义数组存储论文元数据查询结果……

a(i,1)=alue("中文论文题名");

a(i,2)=alue("姓名");

……//读取并存储多个参数

"["""&a(i,1)&""","""&a(i,2)&"""]"

② Widget视图层

采用jQuery技术实现学位论文客户端数据调用和重现,jQuery 语法设计可以使开发更加便

捷,更方便地实现选择DOM元素、事件处理等功能。采用jQuery技术编写供客

户端调用服务器端程序,返回论文信息。

//显示数据

function disp(page,data){

S(´#thesesList´).remove();

var items = [];

var item = ´题名<

td width="10%">作者学位导师

´;

(item);

(,function(key,val){

item = ´´;

(val,function(key,val)

{item+=´´+val+´´;});

item+=´´

(item);

});

item = ´´;

if(unt>1){item+=´(´+ page + ´/´+

?Count+´)´;}

if(page>1){item+=´+´);">上一页´;}

if(unt > page)

{ item+=´下一页

´;}

item+=´

关闭

item += ´´;

(item);

S(´

´,{"id":"thesesList",html:

(´´)}).ap?pendTo(´#theses´);

}

//检索用户输入的查询词,调用Widget服务器端程序进行检索。

function render(page){

var schString = S(´#thesesLnk´).attr("href").split

(´;´);var type = schString[0].replace(´#´,

´´);

var keyword = schString[1];

N("IP 地址/?callback=?&type="+type+ "

&keyword="+keyword+"&page="+page,function(da?ta){disp(page,data);});}

function show(){ render(1); }

S(document).ready (function(){ S(´#thesesLnk´).click

(show); });

(2)安全控制机制

Widget应用包由大量的Javascript脚本、HTML文件以及CSS文件组成,源码对用户几乎透

明,因此需要防止用户对Widget应用文件的非法篡改和非法调用。Widget分为桌面Widget

和网页Widget,桌面Widget的安全控制机制有很多[6],如数字签名,访问策略控制,采

用独立分发机制,网页Widget方式控制机制较少,且安全性较弱,需要通过浏览器的安全

机制实现,或者在分发中采取人为控制措施。某大学学位论文项目开发的Widget 属于网页

Widget,我们在Widget 应用包首次分发中采用人为控制方式,确保首次分发人为可信用

户,以此保证Widget应用包分发给合法用户;对Widget应用文件进行加密打包,加密密钥

和加密后的Widget包采用不同的分发途径信息分发,以保证用户不进行非法的二次分发,

从而确保学位论文数据被合法者使用。

(3)调用方式

应用层对学位论文Widget API的调用过程相对简单,调用者只需要在自己的网站上嵌入相

关代码,即可以实现在自己的网站上显示学位论文相关元数据,具体过程如下。

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

由于该Widget使用了JQuery库,因此需要同时将其引

入:

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

学位论文:历年硕博士论

③ 通过“②”中引入元素的href属性值来配置查询类型,其中:type为检索途径,

keyword为检索词,两者以“;”隔开,可用的检索途径以“检索参数表”文档方式提供给

调用方。

3 WebServiceAPI与WidgetAPI比较

两种方式都打破了系统固有的封闭性,在确保数据能够被合法利用的同时,解决了平台异构

性和开发语言差异性,使系统之间的内容关联性更强,增强了数据嵌入式服务呈现的一致

性,提升了用户体验,减轻了调用方的数据维护工作强度,拓展了图书馆特色数据库资源的

服务渠道。两种技术在实现方式的难易程度、安全认证的灵活性以及适应平台等方面各有千

秋(如表1所示),图书馆可以根据不同特色数据库的特点灵活选择。

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]./en-

us/library/.

[4] X509-Wikipedia,the free

encyclopedia[EB/OL].[2012]./wiki/X.509.

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

[6] Nicole . Library Mashups:Exploring New Ways toDeliver Library Data

[M].Information Today,Inc.,2009.

赵增和男,1973年生。本科学历,馆员。研究方向:信息资源建设与服务研究;信息检索

与咨询研究;信息资源与知识产权管理;数字图书馆技术与管理。

(收稿日期:2014-05-12;责编:杨新宽。)

-全文完-


本文标签: 服务 图书馆 资源 数据 实现

更多相关文章

U盘变成RAW格式怎么办?数据如何恢复?

2月前

U盘类型显示为RAW&#xff0c;导致无法正常读取或写入数据&#xff0c;怎么办&#xff1f;这种情况一般都表示U盘的文件系统无法被操作系统识别&#xff0c;可能原因包括&#xff1a;不正确

高效资源获取:2024年职场人士推荐网盘搜索引擎

2月前

随着数字化时代的到来&#xff0c;网盘搜索引擎已成为我们获取信息的重要工具。以下是2024年精选的六大网盘搜索引擎&#xff0c;它们以其高效、全面和用户友好的特点&#xff0c;成为资源搜索的佼佼者。 精选网盘搜

酷云盘搜是专业的综合云资源搜索引擎,搜索一下试试看。

2月前

酷云盘搜是专业的综合云资源搜索引擎&#xff0c;搜索一下试试看。今日收录3288条 资源提交 酷云盘搜是一个专业的综合云资源搜索引擎&#xff0c;它支持百度网盘、阿里云盘、夸克网盘等多种网盘资源的搜索。用户可以通过输入

DHT磁力链数据爬取和资源搜索站的搭建

2月前

前端时间想看一些日更的电视剧, 但是网上找资源有点儿困难, google一圈儿之后发现了DHT和磁力链, 感觉是好东西, 但是能找到的搜索站基本都有些不和谐的小广告,用起来胆战心惊, 于是就想用自己之前买的虚拟机搭建一个纯净版的网站, 方便

亲测,2022年私藏的免费好用的磁力网盘资源搜索网站,找资源不用愁

2月前

面对现在网上电影、电视、小说、图片、软件等资源纷纷收费之后&#xff0c;目前找资源确实越来越困难&#xff0c;对于我们收入仅够温饱的白Piao党来说&#xff0c;资源肯定就是免费的香。分享下我常用的资源搜索网站

搜索引擎技术资源篇

2月前

搜索引擎的策略都是采用服务器群集和分布式计算技术。(搜索引擎技术资源篇-1)经典文章:  google早期论文 The Anatomy of a Large-Scale Hypertextual Web Search Engine

使用 ReclaiMe Pro 恢复群晖 Synology NAS 设备数据

2月前

ReclaiMe Pro 软件提供对复杂阵列的分析及恢复功能。对于复杂的智能存储设备 ReclaiMe Pro 提供了一键式识别阵列信息的功能。为用户免去了使用其他数据恢复软件所要求的复杂软件应用技巧。 如何使用 ReclaiMe Pro

影刀---实现我的第一个抓取数据的机器人

2月前

你们要的csdn自动回复机器人在这里文末哦&#xff01; 这个上传的资源要vip下载&#xff0c;如果想了解影刀这个软件的话可以私聊我&#xff0c;我发你 目录 1.网页对象2.网页元素3.相似元素组4.元素

u盘文件出现乱码怎么办?数据怎么找回

2月前

u盘文件出现乱码怎么办&#xff1f;u盘是我们常用的一个存储设备&#xff0c;但在使用过程中难免会遇到各种各样的问题&#xff0c;其中u盘文件乱码就是常见的一个&#xff0c;这是什么原因导致的呢&am

c语言超大数计算,c语言中怎么办一个特别大的数据的运算

2月前

我的计算器只能计算 乘法 加法太简单了自己&#xff0c;拿我的程序自己去改 可以计算最大100位乘100位的数字 修改程序第2行的abc的数组大小可以把计算数据大小改成无限大 所有的注释掉的输出都是在写程序的时候自

最新最全Windows 10系统图标资源

1月前

最新最全Windows 10系统图标资源 【下载地址】最新最全Windows10系统图标资源 最新最全Windows 10系统图标资源欢迎来到Windows 10系统图标大全&#xff01;本资源集合是专为界面设计师、开发者以及所有

2024年大数据高频面试题(下篇)

1月前

文章目录 Scala数据类型函数式编程闭包函数柯里化面向对象样例类对象与伴生对象特质(trait)模式匹配隐式转换即席查询KylinKylin特点Kylin工作原理核心算法Kylin总结Kylin的优点什么场景用KylinKylin的缺点I

30个高质量的数据集网站,你必须要试试!

1月前

点击上方“Python人工智能编程”&#xff0c;选择“星标”公众号超级无敌干货&#xff0c;第一时间送达&#xff01;&#xff01;&#xff01;一、数据查询网站 1、企业产生的用户数据

《CWAP-404》,第7章:MAC操作(7.1,分析数据帧交换)

1月前

数据帧交换是驱动用户使用WLAN的核心操作。用户通常不太关注信标帧&#xff08;Beacon frames&#xff09;、探测请求帧&#xff08;Probe Request frames&#xff09;

服务器配置tomcat,使用浏览器访问服务器资源

1月前

配置服务器&#xff0c;并使用浏览器去访问服务器资源 一、安装配置tomcat 1.安装软件 &#xff1a;apache-tomcat-8.5.72.tar.gz 结尾的文件&#xff08;下载地址https:

excel出现为了防止数据流失,无法移走非空单元格怎么办

1月前

excel出现为了防止数据流失&#xff0c;无法移走非空单元格怎么办 1.问题 excel出现为了防止数据流失&#xff0c;无法移走非空单元格怎么办 2.原因 出现这种问题的原因有&#xff1a; Ex

操作系统 第五章 资源分配与调度

1月前

第五章 资源分配与调度 5.1 资源管理概述 5.1.1&&5.1.2 资源管理目的:为用户提供一种简单而有效地使用资源的方法 任务:1、资源数据结构的描述 2、确定资源的分配原则和调度原则 3、执行资源分配 4、存取控制和

毕业论文-基于微信小程序的图书馆管理系统设计与实现

1月前

摘  要 在当今社会&#xff0c;互联网已经开始成为时代的主流&#xff0c;随着4G、5G等技术的蓬勃发展&#xff0c;人们的生活也越来越依赖网络技术。互联网移动服务也应运而生&#xff0c;它的出现

U盘插入遭遇格式化提示?别急,数据还能救!

1月前

现象描述 当U盘插入电脑&#xff0c;满怀期待地点开却遭遇格式化提示&#xff0c;这一幕想必让不少用户心头一紧。U盘作为便携存储设备&#xff0c;承载着大量重要数据&#xff0c;突如其来的格式化要求

探秘格式化:数据危机与恢复之道

1月前

引言 在数字化飞速发展的当下&#xff0c;数据已然成为我们生活中不可或缺的一部分。无论是珍贵的家庭照片、重要的工作文档&#xff0c;还是企业关键的业务数据&#xff0c;都承载着我们的回忆、努力和希望。然而&a

发表评论

全部评论 0
暂无评论