結合經驗淺談SOA的剖析(四)

SOA對EA的impact

讓咱們從新回到SOA對EA的impact上面來,總的來講,SOA對EA的四個遠景都有着深入的影響。
 
業務遠景
 
SOA有助於把功能點分解成多個可維護,可重用的部件,而這些部件又能夠分開設計,開發以及維護。採納SOA也就意味着整個企業的功能點劃分是以服務和進程爲單位的。這種劃分辦法可以允許業務遠景和應用遠景更好的對應起來。若是能夠更容易地從業務遠景回溯到應用遠景的話,那麼就更簡單地實現功能點的需求變動。這麼一個策略也同時便於把業務服務(至關穩定的處理單元)從進程(一個業務模型中快速改變的元素)中分離出來。
 
把潛在的應用和功能點對應起來同時也是對業務行爲監測(BAM,Business Activity Monitoring)的一個更直觀的介紹,這個BAM是對業務事件和事務的實時監測。業務進程的提早實現考慮到把BAM的技術和業務進程的執行牢牢的整合起來。BAM交付給管理者的是實時的,關於企業整合的商業智能。
 
企業的業務進程需求驅動着業務服務的發掘和定義。對此,下圖提供了一個高級而簡單的算法。
 
第一步是建立一個業務模型用以標識業務所提供的基礎實體和進程。域和業務需求應該驅動這一步的開展。整個過程的其中某個部分包含了識別一整套的服務,以及爲每一個進程所提供的服務接口。當一個模型完成或者微調的時候,服務就會基於全部所需服務的共同功能點而進行重組。下一步是把現有的系統和所需的服務對應起來,並同時定義須要建立新服務的需求:
  • 若是系統已經存在支持所需功能的應用,那麼它必須進行校驗,並生成可能須要的額外的功能點的說明文檔。若是這種狀況發生的話,這些功能點就須要被封裝成以接口的形式暴露給外部應用。
  • 若是系統中並不存在應用足以支持所需功能,那麼服務的接口就須要進一步的鞏固和增強。基於這些接口的定義和需求,須要建立真正的服務實現。這裏要注意的一點是,建立新的服務並不老是意味着從頭開始建立完整的服務功能。服務的實現其實能夠把所需的功能部分代理給一個或者多個已經存在的應用來執行,並牢牢須要補充若干新的代碼。
應用遠景
 
在應用遠景中引入服務就帶出了鬆耦合的概念。每個服務均可以單獨進行設計,構造和維護。這種作法大大減輕了對整個應用業務的維護工做量。服務的引入,就致使了下圖顯示的應用的架構。
 
這個架構是由異類的服務在服務總線上相互進行溝通而組成的。額外的組件是:
  • 業務進程引擎,用於實體化業務進程。分開的業務進程引擎的引入使得業務進程的定義和執行從服務的實現中分離開來,並容許更加鬆耦合的應用架構。
  • 服務定位器,用於實體化服務的定位,並支持服務定位的透明化。
  • 業務服務封裝了真正的業務功能。
  • 工具類服務,是一些特別的業務服務,它們並不隸屬於任何一種固定的核心業務,但仍然能被客戶端訪問。
  • 經常使用(基層)服務,提供了對業務服務的系統和基礎級支持。
相比較於寫一個standalone的應用,健壯服務的設計過程,開發,部署,管理以及維護都須要更高的代價。
 
信息遠景
 
SOA的實現引入了兩種數據級的考慮:
  • 服務實現所需的基礎數據模型
  • 服務消息所需的數據字典,定義了SOA的溝通語義
這種分離的考慮充分簡化了整個企業的信息策略。在一個SOA的實現中,被企業應用業務暴露出去,和被內外部企業進程使用到的數據模型,是由消息數據字典所定義的,而它與基礎數據模型是徹底解耦的。不一樣的服務可使用徹底不相關的內部數據模型(由服務所封裝好),只要他們所暴露的數據語義是符合企業承認的數據字典語義。
 
因爲消息數據字典一般都比基礎數據模型簡單不少,所以獲取經常使用的消息語義也一般比統一基礎數據模型來的容易多了。
 
技術遠景
 
它實際上是創建企業級服務的基礎。它提供了一致策略的基礎和服務開發和維護的管理。SOA一般須要開發一套基礎設施,而這套基礎設施是被不少爲了知足各類各樣功能需求而交付的服務所共用的。在一個企業組織裏面,對全部服務的可操做性支持能力只須要實現一次便可。
 
下圖顯示的是一套爲SOA實現提供企業範圍的服務的基本設備(基於上面提到的服務生命週期需求)。
 
 
這些設備提供了在應用範圍內任何服務所須要的共同支持。上圖其實包括三個主要部分,這三個主要部分又致力於三種技術平臺組件:工具,基礎設施,和運行期支持。工具組件包括工具,進程,方法,和模式(用以設計,開發,裝配和測試服務和基於服務的進程)。基礎設施組件包括對服務運行期的基礎支持,由如下幾個方面組成:
  • 服務的部署:考慮的是圍繞服務部署的進程和技術選擇,包括主平臺。
  • 基礎設施和配置:提供了中間件,操做系統,硬件,存儲,網絡,以及對整個系統的可靠的和可管理的支持。
  • 服務運行期支持:包括進程,邏輯,功能,狀態管理,這些都是基於服務的應用所必須的。並且是整個企業應用的環境,對服務有着專有的支持。
  • 服務綁定和調用:提供服務綁定和調用的機制,包括對企業級服務的定位和調用,把應用或者代碼在不一樣的操做環境下暴露成服務。
運行期組件主要負責對SOA的額外支持,包括如下兩個部分:
  • 服務質量(QOS,Quality of Service)的支持。
  • 服務版本的支持。
下轉「結合經驗淺談SOA的剖析(五)」
相關文章
相關標籤/搜索