軟件測試SOA對于架構師的存在意義和價值[1] SOA構架
關鍵字:soa
[SOA是英文Service-Oriented Architecture,即服務導向架構的縮寫。這個詞匯最近一兩年頻頻出現在各種技術期刊上。但是一直以來對于SOA到底是什么一直沒有明確的回答;SOA有什么特點?適合用于解決哪些問題?與其他的技術有什么區別與聯系?Web Service和SOA又是什么關系?SOA的出現對于軟件架構設計有什么影響?本文將就上面提到的這些問題,嘗試根據作者自己的理解給出SOA的定義;總結出SOA特有的三個基本特征;然后以HTTP協議為例對這些特征進行解釋;最后簡要的說明SOA對今后軟件架構設計可能帶來的影響]
SOA定義
下面是作者給SOA下的一個定義:SOA是指為了解決在Internet環境下業務集成的需要,通過連接能完成特定任務的獨立功能實體實現的一種軟件系統架構。從這個定義中我希望表達的前提有下面兩點:
1)、軟件系統架構:SOA不是一種語言,也不是一種具體的技術而是一種軟件系統架構,它嘗試給出在特定環境下推薦采用的一種架構,從這個角度上來說,它更像一種模式(Pattern)。因此它與很多已有的軟件技術比如面向對象技術,是互補的而非互斥的。它們分別面向不同的應用場景,用來滿足不同的特定需求。
2):SOA的使用范圍:需求決定同時也限制功能。SOA并不是包治百病的萬靈單,它最主要的應用場合在于解決在Internet環境下的不同商業應用之間的業務集成問題。在下面我們會詳細討論Internet的各種特點是如何決定了SOA的特點,這里我們只需要先簡單回顧一下Internet環境區別于Intranet環境的幾個特點:a)大量異構系統并存,計算機硬件工作方式不同,操作系統不同、編程語言也不同;b)大量、頻繁的數據傳輸仍然速度緩慢并且不穩定;c)版本升級無法完成,我們根本就無法知道互聯網上有哪些機器直接或者間接的使用某個服務。
基于上面的前提,下面就讓我們一起看一下SOA的基本特征。
SOA三大基本特征
獨立的功能實體
在Internet這樣松散的使用環境中,任何訪問請求都有可能出錯,因此任何企圖通過Internet進行控制的結構都會面臨嚴重的穩定性問題。SOA非常強調架構中提供服務的功能實體的完全獨立自主的能力。傳統的組件技術,如.NET Remoting, EJB,COM或者CORBA,都需要有一個宿主(Host或者Server)來存放和管理這些功能實體;當這些宿主運行結束時這些組件的壽命也隨之結束。這樣當宿主本身或者其它功能部分出現問題的時候,在該宿主上運行的其它應用服務就會受到影響。
SOA架構中非常強調實體自我管理和恢復能力。常見的用來進行自我恢復的技術,比如事務處理(Transaction),消息隊列(Message Queue),冗余部署(Redundant Deployment)和集群系統(Cluster)在SOA中都起到至關重要的作用。
大數據量低頻率訪問
文章來源于領測軟件測試網 http://www.kjueaiud.com/