□文/安海寧 程子彧
(1.河北大學(xué)計算中心;2.河北金融學(xué)院 河北·保定)
構(gòu)件技術(shù)是目前流行的軟件開發(fā)技術(shù)之一。構(gòu)件是面向軟件體系架構(gòu)的可復(fù)用軟件模塊,構(gòu)件具有有用性、可用性、質(zhì)量、適應(yīng)性和可移植性等屬性。其有用性和可移植性的特點可以避免相同功能模塊的重復(fù)性開發(fā)工作,可用性和質(zhì)量的特點可以極大減少軟件測試階段的工作量?;诖耍诳紤]解決檔案系統(tǒng)互操作問題時,考慮到了構(gòu)件技術(shù)。
在數(shù)字檔案館系統(tǒng)中,可互操作的含義不僅僅是技術(shù)層面的,更多的是服務(wù)層面的。數(shù)字檔案館系統(tǒng)通過一定的技術(shù)手段屏蔽各異構(gòu)數(shù)據(jù)庫之間的差別,為用戶提供一致的檢索界面,由系統(tǒng)自動執(zhí)行跨平臺的檢索,對子系統(tǒng)不同的信息格式進行轉(zhuǎn)換,并向用戶提供最優(yōu)顯示。
目前,網(wǎng)絡(luò)上的數(shù)字檔案館是由不同機構(gòu)、組織創(chuàng)建和維護的,這就導(dǎo)致各種資源擁有自己專用的資源描述、組織和檢索系統(tǒng),各個資源間具有現(xiàn)實和潛在的互不兼容性。數(shù)字檔案館系統(tǒng)不是單門獨戶的檔案館在封閉的環(huán)境中所能建成的,數(shù)字檔案館系統(tǒng)是網(wǎng)絡(luò)環(huán)境下一個國家乃至世界范圍的信息資源庫群的建設(shè)事業(yè)。每個檔案館都有可能成為整體數(shù)字檔案館系統(tǒng)工程的組成部分。在這個前提下,可互操作問題是必然存在,也是不需要解決的。
(一)互操作問題是數(shù)字檔案館系統(tǒng)的基礎(chǔ)。互操作性是構(gòu)建數(shù)字檔案館的基礎(chǔ),他不僅是構(gòu)建數(shù)字檔案館系統(tǒng)的底層技術(shù)之一,而且涉及到數(shù)字圖書館系統(tǒng)的每一項操作。
首先,底層異構(gòu)平臺的互聯(lián)是數(shù)字檔案館系統(tǒng)存在的基礎(chǔ)。數(shù)字檔案館系統(tǒng)是依托于網(wǎng)絡(luò)的,如果底層異構(gòu)平臺的互操作都不能解決,數(shù)字檔案館系統(tǒng)也就失去了存在的前提條件。
其次,實現(xiàn)數(shù)字檔案館間的互操作是構(gòu)建數(shù)字檔案館系統(tǒng)的前提。不解決數(shù)字檔案館間的互操作問題,數(shù)字檔案館就無法進行互訪,更不用說為用戶提供統(tǒng)一的檢索界面,實現(xiàn)跨庫的無縫檢索了。
第三,互操作涉及到數(shù)字檔案館系統(tǒng)建設(shè)的方方面面。從底層的數(shù)據(jù)加工描述、數(shù)字對象的存儲,到高層的信息搜索、付費,以及權(quán)限管理,等等,都與互操作密不可分。如果各個檔案館在這些環(huán)節(jié)上不能達成一致協(xié)議,那么整個數(shù)字檔案館系統(tǒng)的互操作問題必將難以解決。
(二)數(shù)字檔案館系統(tǒng)互操作需要解決的問題。在軟件體系結(jié)構(gòu)中,互操作是有層次性,數(shù)字檔案館系統(tǒng)的互操作問題也不例外。數(shù)字檔案館系統(tǒng)的互操作性可以通過三個層面來表達。
1、技術(shù)層面的互操作。通過遵循相同的通信協(xié)議來實現(xiàn),這能夠保證信息交換的順利進行。
2、內(nèi)容層面的互操作。包括數(shù)據(jù)對象和元數(shù)據(jù)的協(xié)議,即對傳送內(nèi)容在語義解釋上保持一致。
3、組織層面的互操作。數(shù)字檔案館系統(tǒng)的訪問機制、付費機制、權(quán)限管理等遵守相同的協(xié)議,保證數(shù)字檔案館間的互操作性。
數(shù)字檔案館系統(tǒng),是面向數(shù)字檔案這一特定主題領(lǐng)域的、可供多級用戶并發(fā)使用的、集信息采集、信息整理、信息加工和信息服務(wù)為一體的智能知識服務(wù)系統(tǒng)。我們可以通過構(gòu)件技術(shù),建立一個簡單的數(shù)字檔案館系統(tǒng)互操作模型SDASIM。
(一)SDASIM模型介紹。建設(shè)數(shù)字檔案館系統(tǒng)需要對多個數(shù)字檔案館系統(tǒng)進行整合,以門戶網(wǎng)站的形式為用戶提供服務(wù)。SDASIM采用四層C/S體系結(jié)構(gòu)。第一層是瘦客戶,用戶訪問系統(tǒng)的入口;第二層是Web服務(wù)器,處理和管理讀者發(fā)來的各種HTML請求和Web內(nèi)容;第三層是應(yīng)用服務(wù)器,作為中間層提供多種服務(wù),使檔案館門戶可采集、加工、處理、存儲、組織、發(fā)布、管理和安全地訪問后端多種數(shù)據(jù)源;底層的數(shù)據(jù)庫服務(wù)器則存儲各個子系統(tǒng)的元數(shù)據(jù)。
(二)SDASIM的互操作性。SDASIM系統(tǒng)采用下面的機制來保證其互操作性:
1、應(yīng)用服務(wù)器構(gòu)件化。運用CORBA的思想把數(shù)字檔案館系統(tǒng)各項服務(wù)構(gòu)件化,保證互操作性的前提下,使系統(tǒng)易于維護,具有較好的穩(wěn)定性和可擴展性。
2、對象數(shù)據(jù)和元數(shù)據(jù)的分離。將信息分成元數(shù)據(jù)和對象數(shù)據(jù),利用元數(shù)據(jù)的共享,使得各種查詢工具可以充分發(fā)揮作用,大大提高檢索效率。
3、對各數(shù)字檔案館進行封裝。用CORBA技術(shù)封裝各數(shù)字檔案館,注冊到ORB總線上,屏蔽各成員數(shù)字檔案館的差異,為互操作提供基礎(chǔ)。
(三)SDASIM系統(tǒng)的服務(wù)內(nèi)容
1、內(nèi)容管理服務(wù)。內(nèi)容管理服務(wù)為資源加工的整個過程提供服務(wù),SDASIM系統(tǒng)提供相應(yīng)的工具幫助完成數(shù)據(jù)的標(biāo)引、分類、提交、發(fā)布。內(nèi)容管理工具分為兩類:一類是數(shù)據(jù)加工工具,包括元數(shù)據(jù)加工工具和對象數(shù)據(jù)加工工具;另一類是信息資源管理工具,包括元數(shù)據(jù)管理工具、信息資源的提交發(fā)布工具和異構(gòu)數(shù)據(jù)源管理工具。
2、數(shù)據(jù)訪問服務(wù)。SDASIM系統(tǒng)提供個性化訪問方式,通過用戶角色和個人偏好的明確定義或者觀察用戶選擇的內(nèi)容、顯示風(fēng)格變現(xiàn)出來的習(xí)慣來模糊地給用戶提交個性化內(nèi)容。在信息顯示方面,根據(jù)內(nèi)容進行分類,可以由用戶定義分類法,也可以由外部數(shù)據(jù)源自動化分類處理,支持不同的瀏覽器和操作系統(tǒng)。
3、搜索服務(wù)。主要完成對分布式資源的檢索,利用元數(shù)據(jù)來描述分布式資源,從而對分布在不同地方的資源進行檢索。除此之外,SDASIM系統(tǒng)還提供非結(jié)構(gòu)化信息的檢索。數(shù)字檔案館中大量的非文本信息或者多媒體信息屬于非結(jié)構(gòu)化信息,采用基于內(nèi)容的檢索技術(shù)難度大,技術(shù)實用性有待于提高,也可采用通過檢索元數(shù)據(jù)達到檢索對象數(shù)據(jù)的目的,比較而言,后者實施起來更加容易。為了提高服務(wù)質(zhì)量,SDASIM系統(tǒng)提供自動文摘生成,輔助用戶篩選資源。
4、安全服務(wù)。提供用戶鑒權(quán)、訪問控制、數(shù)據(jù)保密和數(shù)據(jù)一致性等功能。
5、門戶管理服務(wù)。提供圖形化管理工具,使SDASIM系統(tǒng)門戶管理員可以監(jiān)控后臺數(shù)據(jù)庫和門戶模塊的狀態(tài),設(shè)置數(shù)據(jù)庫存取方式,以及監(jiān)控用戶操作,防范和處理門戶網(wǎng)站可能受到的攻擊。
(四)SDASIM系統(tǒng)門戶網(wǎng)站的設(shè)計。
SDASIM系統(tǒng)門戶網(wǎng)站的建設(shè)選擇以CORBA技術(shù)為主,以Java為輔的技術(shù)方案:系統(tǒng)后臺利用CORBA對分布異構(gòu)的成員數(shù)字檔案館進行封裝,接插到軟總線上,評判各子系統(tǒng)間的平臺差異。面對用戶的Web應(yīng)用采用CORBA+Java,充分發(fā)揮兩種技術(shù)的長處,為用戶使用數(shù)字檔案館系統(tǒng)提供有利條件。按照該技術(shù)方案設(shè)計的站點結(jié)構(gòu)如下:
第一層為表示層,即客戶端。Java Applet可以利用Java對象請求與CORBA對象通信。具體流程是:首先,瀏覽器從Web服務(wù)器上下載網(wǎng)頁,網(wǎng)頁內(nèi)嵌Java Applet程序。當(dāng)Java Applet下載完畢,Web瀏覽器開始解析執(zhí)行Java Applet。之后,Java Applet調(diào)用CORBA服務(wù)對象。Java Applet中包含IDL產(chǎn)生的客戶存根,用它來調(diào)用對象請求中介服務(wù)器上的對象。
第二層為Web服務(wù)器,是表示層和業(yè)務(wù)邏輯層的中間層。
第三層為業(yè)務(wù)邏輯層,即應(yīng)用服務(wù)器。其是整個結(jié)構(gòu)的核心,把異構(gòu)數(shù)據(jù)源抽象成數(shù)據(jù)源對象后集成在一起供Java Applet調(diào)用。這些數(shù)據(jù)對象的實現(xiàn)為客戶端提供查詢服務(wù)、數(shù)據(jù)的基本操作、事務(wù)處理、并發(fā)服務(wù)、安全控制等操作。數(shù)據(jù)源對象間可以通過對象請求代理ORB對話通信,達到負(fù)載平衡,優(yōu)化組合分布式業(yè)務(wù)對象。
第四層為數(shù)據(jù)存儲層,由于系統(tǒng)采用CORBA技術(shù)構(gòu)建,所以后臺的數(shù)據(jù)庫可以是多種不同類型的數(shù)據(jù)庫。
整個系統(tǒng)利用Java來實現(xiàn)。把Web瀏覽器作為通用CORBA客戶端,透明地訪問后端各種CORBA應(yīng)用服務(wù)。這樣既擴張了CORBA的應(yīng)用范圍,同時也增強了Web的分布計算能力。
[1]李霞,王琦.基于軟構(gòu)件技術(shù)的業(yè)務(wù)建模平臺的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機(專業(yè)版),2010.10.
[2]張靜.校園數(shù)字化建設(shè)系統(tǒng)架構(gòu)的檔案數(shù)字化服務(wù)平臺建設(shè)[J].現(xiàn)代情報,2010.11.