Updated: March 13, 2014
In this article we have seen how to bridge the gap between BizTalk Server and the Service Bus and how to achieve full interoperability between the two simply by using the native features provided out-of-the-box by these technologies and by adding a couple of extensions and a pinch of imagination. Is this the only way to integrate BizTalk Server with the Service Bus? The answer is clearly no. An alternative solution is to build a custom Service Bus adapter by using the WCF LOB Adapter SDK and the .NET Messaging API. This adapter should integrate the functionalities that I described in this article and implemented in my code.
Another alternative, and an easier way to enable a BizTalk application to exchange messages with Service Bus queues and topics, is to create a reusable helper class. This component should use the .NET Messaging API and the BizTalk Runtime libraries to accomplish the following tasks:
Transform an XLANGMessage into a BrokeredMessage and vice versa. In particular, map BizTalk message context properties into BrokeredMessage user-defined properties and vice versa.
Receive messages from a Service Bus queue or subscription.
Send messages to a Service Bus queue or topic.
I look forward hearing your feedback. In the meantime, here you can download the companion code for this article.