Gerben van Loon

Random thoughts on Microsoft Software Development and other related stuff

IBM WebSphere MQ WCF Channels updated

Some updates to my original post since Microsoft Host Integration Server 2010 is released. My comparison now looks like this:

 

IBM

HIS2009

HIS2010

Fire-and-forget (oneway) client

+

+

+

Fire-and-forget (oneway) service

+

+

+

Request-reply client

+

-

+

Request-reply service

+

-

+

Local transactions

+

-

+

Distributed transactions (DTC)

-

+

+

Client side transactions (DTC)

-

+

+

Backout queue support

+

-

-

Message format

-

+

+

AppFabric support / IIS Hosting
(WAS listener for IIS7)

-

-

+

Works with .NET 3.x

+

+

-

Works with .NET 4.0

+

+

+

WMQ6 support

-

+

+

WMQ7 support

+

+

+

Sample code

+

+

+

Documentation

+

-

-

Licensing

+

-

-

So what has changed in the meanwhile with HIS2010 since HIS2009?

  • Request-reply: Microsoft added request reply support to their channel for both the client and the service side. Not a big surprise that this was coming since when you paid attention you saw with Reflector that already some bits and pieces where available in the HIS2009 one. Request reply is available in a separate binding. Unfortunately the Microsoft implementation also suffers from the #2 Oneway calls over WMQ can still block issue. Hope they resolve that soon.

  • Local transaction support through the WCF 4 ReceiveContext feature. Means you don't always need DTC anymore when local transactions are sufficient.

  • AppFabric support: HIS2010 added an  IIS7 WAS process listener for the WebSphere MQ (WMQ) protocol. This opens up AppFabric integration with WMQ. This means that you can now host WMQ services in IIS7 with the AppFabric dashboard functionality. No more custom build windows services!

  • Support for AppFabric and the WCF 4 ReceiveContext feature also means the HIS2010 channel now only works with .NET 4.

  • Documentation mains pretty poor, haven't found too much info.

  • Licensing unfortunately still means that you have to license via BizTalk. See my original post for details

  • Still no backout queue support: this in fact means that while transaction support (local and distributed) seems to be nice but is pretty useless. You always hit a poison message that goes on forever when a transaction fails. Normally you want these messages to go to a defined backout queue after n times tried.

Conclusion
We’re still staying on the IBM channel for now. Maybe if the HIS team adds backout support to a future version we’ll consider switching for services. Services become more interesting in the HIS channel due to support for AppFabric which can save development and maintenance time. For client side we’ll probably stay on the IBM channel anyway due to the licensing costs of the Microsoft channel.

Posted: Mon, Dec 20 2010 2:58 PM by Gerben van Loon | with 6 comment(s)
Filed under: ,

Comments

Rani said:

Did you enable to use an auto started IIS service upon message put in the MQ ?!

# June 14, 2011 3:05 PM

Gerben van Loon said:

Yes this is possible if you use the WAS listener for IIS7 from the HIS 2010 channel.

# June 23, 2011 11:16 AM

anthony said:

Microsoft appears to have updated their channel to support backout queue:

support.microsoft.com/.../2459833

# August 12, 2011 11:33 PM

Gerben van Loon said:

Thanks for the info Anthony. Didn't knew that, haven't seen it communicated anywhere. I'll update the comparison table.

# August 16, 2011 9:43 AM

Gerben van Loon said:

Wrote a lot about the IBM WebSphere MQ WCF Channels in the past. Check out my original post and an update

# August 16, 2011 10:11 AM

David Douglass said:

Does anybody know if either Microsoft's or IBM's product supports message grouping?  Also, since this is independent of MSMQ, I assume there's no 4 MB message size limit.  Can anybody confirm that?

Thanks,

Dave

# May 10, 2012 11:45 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Please add 6 and 5 and type the answer here: