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