淺析:構(gòu)建基于WebXML的信息集成_第1頁
淺析:構(gòu)建基于WebXML的信息集成_第2頁
淺析:構(gòu)建基于WebXML的信息集成_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

淺析:構(gòu)建基于WebXML的信息集成

引言隨著計算機技術(shù),特別是Internet的不斷發(fā)展,實現(xiàn)"信息孤島"之間的集成與交互成為亟待解決的問題。在諸多解決方案中,基于多代理(Multi-Agent)的信息集成就是其中的一種。該系統(tǒng)已被認為是建造大型復(fù)雜分布式信息處理系統(tǒng)的重要技術(shù)和框架。在基于多代理的方法中,資源集成的具體操作步驟是:用戶把請求提交給搜索代理,由搜索代理對請求進行適當?shù)霓D(zhuǎn)換,發(fā)送給代理路由器;代理路由器通過鏈接,將查詢請求發(fā)送給數(shù)據(jù)庫代理;數(shù)據(jù)庫代理接受查詢請求,并進行具體的數(shù)據(jù)庫操作,然后把查詢結(jié)果返回給請求者;搜索代理對返回的結(jié)果進行識別,若存在所需的資源,則激活本地數(shù)據(jù)庫代理,對獲得的信息進行記錄,由專家系統(tǒng)對所搜集的信息進行進一步的處理。這種方法有一個明顯的缺陷,即必須明確數(shù)據(jù)庫的格式,代理才能正常工作。而XML技術(shù)則可以很好的解決這個問題。用XML進行數(shù)據(jù)集成,只需對所有的異構(gòu)數(shù)據(jù)源增加一個以XML為格式的封裝體,即在不改變數(shù)據(jù)源的前提下,用XML對數(shù)據(jù)源的定義描述字、數(shù)據(jù)源的創(chuàng)建等相關(guān)信息進行封裝。供應(yīng)鏈節(jié)點上所有數(shù)據(jù)源的封裝體納入全局的XMLSchema或DTD,并存儲在XML虛擬服務(wù)器,為系統(tǒng)檢索、定位提供服務(wù)。在XML的集成機制里,可以通過XML封裝體實現(xiàn)彼此之間的數(shù)據(jù)交互,所以不需要了解數(shù)據(jù)庫的格式,從而彌補了基于多代理的集成方法在這方面的不足。下面首先概要介紹XML的相關(guān)技術(shù),進而給出網(wǎng)絡(luò)環(huán)境下的、基于XML的信息集成方案:包括系統(tǒng)的總體框圖、層次結(jié)構(gòu)、工作過程及系統(tǒng)主要組成部分的具體設(shè)計。XML技術(shù)1、XML相關(guān)標準XML不僅僅是一種語言,廣義的XML是一系列標準的集合。圖1說明了XML及其相關(guān)標準,在圖中,中間一層是XML基礎(chǔ)標準,最下層是XML的應(yīng)用標準。XML基礎(chǔ)標準是為XML的進一步實用化制定的標準,它規(guī)定了采用XML制定標準時的一些公用特征、方法或規(guī)則。XMLSchema描述了更加嚴格定義XML文檔的方法,以便可以更自動地處理XML文檔。XMLNamespace用于保證XMLDTD中名字的一致性,以便不同的DTD中的名字在需要時可以合并到一個文檔中。DOM定義了一組與平臺和語言無關(guān)的接口,以便程序和腳本能夠動態(tài)訪問和修改XML文檔內(nèi)容、結(jié)構(gòu)及樣式。XQuery的目的是為從Web文檔中提取數(shù)據(jù),提供一種靈活的查詢機制。XPath描述如何識別、選擇、匹配XML文件中的各個構(gòu)成元件,包括元素、屬性、文字內(nèi)容等。XPointer和XLink標準,規(guī)定了有關(guān)定位、鏈接方面的內(nèi)容。CSS被用來作為XML文檔顯示的樣式標準等等。2、XML的主要技術(shù)特點XML是一種元標記語言,強調(diào)以數(shù)據(jù)為核心,這兩大特點在XML的眾多技術(shù)特點中最為突出,同時也奠定了XML在信息管理中的優(yōu)勢。XML是一種元標記語言與HTML不同,XML不是一種具體的標記語言,它沒有固定的標記符號,是一種元標記語言,是一種用來定義標記的標記語言,它允許用戶自己定義一套適于應(yīng)用的DTD。XML的核心是數(shù)據(jù)在一個普通的文檔里,往往混合有文檔數(shù)據(jù)、文檔結(jié)構(gòu)、文檔樣式三個要素。而對于XML文檔來說,數(shù)據(jù)是其核心。將樣式與內(nèi)容分離,是XML的巨大優(yōu)點。一方面可以使應(yīng)用程序輕松的從文檔中尋找并提取有用的數(shù)據(jù)信息,而不會迷失在混亂的各類標簽中;另一方面,由于內(nèi)容與樣式的獨立,也可以為同一內(nèi)容套用各種樣式,使得顯示方式更加豐富、快捷。3、DTD(DocumentTypeDefine,文檔類型定義)DTD的作用是定義允許或不允許什么在文檔中出現(xiàn)。DTD的結(jié)構(gòu):一般由元素類型聲明、屬性表聲明、實體聲明、記號聲明等構(gòu)成。一個典型的文檔類型定義文件會把未來所要創(chuàng)作的XML文檔的元素結(jié)構(gòu)、屬性類型、實體引用等預(yù)先進行規(guī)定。用戶既可以直接在XML文檔中定義DTD,也可以通過URL引用外部的DTD。DTD位XML文檔的編寫者和處理者提供了共同遵循的原則,使得與文檔相關(guān)的各種工作有了統(tǒng)一的標準?;赬ML的信息集成方案圖2給出基于XML的信息集成的總體框圖[1],是把來自供應(yīng)鏈節(jié)點上的、不同數(shù)據(jù)源(數(shù)據(jù)庫,構(gòu)件庫,領(lǐng)域知識庫)的信息通過包裝器(Wrapper)轉(zhuǎn)換成XML數(shù)據(jù),存儲在虛擬集中存儲器中,用戶通過DOM/SAX來獲取已經(jīng)轉(zhuǎn)換成XML格式的信息;同樣,用戶通過DOM/SAX接口提交的查詢命令,通過包裝器轉(zhuǎn)換成本地數(shù)據(jù)源能夠識別的數(shù)據(jù)格式進行查詢。用戶通過XML的封裝體實現(xiàn)彼此之間的交互,而不需要了解對方的數(shù)據(jù)格式。2、基于XML的信息集成的層次結(jié)構(gòu)如圖3所示,整個信息集成可以分為三個層次:其中最底層為信息抽取層,中間為中介層,最上層為用戶接口層。信息抽取層信息抽取層處于系統(tǒng)的最低層,是系統(tǒng)的數(shù)據(jù)提供者,主要功能是提取和集成分布在多個異構(gòu)數(shù)據(jù)源(數(shù)據(jù)庫,知識庫及構(gòu)件庫)上的信息。這一層采用Wrapper(包裝器)技術(shù)實現(xiàn)將一個從中介層得到的查詢,翻譯成能在經(jīng)過封裝的數(shù)據(jù)源上執(zhí)行的操作,將查詢結(jié)果抽取并打包到一個XML文檔,最后將該文檔返回給中介層。中介層中介層(MediationLayer)的主要功能有兩方面:一方面對上接受用戶通過DOM客戶端API向系統(tǒng)提交的或應(yīng)用程序發(fā)出的查詢,將其轉(zhuǎn)換成對XML的查詢,并將查詢結(jié)果返回給用戶或應(yīng)用程序;另一方面對下將XML查詢分發(fā)給各個包裝器,并將查詢結(jié)果通過DTD說明再轉(zhuǎn)換成XML格式。用戶接口層用戶接口層(UserInterfaceLayer)在中介層之上,負責將用戶的查詢命令提交給中介層,獲得并解釋查詢結(jié)果樹,并將結(jié)果顯示給用戶。XMLDOM(DocumentObjectModel,文檔對象模型)是為合法的格式良好的XML文檔設(shè)計的一套API(ApplicationProgrammingInterface,應(yīng)用程序接口),它同時定義了這些文檔的邏輯結(jié)構(gòu),訪問及操作方法。由于數(shù)據(jù)顯示與內(nèi)容分開,XML定義的數(shù)據(jù)允許指定不同的顯示方式,使數(shù)據(jù)更合理的表現(xiàn)出來。本地的數(shù)據(jù)能夠以客戶配置,使用者選擇或其他標準決定的方式動態(tài)的表現(xiàn)出來。CSS和XSL為數(shù)據(jù)的顯示提供了公布的機制。整個系統(tǒng)位于異構(gòu)數(shù)據(jù)源和應(yīng)用程序之間,向下協(xié)調(diào)各種數(shù)據(jù)源,向上為訪問集成數(shù)據(jù)的應(yīng)用提供了統(tǒng)一的模式和訪問的通用接口。系統(tǒng)為異構(gòu)數(shù)據(jù)源提供高層次的檢索服務(wù)。3、基于XML的信息集成的工作過程下面以用戶的一個信息查詢?yōu)槔?,簡要說明一下信息系統(tǒng)的工作過程:用戶通過DOM向系統(tǒng)提交信息查詢命令;虛擬集中存儲器區(qū)分各個XML查詢命令,并且將其發(fā)送到適當?shù)腤rapper包裝器上;Wrapper包裝器負責將XML查詢轉(zhuǎn)換成本地數(shù)據(jù)源能識別的語言,并在數(shù)據(jù)源中進行查詢;查詢結(jié)果根據(jù)DTD說明在轉(zhuǎn)換成XML格式并返回給虛擬集中存儲器由虛擬集中存儲器返回給DOM;通過DOM對XML文檔的處理,結(jié)合XSL技術(shù)將查詢結(jié)果顯示給用戶。4、基于XML的信息集成系統(tǒng)的設(shè)計根據(jù)基于XML的信息集成的層次結(jié)構(gòu),下面給出包裝器Wrapper組件的設(shè)計。包裝器Wrapper組件的設(shè)計信息抽取層的Wrapper組件由兩部分組成:Wrapper生成器和Wrapper實例(簡稱Wrapper)。如圖4所示,一個Wrapper位于中介層和一個數(shù)據(jù)源的中間,它通常為中介層查詢異構(gòu)信息源集合提供一個公共接口。每個Wrapper都要為某個特定的數(shù)據(jù)源制定相應(yīng)的接口,這個功能是由Wrapper生成器完成的。Wrapper生成器用于為查詢某個確定的站點或站點集合構(gòu)建Wrapper。Wrapper的輸入是用一種Wrapper規(guī)范語言書寫的規(guī)格說明,包括關(guān)于將要為之生成的Wrapper的數(shù)據(jù)源的元信息,該元信息描述了如何從一個數(shù)據(jù)源請求服務(wù)以及如何抽取和解釋從數(shù)據(jù)源返回的信息。規(guī)格說明還必須能夠表達以下內(nèi)容:數(shù)據(jù)源接口、數(shù)據(jù)模型、從用戶到數(shù)據(jù)源本地操作的查詢映射、數(shù)據(jù)源的查詢能力。通常為一個數(shù)據(jù)源生成一個有效的Wrapper所必須的信息是使用DTD來描述的。Wrapper生成器的輸出是一個可以執(zhí)行的Wrapper,該Wrapper能夠接受由Wrapper規(guī)范語言定義的查詢。下面以數(shù)據(jù)庫為例,給出對應(yīng)的Wrapper相應(yīng)的DTD:數(shù)據(jù)庫一個關(guān)系Wrapper能決定關(guān)系模型和DOM對象數(shù)據(jù)模型之間的映射。關(guān)系表的數(shù)據(jù)模式可以用三層來表示,即表--記錄--字段,因此可以很容易采用DTD來描述數(shù)據(jù)庫中關(guān)系表的數(shù)據(jù)模式。下面以兩個關(guān)系表Trait(PersonID,Name,BirthDate,Address,IdentifyId)及Treatment(TreatID,Drugname,TreatNote,PersonID)為例,他們與XMLDTD之間的映射如下:/*個人特性*/CreattableTrait(PersonIDCHAR(3),NameCHAR(10),BirthDateDATE,AddressCHAR(30),IdentifyIdCHAR(18))/*治療信息*/CreattableTreatment(TreatIDNUMBER(6,0),DrugnameCHAR(20),TreatNoteCHAR(50),PersonIDCHAR(3))<!ELEMENTTrait(Name,BirthDate,Address,IdentifyId)><!ATTLISTTraitPersonIDIDREF#REQUIRED><!ELEMENTName(#PCDATA)><!ELEMENTBirthDate(#PCDATA)><!ELEMENTAddress(#PCDATA)><!ELEMENTIdentifyID(#PCDATA)><!ELEMENTTreatment(Drugname*,TreatNote,PersonID)><!ATTLISTTreatmentTreatIDID#REQUIRED><!ELEMENTDrugname(#PCDATA)><!ELEMENTTreatNote(#PCDATA)><!-Thisfilerepresentsafragmentofatelemedicinedata-->在XML文檔與數(shù)據(jù)庫進行雙向轉(zhuǎn)化的過程中,除去最上層的根節(jié)點外,元素節(jié)點對應(yīng)數(shù)據(jù)庫中的表,屬性和元素的類型對應(yīng)表中的列,若一個元素節(jié)點為另一個元素節(jié)點的子節(jié)點,則用數(shù)據(jù)庫中的主碼和外部碼建立表之間的關(guān)系。在上面的例子中,元素節(jié)點Trait和Treatment對應(yīng)數(shù)據(jù)庫中的表,而PersonID,Name等對應(yīng)表中的列。由于節(jié)點Treatment為節(jié)點Trait的子節(jié)點,因此用PersonID與Trait建立關(guān)聯(lián)。DOM客戶端API的設(shè)計DOM全稱是DocumentObjectModel,是一個文件對象所組成的模型。它不光用于XML,最早是用于HTML的。DOM定義了一組分析元可以顯示的標準指令集,通過程序存取HTML或XML的內(nèi)容,然后通過程序中的對象集合將其顯示出來。我們可以通過創(chuàng)建Document對象,使得應(yīng)用程序得到對XML文檔進行操作的入口。進一步通過直接加載XML文檔把創(chuàng)建的這個文檔對象同實際的XML文檔關(guān)聯(lián)起來。從而將XML文檔轉(zhuǎn)換成一個DOM對象模型,為上層提供訪問服務(wù)。下面的例子結(jié)合VBScript和XMLDOM對象來生成XML數(shù)據(jù):<SCRIPTLANGUAGE=VBScript><!--Subdombml_OnClick()Setdom_xml=CreateObject("Microsoft.XMLDOM")dom_xml.async=Falsedom_xml.loadXML"<?xmlversion='1.0'?>"&_"<personalinfo>"&_"<name>"&namel.Value&_"</name>"&_"<id>"&id.Value&_"</id>"&_"<password>"&password.Value&_"</password>"&_"<email>"&email.Value&_"</email>"&_"</persom

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論