OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討_第1頁
OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討_第2頁
OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討_第3頁
OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討_第4頁
OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、OGSA-DAI和Flex開發(fā)數(shù)據(jù)網(wǎng)格應(yīng)用探討摘要:OGSA-DAI是一個開源的數(shù)據(jù)網(wǎng)格中間件,用于簡化對數(shù)據(jù)的訪問與集成,支持訪問關(guān)系數(shù)據(jù)庫、XML數(shù)據(jù)庫和文件目錄系統(tǒng)等數(shù)據(jù)源,但是沒有提供表現(xiàn)層解決方案。探討了利用OGSA-DA,I結(jié)合Flex設(shè)計了一個實(shí)現(xiàn)多源異構(gòu)數(shù)據(jù)庫集成的框架。?關(guān)鍵詞:OGSA-DA|Flex;異構(gòu)數(shù)據(jù)庫?中圖分類號:TP393.09文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2011)05-0094-02?掃?0引言?實(shí)現(xiàn)對分布式異構(gòu)關(guān)系數(shù)據(jù)庫訪問與集成時,常常運(yùn)用OGSA-DAI(OpenGridServiceArchitectureDataAccessAndI

2、ntegration,開放網(wǎng)格服務(wù)體系結(jié)構(gòu)數(shù)據(jù)訪問與集成)來開發(fā)。但是,OGSA-DAI沒有提供表現(xiàn)層的解決方案,允許應(yīng)用開發(fā)者自由選擇表現(xiàn)層解決方案,并通過WebServices方式與OGSA-DAI交互。Flex是目前最流行的RIA(RichInternetApplication,富互聯(lián)網(wǎng)應(yīng)用程序)解決方案之一,相比于傳統(tǒng)網(wǎng)絡(luò)應(yīng)用,擁有更加卓越的交互能力和絢麗的表現(xiàn)效果。因此采用OGSA-DAI結(jié)合Flex,充分發(fā)揮兩者的優(yōu)勢,可以大大提高開發(fā)效率。?1 OGSA-DAI和Flex特點(diǎn)分析?1.1 Flex?Flex的開發(fā)模式是基于事件驅(qū)動的,為程序開發(fā)人員提供了豐富的數(shù)據(jù)顯示或與用戶交互

3、的組件庫。Flex組件部署簡單、安全性高、擴(kuò)展靈活、交互表現(xiàn)豐富、編程容易,使程序員從繁重的界面調(diào)試中得到解脫,加快了Web應(yīng)用系統(tǒng)的開發(fā)速度。?1.2 OGSA-DAI?利用OGSA-DAI可以有效地屏蔽底層平臺的異構(gòu)性,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫的統(tǒng)一訪問,具體特點(diǎn)有:可配置性,即實(shí)現(xiàn)數(shù)據(jù)源的“即插即用”;可擴(kuò)展性,以提高數(shù)據(jù)訪問的透明性,便于維護(hù)和更新;全局?jǐn)?shù)據(jù)庫視圖。要求將網(wǎng)格環(huán)境下的多個異構(gòu)數(shù)據(jù)庫的共享信息集成為一個全局?jǐn)?shù)據(jù)庫視圖,用戶訪問多個異構(gòu)數(shù)據(jù)庫就如訪問單個數(shù)據(jù)庫一樣,實(shí)現(xiàn)分布式透明訪問;統(tǒng)一的查詢模式。要求采用同一種數(shù)據(jù)模型和查詢語言來訪問其他異構(gòu)數(shù)據(jù)庫,無需切換不同的查詢語言,就像與

