My organization is getting ready to implement a new system, which is a asp.net application. The application will have a large queue of offline work that is initiated by the website. This queue will hold different types of activity, ideally in XML messages. Think of things like email notifications, scheduled tasks, etc.
In the past, the organization would likely have used MSMQ to accomplish this task. However, they consider MSMQ to be old school (and I partly agree with them), so we are going to do an architectural review to determine the "best" solution.
In my mind, there are a few potential choices:
1. Stick with a new implementation on the latest version of MSMQ - not ideal, but a known product.
2. Use Windows Workflow Foundation, which I've heard from a few other developers that have used this for this type of thing.
3. Develop a custom database solution.
Am I missing any obvious solutions? This ideally will be a Microsoft product, but really just needs to work in a Microsoft centric shop.
I'm concerned about the following:
1. Ease of implementation and maintenance
2. A solution which will be around for awhile
3. Able to handle a good volume of rows, with medium sized XML data in them
4. Absolutely reliable queue system, with quick updating (multiple utility processes will likely be grabbing records out of the queue to process them).