SOA IN Real World

微軟發佈了一個名爲「真實世界裏的面向服務架構(SOA)」的電子書。這本書表達了微軟對面向服務架構的觀點,幷包括了數個展現如何用微軟產品和技術實現SOA的真實案例。書中解釋到,SOA的功能型架構自己是鬆散的,即每一個服務自己能夠做爲企業的IT資產存在、也能夠做爲生產流程中的處理環節存在,但整體上他們提供了一個完整的視圖,並且與獨立應用不一樣,這個視圖的內容不是分層的、而是平的,藉助這個視圖能夠提供以下可重用能力:spring

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

全部這些能力用微軟的產品描述就是下圖:windows

ms-products

與強調SCA、SDO等公共標準的Java平臺不一樣,微軟平臺相應的封裝也不是經過商用服務器平臺完成,而是更多地藉助WCF實現;其中最爲重要的ESB角色重則由BizTalk擔當,輕則由用戶經過擴展WCF + WF完成;至於服務的治理,相對更爲統一,與Windows平臺其餘產品無異,向下藉助統一的WMI體系,配合MOM和System Center對SOA的基礎平臺部分進行治理,向上藉助WS_Management協議對服務進行集中管理。服務器

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

  • 購買某廠商的SOA套件,這樣不管是組成上的兼容性仍是技術支持都有保證,代價就是花費不菲;
  • 集成多種開源的服務器產品和開發框架,顯性成本上很划算,但技術實施的成敗的風險比較大;
  • 更多依賴操做系統自帶的產品,根據IT範圍的大小,選擇少許的商業產品或開源服務器產品,兼容性風險比所有開源產品要小,成本上也比全盤採購商業套件廉價。《SOA in the Real World》裏更多倡導的就是這第三條道路。

微軟還贊助了一個針對北美500家擁有1000名員工,或超過這個數字的企業的綜合應用平臺的研究。其目的旨在肯定哪一種軟件平臺被用於構建關鍵任務的應用,以及什麼是首選供應商的關鍵組件平臺等。框架

5、開源的.NET ESB項目介紹分佈式

ESB.NET企業級服務總線:ESB.NET是開源的企業級服務總線,採用的協議是MS-PL。ESB.NET主要包含了MSMQ消息隊列機智,SOAP消息收發,ROUTER服務路由,WCF,WSE消息擴展(消息加解密,壓縮),還有WF工做流。ui

 

開源的通訊框架NServiceBus :NServiceBus 操作系統

NServiceBus 是一個用於構建企業級 .NET系統的開源通信框架。它在消息發佈/訂閱支持、工做流集成和高度可擴展性等方面表現優異,所以是不少分佈式系統基礎平臺的理想選擇。,它可以幫助開發人員在搭建企業.NET系統時避免不少典型的常見問題。同時,該框架也提供了一些可伸縮的關鍵特徵,好比對發佈/訂閱的支持、集成的長時間工做流及深刻的擴展能力等。據做者說,其本意是爲構建分佈式應用軟件建立一個理想的基礎設施。設計

NServiceBus的核心並不依賴於MSMQ。NServiceBus可擴展性容許咱們插入自行編寫的通訊傳送器,、訂閱存儲器和工做流的實現。我已經基於MSMQ實現了一個傳送器,還有一個則藉助了WCF的NetTCP。開發人員既可使用這些現有組件,也能夠根據須要進行自定義。咱們知道當前的許多SOA產品都與HTTP緊密耦合,所以NServiceBus的這種實現方式也將是個另闢蹊徑的設計。 
之因此選擇使用MSMQ,是由於它是微軟公司的兩大主流的通信技術之一(另外一個是SQL Server Service Broker)。MSMQ容許雙方在離線的狀態下進行通訊,且它提供了一整套易於使用的API,並已經集成到了.NET框架中,這一點要比Service Broker好得多。我我的認爲支持離線通訊是任何SOA基礎框架都必須考慮的關鍵部分——由於Tenet of Service Autonomy 並不能保證當前通訊的另外一端處於可用狀態。3d

NServiceBus是dotnet世界裏面最流行的開源企業服務總線.  它具備如下特色: 1.強大,輕量級.     2.可插撥,簡單易用.     3.支持企業級開發.

NServiceBus官網:http://www.nservicebus.com  能夠在那裏下載到最近版本的代碼.

解壓縮後以下圖所示

image

先運行RunMeFirst.bat 而後再運行build.bat(由於個人是vs2008)結果以下圖:

image

會多出binaries和build兩個文件夾

然後須要安裝windows message queue

 

Mass Transit -- .Net Service Bus:Mass Transit是一個.NET平臺上的用於構建鬆耦合應用程序的服務總線框架,這個服務總線支持YAGNI原則(YAGNI原則,就是經過重構提取公因式當出現一次時,不分層,之後業務複雜了,立刻抽象出一個層次來,分層是依賴倒置原則和模版方法模式的應用。)。經過一套嚴密的關注點,Mass Transit和應用程序之間的接觸最小化和清晰的接口

相關文章
相關標籤/搜索