學(xué)習(xí)啦 > 論文大全 > 畢業(yè)論文 > 計算機論文 > 計算機應(yīng)用 >

基于SDO的異構(gòu)服務(wù)數(shù)據(jù)模型研究

時間: 胡煒1 分享
摘要:面向服務(wù)架構(gòu)SOA是當(dāng)前解決異構(gòu)系統(tǒng)整合和應(yīng)用系統(tǒng)集成問題的理想方案。通過使用SOA中的服務(wù)數(shù)據(jù)對象及數(shù)據(jù)訪問服務(wù)技術(shù),對異構(gòu)服務(wù)數(shù)據(jù)模型進(jìn)行設(shè)計,該模型屏蔽了異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)訪問細(xì)節(jié),從而隔離了數(shù)據(jù)源與應(yīng)用層,實現(xiàn)業(yè)務(wù)邏輯與數(shù)據(jù)源的松耦合。
  關(guān)鍵詞:SOA; 服務(wù)數(shù)據(jù)對象; 異構(gòu)數(shù)據(jù)模型
  
  0引言
  隨著計算機技術(shù)發(fā)展和應(yīng)用的日益廣泛,企業(yè)積累了大量以不同形式存儲的電子數(shù)據(jù),這些數(shù)據(jù)主要以關(guān)系型數(shù)據(jù)庫、Excel文件和XML文件等格式存儲,構(gòu)成了企業(yè)的信息數(shù)據(jù)資源。對于這些根據(jù)當(dāng)時企業(yè)發(fā)展需要建立起來的分散和孤立的數(shù)據(jù),如何充分利用好這些信息資源,不僅是企業(yè)內(nèi)部數(shù)據(jù)資源整合和發(fā)展的需要,也是企業(yè)之間數(shù)據(jù)交換的需要。
  面向服務(wù)架構(gòu)SOA是當(dāng)前解決異構(gòu)系統(tǒng)整合和應(yīng)用系統(tǒng)集成問題的理想方案。它可以利用現(xiàn)有資源,實現(xiàn)跨平臺的整合,增加程序功能部件的重復(fù)利用,減少開發(fā)成本,加快新應(yīng)用的部署,降低實施風(fēng)險,促進(jìn)流程的不斷優(yōu)化,充分高效的整合現(xiàn)有資源,幫助企業(yè)順利實施信息集成。本文在對SOA體系架構(gòu)的相關(guān)理論及其技術(shù)進(jìn)行研究的基礎(chǔ)之上,依據(jù)SOA建模策略,利用服務(wù)數(shù)據(jù)對象(SDO)架構(gòu),提出并建立了一種新的異構(gòu)服務(wù)數(shù)據(jù)模型,旨在為信息訪問提供一個統(tǒng)一的數(shù)據(jù)應(yīng)用框架,實現(xiàn)對企業(yè)內(nèi)各異構(gòu)數(shù)據(jù)源的統(tǒng)一、靈活和高效的訪問。
  1相關(guān)技術(shù)介紹
  1.1SOA的概念
  面向服務(wù)的體系結(jié)構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序中的不同功能單元稱為服務(wù),并通過對這些服務(wù)之間定義良好的接口而將其聯(lián)系起來。如圖1所示:
  圖1SOA參考模型架構(gòu)圖
  圖1中服務(wù)請求者和服務(wù)提供者是SOA實現(xiàn)過程中兩種關(guān)鍵角色。其中,服務(wù)提供者指的是通過發(fā)送請求消息并處理響應(yīng)消息來提供服務(wù)的應(yīng)用程序;服務(wù)請求者指的是通過發(fā)送請求消息調(diào)用服務(wù)的應(yīng)用程序。一些服務(wù)提供者同時也是服務(wù)請求者。服務(wù)代理作為服務(wù)提供者和服務(wù)請求者之間的中介,是一個服務(wù)和數(shù)據(jù)描述的存儲庫。其中,服務(wù)提供者可以通過服務(wù)代理發(fā)布它們的服務(wù),服務(wù)請求者可以通過服務(wù)代理發(fā)現(xiàn)或查找可用的服務(wù)。服務(wù)綁定調(diào)用指的是在檢索完服務(wù)描述之后,服務(wù)請求者繼續(xù)根據(jù)服務(wù)描述中的信息來調(diào)用服務(wù)。
  1.2SDO架構(gòu)
  SDO具有一個可組合的架構(gòu)。它提供了一組核心組件和服務(wù),然后使用SDO支持的工具和框架進(jìn)行擴(kuò)展。核心SDO規(guī)范提供了適用于各種類型的數(shù)據(jù)源的基本API。
   圖2為在J2EE框架下建立的SDO技術(shù)架構(gòu)圖:
  圖2SDO技術(shù)架構(gòu)圖
  在SDO中,客戶應(yīng)用程序并不直接地連接數(shù)據(jù)源。它訪問一個叫做數(shù)據(jù)訪問服務(wù)的中介并接收響應(yīng)中的數(shù)據(jù)圖。DAS是為特定數(shù)據(jù)源種類處理技術(shù)細(xì)節(jié)的服務(wù)。它為客戶端將數(shù)據(jù)轉(zhuǎn)換成SDO。客戶端應(yīng)用程序與數(shù)據(jù)圖進(jìn)行交互來獲得數(shù)據(jù)和改變數(shù)據(jù)。為了將更新應(yīng)用于原始的數(shù)據(jù)源,應(yīng)用程序?qū)⒏逻^的圖發(fā)送回DAS,而DAS又與數(shù)據(jù)源交互。通常,運行時提供DAS的實現(xiàn),而應(yīng)用程序開發(fā)工具提供對數(shù)據(jù)圖的支持。
  2異構(gòu)服務(wù)數(shù)據(jù)模型的研究及設(shè)計
  2.1數(shù)據(jù)模型研究
  建立一個數(shù)據(jù)模型的原則,簡言之就是:根據(jù)實際情況,反映業(yè)務(wù)需要。所以,在數(shù)據(jù)模型的具體技術(shù)實現(xiàn)過程中,要考慮的兩個關(guān)鍵問題:一是數(shù)據(jù)的訪問;二是數(shù)據(jù)存儲的持久化。數(shù)據(jù)模型建立的主要目的就是實現(xiàn)數(shù)據(jù)訪問及數(shù)據(jù)傳遞,同時如何高效地存儲數(shù)據(jù)也是數(shù)據(jù)模型的重要組成部分,只有做好了這兩點,才能建立一個良好的數(shù)據(jù)模型。目前,現(xiàn)有數(shù)據(jù)模型的設(shè)計模式及實現(xiàn)技術(shù)至少有以下幾種方式:業(yè)務(wù)邏輯與數(shù)據(jù)訪問耦合模式;主動域?qū)ο竽J剑?RM模式。
  2.2異構(gòu)服務(wù)數(shù)據(jù)模型設(shè)計
  在軟件系統(tǒng)的開發(fā)過程中,可以采用以上三種模式來進(jìn)行數(shù)據(jù)模型的設(shè)計。然而,由于目前企業(yè)對業(yè)務(wù)流程提出了新的要求,即隨需而變。原有的數(shù)據(jù)模型設(shè)計模式不能很好地滿足軟件開發(fā)需要。因此,在分析比較了上述三種數(shù)據(jù)模型設(shè)計模式的基礎(chǔ)上,本文提出一種新的設(shè)計模式——自主數(shù)據(jù)模式。
  該模式以數(shù)據(jù)為中心,從物理數(shù)據(jù)庫獲取的數(shù)據(jù)將按照某種預(yù)定義的結(jié)構(gòu)存放在一個虛擬數(shù)據(jù)庫中,數(shù)據(jù)一旦從物理數(shù)據(jù)庫中取出,就具有了自主性,不受原物理數(shù)據(jù)庫結(jié)構(gòu)束縛。系統(tǒng)將對虛擬數(shù)據(jù)庫中用一種統(tǒng)一的數(shù)據(jù)視圖形式表示的數(shù)據(jù)進(jìn)行操作,該數(shù)據(jù)的任何操作與后臺數(shù)據(jù)源無關(guān)。此外,這些數(shù)據(jù)還可以與XML格式文檔進(jìn)行方便的互換。在本文中,從數(shù)據(jù)庫取得的數(shù)據(jù)將轉(zhuǎn)換為服務(wù)數(shù)據(jù)對象中的相應(yīng)數(shù)據(jù)形式,系統(tǒng)應(yīng)用程序在執(zhí)行過程中將調(diào)用該格式數(shù)據(jù)執(zhí)行操作。
  根據(jù)自主數(shù)據(jù)模式,本文設(shè)計了一種新的服務(wù)數(shù)據(jù)模型(Service Data Model,SDM),即面向服務(wù)的數(shù)據(jù)模型。SDM模型將面向服務(wù)的思想與數(shù)據(jù)模型相結(jié)合,以建立統(tǒng)一數(shù)據(jù)模型為中心,在SOA架構(gòu)中抽象出一個服務(wù)數(shù)據(jù)層,用來解決SOA的數(shù)據(jù)操作請求。
  在SOA的構(gòu)建過程中包含很多環(huán)節(jié)。如:業(yè)務(wù)流程的劃分管理,服務(wù)組合,服務(wù)表示等。而本文研究的內(nèi)容只是其中的一部分,即如何實現(xiàn)業(yè)務(wù)邏輯在SOA體系架構(gòu)中與最底層——數(shù)據(jù)層的分離,這也與SOA的實施宗旨——松散耦合相對應(yīng)。通過SDM模型,無需熟悉特定于技術(shù)的API,就能訪問和利用數(shù)據(jù)。
  本文采用基于層次的方式對SDM模型進(jìn)行建模,主要思想是將數(shù)據(jù)操作過程中的各層分離。通過數(shù)據(jù)映射模塊,將系統(tǒng)數(shù)據(jù)的構(gòu)造與操作映射為對各異構(gòu)數(shù)據(jù)庫的操作,通過應(yīng)用系統(tǒng)再對數(shù)據(jù)進(jìn)行更新與修改。在建模過程中,最底層的數(shù)據(jù)源作為一個層次,由于各數(shù)據(jù)源具有異構(gòu)性,所以需對這些不同的數(shù)據(jù)源向上抽象出一個統(tǒng)一的接口,以便應(yīng)用程序方便地訪問、轉(zhuǎn)化和更新存儲在多個異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)。最后再通過應(yīng)用程序調(diào)用所需數(shù)據(jù)或執(zhí)行相關(guān)操作。
  3結(jié)束語
  本論文在對SOA體系架構(gòu)的相關(guān)理論及其技術(shù)進(jìn)行研究的基礎(chǔ)之上,依據(jù)SOA建模策略,利用SDO及DAS,實現(xiàn)數(shù)據(jù)模型中各層的開發(fā);并通過使用服務(wù)數(shù)據(jù)對象和數(shù)據(jù)訪問服務(wù),屏蔽了異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)訪問細(xì)節(jié),從而隔離了數(shù)據(jù)層與業(yè)務(wù)層。旨在為信息訪問提供一個統(tǒng)一的數(shù)據(jù)應(yīng)用框架,實現(xiàn)對企業(yè)內(nèi)各異構(gòu)數(shù)據(jù)源的統(tǒng)一、靈活和高效的訪問。
  
  參考文獻(xiàn):
  [1] Thomas Erl,王滿紅,陳榮華譯.SOA概念、技術(shù)與設(shè)計.北京:機械工業(yè)出版社,2006.
  [2] 李洪奇,武裝等.基于SOA的企業(yè)應(yīng)用集成[J].微計算機信息,2010,1(3):53-55.
  [3] Johnson,James L,李天柱,肖艷芹,楊天柱等譯.數(shù)據(jù)庫:模型、語言與設(shè)計.電子工業(yè)出版社,2004.
  [4] Apache.Data Access Service.http://incubator.apache.org /tuscany/RDB_DAS_ white_ paper_v-0.2.pdf.2006.
20724