文/耿騫 王韜略
盤點(diǎn)數(shù)字資源整合協(xié)議
文/耿騫 王韜略
網(wǎng)絡(luò)環(huán)境下的數(shù)字資源整合協(xié)議,為實(shí)現(xiàn)數(shù)字資源的有序組織、快速定位和有效揭示提供了工具和條件,為最大限度實(shí)現(xiàn)數(shù)據(jù)共享、制定資源整合和數(shù)據(jù)傳輸?shù)囊徽滓?guī)范提供保證。
數(shù)字資源整合是指依據(jù)一定的需要,通過(guò)數(shù)字資源無(wú)縫鏈接系統(tǒng),將不同來(lái)源和不同通信協(xié)議的數(shù)據(jù)融合,使不同類型、不同格式的數(shù)字資源實(shí)現(xiàn)無(wú)縫鏈接,將眾多相對(duì)獨(dú)立的數(shù)字資源按照它們之間的內(nèi)在聯(lián)系進(jìn)行重組,形成統(tǒng)一的、高效利用的數(shù)字資源環(huán)境。通過(guò)整合的數(shù)字資源系統(tǒng),具有集成檢索功能,是一種跨平臺(tái)、跨數(shù)據(jù)庫(kù)的資源體系。數(shù)字資源整合目的是在于提升網(wǎng)絡(luò)環(huán)境下不同結(jié)點(diǎn)的數(shù)據(jù)之間的關(guān)聯(lián)度,解決信息孤島問(wèn)題,向終端用戶提供一站式服務(wù),用戶在統(tǒng)一的集成界面中檢索、瀏覽和使用所有數(shù)字化資源,從而提高系統(tǒng)資源的利用效率。
基于邏輯視圖的虛擬化整合策略的特點(diǎn)是對(duì)各個(gè)分散的數(shù)據(jù)源進(jìn)行邏輯視圖上的虛擬集成,不要求對(duì)數(shù)據(jù)進(jìn)行集中存儲(chǔ)。為了滿足適用于不同場(chǎng)景的數(shù)字資源整合的需求,人們制定了多種協(xié)議對(duì)資源進(jìn)行鏈接。數(shù)字資源整合的效率和優(yōu)度,在很大程度上依賴于各應(yīng)用協(xié)議對(duì)資源的組合聯(lián)系程度,相關(guān)協(xié)議也成為數(shù)字資源整合過(guò)程中一個(gè)值得關(guān)注的重要問(wèn)題。
數(shù)字資源整合的前提不要求資源實(shí)體存儲(chǔ)的一致性,在其研究發(fā)展過(guò)程中,人們制定的諸多相關(guān)整合協(xié)議從資源整合的邏輯視圖上著手,對(duì)資源從數(shù)據(jù)層、中間層和功能層等層面進(jìn)行組織和關(guān)聯(lián)。
數(shù)據(jù)整合是對(duì)各異構(gòu)的、自治的外部數(shù)據(jù)源進(jìn)行收集、組織、處理與集成,通過(guò)面向各類數(shù)據(jù)源的有針對(duì)性的抽取、轉(zhuǎn)換,消除不同數(shù)據(jù)源之間的主鍵、命名、語(yǔ)義等沖突問(wèn)題,屏蔽數(shù)據(jù)源的差異性。數(shù)據(jù)整合的結(jié)果令用戶可透明地訪問(wèn)多個(gè)數(shù)據(jù)源,使用戶以為是在操作單一的數(shù)據(jù)源。
典型的協(xié)議是STARTS協(xié)議。STARTS協(xié)議是1996年由斯坦福大學(xué)數(shù)字圖書館組聯(lián)合幾家搜索引擎制造商共同在“分布式異構(gòu)資源的檢索”中設(shè)計(jì)的。此后,哥倫比亞大學(xué)于DL2項(xiàng)目中在STARTS協(xié)議的基礎(chǔ)上提出SDARTS協(xié)議,1999年,美國(guó)的康奈爾大學(xué)數(shù)字圖書館研究組利用CORBA為底層傳輸層實(shí)現(xiàn)了該協(xié)議。
STARTS為高層信息搜索建立了統(tǒng)一的查詢接口,便于對(duì)分布的文本信息進(jìn)行查詢。協(xié)議描述了如何查詢?cè)匆约斑@些源給出哪些元信息。該協(xié)議的體系結(jié)構(gòu)中包含許多資源,而每個(gè)資源又可由一個(gè)或多個(gè)資源組成,同時(shí)簡(jiǎn)單地給出關(guān)于這些源的聯(lián)系信息。一個(gè)源即一些簡(jiǎn)單文檔的集合,源與搜索引擎連接,由搜索引擎接受來(lái)自客戶端的查詢請(qǐng)求,并產(chǎn)生查詢結(jié)果。一個(gè)源可以很小也可以很大。
通常一個(gè)元搜索器或任何一個(gè)終端客戶端會(huì)向多個(gè)源提交查詢請(qǐng)求。因此一個(gè)元搜索引擎會(huì)執(zhí)行以下2個(gè)任務(wù):1.定期從各個(gè)源提取源列表,以找出哪些源可用于查詢;2.定期提取各個(gè)源的元數(shù)據(jù)與內(nèi)容概要,以判斷哪些源對(duì)于某個(gè)指定查詢是潛在有用的。在資源檢索的過(guò)程中,用戶向元搜索器發(fā)出一個(gè)請(qǐng)求,元搜索器再將此請(qǐng)求傳遞給各種資源,并將返回結(jié)果進(jìn)行整合。STARTS便于對(duì)分布的文本信息進(jìn)行查詢,整個(gè)協(xié)議簡(jiǎn)單并易于實(shí)現(xiàn),具有很強(qiáng)的可擴(kuò)展性和靈活性。但為了設(shè)計(jì)簡(jiǎn)單等原因,STARTS忽略了很多重要的問(wèn)題,例如STARTS只支持對(duì)文本信息的查詢,并沒有包含進(jìn)行錯(cuò)誤處理的機(jī)制,同時(shí)也沒有考慮數(shù)據(jù)傳輸?shù)陌踩珯C(jī)制。
中間層對(duì)應(yīng)用邏輯進(jìn)行單獨(dú)處理,從而使用戶界面和應(yīng)用邏輯處于不同的平臺(tái)上,二者之間的傳輸協(xié)議由系統(tǒng)自行定義,應(yīng)用邏輯為所有用戶共享。
Z39.50
Z39.50 是關(guān)于信息檢索的ANSI/NISO標(biāo)準(zhǔn),是基于ISO的OSI參考模型的應(yīng)用層協(xié)議。它定義了兩個(gè)機(jī)器之間信息檢索的標(biāo)準(zhǔn)路徑和方法,讓用戶、信息需求者在多個(gè)大型數(shù)據(jù)庫(kù)之間信息檢索變得更加容易。Z39.50的實(shí)現(xiàn)主要有:客戶機(jī)、服務(wù)器和支持該協(xié)議的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
Z39.50的特點(diǎn)在于將用戶接口與信息源分離開來(lái),用戶不需要在各種不同操作平臺(tái)使用不同數(shù)據(jù)庫(kù)管理系統(tǒng),在不同檢索引擎的數(shù)據(jù)庫(kù)中更改檢索手段和自己的對(duì)外接口。用戶可以忽略各種不同數(shù)據(jù)源的不同點(diǎn),不必學(xué)習(xí)各種不同的檢索命令,只需要用自己最熟悉的方式,而把轉(zhuǎn)換的工作都交給Z39.50協(xié)議的一整套軟件服務(wù)去解決。因此,Z39.50是跨平臺(tái)的協(xié)議。
Z39.50協(xié)議自推出以來(lái),主要面向圖書館、博物館、信息服務(wù)領(lǐng)域、零售領(lǐng)域、咨詢等領(lǐng)域的信息檢索系統(tǒng);支持的數(shù)據(jù)類型有:各種用ISO2709傳輸?shù)臄?shù)據(jù),如UNIMARC、USMARC、CCFC、SURTS、XML數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù),文本化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)等。如圖1所示。
圖1 Z39.50 應(yīng)用結(jié)構(gòu)
OpenURL/SFX
OpenURL是一種開放鏈接的框架。SFX是OpenURL的一個(gè)具體的應(yīng)用,它通過(guò)鏈接服務(wù)器來(lái)提供鏈接服務(wù)。這種服務(wù)是信息源外部的且獨(dú)立于信息源。在互聯(lián)網(wǎng)上,用戶要使用不同的數(shù)據(jù)庫(kù),需要分別登錄不同的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行操作,即每次使用一種數(shù)據(jù)庫(kù)時(shí),都要熟悉一種新的界面和使用方法,這樣非常繁瑣。提供統(tǒng)一的數(shù)據(jù)界面是OpenURL產(chǎn)生的一個(gè)主要原因。
OpenURL是持有元數(shù)據(jù)的資源提供商和提供合適服務(wù)的服務(wù)提供商之間的連接要件,只要數(shù)據(jù)提供商能支持OpenURL語(yǔ)法,就可以通過(guò)OpenURL使上述機(jī)制的開放鏈接系統(tǒng)得以廣泛應(yīng)用。
OpenURL的兩個(gè)核心特征是開放和上下文敏感。 針對(duì)一般的URL網(wǎng)絡(luò)服務(wù)中的靜態(tài)連接和死連接的情況,OpenURL提出了一種開放鏈接的框架,在該框架中通過(guò)建立鏈接服務(wù)器提供鏈接服務(wù),并提出一套公共的OpenURL語(yǔ)法,允許信息源公開自己的鏈接接口,實(shí)現(xiàn)鏈接信息源和鏈接服務(wù)器之間的信息傳輸,從而實(shí)現(xiàn)異質(zhì)數(shù)據(jù)庫(kù)之間的互操作。
OpenURL的服務(wù)流程如圖2所示。
圖2 OpenURL服務(wù)流程
SDLIP
1999年由美國(guó)斯坦福大學(xué)、伯克利大學(xué)等合作開發(fā)了SDLIP協(xié)議(Simple Digital Library Interoperability Protocol),該協(xié)議從底層傳輸層設(shè)計(jì),通過(guò)定義公共接口來(lái)方便各個(gè)資源之間的交互,該協(xié)議注重網(wǎng)絡(luò)之間的數(shù)據(jù)傳送,采用CORBA或HTTP/DASL來(lái)實(shí)現(xiàn)。
SDLIP作為一個(gè)代理封裝外部資源,屬于分布式檢索系統(tǒng)。系統(tǒng)中各個(gè)子數(shù)據(jù)庫(kù)系統(tǒng)分別提供符合統(tǒng)一標(biāo)準(zhǔn)的信息檢索接口,執(zhí)行信息檢索時(shí)由核心系統(tǒng)負(fù)責(zé)協(xié)調(diào)各個(gè)子數(shù)據(jù)源完成檢索請(qǐng)求。
SDLIP是一個(gè)基于XML的查詢/響應(yīng)協(xié)議,工作于客戶機(jī)/服務(wù)器模式,既能支持服務(wù)器的有狀態(tài)操作,又能支持服務(wù)器的無(wú)狀態(tài)操作;既可以同步響應(yīng)查詢,又可以異步響應(yīng)查詢;不僅具有檢索元數(shù)據(jù)的功能,而且具有服務(wù)器過(guò)載時(shí)委托查詢的功能。
SDLIP協(xié)議的功能通過(guò)定義3個(gè)接口,即搜索接口、數(shù)據(jù)源元數(shù)據(jù)接口和結(jié)果訪問(wèn)接口實(shí)現(xiàn)。
客戶機(jī)程序通過(guò)搜索接口請(qǐng)求對(duì)數(shù)據(jù)源執(zhí)行搜索服務(wù),并且允許為搜索操作指定參數(shù),包括:選擇要搜索的館藏、希望立即返回的文檔個(gè)數(shù)、文檔的特性(標(biāo)題/作者/摘要等)以及與這些結(jié)果交互的時(shí)間。
數(shù)據(jù)源元數(shù)據(jù)接口允許客戶機(jī)程序查詢館藏對(duì)外服務(wù)的能力,如館藏的名稱、可供使用的查詢語(yǔ)言、文檔的特性以及可供搜索和檢索的文檔的特性等。
結(jié)果訪問(wèn)接口允許客戶機(jī)程序訪問(wèn)結(jié)果集,包括:檢索到的文檔總數(shù)、結(jié)果集可保持的時(shí)間以及對(duì)該接口所能發(fā)出的請(qǐng)求(如請(qǐng)求附加文檔) 。結(jié)果訪問(wèn)接口僅適用于能夠維持狀態(tài)的服務(wù)器,對(duì)無(wú)狀態(tài)的服務(wù)器不起作用。
SDLIP協(xié)議使用LSP(Library Service Proxy,圖書館服務(wù)代理)實(shí)現(xiàn)這三種公共接口,對(duì)一個(gè)或多個(gè)數(shù)據(jù)源進(jìn)行低層封裝。LSP隱藏圖書館網(wǎng)絡(luò)信息系統(tǒng)中信息資源之間訪問(wèn)的差異性,將這些資源通過(guò)統(tǒng)一界面提供給用戶,用戶端通過(guò)與LSP交互來(lái)達(dá)到訪問(wèn)各個(gè)數(shù)據(jù)源的目的。
功能層整合是指對(duì)信息系統(tǒng)的功能進(jìn)行重組,以實(shí)現(xiàn)新的功能或者是對(duì)現(xiàn)有功能的擴(kuò)充。功能整合的結(jié)果使分布式事務(wù)、過(guò)程在功能層面上實(shí)現(xiàn)整合。
WebService
它通過(guò)已發(fā)布的和可發(fā)現(xiàn)的接口為終端應(yīng)用程序或其他服務(wù)提供服務(wù)。服務(wù)為封裝離散的業(yè)務(wù)功能提供更好的方法。
該協(xié)議體系由以下成員構(gòu)成:
1.服務(wù)提供者為處理特定任務(wù)的軟件資源提供服務(wù)接口,它能代表業(yè)務(wù)實(shí)體的服務(wù)或者代表可重用子系統(tǒng)的服務(wù)接口。
2.服務(wù)請(qǐng)求者發(fā)現(xiàn)并調(diào)用其他服務(wù)來(lái)解決問(wèn)題。
3.服務(wù)定位器是一類充當(dāng)注冊(cè)表的特定服務(wù)提供者,允許查找服務(wù)提供者接口和服務(wù)位置。
4.服務(wù)中介者是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),產(chǎn)生由服務(wù)提供者發(fā)布的軟件接口。業(yè)務(wù)實(shí)體或者獨(dú)立的運(yùn)營(yíng)商都能代表服務(wù)中介者。
服務(wù)提供者、服務(wù)中介者和服務(wù)請(qǐng)求者通過(guò)發(fā)布、查找、綁定3個(gè)基本操作相互作用。服務(wù)提供者向服務(wù)中介者發(fā)布服務(wù),服務(wù)請(qǐng)求者通過(guò)服務(wù)中介者查找所需的服務(wù),并綁定到這些服務(wù)上。
實(shí)現(xiàn)的技術(shù)和服務(wù)標(biāo)準(zhǔn)包括:
SOAP(Simple Object Access Protocol)是分布式環(huán)境下基于XML的輕量級(jí)信息交換協(xié)議,它在請(qǐng)求者和提供者之間定義了一個(gè)通訊協(xié)議,這樣,在面向?qū)ο缶幊塘餍械沫h(huán)境中,該請(qǐng)求對(duì)象可以在提供的對(duì)象上執(zhí)行遠(yuǎn)程方法調(diào)用。
WSDL(Web Services Description Language)為服務(wù)提供者提供簡(jiǎn)單的方法,描述遠(yuǎn)程方法調(diào)用的請(qǐng)求消息和響應(yīng)消息的格式。WSDL不依賴于底層的協(xié)議和編碼要求,它提供一種抽象的語(yǔ)言,利用各自的參數(shù)和數(shù)據(jù)類型來(lái)定義被發(fā)布的操作。
UDDI(Universal Description Discovery and Integration)規(guī)范提供一組公用的SOAP API,實(shí)現(xiàn)服務(wù)中介。UDDI用于基于Web的服務(wù)創(chuàng)建、描述、發(fā)現(xiàn)和集成。
Dienst
該協(xié)議是在數(shù)字圖書館中應(yīng)用最早的協(xié)議之一。它作為計(jì)算機(jī)科學(xué)技術(shù)報(bào)告計(jì)劃的一部分,是由施樂公司Jim Davis和康奈爾大學(xué)CarlLagoze開發(fā)的分布式數(shù)字圖書館協(xié)議和體系結(jié)構(gòu)。它是一個(gè)面向文檔檢索服務(wù)的大型復(fù)雜協(xié)議,支持對(duì)自治館藏的分布式搜索。
總之,Dienst就是把運(yùn)行在分布式服務(wù)器上的單獨(dú)服務(wù)整合起來(lái),使其共同提供數(shù)字圖書館的服務(wù)系統(tǒng)。Dienst系統(tǒng)的開放式結(jié)構(gòu)是通過(guò)一個(gè)詳細(xì)定義的協(xié)議來(lái)揭示的。在實(shí)際應(yīng)用中,Dienst的各種服務(wù)可靈活組合,也可以在現(xiàn)有服務(wù)功能的基礎(chǔ)上,用其他中介服務(wù)來(lái)擴(kuò)展已有系統(tǒng)。其互操作性通過(guò)采用相同的協(xié)議或軟件結(jié)構(gòu)實(shí)現(xiàn),如圖3所示。
圖3 Dienst 交互服務(wù)
LDAP
LDAP(Lightweight Directory Access Protocol)基于C/S模式,支持TCP/IP,這對(duì)訪問(wèn)互聯(lián)網(wǎng)是必要的。LDAP的核心規(guī)范在RFC中有定義,所有與LDAP相關(guān)的RFC都可以在LDAPman RFC網(wǎng)頁(yè)中找到。
LDAP是用來(lái)訪問(wèn)存儲(chǔ)在信息目錄中的信息的協(xié)議。通過(guò)使用LDAP,可以在信息目錄的正確位置讀?。ɑ虼鎯?chǔ))數(shù)據(jù),LDAP目錄也是一種特殊的數(shù)據(jù)庫(kù),但不是關(guān)系型數(shù)據(jù)庫(kù)。大多數(shù)的LDAP服務(wù)器都為讀取密集型的操作進(jìn)行專門的優(yōu)化。因此,從LDAP服務(wù)器中讀取數(shù)據(jù)會(huì)比從專門為OLTP優(yōu)化的關(guān)系型數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)快一個(gè)數(shù)量級(jí)。正因?yàn)閷iT優(yōu)化讀取的性能,所以大多數(shù)的LDAP目錄服務(wù)器并不適合存儲(chǔ)需要經(jīng)常改變的數(shù)據(jù)。例如,用LDAP服務(wù)器來(lái)存儲(chǔ)電話號(hào)碼是一個(gè)很好的選擇,但是它不能作為電子商務(wù)站點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)器。如果需要跨平臺(tái)讀取數(shù)據(jù),數(shù)據(jù)的格式固定,并且只要滿足數(shù)據(jù)庫(kù)第一式(如果可以把數(shù)據(jù)保存在一張張卡片里,就可以很容易地把它存進(jìn)LDAP目錄里),那么考慮選用LDAP協(xié)議進(jìn)行數(shù)據(jù)的管理和訪問(wèn)將是一個(gè)不錯(cuò)的選擇。
對(duì)LDAP設(shè)計(jì)者來(lái)說(shuō),服務(wù)器與客戶機(jī)之間發(fā)送與接收信息的具體結(jié)構(gòu)已由TCP/ IP協(xié)議解決,其真正關(guān)注的是所傳輸信息所定義的邏輯結(jié)構(gòu)、目錄組織形式、操作方式以及對(duì)其的安全保護(hù)。LDAP的客戶機(jī)與服務(wù)器端的通用交互采取下面的形式:
用戶請(qǐng)求建立連接<->(采用一定的安全驗(yàn)證方法)<->服務(wù)器接受并建立session <->用戶操作<->發(fā)出檢索請(qǐng)求<->布爾條件查詢過(guò)濾器返回匹配數(shù)據(jù)<->用戶關(guān)閉session,結(jié)束對(duì)話。
通常來(lái)講,LDAP由以下模型組成:
1.信息模型:描述信息存取模式。
2. 命名模型:描述信息的組織和標(biāo)識(shí)方式。
3.功能模型:描述對(duì)信息進(jìn)行的操作。
4.安全模型:描述如何保護(hù)LDAP目錄中的信息,防止沒有授權(quán)的訪問(wèn)。
(作者單位為北京師范大學(xué)管理學(xué)院)