




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、/developerworks/cn/webservices/ws-arcsoa1/架構(gòu)設(shè)計師與SOA, 第 1 部分 HYPERLINK /developerworks/cn/webservices/ws-arcsoa1/#author#author l author#author 強 王 ( HYPERLINK mailto:shilir?subject=架構(gòu)設(shè)計師與SOA,%20第%201%20部分 shilir), IBM中國軟件開發(fā)實驗室 - SOA Design CenterSOA(Serrvice-Oriennted AArchittecturre),即面面向服務(wù)的架架構(gòu),這是最
2、最近一兩年出出現(xiàn)在各種技技術(shù)期刊上最最多的詞匯了了?,F(xiàn)在有很很多架構(gòu)設(shè)計計師和設(shè)計開開發(fā)人員簡單單的把SOAA和Web Serviices技術(shù)術(shù)等同起來,認認為SOA就就是Web Serviice的一種種實現(xiàn)。本質(zhì)質(zhì)上來說,SSOA體現(xiàn)的的是一種新的的系統(tǒng)架構(gòu),SSOA的出現(xiàn)現(xiàn),將為整個個企業(yè)級軟件件架構(gòu)設(shè)計帶帶來巨大的影影響。本系列列兩部分文章章將根據(jù)作者者自己的理解解來幫助大家家分析和了解解什么是SOOA架構(gòu),SSOA將怎樣樣對企業(yè)系統(tǒng)統(tǒng)架構(gòu)設(shè)計帶帶來積極的影影響,什么是是SOA架構(gòu)構(gòu)設(shè)計師的角角色,以及SSOA架構(gòu)師師在設(shè)計SOOA系統(tǒng)架構(gòu)構(gòu)時有哪些應(yīng)應(yīng)該特別注意意的地方。1. 什么是架
3、架構(gòu)?什么是是基于SOAA的架構(gòu)?11 什么是是架構(gòu)從架構(gòu)設(shè)計師的的角度來看,架架構(gòu)就是一套套構(gòu)建系統(tǒng)的的準(zhǔn)則。通過過這套準(zhǔn)則,我我們可以把一一個復(fù)雜的系系統(tǒng)劃分為一一套更簡單的的子系統(tǒng)的集集合,這些子子系統(tǒng)之間應(yīng)應(yīng)該保持相互互獨立,并與與整個系統(tǒng)保保持一致。而而且每一個子子系統(tǒng)還可以以繼續(xù)細分下下去,從而構(gòu)構(gòu)成一個復(fù)雜雜的企業(yè)級架架構(gòu)。當(dāng)一名架構(gòu)設(shè)計計師在構(gòu)建某某個企業(yè)級的的軟件系統(tǒng)時時,除了要考考慮這個系統(tǒng)統(tǒng)的架構(gòu)以及及其應(yīng)具有的的功能行為以以外,還要關(guān)關(guān)注整個架構(gòu)構(gòu)的可用性,性性能問題,容容錯能力,可可重用性,安安全性,擴展展性,可管理理維護性,可可靠性等各個個相關(guān)方面。有有的時候一名名
4、好的架構(gòu)設(shè)設(shè)計師甚至還還需要考慮所所構(gòu)建的系統(tǒng)統(tǒng)架構(gòu)是否合合乎美學(xué)要求求。由此我們們可以看到,我我們衡量一個個好的架構(gòu)設(shè)設(shè)計并不能只只從功能角度度出發(fā),還要要考慮很多其其他的因素,對對任何一個方方面的欠缺考考慮都有可能能為整個系統(tǒng)統(tǒng)的構(gòu)建埋下下隱患。12 什么是是基于SOAA的架構(gòu)SOA本身就是是一種面向企企業(yè)級服務(wù)的的系統(tǒng)架構(gòu),簡簡單來說,SSOA就是一一種進行系統(tǒng)統(tǒng)開發(fā)的新的的體系架構(gòu),在在基于SOAA架構(gòu)的系統(tǒng)統(tǒng)中,具體應(yīng)應(yīng)用程序的功功能是由一些些松耦合并且且具有統(tǒng)一接接口定義方式式的組件(也也就是serrvice)組組合構(gòu)建起來來的。因此,基基于SOA的的架構(gòu)也一定定是從企業(yè)的的具體需
5、求開開始構(gòu)建的。但但是,SOAA和其它企業(yè)業(yè)架構(gòu)的不同同之處就在于于SOA提供供的業(yè)務(wù)靈活活性。業(yè)務(wù)靈靈活性是指企企業(yè)能對業(yè)務(wù)務(wù)變更快速和和有效地進行行響應(yīng)、并且且利用業(yè)務(wù)變變更來得到競競爭優(yōu)勢的能能力。對企業(yè)業(yè)級架構(gòu)設(shè)計計師來說,創(chuàng)創(chuàng)建一個業(yè)務(wù)務(wù)靈活的架構(gòu)構(gòu)意味著創(chuàng)建建一個可以滿滿足當(dāng)前還未未知的業(yè)務(wù)需需求的IT架架構(gòu)。利用基于SOAA的系統(tǒng)構(gòu)建建方法,如圖圖1中所示的的一樣,一個個基于SOAA架構(gòu)的系統(tǒng)統(tǒng)中的所有的的程序功能都都被封裝在一一些功能模塊塊中,我們就就是利用這些些已經(jīng)封裝好好的功能模塊塊組裝構(gòu)建我我們所需要的的程序或者系系統(tǒng),而這些些功能模塊就就是SOA架架構(gòu)中的不同同的服務(wù)(
6、sservicces)。圖圖1因此,SOA架架構(gòu)本質(zhì)上來來說體現(xiàn)了一一種復(fù)合的概概念:它不僅僅為一個企業(yè)業(yè)中商業(yè)流程程的組織和實實現(xiàn)提供了一一種指導(dǎo)模式式,同時也為為具體的底層層serviice開發(fā)提提供了指導(dǎo)。2. SOA架架構(gòu)設(shè)計師的的角色21 SOAA架構(gòu)設(shè)計師師應(yīng)該具備什什么?談到SOA架構(gòu)構(gòu)設(shè)計師的角角色,我們首首先要了解架架構(gòu)設(shè)計師應(yīng)應(yīng)具有的能力力??傮w上來來說,一個好好的架構(gòu)設(shè)計計師不僅應(yīng)該該是一個成熟熟的,具有實實際經(jīng)驗的并并具有快速學(xué)學(xué)習(xí)能力的人人,而且他還還應(yīng)該具有良良好的管理能能力和溝通能能力。只有具具備了必需的的能力,架構(gòu)構(gòu)設(shè)計師才能能在關(guān)鍵的時時刻作出困難難的決定,這
7、這就是一名架架構(gòu)設(shè)計師應(yīng)應(yīng)該承擔(dān)的責(zé)責(zé)任。從角色色上來看,SSOA 架構(gòu)構(gòu)師不僅會負負責(zé)端到端的的服務(wù)請求者者和提供者的的設(shè)計,并且且會負責(zé)對系系統(tǒng)中非功能能服務(wù)請求的的調(diào)研和表述述。 對于任何一名經(jīng)經(jīng)驗豐富的架架構(gòu)設(shè)計師來來說,不論他他是采用基于于傳統(tǒng)的架構(gòu)構(gòu)設(shè)計方法(基基于J2EEE架構(gòu)或者.NET架構(gòu)構(gòu))還是采用用基于SOAA的架構(gòu)設(shè)計計方法來構(gòu)建建一個企業(yè)級級的系統(tǒng)架構(gòu)構(gòu),具有相關(guān)關(guān)商業(yè)領(lǐng)域的的知識對于架架構(gòu)設(shè)計師來來說都是必不不可少的,架架構(gòu)設(shè)計師往往往可以通過過實際的工作作經(jīng)驗積累以以及接受相關(guān)關(guān)的專項培訓(xùn)訓(xùn)來獲得這些些商業(yè)領(lǐng)域的的知識。除了了具有相關(guān)商商業(yè)領(lǐng)域的知知識以外,一一名
8、合格的架架構(gòu)設(shè)計師必必須具有較廣廣泛的技術(shù)背背景,這可能能包括軟硬件件,通信,安安全等各個方方面的知識。但但這并不是意意味著要成為為一名架構(gòu)設(shè)設(shè)計師就必須須熟悉每一門門具體技術(shù)的的細節(jié),架構(gòu)構(gòu)設(shè)計師必須須至少能對各各種技術(shù)有一一個整體上的的了解,能夠夠熟知每種技技術(shù)的特點以以及優(yōu)缺點,只只有這樣架構(gòu)構(gòu)設(shè)計師才能能在特定的應(yīng)應(yīng)用場景下正正確地選擇各各種技術(shù)來設(shè)設(shè)計企業(yè)整體體架構(gòu)。22 什么是是SOA架構(gòu)構(gòu)設(shè)計師的職職責(zé)?那什么是企業(yè)級級SOA架構(gòu)構(gòu)設(shè)計師的具具體角色呢?什么是SOOA架構(gòu)設(shè)計計師與設(shè)計和和開發(fā)人員之之間的差別呢呢?相信這些些都是使大家家最容易產(chǎn)生生迷惑的問題題。舉個實際際的例子來
9、說說,當(dāng)構(gòu)建一一個基于SOOA架構(gòu)的系系統(tǒng)的時候,針針對一個具體體的 serrvice,系系統(tǒng)設(shè)計人員員主要應(yīng)該關(guān)關(guān)注的是這個個serviice能夠為為外部用戶提提供什么樣的的服務(wù),也就就是說系統(tǒng)設(shè)設(shè)計人員關(guān)注注的是這個sservicce所提供的的功能。而對對于SOA架架構(gòu)設(shè)計師來來說,他們更更關(guān)心的可能能是當(dāng)有一千千個用戶同時時調(diào)用這個 serviice的時候候,什么會發(fā)發(fā)生?也就是是說架構(gòu)設(shè)計計師關(guān)注的應(yīng)應(yīng)該是一些商商業(yè)需求和服服務(wù)級別(sservicce-levvel)需求求。所有的架架構(gòu)設(shè)計師的的角色都包含含了在構(gòu)建一一個系統(tǒng)的一一開始就應(yīng)該該盡量減少可可能存在的技技術(shù)風(fēng)險。而而技術(shù)風(fēng)
10、險一一般指的是一一切未知的、未未經(jīng)證明的或或未經(jīng)測試所所帶來的風(fēng)險險。這些風(fēng)險險通常與服務(wù)務(wù)級別(seervicee-leveel)需求相相關(guān),偶爾也也會與企業(yè)具具體的業(yè)務(wù)需需求相關(guān)。無無論是哪種類類型的風(fēng)險,在在項目初期設(shè)設(shè)計整體系統(tǒng)統(tǒng)架構(gòu)的過程程中更易于發(fā)發(fā)掘這些風(fēng)險險,如果等到到架構(gòu)實施時時再發(fā)覺這些些風(fēng)險,那么么很可能會致致使大量的開開發(fā)人員等在在那里,直到到這些風(fēng)險被被妥善解決。如如果進一步的的細化,我們們可以看到SSOA架構(gòu)設(shè)設(shè)計師的主要要任務(wù)包括對對整個系統(tǒng)解解決方案輪廓廓的構(gòu)建,需需求分析,對對體系結(jié)構(gòu)的的整體決策,相相關(guān)組件建模模,相關(guān)操作作建模,系統(tǒng)統(tǒng)組件的邏輯輯和物理布局
11、局設(shè)計。作為SOA架構(gòu)構(gòu)設(shè)計師必須須要能夠領(lǐng)導(dǎo)導(dǎo)整個開發(fā)團團隊,這樣才才能保證設(shè)計計和開發(fā)人員員是按照構(gòu)建建好的系統(tǒng)架架構(gòu)來開發(fā)整整個系統(tǒng)的,這這一點十分的的重要。這就就要求一名架架構(gòu)設(shè)計師不不僅要有很好好的技術(shù)洞察察力,同時還還要具有一定定的項目管理理和項目實施施的能力。在在系統(tǒng)開發(fā)的的過程中,架架構(gòu)設(shè)計師必必須要有良好好的溝通和表表達能力,這這就體現(xiàn)在由由架構(gòu)設(shè)計師師構(gòu)建的系統(tǒng)統(tǒng)模型是否具具有很好的可可讀性和易理理解性。如果果由架構(gòu)設(shè)計計師構(gòu)造出的的系統(tǒng)模型不不是很清晰的的話,就可能能會影響設(shè)計計和開發(fā)人員員對于整個系系統(tǒng)架構(gòu)的理理解。為了避避免這種情況況的出現(xiàn),定定期由架構(gòu)設(shè)設(shè)計師主持的
12、的開發(fā)團隊內(nèi)內(nèi)部討論是十十分重要的。3. 構(gòu)建SOOA架構(gòu)時應(yīng)應(yīng)該注意的問問題31 原有系系統(tǒng)架構(gòu)中的的集成需求當(dāng)架構(gòu)師基于SSOA來構(gòu)建建一個企業(yè)級級的系統(tǒng)架構(gòu)構(gòu)的時候,一一定要注意對對原有系統(tǒng)架架構(gòu)中的集成成需求進行細細致的分析和和整理。我們們都知道,面面向服務(wù)的體體系結(jié)構(gòu)是當(dāng)當(dāng)前及未來應(yīng)應(yīng)用程序系統(tǒng)統(tǒng)開發(fā)的重點點,面向服務(wù)務(wù)的體系結(jié)構(gòu)構(gòu)本質(zhì)上來說說是一種具有有特殊性質(zhì)的的體系結(jié)構(gòu),它它由具有互操操作性和位置置透明的組件件集成構(gòu)建并并互連而成。基基于SOA的的企業(yè)系統(tǒng)架架構(gòu)通常都是是在現(xiàn)有系統(tǒng)統(tǒng)架構(gòu)投資的的基礎(chǔ)上發(fā)展展起來的,我我們并不需要要徹底重新開開發(fā)全部的子子系統(tǒng);SOOA可以通過過
13、利用當(dāng)前系系統(tǒng)已有的資資源(開發(fā)人人員、軟件語語言、硬件平平臺、數(shù)據(jù)庫庫和應(yīng)用程序序)來重復(fù)利利用系統(tǒng)中現(xiàn)現(xiàn)有的系統(tǒng)和和資源。SOOA是一種可可適應(yīng)的、靈靈活的體系結(jié)結(jié)構(gòu)類型,基基于SOA構(gòu)構(gòu)建的系統(tǒng)架架構(gòu)可以在系系統(tǒng)的開發(fā)和和維護中縮短短產(chǎn)品上市時時間,因而可可以降低企業(yè)業(yè)系統(tǒng)開發(fā)的的成本和風(fēng)險險。因此,當(dāng)當(dāng)SOA架構(gòu)構(gòu)師遇到一個個十分復(fù)雜的的企業(yè)系統(tǒng)時時,首先考慮慮的應(yīng)該是如如何重用已有有的投資而不不是替換遺留留系統(tǒng),因為為如果考慮到到有限的預(yù)算算,整體系統(tǒng)統(tǒng)替換的成本本是十分高昂昂的。當(dāng)SOA架構(gòu)師師分析原有系系統(tǒng)中的集成成需求的時候候,不應(yīng)該只只限定為基于于組件構(gòu)建的的已有應(yīng)用程程序的
14、集成,真真正的集成比比這要寬泛得得多。在分析析和評估一個個已有系統(tǒng)體體系結(jié)構(gòu)的集集成需求時,我我們必須考慮慮一些更加具具體的集成的的類型,這主主要包括以下下幾個方面:應(yīng)用程序集集成的需求,終終端用戶界面面集成的需求求,流程集成成的需求以及及已有系統(tǒng)信信息集成的需需求。當(dāng)SOOA架構(gòu)師分分析和評估現(xiàn)現(xiàn)有系統(tǒng)中所所有可能的集集成需求的時時候,我們可可以發(fā)現(xiàn)實際際上所有集成成方式在任何何種類的企業(yè)業(yè)中都有一定定程度的體現(xiàn)現(xiàn)。針對不同同的企業(yè)類型型,這些集成成方式可能是是簡化的,或或者沒有明確確地進行定義義的。因而,SSOA架構(gòu)師師在著手設(shè)計計新的體系結(jié)結(jié)構(gòu)框架時,必必須要全面的的考慮所有可可能的集成
15、需需求。例如,在在一些類型的的企業(yè)系統(tǒng)環(huán)環(huán)境中可能只只有很少的數(shù)數(shù)據(jù)源類型,因因此,系統(tǒng)中中對消息集成成的需求就可可能會很簡單單,但在一些些特定的系統(tǒng)統(tǒng)中,例如航航運系統(tǒng)中的的EDI(EElectrronic Data Interrchangge 電子數(shù)數(shù)據(jù)交換)系系統(tǒng),會有大大量的電子數(shù)數(shù)據(jù)交換處理理的需求,因因此也就會存存在很多不同同的數(shù)據(jù)源類類型,在這種種情況下整個個系統(tǒng)對于消消息數(shù)據(jù)的集集成需求就會會比較復(fù)雜。因因此,如果SSOA架構(gòu)師師希望所構(gòu)建建的系統(tǒng)架構(gòu)構(gòu)能夠隨著企企業(yè)的成長和和變化成功地地繼續(xù)得以保保持,則整個個系統(tǒng)構(gòu)架中中的集成功能能就應(yīng)該由服服務(wù)提供,而而不是由特定定的應(yīng)用
16、程序序來完成。32 服務(wù)粒粒度的控制以以及無狀態(tài)服服務(wù)的設(shè)計當(dāng)SOA架構(gòu)師師構(gòu)建一個企企業(yè)級的SOOA系統(tǒng)架構(gòu)構(gòu)的時候,關(guān)關(guān)于系統(tǒng)中最最重要的元素素,也就是SSOA系統(tǒng)中中的服務(wù)的構(gòu)構(gòu)建有兩點需需要特別注意意的地方:首首先是對于服服務(wù)粒度的控控制,另外就就是對于無狀狀態(tài)服務(wù)的設(shè)設(shè)計。服務(wù)粒度的控制制 SOA系統(tǒng)中的的服務(wù)粒度的的控制是一項項十分重要的的設(shè)計任務(wù)。通通常來說,對對于將暴露在在整個系統(tǒng)外外部的服務(wù)推推薦使用粗粒粒度的接口,而而相對較細粒粒度的服務(wù)接接口通常用于于企業(yè)系統(tǒng)架架構(gòu)的內(nèi)部。從從技術(shù)上講,粗粗粒度的服務(wù)務(wù)接口可能是是一個特定服服務(wù)的完整執(zhí)執(zhí)行,而細粒粒度的服務(wù)接接口可能是實
17、實現(xiàn)這個粗粒粒度服務(wù)接口口的具體的內(nèi)內(nèi)部操作。 舉個例子來來說,對于一一個基于SOOA架構(gòu)的網(wǎng)網(wǎng)上商店來說說,粗粒度的的服務(wù)可能就就是暴露給外外部用戶使用用的提交購買買表單的操作作,而系統(tǒng)內(nèi)內(nèi)部的細粒度度的服務(wù)可能能就是實現(xiàn)這這個提交購買買表單服務(wù)的的一系列的內(nèi)內(nèi)部服務(wù),比比如說創(chuàng)建購購買記錄,設(shè)設(shè)置客戶地址址,更新數(shù)據(jù)據(jù)庫等一系列列的操作。雖雖然細粒度的的接口能為服服務(wù)請求者提提供了更加細細化和更多的的靈活性,但但同時也意味味著引入較難難控制的交互互模式易變性性,也就是說說服務(wù)的交互互模式可能隨隨著不同的服服務(wù)請求者而而不同。如果果我們暴露這這些易于變化化的服務(wù)接口口給系統(tǒng)的外外部用戶,就就
18、可能造成外外部服務(wù)請求求者難于支持持不斷變化的的服務(wù)提供者者所暴露的細細粒度服務(wù)接接口。而粗粒粒度服務(wù)接口口保證了服務(wù)務(wù)請求者將以以一致的方式式使用系統(tǒng)中中所暴露出的的服務(wù)。雖然然面向服務(wù)的的體系結(jié)構(gòu)(SSOA)并不不強制要求一一定要使用粗粗粒度的服務(wù)務(wù)接口,但是是建議使用它它們作為外部部集成的接口口。通常架構(gòu)構(gòu)設(shè)計師可以以使用BPEEL來創(chuàng)建由由細粒度操作作組成的業(yè)務(wù)務(wù)流程的粗粒粒度的服務(wù)接接口。無狀態(tài)服務(wù)的設(shè)設(shè)計 SOA系統(tǒng)架構(gòu)構(gòu)中的具體服服務(wù)應(yīng)該都是是獨立的、自自包含的請求求,在實現(xiàn)這這些服務(wù)的時時候不需要前前一個請求的的狀態(tài),也就就是說服務(wù)不不應(yīng)該依賴于于其他服務(wù)的的上下文和狀狀態(tài),即
19、SOOA架構(gòu)中的的服務(wù)應(yīng)該是是無狀態(tài)的服服務(wù)。當(dāng)某一一個服務(wù)需要要依賴時,我我們最好把它它定義成具體體的業(yè)務(wù)流程程(BPELL)。在服務(wù)務(wù)的具體實現(xiàn)現(xiàn)機制上,我我們可以通過過使用 EJJB 組件來來實現(xiàn)粗粒度度的服務(wù)。我我們通常會利利用無狀態(tài)的的Sessiion Beean來實現(xiàn)現(xiàn)具體的服務(wù)務(wù),如果基于于Web SServicce技術(shù),我我們就可以將將無狀態(tài)的SSessioon Beaan暴露為外外部用戶可以以調(diào)用的到的的Web服務(wù)務(wù),也就是把把傳統(tǒng)的Seessionn Facaade模型轉(zhuǎn)轉(zhuǎn)化為了 EEJB 的WWeb服務(wù)端端點,這樣,我我們就可以向向 Web 服務(wù)客戶提提供粗粒度的的服務(wù)。
20、如果我們要在 J2EE的的環(huán)境下(基基于WebSSpheree)構(gòu)建Weeb服務(wù),WWeb 服務(wù)務(wù)客戶可以通通過兩種方式式訪問 J22EE 應(yīng)用用程序??蛻魬艨梢栽L問用用 JAX-RPC AAPI 創(chuàng)建建的 Webb 服務(wù)(使使用 Serrvlet 來實現(xiàn));Web 服服務(wù)客戶也可可以通過 EEJB的服務(wù)務(wù)端點接口訪訪問無狀態(tài)的的Sessiion Beean,但WWeb 服務(wù)務(wù)客戶不能訪訪問其他類型型的企業(yè)Beean,如有有狀態(tài)的Seessionn Beann,實體Beean和消息息驅(qū)動Beaan。后一種種選擇(公開開無狀態(tài) EEJB 組件件作為 Weeb 服務(wù))有有很多優(yōu)勢,基基于已有的EE
21、JB組件,我我們可以利用用現(xiàn)有的業(yè)務(wù)務(wù)邏輯和流程程。在許多企企業(yè)中,現(xiàn)有有的業(yè)務(wù)邏輯輯可能已經(jīng)使使用 EJBB 組件編寫寫,通過 WWeb 服務(wù)務(wù)公開它可能能是實現(xiàn)從外外界訪問這些些服務(wù)的最佳佳選擇。EJJB 端點是是一種很好的的選擇,因為為它使業(yè)務(wù)邏邏輯和端點位位于同一層上上。另外EJJB容器會自自動提供對并并發(fā)的支持,作作為無狀態(tài)SSessioon Beaan實現(xiàn)的 EJB 服服務(wù)端點不必必擔(dān)心多線程程訪問,因為為 EJB 容器必須串串行化對無狀狀態(tài)會話 bbean 任任何特定實例例的請求。 由于EJBB容器都會提提供對于Seecuritty和Traansacttion的支支持,因此BBe
22、an的開開發(fā)人員可以以不需要編寫寫安全代碼以以及事務(wù)處理理代碼。 性性能問題對于于Web服務(wù)務(wù)來說一直都都是一個問題題,由于幾乎乎所有 EJJB 容器都都提供了對無無狀態(tài)會話 Bean 群集的支持持以及對無狀狀態(tài)Sesssion BBean 池池與資源管理理的支持,因因此當(dāng)負載增增加時,可以以向群集中增增加機器,WWeb 服務(wù)務(wù)請求可以定定向到這些不不同的服務(wù)器器,同時由于于無狀態(tài)Seessionn Beann 池改進了了資源利用和和內(nèi)存管理,使使 Web 服務(wù)能夠有有效地響應(yīng)多多個客戶請求求。由此我們們可以看到,通通過把 Weeb 服務(wù)模模型化為 EEJB 端點點,可以使服服務(wù)具有更強強的可
23、伸縮性性,并增強了了系統(tǒng)整體的的可靠性。4. 結(jié)束語本文簡要介紹了了有關(guān)架構(gòu)設(shè)設(shè)計師以及SSOA架構(gòu)的的知識,分析析了SOA架架構(gòu)師在設(shè)計計SOA系統(tǒng)統(tǒng)架構(gòu)時有哪哪些應(yīng)該特別別注意的地方方。本文的第二部分分將向您介紹紹在構(gòu)建基于于SOA架構(gòu)構(gòu)的企業(yè)系統(tǒng)統(tǒng)時應(yīng)該怎樣樣保證所構(gòu)建建的系統(tǒng)架構(gòu)構(gòu)能夠滿足系系統(tǒng)中不同的的服務(wù)級別需需求。從架構(gòu)構(gòu)設(shè)計師的角角度,SOAA是一種新的的設(shè)計模式,方方法學(xué)。因此此,SOA本本身涵蓋了很很多的內(nèi)容,也也觸及到了系系統(tǒng)整體架構(gòu)構(gòu)設(shè)計、實現(xiàn)現(xiàn)、維護等各各個方面。本本文的內(nèi)容只只是涉及到了了有關(guān)于架構(gòu)構(gòu)方面的一部部分內(nèi)容,希希望能對廣大大的SOA系系統(tǒng)開發(fā)設(shè)計計人員起
24、到一一定的幫助作作用。參考資料 HYPERLINK /Redbooks.nsf/RedbookAbstracts/sg246303.html?Open Patternns: Seervicee-orieented Archiitectuure annd Webb Servvices紅紅皮書,SGG24-63303-000,20044 年 4 月,作者MMark EEndreii 等。 DevelopperWorrks 的 HYPERLINK /developerworks/cn/webservices/ws-esbscen/ SSOA 和 Web 服服務(wù)專區(qū)有大大量專題文章章以及關(guān)于開開發(fā) W
25、ebb 服務(wù)應(yīng)用用程序的入門門級、中級和和高級教程。 有關(guān)隨需應(yīng)變商商務(wù)的更多信信息,請參閱閱 HYPERLINK /developerworks/ondemand/?S_TACT=105AGX52&S_CMP=cn-a-ws Deveeloperr resoourcess for an onn demaand woorld WWeb siite HYPERLINK /developerworks/cn/webservices/ws-roles/index.html Web 服務(wù)項項目角色 描描述了 Weeb 服務(wù)開開發(fā)項目中所所涉及到的各各種不同的工工作角色,包包括各自的目目標(biāo),任務(wù)以以及彼
26、此之間間是如何協(xié)作作的。 HYPERLINK /developerworks/cn/webservices/ws-soad1/index.html 面向服務(wù)的分析析與設(shè)計原理理一文研究了了OOAD、EEA 和 BBPM 中的的適當(dāng)原理。 HYPERLINK /developerworks/cn/webservices/ws-esb1/ 企業(yè)服務(wù)總線解解決方案剖析析,第 1 部分 介紹紹了面向服務(wù)務(wù)的體系結(jié)構(gòu)構(gòu)(servvice-oorientted arrchiteecturee,SOA)和企業(yè)服務(wù)務(wù)總線(Ennterprrise SServicce Buss,ESB)的基本知識識,ESB的的
27、技術(shù)沿革,以以及ESB與與SOA之間間的關(guān)系。 關(guān)于作者王 強,IBMM軟件工程師師,工作在IIBM中國軟軟件開發(fā)實驗驗室 - SSOA Deesign Centeer,從事IIncubaator及SSOA,Grrid項目的的工作,對JJ2EE架構(gòu)構(gòu)、SOA架架構(gòu)、MDAA/MDD以以及網(wǎng)格計算算等技術(shù)有較較深入的研究究。聯(lián)系方式式: HYPERLINK mailto:wangq?cc= wanggqcn.ibm.ccom 架構(gòu)設(shè)計師與 SOA , 第 2 部部分本系列的 HYPERLINK /developerworks/cn/webservices/ws-arcsoa1/ 第 11 部分
28、介介紹了有關(guān)架架構(gòu)設(shè)計師以以及 SOAA 架構(gòu)的知知識,分析了了 SOA 架構(gòu)師在設(shè)設(shè)計 SOAA 系統(tǒng)架構(gòu)構(gòu)時有哪些應(yīng)應(yīng)該特別注意意的地方。本本文將延續(xù)第第一部分的內(nèi)內(nèi)容,向您介介紹了 SOOA 為企業(yè)業(yè)級架構(gòu)設(shè)計計帶來的影響響,以及在構(gòu)構(gòu)建基于 SSOA 架構(gòu)構(gòu)的企業(yè)系統(tǒng)統(tǒng)時應(yīng)該怎樣樣保證所構(gòu)建建的系統(tǒng)架構(gòu)構(gòu)能夠滿足系系統(tǒng)中不同的的服務(wù)級別需需求。1 SOA 為企業(yè)級架架構(gòu)設(shè)計帶來來的影響11 SOAA 的特點及及其使用范圍圍SOA 既不是是一種語言,也也不是一種具具體的技術(shù),它它是一種新的的軟件系統(tǒng)架架構(gòu)模型。 SOA 最最主要的應(yīng)用用場合在于解解決在Intternett環(huán)境下的不不同商
29、業(yè)應(yīng)用用之間的業(yè)務(wù)務(wù)集成問題。IInternnet環(huán)境區(qū)區(qū)別于Inttranett環(huán)境的幾個個特點主要是是:(a)大量異構(gòu)構(gòu)系統(tǒng)并存,不不同計算機硬硬件工作方式式不同,操作作系統(tǒng)不同、編編程語言也不不同;(b)大量、頻頻繁的數(shù)據(jù)傳傳輸?shù)乃俣热匀匀幌鄬^緩緩慢并且不穩(wěn)穩(wěn)定;(c)無法完成成服務(wù)(seervicee)的版本升升級,甚至根根本就無法知知道互聯(lián)網(wǎng)上上有哪些機器器直接或者間間接的使用某某個服務(wù)。SOA 架構(gòu)具具有一些典型型特性,主要要包括松耦合合性,位置透透明性以及協(xié)協(xié)議無關(guān)性。松松耦合性要求求 SOA 架構(gòu)中的不不同服務(wù)之間間應(yīng)該保持一一種松耦合的的關(guān)系,也就就是應(yīng)該保持持一種相對獨獨
30、立無依賴的的關(guān)系;位置置透明性要求求 SOA 系統(tǒng)中的所所有服務(wù)對于于他們的調(diào)用用者來說都是是位置透明的的,也就是說說每個服務(wù)的的調(diào)用者只需需要知道他們們調(diào)用的是哪哪一個服務(wù),但但并不需要知知道所調(diào)用服服務(wù)的物理位位置在哪里;而協(xié)議無關(guān)關(guān)性要求每一一個服務(wù)都可可以通過不同同的協(xié)議來調(diào)調(diào)用。通過這這些 SOAA 架構(gòu)所具具有的特性我我們可以看到到,SOA 架構(gòu)的出現(xiàn)現(xiàn)為企業(yè)系統(tǒng)統(tǒng)架構(gòu)提供了了更加靈活的的構(gòu)建方式,如如果企業(yè)架構(gòu)構(gòu)設(shè)計師基于于 SOA 來構(gòu)建系統(tǒng)統(tǒng)架構(gòu),就可可以從底層架架構(gòu)的級別來來保證整個系系統(tǒng)的松耦合合性以及靈活活性,這都為為未來企業(yè)業(yè)業(yè)務(wù)邏輯的擴擴展打好了基基礎(chǔ)。12 SOA
31、A 架構(gòu)的分分層模型接下來簡要介紹紹一下 SOOA 系統(tǒng)中中的分層模型型,整個 SSOA 架構(gòu)構(gòu)的分層模型型如圖2所示示。在 SOA 系系統(tǒng)中不同的的功能模塊可可以被分為77層:第一層層就是系統(tǒng)已已經(jīng)存在的程程序資源,例例如ERP或或者CRM系系統(tǒng)等。第22層就是組件件層,在這一一層中我們用用不同的組件件把底層系統(tǒng)統(tǒng)的功能封裝裝起來。第33層就是 SSOA 系統(tǒng)統(tǒng)中最重要的的服務(wù)層,在在這層中我們們要用底層功功能組件來構(gòu)構(gòu)建我們所需需要的不同功功能的服務(wù)??偪偟膩碚f,SSOA 中的的服務(wù)可以被被映射成具體體系統(tǒng)中的任任何功能模塊塊,但是從功功能性方面可可以大致劃分分為以下三種種類型:(11)商
32、業(yè)服務(wù)務(wù)(busiiness serviice) 或或者是商業(yè)過過程(bussinesss proccess)。這這一類的服務(wù)務(wù)是一個企業(yè)業(yè)可以暴露給給外部用戶或或者合作伙伴伴使用的服務(wù)務(wù)。比如說提提交貸款申請請,用戶信用用檢查,貸款款信用查詢。(2)商業(yè)功功能服務(wù)(bbusineess fuunctioon serrvice), 這類服務(wù)會會完成一些具具體的商業(yè)操操作,也會被被更上層的商商業(yè)服務(wù)調(diào)用用,不過大多多數(shù)情況下這這類服務(wù)不會會暴露給外部部用戶直接調(diào)調(diào)用,比如說說檢索用戶帳帳戶信息,存存儲用戶信息息等。(3)技術(shù)功能服服務(wù)(tecchnicaal funnctionn servvic
33、e),這這類服務(wù)主要要完成一些底底層的技術(shù)功功能,比如說說日志服務(wù)以以及安全服務(wù)務(wù)等。在服務(wù)務(wù)層之上的第第4層就是商商業(yè)流程層,在在這一層中我我們利用已經(jīng)經(jīng)封裝好的各各種服務(wù)來構(gòu)構(gòu)建商業(yè)系統(tǒng)統(tǒng)中的商業(yè)流流程。在商業(yè)業(yè)流程層之上上的就是第55層表示層了了,我們利用用表示層來向向用戶提供用用戶接口服務(wù)務(wù),這一層可可以用基于pportall的系統(tǒng)來構(gòu)構(gòu)建。以上這這5層都需要要有一個集成成的環(huán)境來支支持它們的運運行,第6層層中的企業(yè)服服務(wù)總線(EESB)提供供了這個功能能。第7層主主要為整個 SOA 系系統(tǒng)提供一些些輔助的功能能,例如服務(wù)務(wù)質(zhì)量管理,安安全管理這一一類的輔助功功能。2 SOA 架構(gòu)中的
34、非非功能性服務(wù)務(wù)級別(seervicee-leveel)需求除了系統(tǒng)的業(yè)務(wù)務(wù)需求,架構(gòu)構(gòu)設(shè)計師還必必須要保證構(gòu)構(gòu)建出來的系系統(tǒng)架構(gòu)能夠夠滿足系統(tǒng)中中的非功能性性服務(wù)級別(sservicce-levvel)需求求以及服務(wù)質(zhì)質(zhì)量(QoSS)方面的需需求。在項目目初始及細化化階段,架構(gòu)構(gòu)設(shè)計師應(yīng)該該與系統(tǒng)所有有涉及方(SStakehholderrs)一起,為為每一個服務(wù)務(wù)級別需求定定義其相關(guān)的的衡量標(biāo)準(zhǔn)。構(gòu)構(gòu)建出的系統(tǒng)統(tǒng)架構(gòu)必須要要能滿足以下下幾方面的服服務(wù)水準(zhǔn)要求求:性能、可可升級性、可可靠性、可用用性、可擴展展性、可維護護性、易管理理性以及安全全性。架構(gòu)設(shè)設(shè)計師在設(shè)計計架構(gòu)過程中中需要平衡所所有
35、的這些服服務(wù)級別需求求。例如,如如果服務(wù)級別別需求中最重重要的是系統(tǒng)統(tǒng)性能,架構(gòu)構(gòu)設(shè)計師很有有可能不得不不在一定程度度上犧牲系統(tǒng)統(tǒng)的可維護性性及可擴展性性,以確保滿滿足系統(tǒng)性能能上的要求。隨隨著互聯(lián)網(wǎng)的的發(fā)展,新構(gòu)構(gòu)建的系統(tǒng)對對于服務(wù)級別別需求也變得得日益重要,現(xiàn)現(xiàn)在基于互聯(lián)聯(lián)網(wǎng)的企業(yè)系系統(tǒng)的用戶已已經(jīng)不僅僅局局限于是本企企業(yè)的雇員,企企業(yè)的外部客客戶也會成為為企業(yè)系統(tǒng)的的主要用戶。 架構(gòu)設(shè)計師的職職責(zé)之一就是是要盡可能地地為提高系統(tǒng)統(tǒng)設(shè)計人員和和系統(tǒng)開發(fā)人人員的工作效效率考慮。在在構(gòu)建整個企企業(yè)系統(tǒng)架構(gòu)構(gòu)的過程中,需需要充分重視視各種服務(wù)級級別需求,從從而避免在系系統(tǒng)開發(fā)和運運行的時候出出現(xiàn)
36、重大問題題。一個企業(yè)業(yè)級系統(tǒng)中的的服務(wù)級別需需求往往是十十分錯綜復(fù)雜雜的, SOOA 架構(gòu)設(shè)設(shè)計師需要憑憑借豐富的專專業(yè)經(jīng)驗和扎扎實的理論知知識來分離和和抽象系統(tǒng)中中不同的服務(wù)務(wù)級別需求,圖圖3展示了這這種分析的過過程。 圖33經(jīng)過 SOA 架構(gòu)設(shè)計師師分析和抽象象的服務(wù)級別別需求主要分分為以下幾類類:性能是指系統(tǒng)提提供的服務(wù)要要滿足一定的的性能衡量標(biāo)標(biāo)準(zhǔn),這些標(biāo)標(biāo)準(zhǔn)可能包括括系統(tǒng)反應(yīng)時時間以及處理理交易量的能能力等; 可升級性是指當(dāng)當(dāng)系統(tǒng)負荷加加大時,能夠夠確保所需的的服務(wù)質(zhì)量,而而不需要更改改整個系統(tǒng)的的架構(gòu); 可靠性是指確保保各應(yīng)用及其其相關(guān)的所有有交易的完整整性和一致性性的能力; 可用
37、性是指一個個系統(tǒng)應(yīng)確保保一項服務(wù)或或者資源永遠遠都可以被訪訪問到; 可擴展性是指在在不影響現(xiàn)有有系統(tǒng)功能的的基礎(chǔ)上,為為系統(tǒng)填加新新的功能或修修改現(xiàn)有功能能的能力; 可維護性是指在在不影響系統(tǒng)統(tǒng)其他部分的的情況下修正正現(xiàn)有功能中中問題或缺陷陷,并對整個個系統(tǒng)進行維維護的能力; 可管理性是指管管理系統(tǒng)以確確保系統(tǒng)的可可升級性、可可靠性、可用用性、性能和和安全性的能能力; 安全性是指確保保系統(tǒng)安全不不會被危及的的能力。 1) 性能 我們通??梢愿鶕?jù)每個用戶戶訪問的系統(tǒng)統(tǒng)響應(yīng)時間來來衡量系統(tǒng)的的整體性能;另外,我們們也可以通過過系統(tǒng)能夠處處理的交易量量(每秒)來來衡量系統(tǒng)的的性能。對于于架構(gòu)設(shè)計師
38、師來說,無論論采取哪種衡衡量系統(tǒng)性能能的方法來構(gòu)構(gòu)建系統(tǒng)架構(gòu)構(gòu),這些對于于性能的考慮慮對系統(tǒng)設(shè)計計開發(fā)人員來來說都應(yīng)該是是透明的,也也就是說對于于系統(tǒng)整體架架構(gòu)性能的考考慮應(yīng)該是架架構(gòu)設(shè)計師的的工作,而不不是系統(tǒng)設(shè)計計開發(fā)人員應(yīng)應(yīng)該關(guān)注的事事情。在較傳傳統(tǒng)的基于EEJB或者XXML-RPPC的分布式式計算模型中中,它們的服服務(wù)提供都是是通過函數(shù)調(diào)調(diào)用的方式進進行的,一個個功能的完成成往往需要通通過客戶端和和服務(wù)器來回回很多次的遠遠程函數(shù)調(diào)用用才能完成。在在Intraanet的環(huán)環(huán)境下,這些些調(diào)用給系統(tǒng)統(tǒng)的響應(yīng)速度度和穩(wěn)定性帶帶來的影響都都可以忽略不不計,但如果果我們在基于于 SOA 的架構(gòu)中使
39、使用了很多WWeb Seervicee來作為服務(wù)務(wù)提供點的話話,我們就需需要考慮性能能的影響,尤尤其是在Innterneet環(huán)境下,這這些往往是決決定整個系統(tǒng)統(tǒng)是否能正常常工作的一個個關(guān)鍵決定因因素。因此在在基于 SOOA 的系統(tǒng)統(tǒng)中,推薦采采用大數(shù)據(jù)量量低頻率訪問問模式,也就就是以大數(shù)據(jù)據(jù)量的方式一一次性進行信信息交換。這這樣做可以在在一定程度上上提高系統(tǒng)的的整體性能。2) 可升級性性 可升級性是指當(dāng)當(dāng)系統(tǒng)負荷加加大時,仍能能夠確保所需需的服務(wù)質(zhì)量量,而不需要要更改整個系系統(tǒng)的架構(gòu)。當(dāng)當(dāng)基于 SOOA 的系統(tǒng)統(tǒng)中負荷增大大時,如果系系統(tǒng)的響應(yīng)時時間仍能夠在在可接受的限限度內(nèi),那么么我們就可以
40、以認為這個系系統(tǒng)是具有可可升級性的。要要想理解可升升級性,我們們必須首先了了解系統(tǒng)容量量或系統(tǒng)的承承受能力,也也就是一個系系統(tǒng)在保證正正常運行質(zhì)量量的同時,所所能夠處理的的最大進程數(shù)數(shù)量或所能支支持的最大用用戶數(shù)量。如如果系統(tǒng)運轉(zhuǎn)轉(zhuǎn)時已經(jīng)不能能在可接受時時間范圍內(nèi)反反應(yīng),那么這這個系統(tǒng)已經(jīng)經(jīng)到達了它的的最大可升級級狀態(tài)。要想想升級已達到到最大負載能能力的系統(tǒng),你你必須增加新新的硬件。新新添加的硬件件可以以垂直直或水平的方方式加入。垂垂直升級包括括為現(xiàn)在的機機器增加處理理器、內(nèi)存或或硬盤。水平平升級包括在在環(huán)境中添置置新的機器,從從而增加系統(tǒng)統(tǒng)的整體處理理能力。作為為一個系統(tǒng)架架構(gòu)設(shè)計師所所設(shè)計
41、出來的的架構(gòu)必須能能夠處理對硬硬件的垂直或或者水平升級級?;?SSOA 的系系統(tǒng)架構(gòu)可以以很好地保證證整體系統(tǒng)的的可升級性,這這主要是因為為系統(tǒng)中的功功能模塊已經(jīng)經(jīng)被抽象成不不同的服務(wù),所所有的硬件以以及底層平臺臺的信息都被被屏蔽在服務(wù)務(wù)之下,因此此不管是對已已有系統(tǒng)的水水平升級還是是垂直升級,都都不會影響到到系統(tǒng)整體的的架構(gòu)。3) 可靠性 可靠性是指確保保各應(yīng)用及其其相關(guān)的所有有交易的完整整性和一致性性的能力。當(dāng)當(dāng)系統(tǒng)負荷增增加時,你的的系統(tǒng)必須能能夠持續(xù)處理理需求訪問,并并確保系統(tǒng)能能夠象負荷未未增加以前一一樣正確地處處理各個進程程??煽啃钥煽赡軙谝欢ǘǔ潭壬舷拗浦葡到y(tǒng)的可升升級性。如
42、果果系統(tǒng)負荷增增加時,不能能維持它的可可靠性,那么么實際上這個個系統(tǒng)也并不不具備可升級級性。因此,一一個真正可升升級的系統(tǒng)必必須是可靠的的系統(tǒng)。在基基于 SOAA 來構(gòu)建系系統(tǒng)架構(gòu)的時時候,可靠性性也是必須要要著重考慮的的問題。要在在基于 SOOA 架構(gòu)的的系統(tǒng)中保證證一定的系統(tǒng)統(tǒng)可靠性,就就必須要首先先保證分布在在系統(tǒng)中的不不同服務(wù)的可可靠性。而不不同服務(wù)的可可靠性一般可可以由其部署署的應(yīng)用服務(wù)務(wù)器或Webb服務(wù)器來保保證。只有確確保每一個 SOA 系系統(tǒng)中的服務(wù)務(wù)都具有較高高的可靠性,我我們才能保證證系統(tǒng)整體的的可靠性能夠夠得以保障。4) 可用性 可用性是指一個個系統(tǒng)應(yīng)確保保一項服務(wù)或或者
43、資源應(yīng)該該總是可被訪訪問到的。可可靠性可以增增加系統(tǒng)的整整體可用性,但但即使系統(tǒng)部部件出錯,有有時卻并不一一定會影響系系統(tǒng)的可用性性。通過在環(huán)環(huán)境中設(shè)置冗冗余組件和錯錯誤恢復(fù)機制制,雖然一個個單獨的組件件的錯誤會對對系統(tǒng)的可靠靠性產(chǎn)生不良良的影響,但但由于系統(tǒng)冗冗余的存在,使使得整個系統(tǒng)統(tǒng)服務(wù)仍然可可用。在基于于 SOA 來構(gòu)建系統(tǒng)統(tǒng)架構(gòu)的時候候,對于關(guān)鍵鍵性的服務(wù)需需要更多地考考慮其可用性性需求,這可可以由兩個層層次的技術(shù)實實現(xiàn)來支持,第第一種是利用用不同服務(wù)的的具體內(nèi)部實實現(xiàn)內(nèi)部所基基于的框架的的容錯或者冗冗余機制來實實現(xiàn)對服務(wù)可可用性的支持持;第二種是是通過UDDDI等動態(tài)查查找匹配方式
44、式來支持系統(tǒng)統(tǒng)整體的高可可用性。在 SOA 架架構(gòu)設(shè)計師構(gòu)構(gòu)建企業(yè)系統(tǒng)統(tǒng)架構(gòu)的時候候,應(yīng)該綜合合考慮這兩個個方面的內(nèi)容容,盡量保證證所構(gòu)建的 SOA 系系統(tǒng)架構(gòu)中的的關(guān)鍵性業(yè)務(wù)務(wù)能具有較高高的可用性。5) 可擴展性性 可擴展性是指在在不影響現(xiàn)有有系統(tǒng)功能的的基礎(chǔ)上,為為系統(tǒng)添加新新的功能或修修改現(xiàn)有功能能的能力。當(dāng)當(dāng)系統(tǒng)剛配置置好的時候,你你很難衡量它它的可擴展性性,直到第一一次你必須去去擴展系統(tǒng)已已有功能的時時候,你才能能真正去衡量量和檢測整個個系統(tǒng)的可擴擴展性。任何何一個架構(gòu)設(shè)設(shè)計師在構(gòu)建建系統(tǒng)架構(gòu)時時,為了確保保架構(gòu)設(shè)計的的可擴展性,都都應(yīng)該考慮下下面幾個要素素:低耦合,界界面(intt
45、erfacces)以及及封裝。當(dāng)架架構(gòu)設(shè)計師基基于 SOAA 來構(gòu)建企企業(yè)系統(tǒng)架構(gòu)構(gòu)時,就已經(jīng)經(jīng)隱含地解決決了這幾個可可擴展性方面面的要素。這這是因為 SSOA 架構(gòu)構(gòu)中的不同服服務(wù)之間本身身就保持了一一種無依賴的的低耦合關(guān)系系;服務(wù)本身身是通過統(tǒng)一一的接口定義義(可以是WWSDL)語語言來描述具具體的服務(wù)內(nèi)內(nèi)容,并且很很好地封裝了了底層的具體體實現(xiàn)。在這這里我們也可可以從一個方方面看到基于于 SOA 來構(gòu)架企業(yè)業(yè)系統(tǒng)能為我我們帶來的好好處。6) 可維護性性 可維護性是指在在不影響系統(tǒng)統(tǒng)其他部分的的情況下修改改現(xiàn)有系統(tǒng)功功能中問題或或缺陷的能力力。同系統(tǒng)的的可擴展性相相同,當(dāng)系統(tǒng)統(tǒng)剛被部署時時
46、,你很難判判斷一個系統(tǒng)統(tǒng)是否已經(jīng)具具備了很好的的可維護性。當(dāng)當(dāng)創(chuàng)建和設(shè)計計系統(tǒng)架構(gòu)時時,要想提高高系統(tǒng)的可維維護性,你必必須考慮下面面幾個要素:低耦合、模模塊性以及系系統(tǒng)文檔記錄錄。在企業(yè)系系統(tǒng)可擴展性性中我們已經(jīng)經(jīng)提到了 SSOA 架構(gòu)構(gòu)能為系統(tǒng)中中暴露出來的的各個子功能能模塊也就是是服務(wù)帶來低低耦合性和很很好的模塊性性。關(guān)于系統(tǒng)統(tǒng)文檔紀(jì)錄,除除了底層子系系統(tǒng)的相關(guān)文文檔外,基于于 SOA 的系統(tǒng)還會會引用到許多多系統(tǒng)外部的的由第三方提提供的服務(wù),因因此如果人力力資源準(zhǔn)許的的話,應(yīng)該增增加專職的文文檔管理員來來專門負責(zé)有有關(guān)整個企業(yè)業(yè)系統(tǒng)所涉及及的所有外部部服務(wù)相關(guān)文文檔的收集、歸歸類和整理
47、,這這些相關(guān)的文文檔可能涉及及到第三方服服務(wù)的接口(可可以是WSDDL)、服務(wù)務(wù)的質(zhì)量和級級別、具體性性能測試結(jié)果果等各種相關(guān)關(guān)文檔?;谟谶@些文檔,就就可以為 SSOA 架構(gòu)構(gòu)設(shè)計師構(gòu)建建企業(yè) SOOA 架構(gòu)提提供很好的文文檔參考和支支持。7) 可管理性性 可管理性是指管管理系統(tǒng)以確確保整個系統(tǒng)統(tǒng)的可升級性性、可靠性、可可用性、性能能和安全性的的能力。具有有可管理性的的系統(tǒng),應(yīng)具具備對服務(wù)質(zhì)質(zhì)量需求(QQoS)的系系統(tǒng)監(jiān)控能力力,通過改變變系統(tǒng)的配置置從而可以動動態(tài)地改善服服務(wù)質(zhì)量,而而不用改變整整體系統(tǒng)架構(gòu)構(gòu)。一個好的的系統(tǒng)架構(gòu)必必須能夠監(jiān)控控整個系統(tǒng)的的運行情況并并具備動態(tài)系系統(tǒng)配置管理
48、理的功能。在在對復(fù)雜系統(tǒng)統(tǒng)進行系統(tǒng)架架構(gòu)建模時, SOA 架架構(gòu)設(shè)計師應(yīng)應(yīng)該盡量考慮慮利用將系統(tǒng)統(tǒng)整體架構(gòu)構(gòu)構(gòu)建在已有的的成熟的底層層系統(tǒng)框架(FFramewwork)上上。對于 SSOA 架構(gòu)構(gòu)設(shè)計師來說說,可以選擇擇的底層系統(tǒng)統(tǒng)框架有很多多,可以選用用基于MQ, MesssageBoorker,WWebSphhere AAppliccationn Servver等產(chǎn)品品來構(gòu)建企業(yè)業(yè)服務(wù)總線(EEnterpprise Serviice Buus)以支持持企業(yè)的 SSOA 系統(tǒng)統(tǒng)架構(gòu),也可可以選用較新新的基于WeebSpheere Appplicaation Serveer 6中內(nèi)內(nèi)嵌的Sib
49、bus來構(gòu)建建企業(yè)的ESSB以支持 SOA 系系統(tǒng)架構(gòu)。具具體選擇哪種種底層框架來來實施 SOOA 系統(tǒng)架架構(gòu)要根據(jù)每每個系統(tǒng)各自自的特點來決決定,但這些些底層的框架架都已經(jīng)提供供了較高的系系統(tǒng)可管理性性。因此,分分析并選擇不不同的產(chǎn)品或或底層框架來來實現(xiàn)企業(yè)系系統(tǒng)架構(gòu)也是是架構(gòu)設(shè)計師師的主要職責(zé)責(zé)之一。有關(guān)關(guān)于如何利用用已有底層架架構(gòu)來構(gòu)建 SOA 系系統(tǒng),中國 SOA 設(shè)設(shè)計中心已經(jīng)經(jīng)發(fā)表了一系系列相關(guān)的文文章,大家可可以在DevvelopeerWorkks中的 SSOA 專欄欄看到它們。8) 安全性 安全性是指確保保系統(tǒng)安全不不會被危及的的能力。目前前,安全性應(yīng)應(yīng)該說是最困困難的系統(tǒng)質(zhì)質(zhì)
50、量控制點。這這是因為安全全性不僅要求求確保系統(tǒng)的的保密和完整整性,而且還還要防止影響響可用性的服服務(wù)拒絕(DDeniall-of-SServicce)攻擊。這這就要求當(dāng) SOA 架架構(gòu)設(shè)計師在在構(gòu)建一個架架構(gòu)時,應(yīng)該該把整體系統(tǒng)統(tǒng)架構(gòu)盡可能能地分割成各各個子功能模模塊,在將一一些子功能模模塊暴露為外外部用戶可見見的服務(wù)的時時候,要圍繞繞各個子模塊塊構(gòu)建各自的的安全區(qū),這這樣更便于保保證整體系統(tǒng)統(tǒng)架構(gòu)的安全全。如果一個個子模塊受到到了安全攻擊擊,也可以保保證其他模塊塊相對安全。如如果企業(yè) SSOA 架構(gòu)構(gòu)中的一些服服務(wù)是由Weeb Serrvice實實現(xiàn)的,在考考慮這些服務(wù)務(wù)安全性的時時候也要同
51、時時考慮效率的的問題,因為為WS-Seecuritty會為Weeb Serrvice帶帶來一定的執(zhí)執(zhí)行效率損耗耗。3結(jié)束語本系列兩部分介介紹了有關(guān)架架構(gòu)設(shè)計師以以及 SOAA 架構(gòu)的知知識,分析了了 SOA 架構(gòu)師在設(shè)設(shè)計 SOAA 系統(tǒng)架構(gòu)構(gòu)時有哪些應(yīng)應(yīng)該特別注意意的地方并在在最后簡要介介紹了在構(gòu)建建基于 SOOA 架構(gòu)的的企業(yè)系統(tǒng)時時應(yīng)該怎樣保保證所構(gòu)建的的系統(tǒng)架構(gòu)能能夠滿足系統(tǒng)統(tǒng)中不同的服服務(wù)級別需求求。從架構(gòu)設(shè)設(shè)計師的角度度, SOAA 是一種新新的設(shè)計模式式,方法學(xué)。因因此, SOOA 本身涵涵蓋了很多的的內(nèi)容,也觸觸及到了系統(tǒng)統(tǒng)整體架構(gòu)設(shè)設(shè)計、實現(xiàn)、維維護等各個方方面。本文的的內(nèi)容
52、只是涉涉及到了有關(guān)關(guān)于架構(gòu)方面面的一部分內(nèi)內(nèi)容,希望能能對廣大的 SOA 系系統(tǒng)開發(fā)設(shè)計計人員起到一一定的幫助作作用。參考資料 HYPERLINK /Redbooks.nsf/RedbookAbstracts/sg246303.html?Open Patternns: Seervicee-orieented Archiitectuure annd Webb Servvices紅紅皮書,SGG24-63303-000,20044 年 4 月,作者MMark EEndreii 等。 DevelopperWorrks 的 HYPERLINK /developerworks/cn/webservice
53、s/ws-esbscen/ SOA 和和 Web 服務(wù)專區(qū)有有大量專題文文章以及關(guān)于于開發(fā) Weeb 服務(wù)應(yīng)應(yīng)用程序的入入門級、中級級和高級教程程。 有關(guān)隨需應(yīng)變商商務(wù)的更多信信息,請參閱閱 HYPERLINK /developerworks/ondemand/?S_TACT=105AGX52&S_CMP=cn-a-ws Deveeloperr resoourcess for an onn demaand woorld WWeb siite HYPERLINK /developerworks/cn/webservices/ws-roles/index.html Web 服務(wù)項項目角色 描描述了
54、 Weeb 服務(wù)開開發(fā)項目中所所涉及到的各各種不同的工工作角色,包包括各自的目目標(biāo),任務(wù)以以及彼此之間間是如何協(xié)作作的。 HYPERLINK /developerworks/cn/webservices/ws-%20SOA%20d1/index.html 面向服務(wù)的分析析與設(shè)計原理理一文研究了了OOAD、EEA 和 BBPM 中的的適當(dāng)原理。 HYPERLINK /developerworks/cn/webservices/ws-esb1/ 企業(yè)服務(wù)總線解解決方案剖析析,第 1 部分 介紹紹了面向服務(wù)務(wù)的體系結(jié)構(gòu)構(gòu)(servvice-oorientted arrchiteecturee, SO
55、AA )和企業(yè)業(yè)服務(wù)總線(Enterrprisee Servvice BBus,ESSB)的基本本知識,ESSB的技術(shù)沿沿革,以及EESB與 SSOA 之間間的關(guān)系。企業(yè)服務(wù)總線解解決方案剖析析,第 1 部分: 企企業(yè)服務(wù)總線線的基本概念念http:/www.iibm.coom/devvelopeerworkks/cn/webseervicees/ws-esb1/ HYPERLINK /developerworks/cn/webservices/ws-esb1/#author#author l author#author 李珉, 高級軟軟件工程師,技技術(shù)經(jīng)理, IBM 中中國軟件開發(fā)發(fā)實驗室
56、SSOA設(shè)計中中心 HYPERLINK /developerworks/cn/webservices/ws-esbscen/ 案,第 1 部部分(deevelopperWorrks,20003 年 12 月)作者 HYPERLINK /developerworks/cn/webservices/ws-esbscen/index.html#author1#author1 l author1#author1 Riick Roobinsoon。 HYPERLINK /Redbooks.nsf/65f0d9cea6e0ab57852569e0007452bb/2b0de69b65f8a81285256
57、e620078c4c9?OpenDocument Patternns: Immplemeentingg an SSOA ussing aan Entterpriise Seervicee Bus,SSG24-66346-000,作者 Martiin Keeen 等。 Enterprrise sservicce buss - maaking SOA rreal作者者 Bethh Hutcchisonn, Petter Laambross, Robb Phipppen, Marc-Thomss Schiimdt 關(guān)于作者IBM中國軟件件開發(fā)實驗室室SOA設(shè)計計中心 是IIBM全球四四個SOA設(shè)設(shè)計
58、中心中最最大的一個,成成立一年多來來,已經(jīng)取得得了可喜的成成就。我們已已經(jīng)在全球范范圍內(nèi)成功地地實施了多個個 SOA 應(yīng)用項目,為為多個行業(yè)的的客戶成功地地提供了 SSOA 解決決方案。我們們正在實施的的 SOA 項目涵蓋了了很多的重要要行業(yè),包括括零售業(yè)、航航運業(yè)、電力力、銀行、保保險等等。通通過這些不斷斷增長的成功功案例,我們們不僅深入地地推廣了 SSOA 的理理念,樹立了了 SOA 成功實施的的范例,也為為我們的隊伍伍積累了經(jīng)驗驗,培養(yǎng)了人人才。與此同同時,我們還還是 IBMM 開發(fā) SSOA 的軟軟件平臺 - SOAA Inteegratiion Frramewoork - 的主力軍軍
59、。該產(chǎn)品基基于模型驅(qū)動動的思想,旨旨在最大化地地重用軟件資資產(chǎn),它為 SOA 項項目的實施提提供了一整套套源自成功實實踐的方法論論,設(shè)計范式式和工具集。它它的出現(xiàn)將極極大地方便 SOA 系系統(tǒng)架構(gòu)師、設(shè)設(shè)計人員、開開發(fā)人員快速速地開發(fā)基于于SOA的應(yīng)應(yīng)用項目。參參與本系列撰撰寫的主要技技術(shù)人員包括括:毛新生 IBM 中中國軟件開發(fā)發(fā)實驗室 資資深經(jīng)理, SOA計中中心中國區(qū) 首席架構(gòu)師師李珉 IBBM 中國軟軟件開發(fā)實驗驗室 SOAA設(shè)計中心 高級軟件工工程師,技術(shù)術(shù)經(jīng)理周志榮榮 IBM 中國軟件開開發(fā)實驗室 SOA設(shè)計計中心 軟件件工程師張柯柯 IBM 中國軟件開開發(fā)實驗室 SOA設(shè)計計中心
60、 軟件件工程師金戈戈 IBM 中國軟件開開發(fā)實驗室 SOA設(shè)計計中心 資深深軟件工程師師,技術(shù)經(jīng)理理 理解面向服務(wù)的的體系結(jié)構(gòu)中中企業(yè)服務(wù)總總線場景和解解決方案,第第 1 部分分企業(yè)服務(wù)總線中中的工作角色色本文確定了一組組最低功能,可可以滿足企業(yè)業(yè)服務(wù)總線(EEnterpprise Serviice Buus,ESBB)與面向服服務(wù)的體系結(jié)結(jié)構(gòu)(serrvice-oriennted aarchittecturre,SOAA)的原則保保持一致的基基本需要。通通過確定這些些最低功能,您您可以確定利利用何種現(xiàn)有有技術(shù)來實現(xiàn)現(xiàn)支持 SOOA 的 EESB。通過過考慮特定情情形下的需求求如何確定對對額外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 白水泥企業(yè)的多元化品牌發(fā)展之路
- 珠寶店投訴處理流程與技巧培訓(xùn)
- 社交網(wǎng)絡(luò)對肥胖患者心理支持的影響
- 科技創(chuàng)新助力提升職業(yè)教育師資水平
- 2025至2030年中國液體自力式溫度調(diào)節(jié)器數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國消防專用自限溫電熱帶數(shù)據(jù)監(jiān)測研究報告
- 購買雨傘合同范本
- 村級維修合同范本
- 中學(xué)食堂運營管理合同
- 直播提成合同范本
- 【川教版】《生命 生態(tài) 安全》五下全冊課件
- 中國無人機市場分析
- 2025高考數(shù)學(xué)專項復(fù)習(xí):圓中鬼魅阿波羅尼斯圓(含答案)
- 2024年新課標(biāo)培訓(xùn)2022年小學(xué)英語新課標(biāo)學(xué)習(xí)培訓(xùn)課件
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測英語試題 含答案
- 中學(xué)八年級信息技術(shù)Excel-電子表格教案
- 哲學(xué)與人生 第二課 樹立科學(xué)的世界觀2.1
- 第15課 第二次世界大戰(zhàn) 教學(xué)課件
- 陜西省榆林市2023-2024學(xué)年高二上學(xué)期1月期末語文試題 (解析版)
- 無光纖傳輸技術(shù)Er:YAG激光口腔臨床應(yīng)用規(guī)范
- 醫(yī)療信息共享與互聯(lián)網(wǎng)醫(yī)療管理制度
評論
0/150
提交評論