4、其他異構(gòu)數(shù)據(jù)庫一樣采用的都是同一種數(shù)據(jù)模型和查詢語言,實(shí)現(xiàn)查詢的異構(gòu)性透明;各異構(gòu)數(shù)據(jù)庫自治:要求保持各單位現(xiàn)有系統(tǒng)和數(shù)據(jù)庫的正常運(yùn)行,維護(hù)各自數(shù)據(jù)庫的完整和獨(dú)立,對現(xiàn)有系統(tǒng)和數(shù)據(jù)庫盡量不做變動或少作變動。?2 實(shí)現(xiàn)方法?2.1 實(shí)現(xiàn)思路?系統(tǒng)的表現(xiàn)層主要利用Flex技術(shù)實(shí)現(xiàn),OGSA-DAI實(shí)現(xiàn)對異構(gòu)分布數(shù)據(jù)庫進(jìn)行訪問與集成。OGSA-DAI提供了3種方式與表現(xiàn)層進(jìn)行交互,分別是Web服務(wù)(支持ApacheAxis訪問)、GT(GlobusToolkit)訪問Web服務(wù)和可直接調(diào)用的JavaAPI這里選擇的是在業(yè)務(wù)邏輯中直接調(diào)用JavaAPI來實(shí)現(xiàn)OGSA-DAI進(jìn)行交互。?在Flex與OG

5、SA-DAI交互時,F(xiàn)lex使用ActionScript3.0語言實(shí)現(xiàn),而OGSA-DAI采用純Java實(shí)現(xiàn),兩種技術(shù)的交互需要一個數(shù)據(jù)類型轉(zhuǎn)換中間件來進(jìn)行轉(zhuǎn)換。在本文中,采用BlazeDS實(shí)現(xiàn)Flex的值對象(Actionscript語言實(shí)現(xiàn))與OGSA-DAI的JavaBean對象(Java語言實(shí)現(xiàn))之間的數(shù)據(jù)類型轉(zhuǎn)換。?系統(tǒng)框架主要由Flex客戶端、數(shù)據(jù)類型轉(zhuǎn)換中間件BlazeDSOGSA-DAI和全局?jǐn)?shù)據(jù)庫等4部分組成。Flex客戶端進(jìn)行頁面展示;BlazeDS負(fù)責(zé)Actionscript對象與Java對象的數(shù)據(jù)類型轉(zhuǎn)換;OGSA-DAI用來對分布的數(shù)據(jù)庫進(jìn)行訪問,并集成為一個虛擬數(shù)據(jù)

6、庫;全局?jǐn)?shù)據(jù)庫是用來對虛擬數(shù)據(jù)庫的元數(shù)據(jù)進(jìn)行管理,系統(tǒng)元數(shù)據(jù)主要包括多源異構(gòu)數(shù)據(jù)庫元數(shù)據(jù)在內(nèi)的數(shù)據(jù)結(jié)構(gòu)元數(shù)據(jù)和包含描述多源異構(gòu)數(shù)據(jù)資源在內(nèi)的數(shù)據(jù)資源元數(shù)據(jù)。為了提高系統(tǒng)開發(fā)效率,系統(tǒng)采用了hibernate框架對全局?jǐn)?shù)據(jù)庫進(jìn)行讀寫等操作,并采用spring對BlazeDs、hibernate和系統(tǒng)業(yè)務(wù)邏輯進(jìn)行集成,便于事務(wù)控制。圖2中,Web服務(wù)器、本地OGSA-DAI服務(wù)器和全局?jǐn)?shù)據(jù)庫部署在本地,是系統(tǒng)的主要組成部分。位于遠(yuǎn)程的數(shù)據(jù)庫也需要安裝OGSA-DAI服務(wù)器,其主要作用是把數(shù)據(jù)庫包裝成網(wǎng)格服務(wù)進(jìn)行發(fā)布,便于數(shù)據(jù)訪問與集成。?2.2 虛擬數(shù)據(jù)庫實(shí)現(xiàn)?從數(shù)據(jù)消費(fèi)者的角度看,虛擬數(shù)據(jù)庫是指

