對(duì)于那些身處SOA大潮流中的CIO而言,構(gòu)想和建設(shè)一個(gè)敏捷、靈活、模塊化和可擴(kuò)展的IT系統(tǒng)是他們的最終夢(mèng)想。但在很大程度上,很多人一開始就陷入了誤區(qū)。
一重門:主動(dòng)VS.被動(dòng)
被動(dòng)面對(duì)SOA使得CIO面對(duì)越來越多的挑戰(zhàn)。在SOA大潮下,CIO們應(yīng)該主動(dòng)出擊,而不是被越來越多的業(yè)務(wù)和撲面而來的SOA概念弄得手忙腳亂。
Gartner的調(diào)查表明,2007年,有50%以上的新的關(guān)鍵業(yè)務(wù)應(yīng)用和業(yè)務(wù)流程設(shè)計(jì)將使用SOA;到2010年,這個(gè)比例將提高到80%以上;到2011年,80%以上的現(xiàn)有應(yīng)用將通過升級(jí)融入到以SOA為特征的業(yè)務(wù)驅(qū)動(dòng)型組合應(yīng)用中;有65%以上的套裝軟件使用者將會(huì)在他們的核心業(yè)務(wù)環(huán)境中使用面向服務(wù)化的套裝軟件;到2010年,在SOA項(xiàng)目中使用服務(wù)注冊(cè)機(jī)制將由2006年的低于5%,上升到高于40%;到2010年,有60%以上的企業(yè)部署的SOA服務(wù)會(huì)用單獨(dú)的SOA注冊(cè)機(jī)進(jìn)行管理;到2011年,80%以上的大型企業(yè)會(huì)實(shí)施多個(gè)基于SOA架構(gòu)的后臺(tái)基礎(chǔ)架構(gòu);到2010年,在所有的軟件基礎(chǔ)架構(gòu)產(chǎn)品中,會(huì)有80%上使用企業(yè)服務(wù)總線技術(shù)或以企業(yè)服務(wù)總線為基礎(chǔ)……
相關(guān)機(jī)構(gòu)這一系列的預(yù)測(cè)數(shù)據(jù)表明,CIO再也不能被動(dòng)面對(duì)SOA了。
SOA用戶不需要冗繁、昂貴的軟件架構(gòu),他們所需要的是專門針對(duì)滿足SOA發(fā)展趨勢(shì)而設(shè)計(jì)好的軟件,也就是如何使得已有(或新的)IT資產(chǎn)可以得到更好的重用,如何令I(lǐng)T系統(tǒng)更加靈活并能快速構(gòu)建新應(yīng)用。SOA的設(shè)計(jì)也需要更好的方法來實(shí)施和部署可重用的服務(wù),并且做到能夠隨時(shí)隨地且簡(jiǎn)易直接地使用這些服務(wù)。
對(duì)于用戶來說,其實(shí)并不需要一開始就把SOA的全局設(shè)計(jì)好。因?yàn)镾OA也是一個(gè)理念,要貫穿企業(yè)IT部署的整個(gè)生命周期,不能一蹴而就。在規(guī)劃之后,首先要把高價(jià)值的東西設(shè)計(jì)成SOA,之后循序漸進(jìn)。在選擇實(shí)現(xiàn)方案的時(shí)候,要選擇那些允許后期進(jìn)行靈活擴(kuò)展的產(chǎn)品和方案。有的廠商一下子推薦很大的方案和軟件給用戶,這對(duì)用戶并不一定是好事。為此,CIO需要主動(dòng)選擇,而不是被動(dòng)接受廠商的推銷。
盡管用戶擁有極為復(fù)雜的IT 系統(tǒng)和同樣復(fù)雜的IT需求,但在某些SOA實(shí)現(xiàn)情況下,企業(yè)并不需要所有組件?;蛘哒f,用戶以不同的先后順序部署更為合理。借助靈活、循序漸進(jìn)的實(shí)施方法,用戶可以對(duì)SOA產(chǎn)品和方案進(jìn)行任意組合。
二重門:松耦合VS.緊耦合
隨著公司的發(fā)展,業(yè)務(wù)模式不斷變化,SOA也要隨需應(yīng)變。對(duì)比松耦合與緊耦合這兩種模式的特點(diǎn),分布式SOA會(huì)給企業(yè)和CIO帶來更多的便利。
現(xiàn)在宣傳SOA的廠家非常之多,但是真正提出分布式SOA架構(gòu)的并不多。因?yàn)楹芏啻笮蛙浖S商習(xí)慣了以緊耦合的方式提供SOA架構(gòu)的主要功能,SOA緊緊地和他們的數(shù)據(jù)庫(kù)、操作系統(tǒng)、服務(wù)器和存儲(chǔ)綁定,這種緊耦合方式缺乏與其他系統(tǒng)的互操作性,初期需要大量的資金投入,往往會(huì)導(dǎo)致用戶對(duì)某個(gè)廠商的依賴。緊耦合式SOA架構(gòu)導(dǎo)致用戶對(duì)采用SOA處于猶豫狀態(tài),因?yàn)樵谶€未看到成功的希望時(shí)就需要大量的投資。
面向服務(wù)的體系結(jié)構(gòu)最重要的一個(gè)思想就是實(shí)現(xiàn)軟件間的松耦合。松耦合的軟件結(jié)構(gòu)可以降低軟件的復(fù)雜性,提高軟件的重用性,使軟件能夠更好地適應(yīng)需求的變化。
其實(shí),用戶更需要低成本的SOA解決方案,令他們可以從小規(guī)模SOA做起,并隨著業(yè)務(wù)的增長(zhǎng)逐步擴(kuò)大規(guī)模,同時(shí)根據(jù)自身的需求增加服務(wù)質(zhì)量和其他功能等。與此同時(shí),用戶可以使用點(diǎn)到點(diǎn)的通信方式,避免新增加昂貴的服務(wù)器。簡(jiǎn)而言之,SOA用戶需要的SOA架構(gòu)必須真正具備SOA架構(gòu)的固有特性,也就是分布式的特性。
SOA的本質(zhì)是通過松耦合的方式實(shí)現(xiàn)服務(wù)的重用。分布式SOA則把松耦合的優(yōu)勢(shì)發(fā)揮得淋漓盡致。它可以幫助用戶擺脫緊耦合的束縛,以較少的投資開始SOA建設(shè),用戶只配置需要的功能,并根據(jù)需要以漸進(jìn)的方式擴(kuò)大整合的規(guī)模。分布式SOA可以在運(yùn)行環(huán)境中動(dòng)態(tài)配置,也就是說用戶的業(yè)務(wù)無需中斷。分布式SOA基礎(chǔ)架構(gòu),具備今天SOA所涉及的全部元素。
然而不幸的是,集中式的SOA架構(gòu)方式還在被不斷地開發(fā)和鼓吹。這些廠商們會(huì)不遺余力地說服潛在用戶,他們所提供的技術(shù)和產(chǎn)品自始至終都支持SOA架構(gòu),且從設(shè)計(jì)伊始便是為了方便用戶建立SOA架構(gòu),而不管這些技術(shù)和產(chǎn)品原本是為J2EE應(yīng)用服務(wù)器而設(shè)計(jì),還是為某個(gè)系統(tǒng)而設(shè)計(jì)的。IONA科技公司的Artix是一個(gè)可擴(kuò)展的企業(yè)服務(wù)總線產(chǎn)品,能夠讓這些IT資產(chǎn)協(xié)同工作,締造一個(gè)分布式的SOA。
三重門:SOA治理同等重要
隨著服務(wù)數(shù)量的增加,管理服務(wù)成為SOA過程中的一項(xiàng)重要工作,與IT治理同等重要。
需要指出的是,IT系統(tǒng)在建立之日起就需要考慮IT治理的理念和方法一樣,SOA也存在著類似的問題。隨著大量服務(wù)的構(gòu)建,系統(tǒng)也日益復(fù)雜,尤其是隨著服務(wù)的可重用性日益提高,調(diào)用同一個(gè)服務(wù)的請(qǐng)求的個(gè)人和部門也越來越多。而Web服務(wù)的數(shù)量越來越多且被不同的部門調(diào)用和管理的時(shí)候,SOA治理問題就被提上了日程,對(duì)IT系統(tǒng)有靈活、可擴(kuò)展和快速響應(yīng)需求的企業(yè)尤其如此。所以說,SOA的構(gòu)建和與治理幾乎是同步的,這關(guān)系著一個(gè)企業(yè)能否從SOA上獲得高收益,甚至也決定著SOA成功與否。
當(dāng)然,建立一個(gè)模塊化的環(huán)境并提供足夠的靈活性是IT設(shè)計(jì)的終極目的,但總體的設(shè)計(jì)和策略并不能將未來所有的變化和根據(jù)這一變化做出的決策全部考慮進(jìn)去,這就是SOA治理的意義所在,甚至可以說這是SOA永久成功的基石。
Gartner相關(guān)專家指出,SOA治理須確保那些非常重要的需要決策的情況能夠讓合適的人知曉,并保證那些人有適當(dāng)?shù)臋?quán)利來做出那些決策。這就是SOA治理問題的一半了。第二部分就是不管是在何時(shí)做出的決策,SOA治理需要保證那些決策能被很好的執(zhí)行。這不僅僅是設(shè)置一個(gè)時(shí)間限制,而是要強(qiáng)制其執(zhí)行,并最后給予相關(guān)人以獎(jiǎng)勵(lì)或是懲罰,這就是SOA治理的真正含義。
在失敗的大型SOA項(xiàng)目中,絕大多數(shù)的項(xiàng)目輸就輸在SOA治理上。沒有規(guī)矩,不成方圓。對(duì)于SOA 的成功,SOA治理不是可選的,而是必須要考慮的關(guān)鍵因素,并且需要將SOA治理作為最早進(jìn)行的工作之一。
SOA治理并不設(shè)計(jì)服務(wù),而是指導(dǎo)將如何設(shè)計(jì)服務(wù)。這可幫助回答和解決很多關(guān)于SOA的問題:我們提供了哪些服務(wù)?誰可以使用這些服務(wù)?它們的可靠性如何?安全性如何?……因此治理更多的是策略問題,而不是技術(shù)或業(yè)務(wù)問題。