Using queues within asynchronous scenarios
Queue-based technology is an underrepresented but powerful way to exchange data and events between disconnected clients.
There are two technologies available within the Microsoft stack that provides an asynchronous message queuing mechanism: MSMQ and Azure Service Bus. MSMQ has been around since Windows NT4 and Windows 95 as a feature, while Azure Service Bus was released in 2012.
BizTalk Server supports both queuing mechanisms by providing dedicated adapters. MSMQ is supported using the WCF Adapter and using netMsmqBindings
, while Azure Service Bus is supported by the new SB-Messaging adapter.
Why introduce yet another layer in your service communication? BizTalk has queuing logic, so what benefit do we get by having our service client send a message to an external queue that BizTalk acts upon?
First of all, you get delivery assurance in the case of the service being offline. As you are not travelling over an inherently unreliable transport such as...