不管怎樣,數(shù)據(jù)還是重要。 有效地應(yīng)用SOA需要在物理和邏輯層有一個(gè)設(shè)計(jì)良好的數(shù)據(jù)模型。許多機(jī)構(gòu)甚至要開發(fā)一種的域模型。主數(shù)據(jù)管理和SOA的交叉越來越頻繁地出現(xiàn),這種趨勢(shì)在未來幾年將繼續(xù)下去。
業(yè)內(nèi)人士Kyle Gabhart稱,他近在一項(xiàng)大的SOA應(yīng)用計(jì)劃中實(shí)施了兩個(gè)主數(shù)據(jù)管理計(jì)劃。在這兩個(gè)案例中,客戶發(fā)現(xiàn)他們?cè)谌绾谓鉀Q主數(shù)據(jù)模型與一個(gè)或者更多的SOA組件(如業(yè)務(wù)流程、服務(wù)接口等)之間的沖突方面陷入了僵局。每一個(gè)客戶都從不同的角度接觸了這個(gè)問題。但是,沖突實(shí)際上都是一樣的。誰取得了勝利并且按照自己對(duì)于企業(yè)數(shù)據(jù)的觀點(diǎn)順利運(yùn)行?是主數(shù)據(jù)管理團(tuán)隊(duì),還是SOA團(tuán)隊(duì)?另外,企業(yè)架構(gòu)團(tuán)隊(duì)也許感到疑惑是主數(shù)據(jù)管理團(tuán)隊(duì)的觀點(diǎn)向SOA團(tuán)隊(duì)的觀點(diǎn)妥協(xié)了,還是相反。
狀況1:客戶A決定建立一個(gè)的數(shù)據(jù)模型,不依賴于現(xiàn)有的應(yīng)用程序或者業(yè)務(wù)流程。這個(gè)客戶執(zhí)行一個(gè)簡(jiǎn)單的流程:
·建立一個(gè)概念的數(shù)據(jù)模型
·識(shí)別邏輯子域(數(shù)據(jù)的邏輯組合)
·為這個(gè)子域建立一個(gè)邏輯數(shù)據(jù)模型
現(xiàn)在,如果出現(xiàn)一個(gè)業(yè)務(wù)流程(如向提供商提出漲工資要求),這個(gè)流程就包括訪問提供商的數(shù)據(jù)和這個(gè)要求的數(shù)據(jù)域。客戶如何建立這個(gè)方案,如何不打破在邏輯的模式中建立的關(guān)系?替代的方法是,這個(gè)客戶如何能夠把這個(gè)方案與基本的模型聯(lián)系起來。為了企業(yè)面向服務(wù)的觀點(diǎn),主數(shù)據(jù)模型必須要妥協(xié),或者面向服務(wù)的觀點(diǎn)必須要修改以便與主數(shù)據(jù)計(jì)劃相一致。
分析:因此,這里真正的問題是我們已經(jīng)在真空中創(chuàng)建了一個(gè)模型。我們現(xiàn)在面臨一個(gè)具體的數(shù)據(jù)應(yīng)用。這可能會(huì)讓我們對(duì)于數(shù)據(jù)在企業(yè)中如何應(yīng)用的實(shí)際情況有一個(gè)新的了解。這里有兩個(gè)觀點(diǎn):
1.我們把這看作是一個(gè)修改這個(gè)模型并且使這個(gè)模型符合真正業(yè)務(wù)應(yīng)用的機(jī)會(huì)。
2.我們不理會(huì)需要管理的用戶/客戶的莫名其妙的東西。
如果我們根據(jù)這個(gè)新的信息更新這個(gè)模型,我們就會(huì)有被一個(gè)流程曲解的風(fēng)險(xiǎn)。但是,我們也許會(huì)認(rèn)識(shí)到這個(gè)流程提出的更廣泛的事實(shí)。如果我們不改變這個(gè)的模型,那么,我們或者說服用戶接受這個(gè)“標(biāo)準(zhǔn)的”模型,或者提出一些數(shù)據(jù)鏡像,這樣,業(yè)務(wù)流程就能夠按照他們自己的數(shù)據(jù)模型執(zhí)行這些服務(wù)。
無論采用哪一種方法,面向服務(wù)的設(shè)計(jì)的方法都是規(guī)定這個(gè)業(yè)務(wù)流程只能看到一種數(shù)據(jù)模型。這可以是來自業(yè)務(wù)應(yīng)用實(shí)例中的一個(gè)獨(dú)特的模型,也