本文將延續第一部分的內容,向您介紹了 SOA 為企業級架構設計帶來的影響,以及在構建基于 SOA 架構的企業系統時應該怎樣保證所構建的系統架構能夠滿足系統中不同的服務級別需求。
1. SOA 為企業級架構設計帶來的影響
1.1 SOA 的特點及其使用范圍
SOA 既不是一種語言,也不是一種具體的技術,它是一種新的軟件系統架構模型。 SOA 最主要的應用場合在于解決在Internet環境下的不同商業應用之間的業務集成問題。Internet環境區別于Intranet環境的幾個特點主要是:
(a)大量異構系統并存,不同計算機硬件工作方式不同,操作系統不同、編程語言也不同;
(b)大量、頻繁的數據傳輸的速度仍然相對較緩慢并且不穩定;
(c)無法完成服務(service)的版本升級,甚至根本就無法知道互聯網上有哪些機器直接或者間接的使用某個服務。
SOA 架構具有一些典型特性,主要包括松耦合性,位置透明性以及協議無關性。松耦合性要求 SOA 架構中的不同服務之間應該保持一種松耦合的關系,也就是應該保持一種相對獨立無依賴的關系;位置透明性要求 SOA 系統中的所有服務對于他們的調用者來說都是位置透明的,也就是說每個服務的調用者只需要知道他們調用的是哪一個服務,但并不需要知道所調用服務的物理位置在哪里;而協議無關性要求每一個服務都可以通過不同的協議來調用。通過這些 SOA 架構所具有的特性我們可以看到,SOA 芄溝某魷治笠迪低臣芄固峁┝爍恿榛畹墓菇ǚ絞劍綣笠導芄股杓剖?SOA 來構建系統架構,就可以從底層架構的級別來保證整個系統的松耦合性以及靈活性,這都為未來企業業務邏輯的擴展打好了基礎。
1.2 SOA 架構的分層模型
接下來簡要介紹一下 SOA 系統中的分層模型,整個 SOA 架構的分層模型如圖2所示。
在 SOA 系統中不同的功能模塊可以被分為7層:第一層就是系統已經存在的程序資源,例如ERP或者CRM系統等。第2層就是組件層,在這一層中我們用不同的組件把底層系統的功能封裝起來。第3層就是 SOA 系統中最重要的服務層,在這層中我們要用底層功能組件來構建我們所需要的不同功能的服務?偟膩碚f,SOA 中的服務可以被映射成具體系統中的任何功能模塊,但是從功能性方面可以大致劃分為以下三種類型:(1)商業服務(business service) 或者是商業過程(business process)。這一類的服務是一個企業可以暴露給外部用戶或者合作伙伴使用的服務。比如說提交貸款申請,用戶信用檢查,貸款信用查詢。(2)商業功能服務(business function service), 這類服務會完成一些具體的商業操作,也會被更上層的商業服務調用,不過大多數情況下這類服務不會暴露給外部用戶直接調用,比如說檢索用戶帳戶信息,存儲用戶信息等。(3)技術功能服務(technical function service),這類服務主要完成一些底層的技術功能,比如說日志服務以及安全服務等。在服務層之上的第4層就是商業流程層,在這一層中我們利用已經封裝好的各種服務來構建商業系統中的商業流程。在商業流程層之上的就是第5層表示層了,我們利用表示層來向用戶提供用戶接口服務,這一層可以用基于portal的系統來構建。以上這5層都需要有一個集成的環境來支持它們的運行,第6層中的企業服務總線(ESB)提供了這個功能。第7層主要為整個 SOA 系統提供一些輔助的功能,例如服務質量管理,安全管理這一類的輔助功能。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/