實踐論認爲:從實踐提高到理論,再由理論指導實踐,由此向前發展。目前SOA的發展的狀況…………數據庫
經過很多實踐,SOA的模型己經被公認爲標準規範,目前是正須要進一步總結上升到理論的時候了。編程
SOA架構的演化過程。架構
SOA是從面向對象架構、面向構件架構等逐步發展完善的。且相互依託、相互補充、又各自適應不一樣範圍,所以在討論SOA理論時,工具
要了解它是如何演化過程來,繼承了哪些理論體系,其適應度如何?操作系統
//-----------------------------------------------------設計
20 世紀60年代之前,計算機剛剛投入實際使用,軟件設計每每只是爲了一個特定的應用而在指定的計算機上設計和編制,採用密切依賴於計算機的機器代碼或彙編語言,軟件的規模比較小,文檔資料一般也不存在,不多使用系統化的開發方法,設計軟件每每等同於編制程序,基本上是我的設計、我的使用、我的操做、自給自足的私人化的軟件生產方式。htm
60年代中期,大容量、高速度計算機的出現,使計算機的應用範圍迅速擴大,軟件開發急劇增加。高級語言開始出現;操做系統的發展引發了計算機應用方式的變化;大量數據處理致使第一代數據庫管理系統的誕生。軟件系統的規模愈來愈大,複雜程度愈來愈高,軟件可靠性問題也愈來愈突出。原來的我的設計、我的使用的方式再也不能知足要求,迫切須要改變軟件生產方式,提升軟件生產率,軟件危機開始爆發 。中間件
1968年,北大西洋公約組織(NATO)在聯邦德國的國際學術會議創造軟件危機(Software crisis)一詞。而1960年代中期開始爆發衆所周知的軟件危機,爲了解決問題,在196八、1969年連續召開兩次著名的NATO會議,並同時提出軟件工程的概念。[2] 對象
//-----------------------------------------------------繼承
40年前國際上發生了「軟件危機」,如IBM公司開發一個操做系統,或美國的航空公司開發飛機訂票系
統,都花費了上千人數年的工做量。它開發週期長、而開發出來的產品倒是錯誤不少,難以維護和適應修改。
一位荷蘭的物理家E.W.Dijkstra提出了一種「結構程序設計方法」,他認爲:人的智力是有限的,採用數學或物理學的思惟方法,
用枚舉、抽象、概括、類比等思惟方式簡化問題。
鑑於面向對象的缺陷,三位面向對象的奠定人聯合起來,建立了UML統一建模語言。
UML
主要理論成果是:統一面向對象的基本概念,並引進了許多新的概念,認爲軟件開發的過程實質
上是從抽象的模型逐步細化,過渡到具體的實現,其中間的每一個階段都是實現了某一抽象模型,UML爲此提供了創建模型的工具。
因爲工程上的實施缺少開發規範,在技術上要求開發人員的素質較高,不多見到真正運用UML的方法於實際的工程開發應用軟件中,
最大的問題是被開發出來的軟件難以演化,而軟件要能適應變化是客觀存在的。
軟件開發理論
由面向對象發展到面向構件,由面向構件再發展到面向服務,它們的認知觀和基礎理論都是息息相關的。
解決大型軟件的開發效率和質量除了要解決編程的正確性外,還必需解決開發週期長、複用性差、成本高、文檔多以及難以適應系統演化等問題,
這些問題十多年來仍舊困惑着這門學科,「軟件危機」仍未解決。
中間件技術及其理論。
SOA的主要優勢
1. 利用現有的資產。方法是將這些現有的資產,包裝成提供企業功能的服務。組織能夠繼續從現有的資源
中獲取價值,而沒必要從新從頭開始構建。
2. 更易於集成和管理複雜性。將基礎設施和實現發生的改變所帶來的影響降到最低限度。
由於複雜性是隔離的,當更多的企業一塊兒協做提供價值鏈時,這會變得更加劇要。
3. 更快地整合現實。經過利用現有的構件和服務,能夠減小完成軟件開發生命週期所需的時間。這使得
能夠快速地開發新的業務服務,並容許組織迅速地對改變作出響應和縮短開發時間。
4. 減小成本和增長重用。經過以鬆散耦合的方式公開業務服務,企業能夠根據業務要求更輕鬆地使用和組合服務。
5. SOA業務流程是由一系列業務服務組成的,能夠更輕鬆地建立、修改和管理它來知足不一樣時期的須要。