开发者

Guaranteed delivery

I am to work开发者_开发百科 on a project that entails transfer of some critical information across the wire. The caveat is that the transfer deliver has to be guaranteed to be received (retry on network failure). So WCF, I think, is out of question. Other alternatives being looked at are

  1. msmq
  2. biz talk.

Another caveat is that the receiving end is to be hosted on load balanced grid. I read and hear from some microsoft consultants that msmq is bad news when comes to make msmq work nicely with it. On the other hand biztalk is high latency...

So with that being said, I would like to know the group's take on

a. Is it true that it is somewhat uneasy to build configure an msmq receive endpoint with a loadbalanced set up and if there are any work arounds that can alleviate the pain.

b. Are there any other 100% guaranteed delivery ways to transfer data.

The sending endpoint as a sql ssis job. The data is medical audit data to elaborate on why it needs to be recorded by the processing layer.


AFAIK WCF is able to 'encapsulate' or abstract all kinds of messaging, so, it is also able to abstract message queueing ...


I don't know if I can directly answer your question but I can offer some things to think about that might help you decide.

I will briefly share my experience on a health project I am currently working on. We decided to use BizTalk for our solution to address guaranteed delivery. Our client is also building out an ESB and BizTalk not only gave us guaranteed delivery but also content based routing, protocol abstraction, message transformation, etc. For us these were all business needs. This tipped the scale for us.

With regards to MSMQ, we started using it on another project a few years back but had to switch to BizTalk. The killer for MSMQ in that situation was that we had clients outside our corporate network and the programming team was needing to use distributed transactions, i.e. MS DTC. The problem for us in terms of security, corporate network governance and DTC was how DTC uses ports (http://support.microsoft.com/kb/832017). The short version is that DTC would not work in that situation.


Whether its WCF or not is not the question, the question is what is the underlying transport. I think the queue approach should work well for your problem. You can look into another product like Tibco EMS.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