A009.doc

11-5

 

 
数字图书馆构建模式的探讨*

彭薇

(西华大学图书馆,四川 成都 610039)

    本文在分析数字图书馆体系结构的基础上,提出采用Web Service技术构建分布式数字图书馆的体系结构,同时对Web Service技术的关键技术进行了深入研究,实例证明这种模式是今后我国数字图书馆建设要着重研究和广泛采用的模式。

关键词   Web Service;数字图书馆.

1          引言

数字图书馆是一个以分布式海量数据群为支撑,基于智能技术的大型、开放、分布式多媒体信息资源库。它以统一的标准和规范为基础,以数字化的多媒体信息为底层,以分布式海量资源库群为支撑,以智能检索技术为手段,以电子商务为管理方式,以宽带高速网络为传输通道,将丰富多彩的多媒体信息以服务的形式提供给用户。数字图书馆实现了信息数字化和信息载体网络化,使人们可以克服时空局限而方便地获取所需信息。数字图书馆的功能已经大大超过了传统图书馆的范围,图书馆之间可以通过信息共享,不再重复购置,缓解或解决了图书馆购书费用严重不足、藏书空间爆满、图书利用率低等突出问题,最大限度地满足读者的阅读需求,并能带来巨大的社会效益。其主要特征是多媒体数字化资源,跨平台异构网络化存取,计算机系统分布式管理和智能化服务。

数字图书馆从信息资源采集、加工、处理、存储、发布和提供服务的每一个部分都十分复杂,尤其现在这种系统包含多个分布式、海量存储的大规模、可互操作性的异构多媒体数字资源库,拥有先进、高效、界面友好的检索系统,并且通过Internet为国内外用户提供快捷方便的信息服务。这种系统与普通提供信息的网站有很大的区别是专业性强、高效查询、跨平台、多语种、个性化定制服务的系统,为了保证建立在信息集成基础上的数字图书馆系统能够提供集成化的信息服务,数字图书馆系统需要构建可扩展的、合理的体系结构[1-4]

2          数字图书馆体系结构的演变

由于数字图书馆信息资源来源比较广,数据量非常大,信息类型也是多种多样。同时这些存储有海量信息的数据库分散在网络各地,因而体系结构普遍要求采用分布式系统,即通过InternetIntranet连接多种互异的、分散的信息资源,共同完成提供信息服务的任务。最早采用的体系结构是基于Web计算的B/S模式。整个系统由数据库服务器、Web服务器和客户机三部分组成,分别对应于数据库层、中间层(业务逻辑层)和客户层(浏览器层)。在B/S模式中,每一层支持应用程序的一个独立部分。Web服务器主要接收客户端的查询请求、进行数据处理和处理结果的发送,管理HTML构成的信息空间,提供对数据库的存取接口;数据库服务器主要负责管理数字化馆藏,包括全文数据、多媒体数据、标准的书目数据、二次文献数据、事实数据等,它通过接收Web服务器的请求,对数据进行处理,然后把处理结果传送给Web服务器;客户机通过各种网络实现与Web服务器的连接,通过浏览器访问Web服务器提供的各种功能和丰富的数字化馆藏。但是由于浏览器的功能十分有限,如果没有一种强大的第三方工具(如IntraBuilder),那么要增加浏览器查询数据的约束条件,或者要在浏览器之中加入或建立一个一对多关系的表是非常困难的,因此这种体系结构一般适合于处理逻辑比较简单的情况,显然不能满足数字图书馆发展的需要。

