監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

SOA設(shè)計(jì)應(yīng)用:理解模式之間的相互關(guān)系

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來(lái)源:泛普軟件

設(shè)計(jì)模式多年以來(lái)一直是IT領(lǐng)域的一部分。甚至出現(xiàn)了一個(gè)完整的模式團(tuán)體來(lái)培育新模式的發(fā)展,并且要圍繞應(yīng)該如何說(shuō)明模式以及相關(guān)的事情制定一些指南。

這是正確的,模式之間是相互關(guān)聯(lián)的。要制定設(shè)計(jì)模式,你需要理解這些關(guān)系。這些關(guān)系對(duì)于SOA是特別重要的,因?yàn)镾OA的實(shí)施范圍一般要大于傳統(tǒng)的應(yīng)用。因此,SOA設(shè)計(jì)模式要涉及面更廣,因此影響力也越大。

首先讓我們了解一些基礎(chǔ)知識(shí)并且回顧一下一種模式如何與另一種模式相關(guān)聯(lián)。有許多不同類型的關(guān)系。但是,最重要的兩個(gè)關(guān)系式依賴關(guān)系和支持關(guān)系。

為了應(yīng)用一種模式,你也許需要使用另一個(gè)模式(或者已經(jīng)使用了另一個(gè)模式)。這是很簡(jiǎn)單的依賴關(guān)系。但是,這對(duì)于理解為什么存在依賴關(guān)系是很重要的。例如,在SOA設(shè)計(jì)模式目錄中,有一種模式稱作“邏輯集中化”。它實(shí)際上建立一個(gè)規(guī)則,按照這個(gè)規(guī)則,對(duì)于任何指定的解決方案邏輯的再利用部分來(lái)說(shuō),僅存在一個(gè)正式的服務(wù)。這就減少了冗余的風(fēng)險(xiǎn),最大限度實(shí)現(xiàn)了在一個(gè)指定區(qū)域的服務(wù)的再利用潛力。它還構(gòu)成了不可知環(huán)境的基礎(chǔ)。這是一種設(shè)計(jì)模式,用于單個(gè)服務(wù)中,以便為它提供多功能的范圍(因?yàn)樗鼘?duì)于任何邏輯來(lái)說(shuō)都是不可知的,因此它僅限于一個(gè)單個(gè)的目的)。

不可知環(huán)境和邏輯集中化共享培育服務(wù)中的再利用這個(gè)共同的目標(biāo)。雖然邏輯集中化建立了獨(dú)特的邏輯單元,但是,不可知環(huán)境將保證擁有再利用潛力的人和單元都將僅僅限制在多用途邏輯中。這樣,它們就成了純粹的再利用服務(wù)。

簡(jiǎn)言之,你會(huì)提出理由說(shuō)不可知環(huán)境依賴于邏輯集中化,因?yàn)闆](méi)有集中化獨(dú)特的邏輯體,就很難把它們分成不可知的單元。在應(yīng)用邏輯集中化模式之前,使用不可知環(huán)境是沒(méi)有意義的。

我們提到的另外一種關(guān)系是一種應(yīng)用模式支持另一種應(yīng)用模式。因此,與依賴性的關(guān)系不同,在這個(gè)案例中沒(méi)有直接的依賴關(guān)系。這就意味著這些類型的關(guān)系很容易錯(cuò)過(guò)。一種支持性的關(guān)系簡(jiǎn)單地意味著一種模式幫助實(shí)現(xiàn)另一個(gè)模式的目標(biāo)或者最終目的。

我們重新看一下邏輯集中化的例子。這個(gè)模式的目標(biāo)是培育在服務(wù)中的再利用。然而,應(yīng)用程序集成的歷史已經(jīng)教會(huì)了我們通過(guò)多個(gè)點(diǎn)對(duì)點(diǎn)的集成渠道實(shí)現(xiàn)連接,達(dá)到一個(gè)靈活性的架構(gòu),使負(fù)擔(dān)沉重的企業(yè)能夠繼續(xù)發(fā)展,特別是面對(duì)業(yè)務(wù)變化的時(shí)候。

這與邏輯集中化有什么關(guān)系呢?設(shè)想一個(gè)包含若干數(shù)據(jù)庫(kù)和一個(gè)老式的系統(tǒng)的服務(wù)。既使我們集中了這個(gè)服務(wù)代表的邏輯,我們?nèi)匀徊荒茏鋈魏问虑閬?lái)阻止通過(guò)傳統(tǒng)類型的集成渠道直接訪問(wèn)這些基本的資源。這正是合同集中化進(jìn)入這個(gè)環(huán)境的地方。

合同集中化設(shè)計(jì)模式限制外部訪問(wèn)一個(gè)服務(wù),訪問(wèn)出版的技術(shù)合同(或者接口或者API)。這就意味著外部程序或者應(yīng)用程序(我們可以指服務(wù)用戶)不能接觸這些基本的資源,因?yàn)檫@個(gè)唯一的進(jìn)入點(diǎn)是這個(gè)服務(wù)合同。

