基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計

基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計

ID:11651667

大?。?04.50 KB

頁數(shù):8頁

時間:2018-07-13

基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計_第1頁
基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計_第2頁
基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計_第3頁
基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計_第4頁
基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計_第5頁
資源描述:

《基于xml的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究與設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、基于XML和Annotation的異構(gòu)系統(tǒng)數(shù)據(jù)集成方式的研究摘要:本文運用XML的強大數(shù)據(jù)表達能力以及J2EE的反射以及Annotation編程來實現(xiàn)異構(gòu)系統(tǒng)數(shù)據(jù)集成方式。該方式通過對原始結(jié)構(gòu)代碼進行簡單的標記,將不同的數(shù)據(jù)結(jié)構(gòu)串聯(lián)起來。同時在轉(zhuǎn)換的過程中將細節(jié)屏蔽起來并封裝成標準接口,用戶只需要將提供輸入以及所需要的數(shù)據(jù)結(jié)構(gòu)類型就可以方便的進行轉(zhuǎn)換。最后本文給出集成系統(tǒng)詳細的設(shè)計方法。關(guān)鍵詞:XML語言,Annotation編程,數(shù)據(jù)集成,異構(gòu)系統(tǒng)ResearchofHeterogeneousDataIntegration

2、systemBasedonXMLandAnnotationAbstract:ThispaperusesthepowerfuldataofXMLexpressionabilityandthereflectionofJ2EEandtheAnnotationprogrammingtorealizetheheterogeneousdataintegrationsystemmode.Thewayisusesthestructureoftheoriginalcodeforasimpletag,differentdatastructure

3、.Detailsintheprocessoftransformationatthesametimeandencapsulatedintoastandardinterface.Theusesonlyneedtoprovidetherequireddatastructuretypestoconversion.Attheendofthispaperitputsforwardthedesignoftheintegratedsystemindetail.Keywords:XMLlanguage,theAnnotationprogram

4、ming,dataintegration,heterogeneoussystems1.引言互聯(lián)網(wǎng)技術(shù)的不斷應(yīng)用,異構(gòu)系統(tǒng)之間訪問成為了常態(tài),業(yè)務(wù)的要求需要對異構(gòu)系統(tǒng)實現(xiàn)整合。但是在將異構(gòu)系統(tǒng)的不同實現(xiàn)整合為統(tǒng)一接口時,不同系統(tǒng)中相同數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)不盡相同可能存儲信息間有重合部分。這類問題導(dǎo)致了異構(gòu)系統(tǒng)在整合的時不光是子系統(tǒng)間的服務(wù)整合,同時數(shù)據(jù)的集成也在系統(tǒng)整合中成為了重要瓶頸。如何更好的將異構(gòu)系統(tǒng)間的數(shù)據(jù)進行整合是本文所要解決的問題。2.基于XML的構(gòu)架數(shù)據(jù)集成方法基于XML的數(shù)據(jù)集成方式有了詳盡的方法,可以通過將數(shù)據(jù)集成

5、分布到各個節(jié)點上,可以提升系統(tǒng)的擴展性和容錯性。這一節(jié)里就來具體討論如何通過XML來進行數(shù)據(jù)集成。2.1數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換本文在數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換中使用Java的Annotation這個功能。Annotation可以從源文件、Class文件或者以在運行時反射的多種方式被讀取。這里通過Annotation來標記數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)的對應(yīng)關(guān)系。首先將數(shù)據(jù)結(jié)構(gòu)分為源數(shù)據(jù)結(jié)構(gòu)與目標數(shù)據(jù)結(jié)構(gòu)。在源數(shù)據(jù)結(jié)構(gòu)中用Annotation來標記它所對應(yīng)的目標數(shù)據(jù)。這里對定制的Annotation創(chuàng)建TargetClass和TargetParam兩個屬性。Anno

6、tation將在源數(shù)據(jù)結(jié)構(gòu)中被標記,并通過如上兩個參數(shù)表明所指向的目標數(shù)據(jù)類型。2.2基于反射的數(shù)據(jù)抽取之前使用Annotation的方式來進行信息標記,下面需要對數(shù)據(jù)進行抽去,這里是一反射機制來進行數(shù)據(jù)抽取。通過下圖1可以看出數(shù)據(jù)提取的流程。首先通過獲取原始數(shù)據(jù)結(jié)構(gòu)的類對象,從而知道該結(jié)構(gòu)有什么屬性。隨后遍歷所有屬性,尋找有Annotation的屬性。隨后通過獲取Annotation的信息來獲知該數(shù)據(jù)對應(yīng)的是哪個目標類的那個屬性。并相應(yīng)的將數(shù)據(jù)和Annotation信息存儲到Map中。完成上述的流程后可以信息進行XML封裝

7、。圖1數(shù)據(jù)提取流程圖2.3基于XML的數(shù)據(jù)集成通過Annotation以及反射的方式將數(shù)據(jù)信息以及指引轉(zhuǎn)換的注釋信息進行了提取?,F(xiàn)在為了進行數(shù)據(jù)轉(zhuǎn)換,開始使用之前討論過的XML作為中間介質(zhì)進行存儲交互以及逆向結(jié)構(gòu)生成的工作。在這樣的構(gòu)架下。將數(shù)據(jù)類型轉(zhuǎn)換為XML結(jié)構(gòu)分別進行了封裝。每一個數(shù)據(jù)類型由一個類型工廠來負責(zé)進行轉(zhuǎn)換。而實際上整個XML的生成過程就是在信息抽取的遞歸框架下從不同的數(shù)據(jù)類型轉(zhuǎn)換模塊中生成數(shù)據(jù)并進行組裝。這樣一個框架使得的實現(xiàn)耦合性降低。每一個類型轉(zhuǎn)換工廠相互獨立只負責(zé)生產(chǎn)相應(yīng)類型的XML結(jié)構(gòu)。而這里將介紹

8、一下基本數(shù)據(jù)類型的。首先構(gòu)造基本數(shù)據(jù)結(jié)構(gòu)時還是遵循sourceType、targetClass和targetParam這三個屬性的原則。由相應(yīng)的factory來生成以及解析的。然后再按照之前的設(shè)計流程加以組裝。2.4目標數(shù)據(jù)結(jié)構(gòu)填充在轉(zhuǎn)換成XML之后將會就不同應(yīng)用場景來進行使用。比如可以通

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。