早在2002年Gartner就預測,到2008年,SOA將成為占有絕對優勢的軟件工程實踐方法,它將結束傳統的整體軟件體系架構長達40年的統治地位,屆時,將有70%的企業在進行企業IT建設時會轉向SOA。從技術上講,SOA并不是一個新概念,早在20世紀90年代中期,Gartner就提出了SOA的概念,但當時的軟件技術發展和信息化水平還不足以使它走入實用階段。進入21世紀,隨著Web服務等相關標準的出現和成熟,SOA開始從概念走向實用。
SOA不是某個產品,也不是某個技術,而是一種軟件設計架構和方法。SOA要求開發者從服務集成的角度來設計應用軟件,它將應用程序的不同功能組件定義為“服務”,通過“服務”之間的良好接口聯系起來。(也就是“服務”之間的松耦合。)接口是采用中立方式進行定義的,獨立于實現“服務”的硬件平臺、操作系統和編成語言。而且這些構建在各種各樣系統中的“服務”可以以一種統一和通用方式進行交互。保證系統靈活性,另外,還可以保證“服務”的重復利用。
由此可以看出,SOA的核心概念是“重用”和“互操作”,從而使企業的IT系統擁有極大的靈活性。SOA的另一層意義就是整合,它將企業的IT資源整合成標準的、可操作的服務,使其能被重新組合和應用。在這種架構下,IT系統的復雜性并沒有增加,相反,隨著系統的不斷完善,整個系統的架構將變得更加清晰。
現在隨著網絡技術的發展,企業在信息化建設中產生了大量為滿足產品或服務需要的軟件系統,如:ERP、CRM、OA、SCM等一系列IT軟件系統。但這些系統一般都是單獨實施、獨立存在的,由于數據標準不統一,接口不一致,系統間往往缺少聯系與合作,這也就導致了一個系統成為一個“孤島”。而基于SOA的理念,則使企業在需要改變IT系統時的靈活性大為增加。
SOA架構定義了搭建企業軟件架構的一種新方法,它的出現使所有應用在交換數據和處理過程中,不需要考慮應用軟件是用什么編程語言開發的或在什么操作系統下運行。在這種模式下,一個應用或應用的一部分其實是一種服務,其他的應用和客戶都可以在無需編寫大量代碼的情況下使用這些服務,這一切都使一些大企業或在地理上分布范圍比較廣的開發隊伍能夠更好地合作,因為這些SOA架構下的中間件業務模塊都能夠被重新配置或以新方式優化來滿足新的需求。正是SOA的重用性和互操作性所帶來的靈活性實現了企業IT資源整合,使企業IT資源真正面向于服務。
SOA作為一種概念雖然已經成熟,并得到了國內外主流軟件開發商和企業客戶的認可,目前主流軟件廠商均已經完成了基于SOA的改造,但在客戶端大規模的應用還有許多事情要做。首先,它包括一系列技術和規范,面臨諸多挑戰,尤其在項目開發初始,付出的代價要比傳統軟件項目大得多。其次,實現SOA的Web服務技術尚不成熟,標準還處在發展之中。目前,很多企業對于SOA的認識還僅限于一種“整合”IT技術的概念,人們對于SOA認識的誤區還有很多。
文章來源于領測軟件測試網 http://www.kjueaiud.com/