2.3 SOA中的工作角色
在SOA服務模型圖(圖2)中面向服務的體系結構中主要有三種角色:
(1) 服務消費者是需要使用服務的應用程序或其它的服務。通過對注冊中心的服務進行查詢后, 根據接口說明信息并使用某種傳輸協議與服務綁定并執行服務功能。
(2) 服務提供者是創建服務的實體?梢詮姆⻊障M者處接受請求并可以遠程執行所請求服務。通過向注冊中心發布服務接口信息以供服務消費者發現和訪問服務。
(3) 服務注冊中心處于中心位置提供了展示服務的功能。服務消費者通過查詢存儲有服務信息庫的注冊中心以找到感興趣服務的接口信息。
2.4 SOA三大基本特征
一、 獨立的功能實體 :在Internet這樣松散的使用環境中,任何訪問請求都有可能出錯,因此任何企圖通過Internet進行控制的結構都會面臨嚴重的穩定性問題。SOA非常強調架構中提供服務的功能實體的完全獨立自主的能力。傳統的組件技術,如.NET Remoting,EJB,COM或者CORBA,都需要有一個宿主(Host或者Server)來存放和管理這些功能實體;當這些宿主運行結束時這些組件的壽命也隨之結束。這樣當宿主本身或者其它功能部分出現問題的時候,在該宿主上運行的其它應用服務就會受到影響。
SOA架構中非常強調實體自我管理和恢復能力。常見的用來進行自我恢復的技術,比如事務處理(Transaction),消息隊列(Message Queue),冗余部署(Redundant Deployment)和集群系統(Cluster)在SOA中都起到至關重要的作用。
二、 大數據量低頻率訪問 :對于.NET Remoting,EJB或者XML-RPC這些傳統的分布式計算模型而言,他們的服務提供都是通過函數調用的方式進行的,一個功能的完成往往需要通過客戶端和服務器來回很多次函數調用才能完成。在Intranet的環境下,這些調用給系統的響應速度和穩定性帶來的影響都可以忽略不計,但是在Internet環境下這些因素往往是決定整個系統是否能正常工作的一個關鍵決定因素。因此SOA系統推薦采用大數據量的方式一次性進行信息交換。
三、 基于文本的消息傳遞。河捎贗nternet中大量異構系統的存在決定了SOA系統必須采用基于文本而非二進制的消息傳遞方式。在COM、CORBA這些傳統的組件模型中,從服務器端傳往客戶端的是一個二進制編碼的對象,在客戶端通過調用這個對象的方法來完成某些功能;但是在Internet環境下,不同語言,不同平臺對數據、甚至是一些基本數據類型定義不同,給不同的服務之間傳遞對象帶來的很大困難。由于基于文本的消息本身是不包含任何處理邏輯和數據類型的,因此服務間只傳遞文本,對數據的處理依賴于接收端的方式可以幫忙繞過兼容性這個的大泥坑。
此外,對于一個服務來說,Internet與局域網最大的一個區別就是在Internet上的版本管理極其困難,傳統軟件采用的升級方式在這種松散的分布式環境中幾乎無法進行。采用基于文本的消息傳遞方式,數據處理端可以只選擇性的處理自己理解的那部分數據,而忽略其它的數據,從而得到的非常理想的兼容性。
從SOA的幾個重要特征可以看出,SOA之所以被用于信息資源整合,是因為其具備了標準化、可操作、可組裝的特性。SOA提供了一個通用的、可互操作的和有彈性的行業標準架構,可以在軟件基礎架構中建立一系列支持商業模型的可重復利用的服務,這些服務由不同應用系統的組件構成,能夠幫助企業實現適應商業流程變化的需求。
三、采用SOA進行企業信息系統集成
3.1采用SOA進行企業現有信息系統集成的步驟:
文章來源于領測軟件測試網 http://www.kjueaiud.com/