“白菜價”實現(xiàn)經(jīng)濟適用SOA解決方案
SOA從誕生之日起,已經(jīng)被熱炒幾年。隨著行業(yè)標準的逐漸完善,越來越多的廠商投入其中,先后推出自己的SOA解決方案,比如Oracle“融合”中間件,IBM中間件,以及多個國內(nèi)廠商的產(chǎn)品。事實證明,SOA并不一定與高風(fēng)險、高投入畫等號,“經(jīng)濟適用”的SOA顯然比價格高昂的廠商產(chǎn)品更能吸引企業(yè)的眼球。
一、高高在上的SOA
SOA(面向服務(wù)的架構(gòu))是一種優(yōu)秀的IT架構(gòu)設(shè)計理念,它既滿足了企業(yè)對敏捷和速度的需要,也適應(yīng)了業(yè)務(wù)流程不斷變化的現(xiàn)狀,讓信息系統(tǒng)像電腦硬件一樣,可以隨時用新“服務(wù)”替換過時的舊“服務(wù)”。
SOA從誕生之日起,已經(jīng)被熱炒幾年。隨著行業(yè)標準的逐漸完善,越來越多的廠商投入其中,先后推出自己的SOA解決方案,比如Oracle“融合”中間件,IBM中間件,以及多個國內(nèi)廠商的產(chǎn)品。
然而,不管各家廠商把SOA概念炒得多火爆,歸根到底都是為了推銷自家產(chǎn)品,難免有自賣自夸、制造虛假繁榮的嫌疑。否則,既然SOA這么好,為什么市場卻“叫好不叫座”呢?
究其原因,SOA解決方案的實施難度大、價格成本高、失敗風(fēng)險大,最終讓很多企業(yè)打了退堂鼓。盡管每次的產(chǎn)品推介會都熱鬧非凡,客戶卻是看得多、用得少,真正實施SOA的企業(yè)少之又少。
或許是高昂的價格、復(fù)雜的實施和難以衡量的收益讓SOA的“落地”顯得舉步維艱。畢竟,企業(yè)進行信息化建設(shè)目的是為了提升效率、節(jié)約成本,復(fù)雜又昂貴的SOA讓企業(yè)“想說愛你不容易”,結(jié)果只能是無奈的擦肩而過。
二、只是“多加一個按鈕”?
隨著競爭的日益激烈,業(yè)務(wù)部門對信息系統(tǒng)的依賴程度越來越高。然而,市場總是瞬息萬變,尤其是在產(chǎn)品生命周期不斷縮短、客戶需求不斷變化的前提下,業(yè)務(wù)流程的調(diào)整已經(jīng)成為常態(tài),隨之而來的是對IT系統(tǒng)的靈活性和應(yīng)變能力提出了更高的要求。
應(yīng)用系統(tǒng)與業(yè)務(wù)流程的結(jié)合越來越緊密。同時,也由于這種業(yè)務(wù)相關(guān)性,給IT系統(tǒng)的改造和升級帶來了不少麻煩。
系統(tǒng)改造不比新建,不僅要考慮原有功能的修改,同時也要仔細評估本次修改對其它的功能、模塊、甚至其它系統(tǒng)的影響程度,可以說是“牽一發(fā)而動全身”。尤其是對那些涉及到基礎(chǔ)數(shù)據(jù)、基本流程、底層系統(tǒng)的變更請求,所需工作量絕不是像業(yè)務(wù)部門以為的那樣——“多加一個按鈕”就能解決的問題。
如果系統(tǒng)設(shè)計不夠靈活,很可能會影響到相關(guān)的多個功能模塊和應(yīng)用系統(tǒng),導(dǎo)致多個信息系統(tǒng)被迫進行“傷筋動骨”式的升級改造。
業(yè)務(wù)部門對IT系統(tǒng)的變更請求層出不窮,IT部門的響應(yīng)速度則顯得遲緩而滯后。往往是一個變更請求還沒有滿足,下一個變更請求已經(jīng)提出,系統(tǒng)改進的速度遠遠跟不上需求提出的速度。
在這樣的情況下,SOA這種面向服務(wù)的架構(gòu)所體現(xiàn)出的“隨需應(yīng)變”的能力,讓企業(yè)看到了希望。
三、“白菜價”實現(xiàn)SOA
SOA本身并不拘泥某種特定的實現(xiàn)方式,也不一定非要多么高深的技術(shù),它是脫離于任何具體廠商和產(chǎn)品的思想理念。與其說它是一個解決方案,倒不如說它是一個優(yōu)秀的設(shè)計理念。
實現(xiàn)SOA不意味著必須購買誰的產(chǎn)品,接受誰的咨詢服務(wù),只要深入理解SOA的設(shè)計思想,用很平常的技術(shù)手段和開發(fā)工具也能實現(xiàn)SOA。那么,如何才能實現(xiàn)“白菜價”的SOA架構(gòu)呢?
我們可以從以下幾個方面著手,在盡量不改變現(xiàn)有技術(shù)體系和應(yīng)用系統(tǒng)的基礎(chǔ)上,提高IT系統(tǒng)的靈活性,實現(xiàn)對變化的業(yè)務(wù)需求的敏捷響應(yīng)。
首先,系統(tǒng)功能相對獨立
每一個應(yīng)用系統(tǒng)都實現(xiàn)了特定的業(yè)務(wù)流程,在業(yè)務(wù)上聯(lián)系緊密的系統(tǒng)之間相關(guān)性自然也高,降低系統(tǒng)間的耦合度首先就要從這里入手。只有在不同的業(yè)務(wù)系統(tǒng)之間,以及系統(tǒng)內(nèi)部的各個模塊之間,功能上實現(xiàn)有效的“切割”,減少相互間的依賴和影響程度,才能保證相互間的獨立性和完整性。
企業(yè)可以通過整體的IT規(guī)劃實現(xiàn)業(yè)務(wù)系統(tǒng)在功能上的相對獨立。每個應(yīng)用系統(tǒng)在建設(shè)之前,要首先明確項目的范圍和目標,減少與現(xiàn)有系統(tǒng)在功能上的嵌套和疊加。讓每個IT系統(tǒng)專注做好自己的事,盡量把業(yè)務(wù)邏輯封閉在系統(tǒng)內(nèi)部,減少“被升級”的現(xiàn)象發(fā)生。
其次,業(yè)務(wù)流程盡量抽象
實際工作中有很多變更請求都與具體的人員調(diào)整有關(guān),并不是根本上的業(yè)務(wù)邏輯改變,比如原來的業(yè)務(wù)人員離職、或者審批的環(huán)節(jié)調(diào)整。
這些請求雖然不大,累積起來工作量也很嚇人,而且往往時間要求緊迫,不該過來流程就走不下去。把本來有限的時間浪費在這上面,難怪IT部門沒時間響應(yīng)別的變更請求。
在應(yīng)用系統(tǒng)建設(shè)過程中,應(yīng)該盡量減少類似的人員和邏輯綁定,通過開發(fā)特定的功能模塊,實現(xiàn)關(guān)于人員權(quán)限管理、基本業(yè)務(wù)流程設(shè)置和維護等系統(tǒng)管理功能,實現(xiàn)IT 系統(tǒng)與人員和業(yè)務(wù)邏輯的分離。
再次,接口標準化
盡管在業(yè)務(wù)邏輯上盡量保持了系統(tǒng)之間的獨立性,但跨部門的流程交叉和接口也是不可避免的。在實現(xiàn)系統(tǒng)交互時,盡量采取通用的、標準化的接口,是降低系統(tǒng)耦合度的方法之一。
即使不使用SOA架構(gòu)下的標準和協(xié)議,我們也有許多實現(xiàn)接口的方式可以選擇。比如:利用XML文件傳輸數(shù)據(jù)、通過Biztalk服務(wù)抓取接口文件并進行處理、利用數(shù)據(jù)庫的DTS實現(xiàn)后臺數(shù)據(jù)傳輸,或者為僅需查詢數(shù)據(jù)的其它系統(tǒng)開放具有只讀屬性的通用視圖,都是很方便實用的方法,大大降低了技術(shù)難度和風(fēng)險。
最后,基礎(chǔ)架構(gòu)整合
隨著企業(yè)信息化建設(shè)的逐步推進,很多業(yè)務(wù)人員都面臨讓人頭痛的窘狀,一筆業(yè)務(wù)從開始到結(jié)束,可能要在三、四個系統(tǒng)里走不同的流程,繁瑣又效率低下。
SOA架構(gòu)下的服務(wù)雖然多種多樣,但帶給用戶的體驗卻是完全透明的。用戶看到的是整個業(yè)務(wù)流程的運轉(zhuǎn),而不是一個個割裂的服務(wù)。
通過部署統(tǒng)一的基礎(chǔ)架構(gòu),可以把不同的業(yè)務(wù)應(yīng)用系統(tǒng)整合成為一個功能完整、流程順暢的IT系統(tǒng),實現(xiàn)系統(tǒng)間的整合和流程驅(qū)動,避免重復(fù)造輪子的浪費。并且,由于內(nèi)聚高、耦合低,每個系統(tǒng)的內(nèi)部改造不會或者很少影響其它的應(yīng)用系統(tǒng),不但降低了系統(tǒng)修改的難度,也提高了IT部門的相應(yīng)速度。
IT系統(tǒng)的整體規(guī)劃,信息系統(tǒng)各自在功能和目標上相對獨立,大大提升了系統(tǒng)的內(nèi)聚程度,因此,每個應(yīng)用系統(tǒng)都可以獨立開發(fā),相互之間通過標準接口實現(xiàn)互聯(lián)互通。獨立的模塊式開發(fā),給開發(fā)過程中的代碼/組件重用提供了良好的基礎(chǔ)。
以上的幾方面都不涉及技術(shù)體系的切換,對現(xiàn)有應(yīng)用系統(tǒng)也不必做一次性、大規(guī)模的改變,可以在新建應(yīng)用系統(tǒng)、改進現(xiàn)有系統(tǒng)功能的過程中,循序漸進的結(jié)合進面向服務(wù)架構(gòu)的設(shè)計思想,最終實現(xiàn)低投入、低風(fēng)險、“白菜價”的SOA體系。
四、SOA架構(gòu)的魅力
企業(yè)內(nèi)部的應(yīng)用系統(tǒng)越來越多,靈活型卻越來越差。IT系統(tǒng)像一頭身材巨大的大象,再也踩不出靈活的舞步。
在這種情況下,SOA倡導(dǎo)的面向服務(wù)的架構(gòu)成為企業(yè)的最佳選擇,通過以上方面的努力,不必事事復(fù)雜的中間件技術(shù),也能實現(xiàn)敏捷應(yīng)變的SOA特性。不僅如此,SOA架構(gòu)本身還具有更多獨特的魅力。
盤活企業(yè)的IT資產(chǎn)
只要符合相應(yīng)的標準,任何服務(wù)都可以在SOA架構(gòu)下連通起來。通過系統(tǒng)功能獨立、業(yè)務(wù)流程抽象、基礎(chǔ)架構(gòu)整合、標準化接口等手段,企業(yè)可以把過去投資的信息系統(tǒng)重新整合到新的架構(gòu)下來,等于節(jié)省了重新開發(fā)的費用。
實現(xiàn)快速響應(yīng)
服務(wù)的重復(fù)使用和再利用,加快了信息系統(tǒng)相應(yīng)業(yè)務(wù)變更請求的速度,縮短了過去需要很長時間才能實現(xiàn)的組織流程重組。IT系統(tǒng)變得“靈動”的同時,也使業(yè)務(wù)部門能更快速的接近和適應(yīng)市場。
降低變更風(fēng)險
由于高內(nèi)聚、低耦合的特點,每個業(yè)務(wù)系統(tǒng)之間互不影響,在對某一個模塊進行修改和更新的時候,可以不必影響到其它的業(yè)務(wù)系統(tǒng),把系統(tǒng)的變更請求封閉在單個應(yīng)用系統(tǒng)/模塊 內(nèi),降低了大面積修改現(xiàn)有系統(tǒng)所帶來的風(fēng)險。
促進持續(xù)改進
業(yè)務(wù)變動和人員更替是避免不了的,通過SOA架構(gòu)可以支持持續(xù)不斷的流程改進,局部的業(yè)務(wù)改造對整個業(yè)務(wù)系統(tǒng)的影響比較低,不會造成大面積、高風(fēng)險的系統(tǒng)更替?梢粤領(lǐng)T部門用最少的代價實現(xiàn)對業(yè)務(wù)變更請求的迅速反應(yīng)。
“后臺松散,前臺緊致”是SOA架構(gòu)的特點,也給我們采用經(jīng)濟實惠的技術(shù)手段實現(xiàn)SOA架構(gòu)提供了可能。事實證明,SOA并不一定與高風(fēng)險、高投入畫等號,“經(jīng)濟適用”的SOA顯然比價格高昂的廠商產(chǎn)品更能吸引企業(yè)的眼球。 |