面向服务的资源整合检索系统研究与实现

2009-11-19 09:16周朝阳王时绘
现代情报 2009年9期
关键词:数字资源

周朝阳 王时绘

〔摘 要〕本文分析了当前高校图书馆数字资源整合检索系统的现状和常见的整合方式。提出了一个面向服务架构的资源整合检索系统框架,并在图书馆应用中实现了该框架。

〔关键词〕整合检索;面向服务架构;数字资源

〔中图分类号〕G250.7 〔文献标识码〕B 〔文章编号〕1008-0821(2009)09-0175-04

Research and Design of Integral Retrieval System Based on SOAZhou Zhaoyang1,2 Wang Shihui2

(1.Library,Hubei University,Wuhan 430062,China;

2.School of Mathematics and Computer Science,Hubei University,Wuhan 430062,China)

〔Abstract〕The paper analysed present situation and normal integration mode of integral retrieval system of library digital resources.Furthermore,this article brought forward an architecture of integral retrieval system based on SOA.At the same time,the method in this article was put into practice in the library of university.

〔Key words〕integral retrieval;SOA;digital resource

随着数字图书馆建设的发展,高校图书馆已经建设了众多的数字资源系统,包括书目数据、学术期刊、学位论文、全文图书、视频图像等。这些资源系统开发的编程语言不同、部署的平台各异、软件系统的通信协议也不一样,在数据结构、发布方式、检索方式、显示风格等方面均存在差异,各资源提供商之间不能共享彼此资源,从而形成了一个一个的信息孤岛,导致用户不能对多个资源系统进行统一的信息检索。这给用户的资源查询带来了巨大的不便。因此,集成这些不同资源提供商、不同平台之间的资源系统,为用户提供一个快捷的整合检索平台的需求越来越紧迫。

1 当前整合检索系统的现状

目前馆藏资源的整合方式主要有数据级整合、应用接口级整合两种[2]。数据级整合是一种简单的企业资源整合方式,以共享或合并多种数字资源的方式实现整合。如常见的万方统一检索平台、CNKI统一检索系统等。这种整合方式的缺点是只能在单个资源提供商内部实现,不能解决不同资源异构平台之间的整合。应用接口级整合是通过调用各种资源服务系统的检索接口(API)实现资源的整合,属于面向接口的方式。如基于页面链接的统一检索系统就属于此类。这种方式的局限性在于必须要求资源提供商开放各自资源服务系统的检索接口。据笔者所知,某些重要资源就不提供开放的检索接口。此外,还出现了数据级和应用接口级相结合的混合整合检索系统。如超星读秀跨库检索系统。

从技术角度分析,面向数据级和面向接口级的整合都属于紧耦合的方式,系统之间的关联程度很高,每种方法都只适合特定的环境。整合检索系统的灵活性很差,对旧资源系统的更新、升级以及增加新的资源都会导致系统重新编整,系统的维护、扩展、更新的成本比较高昂。

本文利用面向服务架构(SOA)思想,利用XML、WebService等被广泛接受的技术,通过服务包装的形式将各资源服务系统封装为资源检索服务,利用资源检索组件进行检索流程建模,集成整合各种资源检索服务,从而解决了异构平台带来的问题,实现了面向服务的资源整合检索平台。

2 面向服务的整合检索系统设计

2.1 面向服务架构及技术

SOA是一种构建分布式软件系统的方法,是一种软件架构思想。SOA将应用程序的不同功能组件(称为服务)通过服务之间的定义良好的接口和约定联系起来,接口的定义独立于实现服务的硬件平台、操作系统和编程语言,并使各组件之间可以用统一和通用的方式进行通信。服务是粗粒度的业务功能,可以进行分布式部署和组合,可以被标准程序调用。在SOA的体系结构中,服务是一个核心概念,是把已有业务功能封装为可重用组件的具体实现方法,是接入SOA体系架构的基本单元[3]。

SOA的主要技术包括:用于描述服务的WSDL,用于定义数据格式的XML,用于信息传输的SOAP,用于连接服务的ESB,用于注册管理服务的UDDI,以及用于编排业务流程的BPEL等。

2.2 单个资源检索系统的服务封装

在构建面向服务的资源整合检索系统过程中,首先要解决的问题就是对现有的各种检索系统进行服务封装,形成可以被调用的检索服务组件。经过充分的分析比较,在当前条件下,对资源检索系统进行服务封装的最佳技术是XML web services。原因如下:

