面向资源架构的数字图书馆*

2015-08-29 13:17唐明伟南京审计学院管理科学与工程学院江苏南京211815南京大学信息管理学院江苏南京210093
图书馆建设 2015年4期
关键词:架构文献数字

唐明伟 (南京审计学院管理科学与工程学院 江苏 南京 211815)蒋 勋 (南京大学信息管理学院 江苏 南京 210093)

面向资源架构的数字图书馆*

唐明伟(南京审计学院管理科学与工程学院 江苏 南京 211815)
蒋 勋(南京大学信息管理学院 江苏 南京 210093)

目前,主流数字图书馆系统架构已无法满足大数据时代资源共享和获取的迫切需求。对此,基于面向资源架构的数字图书馆,给出了对应的开发方法。实验表明,基于面向资源架构的数字图书馆,其数据管理遵循标准的HTTP协议,不论何种形式的系统或程序,通过HTTP协议均能获取其数据,而在授权许可下,也可以通过HTTP协议对其数据执行增加、查询、修改和删除操作。

数字图书馆面向资源架构资源共享

数字图书馆自20世纪90年代提出以来,经过近十年的发展,初步实现了传统馆藏资源的数字化,使读者可以方便地获取各类数字资源,也加强了图书馆之间的合作[1]。然而随着大数据时代的来临,“资源冗余”和“资源孤岛”的出现降低了读者获取资源的效率,同时也导致了数字图书馆的重复建设和资源浪费。要解决这一问题,比较有效的方法是改造数字图书馆的系统架构,使其便于实现资源共享,以此促进各数字图书馆之间资源的互联互通,从总体上优化资源配置,最终提高数字资源的利用率。

1 相关工作

近年来,国内外倾向于借助互联网及Web的特性对数字图书馆架构进行研究。

Rodrygo L.T. Santos等人提出了一种基于SOAP (Simple Object Access Protocol,简单对象访问协议) Web服务的数字图书馆组件式构建框架,并给出了向导式构建工具[2]。利用SOAP Web服务构建的数字图书馆,其资源可独立于程序发布,能够便于被其他数字图书馆识别,从而为数字图书馆之间的信息共享奠定了技术基础。唐明伟等人构建了一种基于RESTful Web服务的图书管理系统,该系统充分利用Web和HTTP协议的特点,既可实现系统数据的规范管理,又可实现数据的轻量发布和共享[3]。Carlo Meghini等人提出了一种可以识别、描述和发现Web 上PDF文档、视频等数字对象的数字图书馆数据模型,应用该模型,可以使各数字图书馆之间能够互相识别和共享资源[4]。ngel Garíc a-Crespo等人在SWAN框架的基础上提出了一种使用领域本体来标注数字资源的数字图书馆框架[5]。经过本体标注后的数字资源具备更为完整的属性描述,易于被程序识别。喻昕和王敬一结合云计算技术构建了数字图书馆云服务平台,并对其服务流程和运行机制进行了研究[6]。利用云计算技术,数字资源以服务的方式对外提供,可实现资源的跨平台共享。欧石燕构建了面向关联数据的语义数字图书馆资源描述与组织框架,该框架使用RDF对图书馆资源进行语义描述,通过本体实现不同元数据类型和格式间的语义互操作,再使用关联数据对本体化的元数据进行再组织,最终将资源发布至Web[7]。应用该框架可使图书馆资源语义化,易于实现资源共享。贺德方从资源描述、知识关联、智能检索和可视化呈现方面研究了基于语义技术的数字图书馆服务[8]。应用语义技术构建的数字图书馆,其资源具备自描述性和自解释性,便于实现资源的开放,实现资源共享。Hermann Maurer和Heimo Mueller研究了Web搜索引擎的检索特点,并充分利用专业词典、百科全书、维基百科等在线资源集合,将Web转换成一种数字图书馆[9]。该类数字图书馆是对现有Web资源的二次开发,可视为Web的一部分,任何自然人或程序均能方便地获取其资源。席彩丽利用Callimachus框架创建了基于语义的数字图书馆模型,应用该模型构建数字图书馆,可以增强数字图书馆系统之间的互操作性,实现资源共享[10]。Carlo Meghini对Web基本概念URI、资源和表示进行了改进,提出了基于标识符(identifier)、资源(resource)和描述(description)的数字资源模型[11],应用该模型可以准确地标记和识别数字资源,依此建立的数字图书馆既可以准确地管理数字资源,又使其具有Web开放的特点。

