由于工程上的實施缺乏開發規范,在技術上要求開發人員的素質較高,很少見到真正運用UML的方法于實際的工程開發應用軟件中,最大的問題是被開發出來的軟件難以演化,而軟件要能適應變化是客觀存在的。
為此發展出單純重用的“構件和架構”技術及其理論體系。在1998年日本京都召開的“基于構件的軟件開發(CBSD)”國際專題學術會議上,一致認為軟件開發技術離不開構件和體系結構。軟件體系結構現簡稱“架構”。
在此之前的軟件架構都采用層次結構的架構,直到分布式系統提出了用戶端/服務器模式后,才產生對架構的研究,出現了構件和架構,也就是第四個技術與基礎理論體系。
卡內基·梅隆大學為軟件的架構和框架建立了扎實的基礎理論,軟件體系結構是軟件系統的高級抽象,體現了軟件設計思想。反映了系統開發中最早的決策,明確了系統有哪幾部分組成,它們之間是如何交互的;進一步影響到資源的配置、團隊的組織以及產品的質量。系統的成敗也在于體系結構。
三層體系結構分布式系統
三層體系結構是由二層結構的胖終端中的應用構件獨立出來組成了應用層。為解決分布式系統中的各種潛在復雜性,提出了中間件技術及其理論,稱為第五個技術與基礎理論體系。
八年前我的最后一位博士生王文軍的學位論文是《分布式系統的聯邦結構》,即面向服務的架構,但未被應用和發展。而兩年前IBM公司提出SOA后卻很快被廣泛接受,其原因可從客觀需求上和技術成熟度上三方面來敘述:
其一,客觀上需要,隨著網絡普及化,用戶越來越迫切需要將現有多個應用系統集成,以能實現更強的信息處理功能。如電子商務的供應鏈、智能交通、電子政務、數字地球等已是本世紀發展的熱點。Gartner預計,到2008年基于件產品將占領70%的市場份額。
其二,面向對象和構件架構的基礎理論和技術已趨向成熟,發展到統一建模語言,提供建模工具。中間件集群理論己趨向成熟,并提出了中間件Inter Bus技術。
其三,瀏覽器技術普及,己成為行業標準,奠定了SOA的基礎理論和技術規范,由此已是水到渠成,使SOA拙壯成長。
SOA在實現中的組成部分
SOA的體系結構仍舊是三層或N層結構,但對異構平臺各層之間的聯系,不是用CORBA、J2EE或.NET的方式,而且用WBDL和SOAP來實現,它們的概念簡單統一。
目前都是采用嵌入ESB企業服務總線的平臺來實現,ESB是一個中間件群,確保系統實現了服務接口、各種中間件以及松耦合的三個方面功能,因此稱它為第六個技術與基礎理論體系。
另外,普遍采用BPEL(業務過程執行語言)來描述用戶需求,由BPM(業務過程管理平臺)來解釋執行,構成了第七個技術與基礎理論。
SOA的主要優點
1. 利用現有的資產。方法是將這些現有的資產包裝成提供企業功能的服務。組織可以繼續從現有的資源中獲取價值,而不必重新從頭開始構建。
2. 更易于集成和管理復雜性。將基礎設施和實現發生的改變所帶來的影響降到最低限度。因為復雜性是隔離的,當更多的企業一起協作提供價值鏈時,這會變得更加重要。
3. 更快地整合現實。通過利用現有的構件和服務,可以減少完成軟件開發生命周期所需的時間。這使得可以快速地開發新的業務服務,并允許組織迅速地對改變做出響應和縮短開發時間。
文章來源于領測軟件測試網 http://www.kjueaiud.com/