談SOA和平臺

作者: 人月神話  發布時間: 2011-09-26 16:47  閱讀: 3015 次  推薦: 0   原文鏈接   [收藏]  

  在談這個之前,還得再說下SOA和平臺。SOA做兩件事情,一個是解耦并識別可重用的服務,一個是對服務進行靈活組裝和編排滿足業務需求,SOA核心是業務和技術的解耦,服務和能力的復用。而在IT領域的平臺平臺的概念目前基本上有三種,一種是基于快速開發目的技術平臺,第二種是基于業務邏輯復用的業務平臺。第三種平臺基于系統自維護,自擴展的應用平臺。技術平臺和業務平臺都是軟件開發人員使用的平臺,而應用平臺則是應用軟件用戶使用的平臺。

  SOA本身是一個平臺

  首先要認識到SOA產品本身就是一個集成平臺,為了完成數據集成,應用集成和流程集成,我們需要一個基礎平臺來集中統一的完成這個事情。因此SOA集成平臺重點則是將服務集成和服務組裝的能力全部管理起來,從這個概念上理解自然涉及到SOA最核心的UDDI,ESB和BPEL等功能。這些集成的特性和功能完全是在各個業務系統外的,又是大家都需要的基礎公共功能,則應該納入到平臺集中管理。

  SOA稱之為平臺的原因則是它提供了業務系統都需要的通用基礎架構和技術,這種能力是大家都需要的公共基礎能力。但是如果我們買入一個SOA套裝產品,這個產品可能剛開始沒有任何服務接入,也無法提供任何服務能力,那么這個產品本身就是一個技術平臺。如果后面我們將數據服務,業務服務,流程服務全部識別,開發后發布到平臺上,那么SOA平臺本身就是一個專屬某個業務域的業務平臺。

  平臺本身要考慮SOA化

  平臺的核心是它是一個公共的基礎能力提供中心,平臺本身已經集中了所有可復用的能力,開發框架和技術。通過平臺我們可以快速的開發平臺和應用。

  在軟件開發里面我們比較關注技術平臺,而技術平臺簡單理解就是所有業務系統標準的技術能力的抽象和封裝形成了一個不承載具體業務的空框架。這個空框架不僅僅是簡單的技術開發框架,而是融入了更多的基礎服務能力。

  基礎服務能力包括兩個層面,一個是純粹技術方面的基礎服務能力,包括日志,異常,消息,事務,國際化,緩存等內容。一個是業務抽象后和業務無關的技術能力,包括通用權限模型,通用流程模型,郵件短信組件,常用UI組件。有了這些,你會發現技術平臺本身就是一個完完整整可以獨立運行起來的應用,除了沒有具體業務功能外其他一應俱全。

  基于該平臺我們可以開發業務應用,那如果平臺本身是基于SOA架構的,那么開發的應用自然也就滿足SOA架構風格。一個應用功能應該包括資源層,技術組件,服務組件層,流程層等。一個應用功能在實現業務過程中能夠看到業務和技術實現是剝離和松耦合的。一個應用它本身是基于在技術平臺上開發的多個業務組件構成的,業務組件間本身松耦合,業務組件間通過服務進行交互。

  基于平臺開發的業務應用,本身業務組件之間可能基于ESB總線方式進行消息交換,我們可以聯想下Java里面的IOC控制反轉模式,和通過ESB總線進行交互的思路是很類似的,只有這樣才能夠實現組件之間進一步的解耦。

  傳統的很多快速軟件開發平臺是完全不能符合SOA架構風格要求的,因為基于某些快速開發平臺開發出來的應用本身就是緊耦合和封閉的應用。而基于SOA架構風格的平臺開發出來的應用本身就是完全組件化和服務化的應用,應用內部SOA化和松耦合,應用和應用之間也松耦合,應用本身可復用的能力很容易通過服務方式暴露出來。

  技術平臺和業務平臺

  首先要說明技術平臺和業務平臺都是開發人員關注的平臺,而應用平臺可能是最終用戶關注的平臺。可以看到技術平臺和業務平臺的劃分正好體現了業務和技術本身的一次解耦。

  技術平臺只關注和業務完全無關的技術本身,將各種技術能力組件化和服務化,提供各種通用的基礎服務和技術服務。技術平臺提供一套完整的開發框架和開發環境,同時也提供一套完整的執行環境。技術平臺既為產品服務,也為業務平臺服務。

  而細分到某個專業的業務域后可能出現業務平臺,業務平臺也可以叫做產品平臺,比如電信的BOSS平臺,網管平臺都是很常見的業務平臺。那業務平臺和技術平臺最大的不同是業務平臺本身提供了開發多個產品都可復用的業務組件和業務能力。業務平臺本身是對多個同類產品通用業務能力的抽取,提煉和下沉。

  應用產品->產品平臺->技術平臺,正好體現了可復用能力的逐層下移,下移的目的只有一個即最大限度的復用,而復用的好處是對通用能力統一管理和統一維護。我們可以試想下,如果沒有這種平臺,當我們面對N個產品開發對應N套產品開發源代碼的時候,對用通用功能的修改調整和升級將是一件巨大的麻煩。

0
0
 
標簽:SOA
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()