應運而生的SOA
美國著名的IT市場研究和顧問咨詢公司Gartner預測:到2006年,采用面向服務的企業級應用將占全球銷售出的所有商業應用產品的80 %以上;到2008年,SOA將成為絕對主流的軟件工程實踐方法。近幾年全球各大IT巨頭紛紛推出自己的面向服務的應用平臺,紛紛表示自己將全面支持SOA。仿佛一夜之間SOA成為炙手可熱的軟件開發方法。其實SOA并非剛剛出現的新名詞,而是很早以前就有人提出了面向服務的概念,只是以前沒有現在這么多人關注而已。隨著軟件開發方法的不斷發展,隨著企業級應用系統愈來愈復雜,使得SOA成為了應運而生的軟件工程方法。
什么是SOA
SOA 是Service Oriented Architecture的縮寫,代表了一種軟件開發方法。其核心思想是由擅長軟件開發的技術人員把一個個的業務功能包裝成一個個標準的服務,精通商業流程的專家通過組合這些服務可以很容易的搭建功能完善的企業應用,或者重新組合這些服務成全新的應用以滿足企業的不斷變化的需求。這里只是給出了SOA簡單的介紹后面將會詳細的講述SOA架構。
應用軟件開發方法的演變
應用軟件開發方法在短短的幾十年中經歷了一次又一次的進化,然而每一次的進化給人們帶來的好處都是一樣的,那就是提高生產效率、減低生產成本,因此給投資者帶來更豐厚的回報;厥总浖_發方法的進化歷程有如下幾次重大的過程:面向函數(面向過程)、面向對象、面向組件以及迎面而來的面向服務軟件開發方法。每一種軟件開發方法都解決了特定的問題,但同時又不得不面對新的問題,因此不斷的催生新的方法和手段。面向過程和面向對象的軟件開發方法大家都已很熟悉了,因此不用多說,下面著重看一看基于中間件和基礎件的面向組件的軟件架構方法。所謂中間件是相對于以前的客戶端/服務器結構而提出的把商業業務邏輯抽象成一個個組件,然后把這些組件放在中間層的應用服務器上運行,由應用服務器負責各個組件所需要的事務和安全等基礎服務、以及組件的管理和監控等等。IT技術人員都知道要開發事務和安全這一類的基礎服務需要專業的系統級的程序員來完成,而不是普通的應用程序員就可以輕松搞定的事情,或者說開發和維護這一類的基礎服務需要耗費大量的人力財力,然而幸運的是事務和安全等基礎服務可以獨立于業務組件,因此有了當今正流行的各種中間件和基礎件產品。這些中間件產品專注于基礎服務的開發和維護,而應用程序員可以專注于業務組件的開發,因此對于開發各種企業應用如ERP,BPM以及電子政務等等各種應用系統的軟件公司只需要購買專業的中間件產品,不用自己費時費力的開發和維護中間件和基礎件產品。
當今流行的中間件平臺有:SUN公司領導的J2EE平臺,微軟主導的COM/DCOM平臺以及OMG公司主導的CORBA平臺。正如我們所看到的有這樣三種主流的技術,因此應用軟件公司在開發應用軟件時不得不在其中做出選擇。在他們選定了一種中間件技術之后,所有的軟件組件都在這個選定的中間件平臺上面搭建。也有的比較大的軟件公司選擇的了多個平臺,比如說他的ERP基于.NET平臺,而CRM基于J2EE平臺。隨著各種應用軟件的不斷開發,一個個“信息孤島”也就被無形中建立了起來,然而應用軟件也越來越復雜,應用軟件的客戶對應用軟件的要求也越來越高,其中最為典型的技術上的要求是:要求集成各種應用軟件,各種應用軟件產品必須能夠互連互通,各種應用軟件產品之間可以共享信息,互 相之間可以共享某些功能模塊,而不需要重復開發。這些要求成為了基于中間件的面向組件開發的軟件開發技術的心頭之痛。雖然各種EAI的產品可以緩解一下這個心頭之痛,但還是無法從根本上解決問題。除此之外,基于中間件的開發的產品耦合度過高,導致無法適應不斷變化的應用軟件需求,因此基于中間件的面向服務的軟件開發方法SOA成為了人們關注的焦點。因為可以互操作的特性是SOA的一個重要的基礎功能之一。SOA要求把業務功能包裝成標準的服務,所謂標準的服務是服務之間可以互相調用,服務的技術實現對于客戶端來說是透明的?蛻舳瞬挥藐P心服務是如何實現的,不管它是用什么編成語言來開發的。服務可以用JAVA來實現,也可以用Microsoft C#來開發。
因此可以用下圖來表示應用軟件開發方法的演變過程:面向過程、面向對象、面向組件、面向服務。
文章來源于領測軟件測試網 http://www.kjueaiud.com/