(1)XML web services以XML作为应用程序之间的数据传输格式,而XML已经受到各主要应用平台的良好支持,如SUN JAVA平台、Microsoft.NET Framework等。

(2)XML web services以http作为传输协议。http已经是绝大部分组织之间的通信协议,也可以被用作分布式环境中各应用系统间的传输协议。

(3)XML web services提供一种松耦合的方式来实现众服务间的互操作。

(4)用WSDL描述的服务接口是一个操作的集合,每个接口都定义了一个特定的信息交换模式。

如图1所示,每个用XML web services封装好的检索服务是一种粗粒度、松耦合的服务,其优点表现为:

(1)检索服务提供一种原子检索功能。这种功能可被重用、被组装,能被充分共享。

(2)检索服务具有跨平台性。封装好的服务屏蔽了各资源系统底层特定的技术平台和数据类型。在整合检索系统中,不需要关心异构平台的实现细节,只需要关注服务功能即可。通过XML web services服务封装,实现了统一标准的数据通信格式。

(3)检索服务具有松耦合性。松耦合性最大程度地减小了检索服务之间的相互关联和限制,使得整合检索系统结构灵活、扩展方便、维护工作量小。

2.3 面向服务的整合检索系统框架

本文所提出的面向服务的整合检索系统框架,在功能上能够支持丰富多样的馆藏数字资源类别,实现操作与数据的全面整合,并通过提供灵活多样的检索流程来满足用户多样的检索需求。在地域上,还能冲破馆域限制,实现馆际之间的协同整合,从而实现数字资源在更广的范围内的共知、共享。

该框架由下而上包括馆藏资源层、检索服务层、服务连接层、集成服务层、检索流程服务层、数据控制服务层和用户接口层。如图2所示。

以检索服务为核心的整合检索架构具有很好的敏捷性、灵活性以及跨平台性,并实现了服务请求者与服务提供者之间的松耦合。各层逻辑功能简述如下:

2.3.1 馆藏资源层

馆藏资源包括图书馆拥有的软件资源、硬件资源和数据资源。软件资源指各资源提供商的检索平台,硬件资源指运行这些检索平台的服务器和存储设备。数据资源指可对读者提供检索服务的数字资源。资源层提供了最基本的文献检索功能。

2.3.2 检索服务层

检索服务层是一个检索web服务的集合。这些web服务通过对各资源服务系统的检索功能进行XML web services封装得到,对外提供一个由WSDL描述的符合标准规范的接口,以供服务请求者调用。

2.3.3 服务连接层

服务连接层起到连接所有检索服务的作用。该框架中用IBM WebSphere ESB实现。连接层以“总线”这种模式来管理下层的各种服务,简化了服务之间的拓扑关系,并以开放标准的方式实现服务之间的互联互通。服务连接层的主要功能包括:管理描述服务的元数据,服务注册管理(UDDI),在服务请求者与提供者之间传递数据以及对这些数据进行适当的格式转换,发现、路由、匹配、选择所需要的服务,此外,连接层还提供安全支持、服务质量保证以及负载均衡等。

2.3.4 集成服务层

集成服务层负责对众多的检索服务进行分类集中管理。在该框架中,根据检索对象的类别属性来对检索服务分类集中管理。检索服务的分类聚集可以在总体上对检索功能进行分类,同时汇聚成功能上一致但粒度更大的服务,便于请求者调用。

2.3.5 检索流程服务层

对于资源检索系统来说,具体的检索流程是由用户的需求确定的,不同的需求对应不同的检索流程。每一个检索流程通常需要多个检索服务来协同完成。检索流程服务层的功能就是把多个集成服务类别联合起来,按照一定的逻辑顺序依次调用,满足用户对资源的检索需求。

2.3.6 数据控制服务层

目前各资源提供商收集的资源具有很大的重复性,同一种期刊或者图书可能被多家资源提供商所收录。显然,用户在检索资源时不希望看到太多重复的检索结果。数据控制服务层的功能就是过滤重复结果,编排显示序列,给用户返回理想的检索结果。

2.3.7 用户交互层

用户交互层给用户提供一个与整合检索系统交互的统一接口,为用户提供检索入口和结果展示窗口。用户交互层主要用到如PORTAL等多种门户网站技术。

3 面向服务的资源整合检索系统实现