随着面向对象的分析、设计和编程技术的广泛运用,将面向对象的思想应用到分布环境中,分布对象计算的概念就应运而生了。目前,OMG组织制订的CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)标准与Microsoft的COM/DCOM(Component Object Model/Distributed COM,组件对象模型/分布组件对象模型)标准、Sun公司的Java RMI(Java Remote Method Invocation,Java远程方法调用)标准一起形成了分布对象计算领域的主流。其中CORBA和COM(DCOM)的应用最为广泛,这两种不同的分布式技术各有不同的优缺点,基本上Microsoft的COM/DCOM/COM+是以Windows为中心的开发环境,要求所有的功能单元或对象都是基于Windows系统平台,其中DCOM是COM的网络通信协议,DCOM用于支持COM在分布式环境下的应用。而CORBA则是平台中立的分布式技术,CORBA能够执行于Windows,Unix以及Linux等操作系统之中。当客户应用程序在使用企业对象的服务时,这些分布式技术都会让应用程序在调用企业对象时看起来就象是这些企业对象就存在于本地的机器之中一样,应用程序程序员并不需要编写复杂的网络程序代码以便调用事实上是位于远程机器之中的企业对象。基本上这两种分布式技术都是在客户端机器之中以一个特别的对象来仿真真正的远程企业对象。这样客户端应用程序就可以调用在客户端机器中仿真的对象来存取远程企业对象的服务,而当客户端仿真对象被应用过程调用时这个仿真对象再使用特定的通讯协议来真正的调用远程企业对象的服务以满足客户端应用程序的要求。数字图书馆系统一般选择CORBA,因为各个子系统通常是处于多语言、多平台的分布式异构环境,解决的主要问题是异构环境下的信息共享和互操作。这种面向组件的技术主要用于内部管理,而且RMICORBA等体系结构要求在对等体系结构间才能进行通信,即基于不同体系结构的应用系统是无法相互协作的,但是在电子商务市场中,要求所有参与者都采用同一种体系架构是不现实的,因此这种模式也存在一定的局限性。

除此之外,也有许多学者提出了基于Multi-agentMobileAgent的数字图书馆模型。这种体系结构最大特点是模块性和灵活性,整个数字图书馆主要由各式各样的Agent来构成,这样降低了数字图书馆系统的复杂性,使得系统具有可伸缩性和可扩充性;Agent具有高度的自主性,通过相互之间的协作以完成复杂的任务;可以随时增添新的Agent或撤出已有的Agent,满足数字图书馆内容和功能不断变化的需求。这种面向Agent的技术解决的主要问题是智能化协同工作,到目前为止取得的成果是:已有概念验证系统出现,尚未达到广泛应用于协同工作的成熟程度。

3          基于Web Service 的体系结构

3.1       Web Service的基本元素

基于Web Service的框架为数字图书馆提出了一种新的分布式体系结构,它可以跨越应用系统的对象体系、运行平台、开发语言等的界限,以服务的形式封装应用并对外发布,供用户调用,从而形成一个基于Web的服务共享平台,Web Service提出了一种新的面向服务的体系结构,它结合了面向组件方法和Web技术的优势。Web Service就像一个黑匣子,可以被任何应用系统,在任何地方动态访问,而不必考虑服务的具体实现。Web Service最突出的优势就在于它不像传统的组件技术那样依赖特定的对象模型协议(DCOMRMlCORBA),而是利用通用的Internet协议和数据格式来实现服务的访问,如HTTP传输协议、XML数据格式。而Web Service的请求方也可以基于任何平台,使用任何编程语言,只要它们能遵照Web Service接口的定义发送和接收消息。构成Web Service的基本元素如下:

服务。它是指提供给需求者,按一定规则使用的应用程序;它通过一种服务描述语言来描述,其描述信息和访问规则被发布到注册服务器上。

服务提供方。从商务角度看它是指服务的所有者,从体系结构上看它是指提供服务访问的平台。

服务请求方。从商务角度看它是指需要特定功能的企业,从体系结构上看它是指查找和调用服务的客户端应用程序。

服务注册库。它是指用来存储服务描述信息的信息库。服务提供方在这里发布他们的服务;服务请求方在这里查找服务,获取服务的绑定信息。

3.2       Web Service的基本操作

发布。只有可以被用户发现并使用的服务才能真正发挥其作用,因此首先需要做的是对服务进行一定描述并发布到注册服务器上。在发布操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述信息进行发布和修改。

