胡 舟
[摘 要]在當前的網絡信息時代,信息量不僅龐大而且源自于不同的數據源,信息集成一直是研究的熱點。基于多代理(Multi-Agent)的信息資源集成方案有所 不足,而XML集成機制的優點,適于網絡環境下基于XML的信息集成。
[關鍵詞]XML 資源集成 DTD XSL Wrapper DOM
引言
隨著計算機技術,特別是Internet的不斷發展,實現"信息孤島"之間的集成與交互成為亟待解決的問題。而XML技術則可以很好的解決這個問題。用XML進行數據集成,只需對所有的異構數據源增加一個以XML為格式的封裝體,即在不改變數據源的前提下,用XML對數據源的定義描述字、數據源的創建等相關信息進行封裝。供應鏈節點上所有數據源的封裝體納入全局的 XML Schema或DTD,并存儲在XML虛擬服務器,為系統檢索、定位提供服務。在XML的集成機制里,可以通過XML封裝體實現彼此之間的數據交互,所以 不需要了解數據庫的格式,從而彌補了基于多代理的集成方法在這方面的不足。下面首先概要介紹XML的相關技術,進而給出網絡環境下的、基于XML的信息集成方案
一、XML技術
(一)XML相關標準
XML基礎標準是為XML的進一步實用化制定的標準,它規定了采用XML制定標準時的一些公用特征、方法或規則。XML Schema描述了更加嚴格定義XML文檔的方法,以便可以更自動地處理XML文檔。XML Namespace用于保證XML DTD中名字的一致性,以便不同的DTD中的名字在需要時 可以合并到一個文檔中。DOM定義了一組與平臺和語言無關的接口,以便程序和腳本能夠動態訪問和修改XML文檔內容、結構及樣式。
(二)XML的主要技術特點
XML是一種元標記語言,強調以數據為核心,這兩大特點在XML的眾多技術特點中最為突出,同時也奠定了XML在信息管理中的優勢。
XML是一種元標記語言與HTML不同,XML不是一種具體的標記語言,它沒有固定的標記符號,是一種元標記語言,是一種用來定義標記的標記語言,它允許用戶自己定義一套適于應用的DTD。
(三)DTD(Document Type Define,文檔類型定義)
DTD的作用是定義允許或不允許什么在文檔中出現。DTD的結構:一般由元素類型聲明、屬性表聲明、實體聲明、記號聲明等構成。一個典型的文檔類型定義文 件會把未來所要創作的XML文檔的元素結構、屬性類型、實體引用等預先進行規定。用戶既可以直接在XML文檔中定義DTD,也可以通過URL引用外部的 DTD。DTD位XML文檔的編寫者和處理者提供了共同遵循的原則,使得與文檔相關的各種工作有了統一的標準。
二、基于XML的信息集成方案
(一)基于XML的信息集成的層次結構
整個信息集成可以分為三個層次:其中最底層為信息抽取層,中間為中介層,最上層為用戶接口層。
1.信息抽取層
信息抽取層處于系統的最低層,是系統的數據提供者,主要功能是提取和集成分布在多個異構數據源(數據庫,知識庫及構件庫)上的信息。這一層采用 Wrapper(包裝器)技術實現將一個從中介層得到的查詢,翻譯成能在經過封裝的數據源上執行的操作,將查詢結果抽取并打包到一個XML文檔,最后將該 文檔返回給中介層。
2.中介層
中介層(Mediation Layer)的主要功能有兩方面:一方面對上接受用戶通過DOM客戶端API向系統提交的或應用程序發出的查詢,將其轉換成對XML的查詢,并將查詢結果 返回給用戶或應用程序;另一方面對下將XML查詢分發給各個包裝器,并將查詢結果通過DTD說明再轉換成XML格式。
3.用戶接口層
用戶接口層(User Interface Layer)在中介層之上,負責將用戶的查詢命令提交給中介層,獲得并解釋查詢結果樹,并將結果顯示給用戶。XML DOM(Document Object Model,文檔對象模型)是為合法的格式良好的XML文檔設計的一套API(Application Programming Interface,應用程序接口),它同時定義了這些文檔的邏輯結構,訪問及操作方法。由于數據顯示與內容分開,XML定義的數據允許指定不同的顯示方 式,使數據更合理的表現出來。本地的數據能夠以客戶配置,使用者選擇或其他標準決定的方式動態的表現出來。CSS和XSL為數據的顯示提供了公布的機制。
(二)基于XML的信息集成系統的設計
信息抽取層的Wrapper組件由兩部分組成:Wrapper生成器和Wrapper實例(簡稱Wrapper)。如圖4所示,一個Wrapper位于 中介層和一個數據源的中間,它通常為中介層查詢異構信息源集合提供一個公共接口。每個Wrapper都要為某個特定的數據源制定相應的接口,這個功能是由 Wrapper生成器完成的。Wrapper生成器用于為查詢某個確定的站點或站點集合構建Wrapper。Wrapper的輸入是用一種Wrapper規范語言書寫的規格說明,包 括關于將要為之生成的Wrapper的數據源的元信息,該元信息描述了如何從一個數據源請求服務以及如何抽取和解釋從數據源返回的信息。規格說明還必須能 夠表達以下內容:數據源接口、數據模型、從用戶到數據源本地操作的查詢映射、數據源的查詢能力。
三、DOM客戶端API的設計
DOM全稱是Document Object Model,是一個文件對象所組成的模型。它不光用于XML,最早是用于HTML的。DOM定義了一組分析元可以顯示的標準指令集,通過程序存取HTML或XML的內容,然后通過程序中的對象集合將其顯示出來。
我們可以通過創建Document對象,使得應用程序得到對XML文檔進行操作的入口。進一步通過直接加載XML文檔把創建的這個文檔對象同實際的XML文檔關聯起來。從而將XML文檔轉換成一個DOM對象模型,為上層提供訪問服務。
下面的例子結合VBScript和XML DOM對象來生成XML數據:
</SCRIPT>
<html>
<head><title>利用DOM對象來生成XML數據</title></head>
<body>
<hr>
姓名:
<Input id=namel>
<br>
用戶名:
<input id=id>
<br>
密碼
<input type=“passwordid”=password>
<br>
電子郵件
<input id=email>
<Input type=Button id=domxml value=“生成XML數據”>
</body>
</html>
四、總結
Web環境下的異構數據源的集成,特別是基于XML的數據集成問題已經成為當前計算機領域中一個重要的研究方向。XML具有簡單、開放、可擴展性、靈 活、自描述性等特點,給Internet注入了新的活力。作為數據表示的一個開放標準,XML為數據集成帶來了新的機遇。用XML作為數據交換的中介,給 系統的實現帶來了極大的靈活性。系統可以屏蔽掉后臺的多種數據源,用統一的XML格式的數據呈現給用戶。接收數據方根據XML數據的DTD可以對數據進行 任意的處理,如分解出其中需要處理的數據或是以不同的樣式來顯示。通過本系統,可以實現散布在Web上的異構數據源中的數據的無縫集成。