所以我建立一個客戶端服務器應用程序,我必須選擇他們如何互相交談。我可以:選擇一個消息傳遞解決方案
- 具有客戶機和服務器之間建立TCP連接
- 過使用TIBCO RV,EMS或IBM MQ REST或SOAP
- 發送消息。 。
是否有矩陣可以顯示我在哪裏可以使用這些技術之一。性能,可靠性等方面的東西將會有所幫助。
所以我建立一個客戶端服務器應用程序,我必須選擇他們如何互相交談。我可以:選擇一個消息傳遞解決方案
是否有矩陣可以顯示我在哪裏可以使用這些技術之一。性能,可靠性等方面的東西將會有所幫助。
如果您有純.NET到.NET應用程序,請轉到WCF。當談到TCP/IP時,它會讓你的生活變得簡單,但爲你的消息傳遞保留一個很好的面向對象設計層。它也使得它非常容易地單元測試你的消息代碼,這是我認爲最大的好處。
WCF將在本地機器上執行TCP/IP管道,並且它還支持許多基於HTTP的解決方案。在大多數情況下,您還可以免費獲得安全性,並且代碼會爲通信層執行很多錯誤處理。
如果您需要MQ解決方案,請盡情享受。支持MSMQ,但是它又是MSMQ。
使用其他解決方案將受益於更多功能,但功能帶來複雜性和風險。我個人將.Net應用程序與websphere MQ集成在一起,我對解決方案的成本和收益並不感到滿意。更不用說MQ在非P系列硬件上的性能至少沒有說明了。
在.NET上構建通信應用程序時,答案几乎總是WCF。 WCF確實
WCF背後的想法是這樣的:這是一個普遍的通信框架,它映射着你希望使用任何通訊基板。這意味着編程模型是一致的,概念是一致的,並且操作/管理是一致的。如果您選擇WCF並且您想要記錄日誌,則無論您選擇哪種基底,它都以同樣的方式工作。而且,如果您選擇WCF,則可以在雙方當地時使用命名管道,並且在分發它們時切換到TCP。它不需要更改代碼,只需要更改配置。哪個可以很好。
至於選擇基材 - 那麼,這取決於你。取決於您需要的功能和功能,您的要求。
排隊還是不排隊?
你從你的郵件解決方案需要什麼?
如果you like WCF那麼你會得到很多免費的。但基本上有兩種消息傳遞模式:排隊和不排隊。 WCF提供了一個巨大的可互換通道矩陣,綁定,格式,協議和身份驗證方法,可以通過簡單更改.config文件來切換和切換。但他們都是爲非排隊模式。如果你的解決方案對於一個耦合的通信通道是可以的,那麼對於CLR應用來說,目前可能沒有比WCF更好的了。如果你的要求強加了一個基於排隊的解決方案,那麼你將失去所有的可互換的綁定玩具,你可以利用WCF的序列化,也許你的服務的激活模型。
最後但並非最不重要的90%的任何消息解決方案發送的消息最終都在一個數據庫中,不少也是從數據庫來源。如果您希望與提供性能的SQL Server數據庫緊密集成,同時保證可靠的交付,請致電is a solution for that in SSB。
我發現的MQSeries上,Windows是事務性性能方面非常MSMQ媲美,使用.NET(C#)客戶端。兩者在交易記錄和批處理方面存在差異,但總體而言在性能上可比。此外,IBM還爲WCF提供了MQ通道。 – Cheeso 2009-06-04 03:00:55
3個月前仍然在阿爾法,但我的信息可能已過時。他們還沒有正式發佈WCF連接器,所以可能在7.0版本中,這是可以的?我想WMQ最大的問題是,作爲一個非MS堆棧需要一些學習。我仍然堅持認爲它也不便宜。 – Spence 2009-06-04 03:07:27