SOA是什麼

 
今年,SOA這個詞是很多開發者常聽到的一個縮略詞。彷彿一夜間所有多大(IT)公司大企業都在向其靠攏。今天,我也談談SOA。
 
一、SOA是什麼
 
SOA的全稱是Service-Oriented Architecture,面向服務架構。是一種架構,不是一種具體的開發技術。
 
要真正理解什麼是SOA需要從軟件開發的技術發展史談起。
 
真正的軟件開發從開始到現在經歷了四個階段,也可以說成是四代:
1、彙編語言開發
2、面向過程的軟件
3、面向對象的組件開發
4、面向服務的架構開發,也是今天要談論的SOA架構
 
SOA與前面三代的軟件開發技術對比,不同點是SOA超越了軟件開發語言本身。是一種面向服務的架構,與軟件開發語言無關。
 
但就軟件開發本身來說,SOA是一種技術,又超越了所有具體的技術。
 
二、SOA的技術革命
 
SOA既然能成爲第四代軟件開發技術,究竟帶來什麼革命。
 
首先,SOA是一種開發思想。是一種鬆耦合的框架。可以讓軟件超越開發語言。
 
其次,SOA的開發需要SOA體系的支撐,就像J2EE應用一樣,離不開應用服務器。SOA也一樣,也有一個類似J2EE服務器的東西支持着整個SOA體系架構----ESB(
Enterprise Service Bus),企業服務總線。通過這個總線,將多個系統連接起來。
 
其次,SOA是基於消息請求響應的一個系統,對請求類型有高度的兼容性。與一個Web應用容器相比,web應用容器只能處理HTTP請求,而SOA的ESB可以接受HTTP、FTP、WebService、JMS...等請求。這就使得SOA架構具有高度的兼容性,可以將不同的平臺集成到一起,從而相互協調工作。
 
三、SOA火起來的真正原因
 
1、軟件開發技術的不斷提高。
 
2、硬件性能的提升,價格下降,投出SOA所消耗的成本爲企業所能忍受。
 
3、SOA受到了IMB、Oracle、Sun、Microsoft等大公司的熱力追捧,被捧紅了,實際上,一直以來都是這些公司在引領軟件應用的潮流。
 
4、SOA技術革命每年有上千億美元的市場價值。軟件要升級,這些服務提供商纔可以買出更多的中間件服務器,賣出更多的硬件,賺取更多利潤。
 
5、很多企業的軟件應用系統已經滿足不了信息高度集成化的要求,爲了提高企業的核心競爭力,企業不惜重金,上SOA。
 
6、SOA的招牌很響亮,超越了一切,兼容了一切。它不摒棄舊系統,而是將很多舊系統繼承起來,就可以實現。-----實際上,我個人認爲這是一個騙局。
 
四、SOA最有前景的舞臺
 
1、基於SOA是的思想和技術,SOA最適合最擅長的就是系統集成。而系統集成的關鍵就是提取公共的有價值的服務。各個系統通過暴露服務,經過ESB這條總線連接後,就將幾個系統集成起來了。這在新一代軟件開發中也許會得到應用。
 
2、SOA的架構註定SOA在中小企業內部沒有多大價值。中小企業的攤子還不夠大。
 
3、SOA系統集成難點在於抽取公共的服務。對於老的系統來說,抽取服務就是抽筋。很難很難,意味着要修改軟件,要適合SOA的胃口。因此,對一些不同語言開發的系統來說,使用SOA進行系統實際上是扯淡。
 
五、SOA發展現狀
 
對SOA口號叫的最響的是IBM,出書最多的也是IBM,成功的案例還沒看到。所有的大公司都在忽悠,希望拿到第一筆大單。
 
SOA以來ESB,ESB本身也是一種中間件,或者說是一個增強了的企業應用服務器。目前開源的有幾個,也沒見過成功的案例。估計SOA技術從起步到成熟還有很長一段路要走。ESB的實現還需要一個發展過程。
 
相反與SOA有緊密聯繫WebService技術已經深入人心。現在用的比較多。
 
----以上言論不針對任何公司和企業,僅表個人看法。
 

本文出自 “熔 巖” 博客,請務必保留此出處http://lavasoft.blog.51cto.com/62575/110253

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