7、對分布式異構(gòu)數(shù)據(jù)庫的集成,給用戶提供一個全局視圖。這樣,用戶就無須關(guān)心數(shù)據(jù)庫的物理分布情況,可以像查詢一個普通數(shù)據(jù)庫一樣從這個虛擬數(shù)據(jù)庫中獲得所需要的數(shù)據(jù)。以下舉例說明虛擬數(shù)據(jù)實(shí)現(xiàn)的原理。?考慮有3個分布式數(shù)據(jù)源,一是廣州某網(wǎng)格節(jié)點(diǎn)的Oracle數(shù)據(jù)庫,其數(shù)據(jù)資源ID為GZDataResource,即RESOURCE_ID=GZDataResource此數(shù)據(jù)庫中包含有數(shù)據(jù)庫表tablel;二是南京奧網(wǎng)格節(jié)點(diǎn)的MySQL數(shù)據(jù)庫,其數(shù)據(jù)資源ID為NJDataResource,數(shù)據(jù)庫中包含有數(shù)據(jù)庫表table2。三是北京數(shù)據(jù)集成中心有一個SQLServer2005數(shù)據(jù)庫,其RESOURCE_ID=B

8、JDataResourpet匕數(shù)據(jù)庫中包含表table3;北京數(shù)據(jù)集成中心要集成這3個分布式數(shù)據(jù)庫資源,首先北京總部以Web的方式讓廣州、南京等地的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)資源注冊并把注冊信息存儲在全局?jǐn)?shù)據(jù)庫中,注冊信息主要包括URL和RESOURCE第;總部數(shù)據(jù)集成中心獲得注冊信息后,部署一個RESOURCE_ID=MyDQPDataResourceDQP資源;DQP按照其規(guī)則集成各數(shù)據(jù)節(jié)點(diǎn)創(chuàng)建一個虛擬數(shù)據(jù)庫,即可實(shí)現(xiàn)分布式透明訪問。?DQP創(chuàng)建虛擬數(shù)據(jù)庫的規(guī)則是集成后的虛擬數(shù)據(jù)庫,其數(shù)據(jù)庫表名為原數(shù)據(jù)資源RESOURCE瞰為前綴,加上下劃線“_”,再加原數(shù)據(jù)庫表名構(gòu)成虛擬數(shù)據(jù)庫中新的數(shù)據(jù)庫表名,即

9、虛擬數(shù)據(jù)庫表名=“原數(shù)據(jù)資源RESOURCE_I”D+“_”+“原數(shù)據(jù)庫表名”??梢姡谏侠?,DQP資源ID為MyDQPDataResource創(chuàng)建的虛擬數(shù)據(jù)庫中包含三個表名為GZDataResource_table1、NJDataResource_table2和BJDataResource_table3,虛擬數(shù)據(jù)庫表中的字段信息與原數(shù)據(jù)庫表保持不變。?首先,瀏覽器獲取數(shù)據(jù)資源,客戶端dataresource.mxml文件接收用戶選定的待集成數(shù)據(jù)資源,待集成的數(shù)據(jù)資源存儲于值對象integrationdataresource.as中;然后,瀏覽器接收虛擬數(shù)據(jù)庫ID及名稱(即用戶點(diǎn)擊集成),由

10、客戶端程序integrationtheme.mxml的Form組件接收并存儲于值對象integrationInfo.as中;兩個值對象通過BlazeDS交互到服務(wù)器端相對應(yīng)的integrationdataresource.java和integrationInfo.java中,服務(wù)器端程序DataIntegrationImpl.java獲取兩個JavaBean對象并通過XML解析器寫入到OGSA-DAI服務(wù)器的DQPResourceConfig.xml文件中,完成虛擬數(shù)據(jù)庫集成。?3 結(jié)束語?利用Flex卓越的表現(xiàn)力和OGSA-DAI有效地屏蔽多源數(shù)據(jù)庫的異構(gòu)性等優(yōu)點(diǎn),實(shí)現(xiàn)了對多源異構(gòu)數(shù)據(jù)庫進(jìn)行統(tǒng)一訪問,具有可擴(kuò)展性、可配置性和通用性,是解決數(shù)據(jù)集成問題的有效方法。?參考文獻(xiàn):?1 OGSA-DAI官方網(wǎng)站:OL.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論