由“SOA已死”想到的……

    曾經,SOA是多麼的火,以至於一說到企業的IT架構,非SOA莫屬。如果一個企業的新業務系統不採用SOA的架構,就會被認爲是落後的;如果已有的業務系統,不用SOA進行改造,就會必然死亡。一時之間,SOA滿天飛,新聞報道,企業宣傳,搞的不亦樂乎。
    在如此的形勢之下,爲了不使自己落後,急忙找點SOA的資料充充電,卻看到“目前實現SOA的最佳技術是Web Service”,心裏不免落寞,難道SOA是新瓶裝舊酒?又學習了一番,發現SOA主要是概念上的,要從技術上實現它,目前最適用的是Web Service。其實,Web Service的概念與SOA非常相似,只是沒有SOA拔的更高而已。在實際的IT項目中,沒有看到多少採用SOA架構的,也沒有多少採用Web Service的,還是該咋咋地,儘管SOA的宣傳鋪天蓋地。
    SOA宣傳的很火,但用的很少,慢慢也就淡忘了。今天看到一則新聞“嚴峻的經濟形勢,缺乏有說服性的案例使得SOA開始面臨質疑,有分析師斷言SOA已死,並批評SOA項目浪費了企業大量的投資。”看了不僅愕然,像我這樣的IT民工還沒有嘗試一把SOA,她就是死去了?不僅感慨技術也是“長江後浪推前浪,前浪死在沙灘上”,優秀的技術在大浪淘沙之後還是會生存下來,沒有實質內容的技術和概念,即使宣傳再猛烈,終究是要死去的。
    SOA真的要死去了嗎?即使SOA這個名字死去了,她背後代蘊含的降低複雜性、松耦合、靈活支持業務等優秀觀點是不會死去的,而且還會更加發揚光大,其實這樣的優秀觀點在SOA出現之前就已經出現了,Web Service也具有這些優點,在Web Service之前的一些技術也具有這些優點,既然如此,SOA又剩下些什麼呢?不過是一些IT企業吸引眼球圈錢的作秀而已。
    無論如何,以降低複雜性、松耦合、靈活支持業務爲宗旨的SOA或Web Service,不能一棒打死,在其適用的範圍內還是大有可爲的。SOA或Web Service的特性決定了具有相對獨立業務功能的程序體可以打造爲一個功能節點,這個功能節點對內是自治的,具有一定獨立性,對外提供一些功能,功能的使用者並不需要關心其實現原理、內部結構,只要拿來爲我所用就可以了。但使用者一旦使用了某個SOA或Web Service節點,就對其有了依賴性,一旦節點無法對外提供服務,使用者的功能就會受到影響,甚至無法使用。這樣,對於不需要與外部交互的系統來說,就沒有必要把它細分爲若干可單獨部署的SOA或Web Service節點互相調用了,傳統的技術就足夠了,使用SOA或Web Service來構建只是畫蛇添足,當需要對外有信息交互時,把需要交換信息的那部分加上SOA或Web Service接口就可以了。當有幾個子系統或系統之間需要信息交互時,每個子系統或系統內部還是按照傳統的開發技術,只是在需要發佈信息或使用信息的地方用SOA或Web Service做接口就可以了。這樣,因爲SOA或Web Service的通用性,在構建其它系統時,如果正好有信息在已有的系統裏存在,就可以通過SOA或Web Service進行信息交互了,而不需要重複開發。以此看來,一個SOA或Web Service節點,就是一個組件,在這些組件基礎上可以搭建更大範圍的應用,也就體現了降低複雜性、松耦合、靈活支持業務的優點。
    萬變不離其宗。SOA所體現的思想還是有價值的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章