views:

334

answers:

2

Hi All,

I am trying to make an common abstract interface over the messaging infrastructure in our company. The design goal is to 2 fold. 1 is to hide the complexity of programming from the developers (i know its not very complex but still simplify it further) and 2 is to make the developers independent of the vendor specific messaging infrastructure (i.e. it can be MQSeries or EMS or MSMQ).

The very common option is using the WCF layer over the messaging infrastructure. Use the MQSeries Custom channel for WCF or use EMS custom channle for WCF. But both are ruled out due to lack of proper version of MQSeries and EMS.

Can someone please suggest what are the possible solutions to this problem. One which i can think of the to have a custom wrapper like JMS. Has anyone ever tried something similar before. Any help would be fantastic.

by the way, i am trying to create this wrapper in C# 3.5.

Regards

+2  A: 

There's NMS, which is a .NET implementation of the JMS protocol. It comes with a provider which works with ActiveMQ as the underlying message broker.

It might also be worth checking out some of the excellent open source Service Bus implementations for .NET which provide further useful messaging abstractions: NServiceBus, MassTransit and Rhino Service Bus come to mind.

Andy J
@Andy: Can NMS be used with MQ Series? i see that there is support for ActiveMQ, MSMQ and EMS. But no MQ Series
rauts
I don't believe NMS currently supports MQSeries. Unless someone has written a provider for it. You could always write your own. Though perhaps MQSeries ships with its own .NET interop libraries? I did a quick search and found: http://blogs.msdn.com/dotnetinterop/archive/2004/11/08/net-and-mqseries.aspx
Andy J
Thanks for the repsonse Andy. MQSeries does come with .net interop libraries but it would be great to have all in NMS. Seems like we have to write our own wrapper. Thanks
rauts
+1  A: 

IBM provides the XMS libraries for WebsphereMQ. They are a .NET implementation of the JMS protocol that works with WebsphereMQ.

http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24011756

gwhitake