某大学图书馆经过多年的数字图书馆建设,馆藏数字资源建设已经取得了丰硕的成果。为该校的教学、科研提供了有力的文献资源保障。该馆先后购买了CNKI的期刊、博硕论文,万方的数字期刊和学位论文、维普期刊、超星电子图书、书生图书,以及其他多种视频资源。对于众多的电子资源,如何向用户提供一个统一的检索入口,提高资源检索效率,一直是一个急需解决的问题。

该馆利用面向服务的整合检索系统框架,搭建了一个能够满足用户需要的统一检索平台。图3是该系统的结构图。该系统以经过XML web services封装的检索服务为核心,以IBM WebSphere系列软件为基础平台和开发工具,通过编排灵活的检索流程来满足用户的检索需求。在系统建设过程中,关键技术有如下几点:

3.1 服务的划分与封装

利用IBM服务建模工具以检索服务组件的形式将一个完整的资源检索过程建模。每个检索服务组件都通过接口连接。这些服务组件的具体功能实现需要从已有的资源检索系统中抽象提取出来。为了体现出服务的松耦合性、自治性和可重用性,本系统按照资源类型来划分服务,包括CNKI期刊检索服务、CNKI学位论文检索服务、万方期刊检索服务等。

服务划分好以后,需要对其进行XML web services服务封装。本系统采用黑盒再工程技术,通过适配器(adapter)来封装整合各检索功能,使其可以web services的形式被调用。封装完成后,服务提供者用文本的形式给出服务功能、接口等信息的详细说明。图4给出了CNKI期刊检索服务的WSDL描述文档截图。

在服务描述文档中,接口说明部分定义了服务接口的名称、操作名称以及参数类型等,服务部分描述了该web服务的特征关键字、提供的访问入口的部署细节等信息。服务提供者把这种用WSDL描述的标准接口提供给服务请求者调用。

3.2 服务的集成管理

检索服务WSDL文档中保存有服务特征关键字信息,在对服务进行集中管理时,根据服务特征关键字来汇聚成期刊类、论文类、图书类,建立好各具体服务到其类别的映射关联。

3.3 检索流程的编排

检索流程是由用户需求确定的,不同的检索流程需要调用不同的检索服务类别。假设检索服务汇聚为N类,则每个检索流程调用的服务类别是这N类中的一个子集类。因此,检索流程共有2N种。本系统中,检索服务汇聚为3类,故共有8种可能的检索流程。通过WebSphere Business Modeler来进行检索流程建模,生成BPEL流程。图5所示为期刊类检索的流程。各检索流程驱动相应的检索服务,进而完成检索任务。

3.4 检索结果的去重整编

每类检索的返回结果集都可能存在大量的重复结果。该系统对每类检索服务使用轮询算法,每次确定一个主体检索服务,同类其他的检索服务为辅。在筛选结果集时,以主体检索服务的结果为主,以辅助检索服务的结果为辅,运用集合运算确定最终返回给用户的结果集,确保用户的检索结果不重不漏。

3.5 在UI层,基于WebSphere Portal Server,应用多种portal技术给用户提供一个统一的检索入口

在交互界面上,除了提供多种关键字选项外,还提供资源类别选项,以供用户确定检索范围,如提供期刊、论文、图书等多种资源类型供用户选择。利用portal页面的集成功能来驱动对应的资源检索流程,满足用户的资源检索需求。

4 结束语

SOA是一种新型的软件架构思想,也为信息系统的集成提供了一种新的思路。本文在对传统的图书馆资源整合方法充分分析的基础上,提出了一种面向服务的整合检索系统架构,并付诸实践。该资源整合检索平台灵活、易于扩展,并且具有良好的跨平台、跨馆域边界的性能。是整合高校电子资源,给用户提供一站式检索服务的有效方法。

参考文献

[1]张红.SOA在高校图书馆资源整合中的应用[J].图书馆建设,2007,(6):85-87.

[2]李树全,陈志飞.基于SOA的企业资源整合软件体系结构研究[J].计算机科学,2008,35(4A):316-318.

[3]张一川,汪德帅.基于业务服务的企业遗留系统集成框架[J].计算机应用,2008,(6):263-269.

猜你喜欢
数字资源
山东省新建本科院校图书馆数字资源建设研究
美术教科书使用应把握的几个视角
图书馆员新角色
评价高校图书馆数字资源综合服务能力