查找。服务发布之后,需要解决的问题是如何使服务能够被发现,因此注册服务器需要提供规范的接口来接收服务请求方的查询请求。在查找操作中,一般包含两种查找模式:一种是浏览模式,即服务请求方可以根据各种国际通用的行业分类标准来浏览或者通过一些比较宽泛的关键字来搜索,并逐步缩小查找的范围,直到找到满足需要的服务,查找结果一般是一系列服务的集合;另一种是直接获取模式,即通过唯一性的关键字直接得到特定服务的描述信息,其查找结果是唯一的。

绑定。最后需要解决的问题是如何实现对服务的调用。在绑定操作中,服务请求方通过分析从注册服务器中得到的服务绑定信息,可以知道调用该服务所需的详细要求,包括服务的访问路径、服务调用的参数、返回结果、传输协议、安全要求等,服务请求方根据这些信息对自己的系统进行相应配置,从而实现服务的远程调用。

3.3       Web Service的有关协议

   Web Service体系结构中最基本、最核心的部分是一系列开放的Internet标准。Web Service标准体系主要分为三个层次:

一是商务内容的标准。这一部分的标准主要是规范特定行业中的一些典型商务流程,统一通用的商务文档的内容和格式,如cXMLxCBL等。该类标准的制定是实现动态电子商务的基础,它们与具体的行业背景联系紧密。

二是Web Service框架实现的标准。主要规范Web Service框架实现中所面临的各类技术问题,包括服务的描述规范,发布、发现机制,消息的传输、安全等方面,从技术上来保证标准的开放性、通用性、兼容性,而与具体行业无关。

三是商务流程的标准。针对特定的商务功能,规范企业间交互时各自所扮演的角色、需要完成的功能,以及交互的顺序和期望的响应,所以有时也称为“商务伙伴合作协议”,如BPML等。这类标准不仅与具体的商务实际紧密联系,而且还要考虑到技术实现的细节,是最高层次Web Service标准,制定的难度也是最大的。

目前一大批国际企业和组织纷纷致力于Web Service各层协议标准的制定,本文主要是从技术方面来论述,不涉及具体的商务逻辑,即主要讨论Web Service框架协议(第二层协议)中影响最大的UDDI标准体系。UDDI标准体系主要包括UDDIWSDLSOAP,它们都得到了MicrosoftIBM等多家公司的支持。其协议族结构如下所示。

Interrop stack

Universal Service Interrop Protocols

(these layers are not defined yet)

Universal Discovery,Description,Integration(UDDI)

Web Service Description Language(WSDL)

Simple Object Access Protocol(SOAP)

Extended Markup Language(XML)

Common Internet Protocols(HTTP,TCP/IP)

 

 

 

 

 

 

基于SOAP的消息传输。SOAP协议最先由Microsoft公司提交给W3C组织,并于20004月通过1.0版本。它用XML来格式化消息,用HTTP来承载消息,提供了一种在无中心分布式的环境中使用XML交换结构化数据的简单轻量级通信机制。

服务描述言语WSDLWSDLMicrosoftIBMAriba三家公司在20009月推出。它定义了一种XML语法,将网络服务描述为能够进行消息交换的通信端点的集合。WSDL服务定义为分布式系统提供了文档,并且可用于自动执行应用程序通信中所涉及的细节,它取代了过去Microsoft提出的SCL(Service Contract Language)IBMNASSL (Network- Accessible Service Specification Language),在技术上更为成熟和通用。

服务发布与发现机制UDDIUDDI规范由MicrosoftIBMAriba三家公司在20007月提出。它是在原有Microsoft提出的DISCO(Discovery of Web Services)IBMADS(Advertisement and Discovery of Services)的基础上发展而来的.它借鉴了XMLSOAP的经验,定义了在它们之上的一个层次,提供了一种让客户端动态发布和查找Web Service的机制。通过UDDI提供的标准接口,企业可以发布自己的Web Service供其它企业查询、调用;也可以查询特定服务的描述信息,并动态绑定到该服务上;目前这三家公司正在建设基于UDDI的商务服务信息库。

3.4       应用实例

以下(如图1)是基于Web Service技术的文献检索模块实例,用户通过IE等浏览器向文献检索站点发出检索请求,启动文献检索站点上Web Service服务(即文献检索程序),该服务完成相应检索项目在数据库中的检索,把结果转换成XML形式并传递给用户。