Wednesday, June 14, 2017

Azure integration with Dynamics 365 - Part-1 - Azure Service Bus

In a connected world it is important for cloud based applications to be able to communicate and integrate with on premise and online business applications. Microsoft has OOTB and custom options that integrate Dynamics 365 with other business applications using the Azure platform. This blog is to discuss the Azure Service Bus options. The 2nd part of this blog will discuss the Dynamics 365 integration.

Why use Azure?

Azure Service Bus is a reliable, enterprise level message delivery service. The benefits of using Azure cloud messaging platform includes –

1.  Integrate between cloud to cloud or cloud to on premise business applications
2. Increase availability, security and scalability of systems
3. Cost effective and easy to manage

Azure Service Bus provides 3 communication mechanisms – Queues, Topics and Relays.


1. Queues – In a Queue, the sender sends a message to the Azure Service Bus Queue where it stays. When the Receiver connects to the Queue it gets the message. Queues are useful for batch and mobile applications.

Fig-1 - Queues

2. Topics – The sender sends a message to the Topic and it will stay there. There can be one or many receivers. The receivers can all receive the messages. The receiver can also filter the message they receive using their subscription.


Fig-2 - Topics with filtered Subscriptions

Relay – Relays provide 2 way / Direct communication link between Sender and Receiver. The Sender and Receive are both connected to the Relay using TCP/IP. This overcomes the Firewall and NAT problems faced with direct connections between 2 applications. Relay is created when the Receiver connects to Azure and a link is establish with the Sender. As soon as the connection drops the Relay is deleted.


Fig-3 - Relays - Direct link

Description
Queues
Topics
Relays
Communication
One directional
One directional
Bi-directional
Distribution
1 message to 1 recipient
1 message to many
Recipients
Direct connection
Type
Asynchronous
Asynchronous
Synchronous
Filtering
No
Recipients can filter
messages using subscriptions
No

In summary the right option needs to be selected for Azure Service Bus connection with business applications. In the next blog I will write about using Queues to publish data from Dynamics 365 to Azure Service Bus without writing any code.

Thanks for reading!!