評論:微軟的SOA戰略

在SOA大行其道的今天,微軟在很多人眼中似乎成了局外人,不過最近發佈的MSA(Microsoft Architect)書籍——《SOA in the Real World》介紹瞭如何用.NET技術建立完整的SOA環境。與當前盛行的SOA實施方法相比,微軟SOA戰略有何新意?

不管堆砌多少時髦的名詞,SOA所要求的服務發現、服務綁定其實與DCOM/COM+所實現的目標沒有區別,同時經歷過互聯網發展的開發人員也會發現,SOA中所倡導的很多原理、法則與OOA/OOD無異,這些是書中開篇即點明的SOA中很多誤區。書中解釋到,SOA的功能型架構本身是鬆散的,即每個服務本身可以作爲企業的IT資產存在、也可以作爲生產流程中的處理環節存在,但總體上他們提供了一個完整的視圖,而且與獨立應用不同,這個視圖的內容不是分層的、而是平的,藉助這個視圖可以提供如下可重用能力:

  • 消息機制服務
  • 工作處理流程服務
  • 數據服務
  • 用戶體驗服務
  • 主體身份的識別、認證、授權服務
  • 還有通盤的管理能力

所有這些能力用微軟的產品描述就是下圖:

從圖中不難發現與Java平臺對應產品不同,微軟SOA規劃中大量的支撐技術都直接來自操作系統,例如:Active Directory、IIS、ASP.NET、MSMQ、WCF、WF、WCS、Automatic Update等;與強調SCA、SDO等公共標準的Java平臺不同,微軟平臺相應的封裝也不是通過商用服務器平臺完成,而是更多地藉助WCF實現;其中最爲重要的ESB角色重則由BizTalk擔當,輕則由用戶通過擴展WCF + WF完成;至於服務的治理,相對更爲統一,與Windows平臺其他產品無異,向下藉助統一的WMI體系,配合MOM和System Center對SOA的基礎平臺部分進行治理,向上藉助WS_Management協議對服務進行集中管理。

此外,與一般介紹SOA概念的不同之處在於本書的方案中非常強調系統的更新,動態性不僅存在於業務的On Demand,同樣存在於技術環境之中,SOA中更是如此,雖然自治性是服務設計中非常關鍵的因素,但只要投入生產環境,一定會運行於某個操作系統平臺。談及SOA的時候提到給操作系統打補丁聽起來確實有些“跌份”,但這確實是現實世界。把這個自動更新機制置於每個服務內部,運行管理成本不划算,不如在SOA基礎環境中就納入管理。

實施SOA集成在所難免,各企業集成的方式大概主要有3種:

  • 購買某廠商的SOA套件,這樣無論是組成上的兼容性還是技術支持都有保證,代價就是花費不菲;
  • 集成多種開源的服務器產品和開發框架,顯性成本上很划算,但技術實施的成敗很大程度上取決於架構師穿針引線的能力和產品間的兼容性;
  • 更多依賴操作系統自帶的產品,根據IT範圍的大小,選擇少量的商業產品或開源服務器產品,兼容性風險比全部開源產品要小,成本上也比全盤採購商業套件廉價。《SOA in the Real World》裏更多倡導的就是這第三條道路。

 本文轉自:http://www.infoq.com/cn/news/2007/08/microsoft-soa-strategy
 作    者:王翔 發佈於 2007年8月1日 下午8時39分

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章