上述研究中,本体、语义网及云计算等先进技术可以使数字资源开放,以此构建数字图书馆,易于实现资源共享,但这类技术的应用本身是一项复杂的工作,并不适合小规模数字图书馆的构建。基于改进的Web及SOAP Web服务的构建方法,符合目前数字图书馆Web化的趋势,具备一定的通用性,尤其是SOAP Web服务,至今仍然是信息开放和集成的常用方法。但经过研究者的进一步研究发现,该类方法并未充分利用Web的特性,而是一种舍近求远的应用方法,因此一种完全遵守Web规则的RESTful Web服务被逐渐提出。RESTful Web服务是面向资源架构的重要组成部分,目前,将RESTful Web服务应用至数字图书馆建设的研究并不多见,笔者虽然做了初步研究,但该研究仅仅针对图书管理系统,对面向资源架构理论的应用研究也并不全面。针对上述研究的不足,本文将在数字图书馆系统架构领域,对面向资源架构进行应用研究,构建一种完全符合Web规则的资源开放的数字图书馆架构,以满足目前大数据环境下资源共享的迫切需求,从而为进一步构建数字图书馆联盟,实现一定范围数字资源的共享奠定基础。

2 面向资源架构概述

面向资源架构起源于2000年Roy Thomas Fielding在其博士论文中提出的表述性状态转移(Representational State Transfer,简称REST)概念[12]。REST是一种对良好Web应用进行定义的网络架构模式。该论文给出了从“零Web[1]”推导至“REST式Web”所需经历的六个步骤,但并未给出具体的实现方案。在这个基础上,L e on a r d Richardson等人[13]对REST进行了扩展研究,在其专著RESTful Web Services中,对REST给出了更详细的解释,提出了RESTful Web服务的概念,并对面向资源架构一词进行了系统的解释和定义[2]。

RESTful Web服务是符合REST模式的Web服务。Leonard Richardson等人认为符合REST模式即每次Web请求均采取HTTP方法,且所有作用域信息均包含在URI中[13]。在该前提下,RESTful Web服务将一切与业务相关的事物抽象为资源,并为每个资源设计一个唯一标识URI,该标识包含了请求的作用域信息。针对该URI,使用不同的HTTP方法发送请求,则实现对应资源的增加、查询、修改和删除操作(以下简称CRUD),从而完成各类业务操作。表1为使用不同HTTP方法向同一个URI提交请求时能够实现的功能。

表1 请求方法与URI功能映射

由此可见,RESTful Web服务对外公开相关资源的URI即对外发布服务。用户只需按照标准HTTP协议向URI发送请求即可实现对资源的相应操作。与SOAP Web服务相比,RESTful Web服务完全遵守HTTP协议,并未对其进行繁琐的自定义封装,不论在服务的请求和响应还是发布上,均要简洁高效,是一种轻量级的、灵活的计算机软件服务,体现了“网站就是Web服务”的思想[14]。面向资源架构则是一种将实际问题转换为RESTful Web服务的方法,Leonard Richardson提出了资源、资源标识、资源表示和资源链接四个概念对面向资源架构进行了定义。

在Web应用中,资源是现实事物的数字化表示,通常表现为具有一定格式的文档或数据库表记录等信息实体,由标识和表示两部分组成,任何可以被命名的事物都可以成为资源;资源标识是应用交互中所涉及资源的唯一标记,也是访问和操作资源的通用接口,每个资源有且仅有一个唯一标识,一般用经过设计的URI来表示;资源表示是资源当前状态的数据显示,由资源的数据、表示数据的元数据和描述元数据的元数据组成,通常为超媒体,不仅包含了核心数据,还包括了通过其他资源的URI;资源链接是资源之间建立联系,实现切换的基础。这四个概念之间的关系如图1所示。

图1 面向资源架构基本概念关系

这四个概念中,资源和资源标识将实际问题转换成资源并赋予URI,而资源表示和资源链接则确定了资源的状态及不同资源之间的调用关系,最终将实际问题转换成RESTful Web服务。