這種簡(jiǎn)單的限制從長(zhǎng)遠(yuǎn)看將增加服務(wù)的再利用性。隨著時(shí)間的推移,這個(gè)服務(wù)能夠有效地隨著業(yè)務(wù)的變化而發(fā)展,擴(kuò)大或者甚至取代其基本的資源,同時(shí)最大限度地減少這些改進(jìn)對(duì)外部服務(wù)消費(fèi)者的影響(因?yàn)橛捎诤贤谢?,他們不能直接連接到這些資源)。這個(gè)服務(wù)的壽命越長(zhǎng),它的長(zhǎng)期再利用的潛力就越大。

因此,雖然邏輯集中化不需要合同集中化,但是,它肯定會(huì)從其應(yīng)用程序中受益。事實(shí)上,當(dāng)這兩個(gè)基礎(chǔ)的方式一致地應(yīng)用到一個(gè)服務(wù)目錄(服務(wù)集)中的時(shí)候,他們建立了一個(gè)非常能夠推廣業(yè)務(wù)靈活性的環(huán)境。因?yàn)檫@些服務(wù)能夠重復(fù)地再利用,我們要求對(duì)每一個(gè)新的解決方案建立較少的冗余的邏輯(減少解決方案交付的時(shí)間和成本)。因?yàn)檫@些服務(wù)只能通過(guò)其合同訪問(wèn),我們避開了建立很難改變的整合渠道。因此,我們最終將建立能夠有效地重復(fù)利用的服務(wù)并且與業(yè)務(wù)一起發(fā)展。

當(dāng)然,SOA的戰(zhàn)略目標(biāo)要實(shí)現(xiàn)的東西比僅僅使用這兩個(gè)模式多得多。然而,這是SOA設(shè)計(jì)模式建立的基礎(chǔ),對(duì)于取得SOA的成功是至關(guān)重要的。甚至最強(qiáng)大的、可升級(jí)的和高級(jí)的基礎(chǔ)設(shè)施也不能幫助你把設(shè)計(jì)遭到的服務(wù)轉(zhuǎn)變?yōu)楦邇r(jià)值的IT資產(chǎn),在不斷變化的商業(yè)環(huán)境中不斷帶來(lái)回報(bào)。服務(wù)需要從頭開始設(shè)計(jì)并且預(yù)測(cè)和適應(yīng)變化。這就是所謂的面向服務(wù)的。

在我們做結(jié)論之前,讓我們簡(jiǎn)單地介紹一下模式應(yīng)用順序和模式語(yǔ)言的概念。我們僅解釋了合同集中化如何支持邏輯集中化的。但是,當(dāng)設(shè)計(jì)服務(wù)時(shí),你首先采用哪一種模式呢?雖然沒(méi)有絕對(duì)的規(guī)則,但是,你可能會(huì)有偏愛(ài)。例如,當(dāng)同時(shí)建立一個(gè)服務(wù)集模型的時(shí)候,為了恰當(dāng)?shù)匕逊?wù)分為獨(dú)特的邏輯單元,受使用邏輯集中化是有意義的。然后,你可以使用合同集中化。這樣,這些單元(服務(wù))的每一個(gè)部分都將得到一個(gè)技術(shù)合同,作為正式的進(jìn)入點(diǎn)。

我們剛才解釋的是模式應(yīng)用順序在一個(gè)具體順序中應(yīng)用的兩個(gè)模式。一個(gè)模式目錄是理想地構(gòu)造的,因此,你能夠根據(jù)你們的要求、偏愛(ài)和局限性提出許多創(chuàng)造性的應(yīng)用順序。有些目錄甚至提供了推薦的模式順序,許多單個(gè)的模式被認(rèn)為是經(jīng)過(guò)證明的設(shè)計(jì)解決方案。這個(gè)應(yīng)用順序本身也被認(rèn)為是經(jīng)過(guò)證明的。

把許多模式結(jié)合到無(wú)止境的順序中的自由使一個(gè)模式目錄不僅僅是設(shè)計(jì)模式的記錄文件,而是一個(gè)“模式語(yǔ)言”。同任何書面語(yǔ)言一樣,你有能夠組成一個(gè)句子的詞匯。這些句子能夠進(jìn)一步組成一段話、一篇文章等等。人們可以用同樣的方式想象一個(gè)模式語(yǔ)言。根據(jù)你的技能水平,當(dāng)你拿筆在一張紙上寫字的時(shí)候,你可以寫出一個(gè)偉大的文學(xué)作品,也可以寫出不偉大的文學(xué)作品。同樣,使用模式語(yǔ)言工作的關(guān)鍵取決于你的知識(shí)和對(duì)模式本身的理解。通過(guò)理解模式是如何關(guān)聯(lián)的,可以理解模式內(nèi)部的主要部分。(CIO時(shí)代網(wǎng))

 

發(fā)布:2007-04-24 14:27    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
南寧OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普南寧OA快博其他應(yīng)用

南寧OA軟件 南寧OA新聞動(dòng)態(tài) 南寧OA信息化 南寧OA快博 南寧OA行業(yè)資訊 南寧軟件開發(fā)公司 南寧門禁系統(tǒng) 南寧物業(yè)管理軟件 南寧倉(cāng)庫(kù)管理軟件 南寧餐飲管理軟件 南寧網(wǎng)站建設(shè)公司