I got this email today from someone:
Subject: Why WSMQ over MSMQ
What would cause a person to choose one over the other?
First, WSMQ is not really a comparable application, so it's not really a substitute for MSMQ.. For one thing MSMQ is a highly performant, robust, scalable enterprise-grade application for message queuing. WSMQ is not really any of these things. What it is is a simple message queuing application. I should have probably called it SWSMQ.
That said, I did create WSMQ out of some frustrations arising from my experiences with MSMQ... It turns out that for what I need to do 99% of the time, I just need a simple way to queue lightweight objects that could be easily serialized to XML. MSMQ worked for this, but there were three areas where I became frustrated:
1) Queue Management is not so easy with MSMQ
If you need to modify, delete or re-queue a message with MSMQ, you have to write some code to so this, and there's no good management tools. WSMQ stores queues in XML, so you can open your queue and edit it in notepad if you prefer. Plus, there's a separate web manager app that you can use to manage queues.
2) MSMQ is not built on open standards
WSMQ is a Web Service. Need I say more?
3) MSMQ is not a default Windows Server component
This means that you usually need to coordinate with your IT admin folks to get MSMQ setup. In a Web farm or disaster recovery scenario, this problem is amplified. This may be easy in some circumstances, difficult in others. I wanted a message queuing application that I could install and control, using simple xcopy deployment, if need be. In an ISP scenario, this may be even more of a problem.
-Brendan