3 面向资源架构的数字图书馆的构建

3.1模型

根据上述理论特点,基于面向资源架构的数字图书馆模型如图2所示。

如图所示,面向资源架构的数字图书馆模型从低到高分为数据层、资源层、业务层和表示层四层,使用HTTP作为基本通讯协议。

(1)数据层

数据层是数字图书馆的基础资源层,由各类数字资源和数据访问接口组成。各类数据资源以数据库表记录的形式存在于系统数据库中,而数据访问接口则是针对数据库表记录的增加、修改、删除和获取四个最基本的数据操作,通过这四个操作实现对不同数字资源的管理。

(2)资源层

资源层是实现面向资源架构的核心,由REST引擎和REST资源组成。REST引擎一方面负责将数据层的数字资源通过标注,为每个不同的数字资源赋予一个URI,并通过数据封装后对业务层开放,从而形成各种REST资源,每个REST资源具有唯一的URI,该URI也是业务层用户通过业务层调用资源的唯一接口;另一方面,REST引擎监听业务层发来的HTTP请求,根据不同的HTTP请求方法,调用相应的数据操作。

(3)业务层

业务层则由文献检索、图书借阅、论文下载等数字图书馆各类常见业务功能组成,这些业务功能由各种不同的REST资源及其URI按照一定的业务逻辑相互组合而成。

(4)表示层

表示层则由系统界面和应用程序描述语言(Web Application Description Language,简称WADL)组成。系统界面即数字图书馆系统的用户界面,是供普通用户操作的软件界面,一般以HTML或XML的形式展示业务层的各类功能,引导用户完成操作 ;WADL则供软件程序访问,以结构化的方式存储各类资源的访问方法[15],其他程序可通过解析WADL实现对数字资源的自动访问。

在该模型中,数字资源最终被改造成具有唯一URI的Web对象,任何人或程序只需要获得对应资源的URI,在合法授权下,向该URI发送标准的HTTP请求,即可实现对应资源的CRUD操作,从而完成数字图书馆的各种业务活动。从这一过程可知,公开数字资源的URI即公开资源本身,按该模型构建的数字图书馆,拥有开放的数字资源,在授权允许条件下,不会形成资源孤岛,从而可方便地实现不同数字图书馆之间数字资源的共享。

3.2开发方法

面向资源架构的数字图书馆是以资源为中心,要依照图2所示模型将其开发成实际系统,重点在于对资源的分析、设计与实现,其主要过程如图3所示。

图3 面向资源架构的数字图书馆开发方法

(1)第一阶段:资源分析

资源分析阶段主要是确定数字图书馆涉及的资源种类和数量。一般通过需求采集和传统的业务分析方法确定数字图书馆系统涉及的数据集,再对数据集进行分析,从中归纳出可以通过HTTP发布的特定数据,将其抽象成资源。资源是用户直接操作的对象,一般可分为对象性资源、集合性资源和管理性资源。对象性资源是与数据对象直接相关的资源,是最小单位的资源,如一篇论文;集合性资源则是指由多个对象性资源组成的资源,如包含多篇论文的期刊;管理性资源则通常与业务无直接的逻辑关系,只是出于某种特殊需要,对多个无直接关联的资源进行统一引用而形成的资源,如包含了论文、期刊列表的系统首页。按照用户访问习惯,一般先访问管理性资源,再访问集合性资源,最后访问对象性资源。

(2)第二阶段:资源设计

资源设计阶段主要确定已划分资源的属性、功能及资源之间的关系,通过命名资源、确定资源功能、设计资源表示和连通资源四个步骤来完成。

①命名资源:即设计资源的URI,URI通常由域名、路径和请求参数共同组成。对于具有层次关系的资源,则直接采用域名和路径的U R I对其命名,格式为h t t p// hostname/{path1} [/{path2}/{…}],如某期刊论文列表的URI为:http://hostname/journal/paperlist,而该列表下某篇论文的URI为http://hostname/journal/paperlist/11,11通常为该论文在数据库对应表中的唯一标识。而对于同一个URI,使用同一个方法,但仅请求其中部分资源的情况,一般通过在原URI的基础上增加URI参数的方法来对该资源命名,格式为http://hostname/{path1}[/ {path2}/{...}]?{para}={value}[&{para}={value}.....],如以REST为关键词对论文列表进行查询得到的资源,其URI为http:// hostname/journal/paperlist?keyword=REST。

②确定资源功能:资源的功能实际上在资源分析阶段已经确定,此处主要是对其功能进行分类,并与HTTP的请求方法做关联。由于一个URI通常只对应四个功能方法,因此在面对同一个URI,同一个HTTP方法时,通常使用请求参数来实现更多的功能,添加参数后获得的资源可以视为原资源的衍生资源,如所有论文列表和检索到的论文列表。

③设计资源表示:根据资源的功能,设计服务器返回的数据格式及内容,对于普通用户采取HTML作为资源表示格式;而对于程序,则选择具有自描述性的XML或JSON作为资源表示格式。

④连通资源:将各资源按照业务流程链接起来,以体现完整的业务处理过程,一般通过超链接和表单来实现。超链接即资源的URI,在一个资源表示中加入其他资源的URI,即可跳转到其他资源表示,实现连通。而表单则是普通的HTML表示,其连通作用主要体现在提交时页面的定向功能。超链接适用于资源的只读请求,如查看资源;而对于需要与用户交互的资源请求则通过表单来实现,如资源的创建、资源的条件检索等。

(3)第三阶段:资源实现

资源实现阶段主要是根据设计好的资源,按照图2所示模型,选择相关的编程语言、工具及数据库逐层进行开发实现。其中关于RE ST引擎和资源的实现,可通过Restlet[16]框架来实现。

4 实验分析

本文使用Java语言、Restlet框架和MySQL数据库,以文献管理为业务实例开发了主数字图书馆、辅数字图书馆及一个独立程序客户端,用于验证本文提出模型和方法的有效性,其中主数字图书馆文献资源的获取是测试的重点。

(1)主数字图书馆运行测试

主数字图书馆为面向资源架构的数字图书馆,以REST方式进行文献数据的增加、修改、删除和查询操作。运行后,所有文献的URI为http://localhost:8080/dl/resource/papers,单个文献的URI为http://localhost:8080/dl/ resource/papers/{paperid},其中paperid是文献在数据库表中的唯一标识。在浏览器中输入所有文献URI,则显示所有文献数据。

经测试,向所有文献URI发送POST请求,可成功发布新文献,而针对单个URI发送GET、PUT或DELETE方法,则可以成功获取、更新或删除文献。

(2)辅数字图书馆运行测试

辅数字图书馆可视为用户馆,为一般的Web系统,主要用于获取主数字图书馆的文献数据,辅数字图书馆包含有获取远程数据的按钮,点击该按钮,可成功获取主数字图书馆的所有文献;点击标题,也可以成功获取对应的详细信息。

(3)独立程序客户端运行测试

独立程序客户端则为普通的桌面程序,主要用于验证独立程序通过HTTP协议,能否实现对主数字图书馆文献资源的CRUD操作。运行后,在地址栏输入所有文献的URI,点击其中获取资源按钮,同样可以成功获取所有文献数据。而在地址栏输入http://localhost:8080/dl/ resource/ papers/17,点击删除资源,也可以成功从主数字图书馆中删除对应的文献。对资源的增加和修改操作也可按照相似的方式顺利完成。

5  结 语

本文针对大数据时代现有数字图书馆在资源共享方面的不足,引入面向资源架构理论,构建了面向资源架构的数字图书馆模型,给出了相应的开发方法,并开发了三个相互独立的模拟系统对提出的模型、方法及功能进行实验验证。实验表明,面向资源架构的数字图书馆,其数据管理遵循标准的HTTP协议,不论何种形式的系统或程序,通过HTTP协议均能获取其数据,而在授权许可下,也可以通过HTTP协议对其数据执行CRUD操作。这一特点可使得数字图书馆资源开放,从而为构建数字图书馆联盟,消除资源孤岛,实现一定范围的数字资源共享创造便利条件。然而实验选择的文献管理仅是数字图书馆的一小部分,要实现一个功能完整的数字图书馆,还需要考虑多种业务,以此构建图书馆联盟更是一项复杂的工作,这将成为下一阶段的研究重点。

