数字图书馆的互操作研究,本文主要内容关键词为:数字图书馆论文,操作论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
根据US IEEE的定义,互操作性是指两个或多个系统相互使用已被交换的信息的能力。就其 本质而言,互操作性是对异质实体(包括异种体系结构、异种操作系统、异种网络和异种语 言等)中可获得资源的透明调用的能力。由于数字图书馆拥有数量巨大的异种数据库、服务 器和工作站,为了获得一致性数据和文献资源,必须解决异种数据库之间、服务器之间、工 作站之间的可互操作性问题[1]。互操作性几乎渗透到数字图书馆的每个方面,特别是在数 字图书馆的信息管理(包括信息的存储、组织与检索等)、信息提供、系统间通信、系统操作 (包括系统的初启与控制等)与资源保护(包括用户及其知识产权与信息资源)等主要方面[2] 。 传统图书馆通过复杂的系统的知识组织机制来管理与共享印刷型文献资料,数字图书馆也必 须建立某种机制来获得同样的效果。然而数字图书馆的互操作比传统图书馆复杂得多,这有 几个原因:第一,存在无数与网络、数据库和其他计算机系统互联有关的技术与工程问题。 尽管万维网(WWW)为连接世界信息资源开了个好头,但是它既不够完整也不够有序地来提供 现实的图书馆服务;第二,数字图书馆比传统图书馆提供范围更广的服务,如通过数字图书 馆的搜索引擎可以快速浏览与检索大量文献;第三,数字图书馆可供利用的信息类型与格式 将比传统图书馆多得多,如音频、视频、文本、计算机软件和其他格式信息;第四,最重要 的是数字图书馆包括大量的、松散的而且是互联的构件。由于人们对信息与信息服务需求增 长如此之快,以致于单个公司、专业组织或政府机构不可能为数字图书馆提供所有信息。因 此,互操作问题引起越来越多人的广泛重视,是目前数字图书馆建设所面临的重要问题。
2 互操作层次
数字图书馆互操作由数据传输与中间件、信息模型、信息管理、知识产权管理、社会关系5 个层次组成。这些层次依次递进,呈阶梯状,构成数字图书馆互操作的体系结构[3]。
2.1 数据传输与中间件(第一层次)
不同的数字图书馆支持不同的存取机制。数据传输层次定义了存取数字馆藏的通用机制。 各种数据以比特形式通过网络传送到中间件。中间件是网络环境中系统节点上介于应用和操 作 系统以及网络服务之间的一系列分布式服务软件的集合。它被用来为互操作提供更高级的抽 象。分布式对象模型是一种描述分布式系统的普通方式,它不仅为系统对象定义了接口,而 且提供了跨平台和网络的通信机制。目前存在一些关于分布式对象系统的标准,如CORBA、D COM、DCE等。还有建议指出,下一代的WWW协议应通过对对象的使用和操作来确定如何存取W WW内容。不过目前遵照不同协议标准建立起来的信息检索与数据库系统有不同的信息检索机 制,因此,在各种中间件技术与馆藏存取系统间建立适当的接口是实现数字图书馆互操作的 重要环节。
2.2 信息模型(第二层次)
由于中间件标准指定了对象与对象程序,互操作的下一层次就必须定义信息(对象)模型, 即要说明数字图书馆系统中存在一些什么特殊对象及其相互关系。一个数字图书馆拥有查询 对象、馆藏对象、文档对象及其他对象。在研究互操作时必须定义这些对象的特性及其操作 , 以便开发能够以统一方式而不须考虑实际所采用的馆藏存取机制或者文档格式,就能对馆藏 及其条目实现操作的数字图书馆软件。例如,通过SQL数据库引擎访问SGML编码文档数据库 与经Z39.50协议访问书目馆藏记录将视为相同的客户程序。有关使用SQL或者Z39.50的详细 说明封装在各自的馆藏对象中。斯坦福大学建立了一种称为“信息巴士”(InfoBus)的对象 模型,由图书馆服务代理器、信息资源、信息处理服务、图书馆服务和客户接口5部分组成[ 4]。图书馆服务代理器拥有广泛分布的、不同接口和属于不同组织的异构资源库,能够对不 同终端客户程序在技术可行性、适应性与异质性上实行屏蔽,因而能够对多种信息资源提供 统一存取机制。信息处理服务包括文件汇总、目录转换、资源发现工具、版权违约检测、联 机支付、权限管理、定题信息提供、结果设置分析工具、查询变换和文档注释。图书馆服务 主要提供支持功能,如查询变换、元数据工具和权限管理等。客户接口包括一个有生动图解 的拖放桌面系统和一个为盲人使用的浏览器。
2.3 信息管理(第三层次)
信息管理是数字图书馆互操作框架的第三层次,主要是管理信息而非建立与传递信息,核 心内容是信息筛选、过滤与组织。在数字网络资源类型多样化、用户与信息需求难以确定的 情况下,数字图书馆必须通过必要的管理和技术手段,为特定用户群建立有效的信息筛选、 过滤与组织机制,以便妥善处理文档。如把文本从英文译成中文,把彩色图像像素混合成黑 白 ,把格式转换成DVD,过滤E-mail信息等。
2.4 知识产权管理(第四层次)
数字图书馆是下一代因特网上扮演核心角色的知识网络。它在利用他人知识产权和公有领 域作品的基础上,会得到拥有完全自主产权的作品。数字图书馆数据库的知识产权管理主要 包括数据库结构、数据库中的信息内容、操作数据库运行的计算机软件3个方面。目前普遍 认为应对具有原创性的数据库作为版权法中的编辑作品给予保护,而对无原创性的数据库, 各国分歧较大。如“事实检索数据库”虽然缺少原创性,但因其所创造的附加价值具有实时 性和正确性,能为研究和决策提供支持,因此,丹麦、冰岛、挪威、芬兰、瑞典和墨西哥等 国将这些无原创性的数据库列入版权法的保护范围[5]。
2.5 社会关系(第五层次)
数字图书馆互操作的社会关系层次研究的是与数字图书馆中知识构造和交流相关的社会影 响、过程、实践与效应。它大体上有3种研究取向,即以人为中心的研究取向,以人工制品 为中心的研究取向和以系统为中心的研究取向。第一种取向关注的人,既可以是单个用户, 也可以是团体或社会中的成员,还可能是信息的传播者、交流者、创造者、使用者、学习者 或管理者等。第二种取向集中在创造、组织、表达、存储或检索人类交流的人工制品方面。 而以系统为中心的研究取向集中在作为系统的数字图书馆上,这种系统应能够推动用户与人 工制品的相互作用,并支持技术、内容和人之间的相互交流过程[6]。
3 互操作分类
数字图书馆互操作根据不同的标准有不同的分类,每类在特性上各有千秋。根据解决数字 图书馆界面差异的不同方法,可以将互操作分为基于界面调整的互操作和基于界面标准化的 互操作[7]。前者是为存在差异的界面搭起交互的桥梁。其基本思想是:定义一个界面转换 语言,该语言能够表达如何从服务方提交(或客户方请求)界面转换成客户方请求(或服务方 提交)的界面。后者是将提交的界面进行标准化。其基本思想是:使用一个界面描述语言, 该语言能够以独立于通用编程语言(如C、C[++])的方式定义一个界面。
根据解决数字图书馆互操作的着眼点不同,可将互操作分为面向过程的互操作和面向对象 的互操作。前者从过程调用的角度来处理互操作,要求服务方过程提供的功能与客户方过程 请求的功能必须精确地匹配。后者是以对象为着眼点来处理互操作,在对象交互的过程中保 持对象语义。它又可分为界面调整和界面标准化两种方式。界面调整是通过界面转换使客户 能够用同一界面访问具有不同界面但提供同一服务的多个服务器。界面标准化的最重要例子 是OMG的CORBA。在CORBA中,客户根据界面定义语言IDL确定相应的对象,实现所能完成的操 作以及调用它们的方法。
根据解决数字图书馆互操作软件实体接口间差异的不同,我们可以将互操作分为基于接口 标准化的互操作和基于接口桥接的互操作[8]。接口标准化方法的着眼点是统一提供服务的 实体接口。对于每个标准接口所提供的潜在功能,互操作实体均有一致的理解。这个标准接 口用一种规约语言来定义,从而将互操作实体的接口和具体实现分离开来。这个标准的接口 可以根据客户方和服务方的运行环境,自动地绑定于各自特定的环境。客户方使用这个由标 准接口产生的、符合本地环境特点的接口存取服务方服务。这种互操作方法主要有OMG的COR BA、基于规约的互操作SLI等。基于接口桥接的互操作的基本思想是:系统根据接口适配语 言自动产生处理转换的代码,并将客户方和服务方的软件成分结合起来。美国马里兰大学开 发的Polylith就是基于接口桥接的互操作系统。
随着开放分布式系统的不断成熟及Internet技术的不断发展,人们又提出了基于Agent的互 操作方法和基于Java的互操作方法来支持系统软件的互操作。基于Agent的互操作将互操作 的实体设计成Agent。它包括Agent原有的程序体、用公共的通信语言实现的通信消息、理解 和处理Agent通信消息的程序体3部分,以直接通信和间接通信两种方式来进行协作,多个Ag ent可以同时运行于不同的环境中,彼此协作来完成某个任务。基于Java的互操作的解决 方案是:(1)为网络上所有不同硬件平台和操作系统的主机加载一个Java虚拟机,(2)将Java 语言所 编写的应用程序编译成Bytecode代码,这种代码可以在不同版本的Java虚拟机上正 确地、一致地解释执行。
4 一种实现互操作的面向代理软件框架
怎样实现数字图书馆的互操作呢?在SIGAL项目中开发了面向代理软件框架SAOF(Software A gent-Oriented Frameworks)来处理分布式与异构环境下GDL(Georeferenced Digital Libra ry,全球数字图书馆)的互操作[9]。
4.1 面向代理软件框架SAOF
SAOF由一个管理程序与一组或几组软件代理(software agents)组成,如图1所示。服务由 不同软件代理组来完成。这些软件代理组包括从一系列软件代理中选择出来的各种代理。数 据银行库(bank)包含具有不同功能的多种软件代理,它们专门用来满足应用开发与信息系统 互联特性的需要。软件代理组由几个软件代理组成,并按照它们在框架中的职责有区别地组 织起来,每组有其特有的管理程序与代理角色。每个角色由一些参数来标识,如角色标签、 所要达到的目标及所提供的服务。根据这些参数,框架从数据银行库中选择合适的代理。当 用户提交某种服务请求时,管理程序代理就启动脚本程序来完成与这种服务匹配的操作。这 种交互可以在不同构件(框架、组、代理)之间来定义。
4.2 全球数字图书馆(GDL)互操作的实现机制
GDL运用SAOF来实现数字图书馆的互操作。服务器框架、客户框架与本地资源框架3部分构 成了GDL互操作的结构基础。
4.2.1 服务器框架
服务器框架(如图2所示)是面向代理软件框架的核心,由协调代理(Coordinator-Agent)、 脚本代理(Scenario-Agent)、交互代理(Interaction-Agent)、域代理(Domain-Agent)和学 习代理(Learning-Agent)组成。这组代理能够存取服务库、脚本库和实体库3类信息资源。 通 过帮助代理可以进入服务库。服务库包含用户列表和服务器框架提供的各种服务。通过脚 本代理可以进入脚本库。脚本库由表达形式、代理作用特性和代理计划几个部分构成。实体 库提供每个GDL知识的详细描述。协调代理综合管理框架启动的实现脚本。交互代理实现服 务器框架与客户框架、本地资源框架和其他框架的交互。学习代理用来获取、传送新知识。
4.2.2 本地资源框架
本地资源框架(如图3所示)把每个GDL与分布式环境联系起来,由协调代理、交互代理和知 识代理(Knowledge-Agnet)组成。协调代理指定其他代理和监控本地资源框架操作。知识代 理通过与GDL交互来获得不同代理组归结代理(Resolution-Agent)的数据请求。这些数据由 交互代理来传送。
4.2.3 客户框架
客户框架(如图4所示)由一个协调代理和一个或几个代理组组成,代理组数目依处理用户请 求的GDL数目而定。由服务器框架产生客户框架的协调代理,这种协调代理又产生主要代理 组并指定相关活动,这种活动由标识服务的实现脚本来描述。主要代理组包括接口代理(Int erface-Agent)、归结代理和交互代理,负责处理用户请求,识别所访问的GDL和实现与服务 器框架的通信。有必要的话,协调代理还可产生次要代理组。次要代理组由交互代理和归结 代理组成。不管是主要代理组还是次要代理组,必须与专门的本地资源框架交互来解决主要 代理中归结代理所指定的从属问题。