开放数字图书馆的设计与实现:CSDL的实践,本文主要内容关键词为:数字图书馆论文,CSDL论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中国科学院国家科学数字图书馆(Chinese Science Digital Library,CSDL)是基于开放体系结构的数字信息系统,它通过开放集成各种分布、异构和多样化的数字信息资源和服务系统,动态构建满足各类用户需要或业务流程要求的虚拟信息服务机制。本文讨论CSDL开放结构的设计原则和实现方法。
1 CSDL开放应用环境
CSDL服务于中国科学院遍布全国的分布和移动的研究人员,其用户环境以及与之对应的资源和服务环境决定了CSDL必须是一个开放机制。
(1)多数用户从事前沿研究,因此所需要的将主要是国际化和多样化的信息资源与服务,这些资源和服务往往由众多的独立的第三方提供,且往往是分布、异构、自主和不断变化的。
(2)多数用户不仅物理上是分布和移动的,而且其需要的主题内容和资源类型,接人的地域或机构,要求的服务与过程等,普遍存在多样化和多变性,需要能以多样化、分布、动态的逻辑视角和接入途径接入数字图书馆系统,并按照这样的视角和途径来组织和利用分布的资源与服务。
(3)为适应不同逻辑视角和接入途径对资源和服务的有效利用,需要通过开放的集成服务机制,按照学科、专业、研究课题、个人需要等来发现、调用和集成相关的资源和服务,将纷杂的资源与服务体系多角度和多层次地组织成面向各个应用视角(而不是面向资源)的逻辑信息服务机制。
(4)为了进一步保障逻辑信息服务机制对于具体用户的针对性和有效性,需要对资源与服务进行个性化的析取、嵌套、转换和组合,按照用户的具体需要及其变化、基于用户的知识体系或业务流程来定制个性化信息服务系统。
面对这样的复杂环境,我们需要建立一种开放机制,充分容纳现在和未来的分布的资源与服务,健壮地支持对它们的动态集成与定制,保障CSDL及其各个部分的可动态组织、可集成定制、可互操作和可持续发展。
2 CSDL开放体系结构的基本设计原则
支持上述要求的CSDL体系需要新的构架范式,这主要体现为以下设计原则:
(1)模块化(Modularity)。指数字图书馆体系中的任何一个资源或服务系统都只是整个体系中的一个模块,可作为独立系统支持特定的资源或服务,但更应能够被集成到别的模块中成为别的系统或服务的一个部分,从而支持不同模块的多种组合甚至动态组合。例如,一个数据库系统可以独立地提供网络化服务,同时又可被集成到某个或若干个学科信息门户中作为整合数据库的一部分,而学科信息门户本身又可能被集成或部分集成到别的学科信息门户中。整个体系没有“中心系统”或者固定层次,所有模块在逻辑和技术上都平等,甚至CSDL本身或其中某个集合(甚至某个动态集合)也可以看成是一个模块,被集成到研究所数字研究平台、用户数字图书馆或者其他数字图书馆系统中。
(2)开放集成(Open Integration)。指任何模块在集成资源与服务时(这时这个模块称为组织模块),都将这些被集成的资源或服务看成逻辑上独立的第三方模块,集成或链接的方式都通过标准的开放的调用、转换和表现机制来实现,与具体位置和系统平台无关,从而支持对分布资源与服务的开放和动态集成,尽管其中某些(甚至所有)资源与服务就在组织模块的本地系统上。开放集成既适用于按照内容组织体系横向集成资源与服务,也适用于按照业务流程纵向集成资源与服务。
(3)开放服务(Open Services)。指数字图书馆体系中的各种集成定制服务系统以及知识组织、使用管理、知识产权管理、使用支付等服务机制,本身也应尽可能地作为整个体系的公共第三方服务模块,可以被接入、调用、配置和修改,从而支持这些服务模块的共享、定制和嵌套,支持灵活地利用这些服务机制构建新的集成系统和服务流程。例如,个性化定制服务系统本身的用户需求描述、定制模板描述、定制资源描述等都可用标准语言和规范模板描述,从而支持修改、移植和共享,并在此基础上支持动态定制(即根据用户检索获取资源的情况来动态修改定制机制)和协作定制(即根据相关用户检索获取资源的情况来共同地修改定制机制)。
(4)可伸缩与可扩展(Scalability and Extensibility)。指在充分承认数字图书馆体系结构本身是一个“移动目标”的情况下,在数字图书馆体系的技术方法和系统构建上,争取在统一核心机制和标准扩展方法的基础上,能够通过逐渐叠加、集成或扩展不同的技术方法、系统模块或数据内容,健康地适应从简单系统到复杂机制的不断发展。例如,设计学科信息门户时充分考虑构建开放的核心集成机制,通过这个机制灵活地嵌入和集成各种资源系统,同时可嵌入和集成作为独立第三方服务的个性化定制、知识产权管理等服务系统,从而根据新的资源与服务发展来不断扩展自己的能力。其实,由于学科信息门户(或其中部分)又可作为一个模块被集成到别的信息门户中,从而可保障整个体系的伸缩性和扩展性。
3 CSDL开放体系结构的主要技术方法
为了有效实现CSDL开放体系结构,我们引入了一系列的技术与方法。
3.1 开放描述与开放封装(Open Description and Wrapping)
开放描述指数字图书馆体系中的各个模块及其构成的资源或服务系统,应该利用标准定义语言和规范元数据机制来逻辑地表示自己,支持这些表示信息的公共发布、开放搜寻和自动解析,从而支持第三方模块对这些表示信息的搜寻、解析、转换,并在此基础上支持对分布的资源和服务的发现、集成和整合。开放描述所形成的描述文件置于本系统公知位置或递交公共登记系统,第三方系统可以搜寻这些描述文件,按照开放语言规则进行解析和识别,实现系统间的互操作。
开放描述涉及的描述对象包括内容格式、信息对象、资源集合、知识组织机制、管理机制、服务过程、系统检索界面、系统数据交换格式及其封装协议、传输协议等。利用开放语言和规范方式来定义、描述、标记和封装这些内容,描述结果为广义元数据,其本身格式和语义都可基于开放语言来识别和解析,支持软件代理自动解析和理解元数据内容(图2)。
对于本身没有开放描述的其他系统,将通过基于开放描述的封装代理(Wrappers)为它们建立开放接口,并在登记系统中登记这些封装代理,从而使所有支持开放描述的系统能够利用开放描述机制发现和调用这些封装代理,与那些本来不支持开放描述的系统进行互操作。
开放描述并不要求采用统一的具体格式,而是规定应遵循的基本原则、底层标记方法和语义表示方法、扩展方式、转换机制等。不同系统可以在此基础上采用或定义符合自己需要的具体格式来描述实际内容,在保障各个系统特殊需要和本地控制的同时,支持描述信息的开放搜寻、识别和解析。
3.2 分布服务机制(Distributed Web Services Mechanism)
在CSDL体系内,凡是具有公共服务性质的功能系统都在逻辑上被作为独立的第三方服务系统看待,支持其他系统对它们的调用、集成或定制。为此,CSDL将建立若干公共服务登记系统,例如数字资源系统登记系统、开放软件与工具登记系统、元数据规范登记系统、分布服务登记系统等,其他系统可以通过对登记系统的检索来发现所需要的服务。登记系统所登记的信息可以是简单的描述信息,也可以是基于开放语言和规范格式的广义元数据。登记系统可能支持不同层次的功能,例如简单登记系统可仅支持人工登记和检索,一般登记系统可支持自动登记和开放检索,复杂登记系统可通过各种登记信息的关联处理支持元数据内容的自动解析和服务系统的自动配置。
作为第三方服务系统的功能系统(例如开放集成系统、元数据转换系统、使用管理系统等),为支持其他系统对自己的调用、集成和定制,一方面需要通过开放描述方式来保障自己系统的各层次描述信息能够被其他系统发现和识别,另一方面需要逻辑地设计自己的系统框架和设置语言来保障自己系统能够按照不同专门应用环境的需要进行定制。
分布服务的发展趋势是Web Service机制,利用基于XML的开放语言实现将信息系统作为一个整体的规范描述,利用登记系统实现这些描述信息的公共登记和开放搜寻,通过开放协议支持基于规范描述的信息系统调用,利用对这些系统的开放调用实现信息系统的复用,也避免了多个系统独立地开发相似的但往往不能互操作的功能模块。不过,由于Web Service技术正在发展,也由于CSDL本身资源与服务建设的渐进性,CSDL将从基本的开放描述和简单的公共登记与查询开始,逐步加深各模块系统的开放描述程度,逐步建立描述信息的自动发布与登记功能,逐步完善公共登记系统的开放搜寻、检索与配置能力。
3.3 多层开放集成机制(Layered Open Integration Mechanism)
由于开放集成所涉及的对象(资源或系统)以及所形成的集成服务会千差万别,需要采用灵活的集成机制来形成满足不同资源与服务环境、可逐步扩展、可相互交互的健壮的集成服务。为此,CSDL将利用多种集成策略及相应技术来逐步推进开放集成。
例如,对于存储数字对象的资源系统,将采用OAI模式。各独立资源系统以公共元数据格式(例如Dublin Core)提供自己存储的数字对象的元数据(也可将本地元数据转换为公共元数据格式),支持元数据检索服务系统通过OAI元数据搜寻协议来搜寻、组织这些元数据并提供公共检索。
对于数据库类的资源,例如学科网络资源导航库、文摘索引数据库、OPAC系统等,将建立开放整合检索机制,利用开放语言定制检索对象数据库及其基本信息描述、格式描述、检索指令描述、系统捆绑方法等,利用开放语言描述检索语言转换、数据格式转换、结果归并、结果显示等方法,支持对动态组合的多个数据库的跨库检索。
对于基于门户的多种资源与服务集成,将通过基于开放描述的门户配置(开放门户)来进行集成。例如,学科信息门户将通过用开放语言描述的规范的资源描述模板对各个资源或服务的内容特征、元数据格式、组织体系、管理机制、表征要求、捆绑方式等分别进行描述,并通过逻辑的集成描述模板来描述这些被集成资源的数量、类型、相互关系和表示方法,从而通过修改集成描述模板或资源描述模板来定制集成内容和集成方式。
这些集成机制本身可作为第三方服务系统,通过开放描述形成规范的描述信息,在分布服务登记系统上发布,供用户和别的系统发现、解析和定制。
4 CSDL开放体系及其技术的范例
我们通过以下范例来说明CSDL的开放体系设计。
图1表示CSDL的总体开放结构,主要分为三个层次。基础层次是一系列分布的数字资源系统,包括全文期刊、文摘索引数据库、联合目录、网络资源导航库和其他资源库。它们将支持开放描述,能够通过开放协议进行互操作。该层次还包括链接第三方的数字资源,进行开放封装和规范转换,以便支持基于开放标准和开放描述的系统互操作。界面层次是多个学科信息门户,提供学科信息导航,整合学科资源和服务系统(包括网络资源、数据库、数字文献、目录与馆藏、文献传递、参考咨询、数据分析等),并支持开放描述和开放管理机制,支持学科门户间和对学科门户的开放集成定制。中介层次是一系列的公共登记系统、整合机制和第三方服务系统,其中公共登记系统中重要的是元数据规范登记系统和分布服务登记系统,整合机制可能包含开放元数据搜寻、跨系统检索和开放门户,而第三方服务包括个性化集成定制、元数据转换、整合检索等。
图1 CSDL开放体系框架
图2描述了CSDL学科信息门户体系,其中各个学科信息门户分布在网络空间,作为CSDL的多元化用户界面,针对特定的学科领域,提供权威和可靠的学科信息导航,整合学科信息资源和学科信息服务,将资源与服务集成到用户桌面。这些学科信息门户作为开放门户,通过横向集成描述框架、被集成资源描述文件、被集成资源捆绑与呈现机制等,将有关资源集成到统一的信息结构和表现机制中;通过纵向流程描述框架、流程描述文件、被集成服务描述文件、被集成服务捆绑与呈现机制等,将有关服务集成到逻辑服务流程和无缝操作中。它们还可能利用其他的第三方服务(例如智能搜索、整合检索、元数据转换、用户管理等)来帮助进行集成。
图2 分布式开放门体系
与此同时,多个学科信息门户作为分布在不同地域的对等逻辑实体,相对独立地进行组织、运行和服务,可以交叉地集成有关资源,因此一个生物化学数据库可以被集成到生命科学门户中,又可被集成到化学门户中。各个学科门户还互为第三方服务系统,一个门户可将另一个门户嵌入本门户中作为资源系统,甚至可从若干个门户中分别选择不同资源集成到自己门户。而且,各个门户通过开放描述,将描述信息及其支撑信息置于本系统公知位置或递交公共登记系统,供第三方系统进行搜寻和解析,供第三方集成定制系统,支持用户系统从自己门户资源中选择集成相关资源来构造用户门户或课题门户。
图3提出了一种开放集成定制的机制,通过开放描述语言建立用户需求描述模板,根据需求描述模板来搜寻和配置资源定制模板(这里的资源可以用唯一标识符表示,并通过捆绑描述实现与实际资源的链接),根据用户定制的呈现体系(Directory Structure)来组织所选择定制的资源,最后通过样式单描述建立实际显示结构。这里,用户可从多个资源系统中搜寻选择不同的资源,按照自己的呈现体系结构集成定制为自己所需的资源集合。搜寻方法可以是直接搜寻资源系统,利用开放搜寻机制,或直接利用公共登记系统。用户可利用共享控制描述来建立对自己各层模板的共享限制,而满足控制条件的其他用户可共享由开放语言描述的这些定制信息。
图3 开放集成定制机制
当然,CSDL开放体系设计中的许多技术与方法都正在发展中,还需要不断实验和逐步完善。我们将密切跟踪国际数字图书馆技术与实践的发展,在核心开放技术和扩展方法的基础上,递进地引入开放设计技术和建立开放体系结构。在前期,CSDL将致力于分布式开放门户建设和资源系统开放描述,并逐步支持公共服务登记和第三方开放服务系统。