[1]朱强. 数字图书馆:21世纪图书馆的原型——美国“数字图书馆创始”计划简介[J]. 大学图书馆学报, 1995(4):50-54.

[2]Santos R L T, Roberto P A, André Gon alves M, et al.A Web Services-Based Framework for Building Componentized Digital Libraries[J].Journal of Systems and Software,2008,81(5):809-822.

[3]唐明伟,卞艺杰, 陶飞飞. RESTful架构下图书管理系统的研究与实现[J]. 现代图书情报技术, 2010(9):84-89.

[4]Meghini C, Spyratos N, Yang Jitao.A Data Model for Digital Libraries[J].International Journal on Digital Libraries, 2010,11(1):41-56.

[5]Angel Garcí a-Crespo, Juan Miguel Gó mez-Berbí s, Ricardo Colomo-Palacios.Digital Libraries and Web 3.0:The CallimachusDL Approach[J].Computers in Human Behavior,2011,27(4):1424-1430.

[6]喻昕, 王敬一. 基于云计算机技术的数字图书馆云服务平台架构研究[J]. 情报科学, 2011,29 (7):1049-1053.

[7]欧石燕. 面向关联数据的语义数字图书馆资源描述与组织框架设计与实现[J]. 中国图书馆学报, 2012,38(6):58-71.

[8]贺德方. 基于语义的数字图书馆服务创新[J]. 情报学报, 2012,31(10):1012-1017.

[9]Maurer H, Mueller H.Can the Web Turn into a Digital Library?[J].International Journal on Digital Libraries,2013,13(2):65-75.

[10]席彩丽. 基于语义Web的CallimachusDL模型研究[J]. 图书馆学研究, 2013(3):33-37.

[11]Meghini C, Spyratos N, Sugibuchi T, et al.A Model for Digital Libraries and Its Translation to RDF[J].Journal on Data Semantics,2014,3(2):107-139.

[12]Fielding R T.Architectural Styles and the Design of Network-Based Software Architectures [D]. USA:University of California,2000:76-82.

[13]Richardson L, Ruby S.RESTful Web Services[M].Sebastopol:O'Reilly Media, 2007:15-21.

[14]Iskold A.Web 3.0: When Web Sites Become Web Services[EB/ OL].(2007-03-19)[2014-11-03].http:// readwrite.com/2007/03/ 19/web_30_when_web_sites_become_web_services.

[15]Battle R, Benson E.Bridging the Semantic Web and Web 2.0 with Representational State Transfer (REST)[J].Web Semantics:Science, Services and Agents on the World Wide Web,2008,6(1):61-69.

[16]Zasada S J, Chang D C W,Haidar A N, et al.Restlet, Inc.Restlet 2.2-Tutorial[EB/OL].[2014-05-06].http://restlet.org/learn/ tutorial/2.2/.

Digital Library Based on the Resource-Oriented Architecture

Now, the main trend architecture of the digital library could not meet requirements of the resource sharing and achievement in the big data era. The digital library based on the resource-oriented architecture could provide the relevant development method for it. And results of the experiment show that the data management of the digital library based on the resource-oriented architecture follows the HTTP. No matter what form of the system or program, it could all get library's data via the HTTP, and also could create,retrieve, update and delete library's data via the HTTP under the authorization.

Digital library; Resource-oriented architecture; Resource sharing

G250.76

B

*本文系江苏省教育厅高校哲学社会科学研究项目“基于面向资源架构的图书馆联盟信息共享研究”,项目编号:2013SJB870005:国家自然科学基金面上项目“面向知识服务的知识组织模式与应用研究”,项目编号:71273126的研究成果之一。

唐明伟 男,1982年生,博士,现工作于南京审计学院管理科学与工程学院,讲师。

蒋 勋 男,1980年生,南京大学信息管理学院博士后,副教授。

2014-12-29]

猜你喜欢
架构文献数字
基于FPGA的RNN硬件加速架构
Hostile takeovers in China and Japan
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
答数字
The Application of the Situational Teaching Method in English Classroom Teaching at Vocational Colleges
WebGIS架构下的地理信息系统构建研究
The Role and Significant of Professional Ethics in Accounting and Auditing
数字看G20