Message Queues are a great tool for interprocess communication if you need to ensure that a message is processed, regardless of the target process’s connectivity or runtime state. If you are developing with Microsoft’s .Net Framework you can take advantage of Windows Communication Foundations built-in support for Microsoft Message Queues. I have been using WCF with Microsoft Message Queues on a recent project, which as part of a back-end processor, the queues are automatically created in the event that they do not exist.