Nowadays different software systems are connected with each other in different ways to exchange data and services among them. Also maintaining cloud spaces for hosting and using cloud services have become very popular in the industry. Dynamics CRM 2016 can be hosted as on premise and it’s available as Online as well and it supports exposing its execution context to Microsoft Azure Service Bus to easily communicate with the other applications, services or devices connecting from anywhere. Dynamics CRM plugin registration tool can make Azure aware the executions in CRM.
Assume that there’s a need to update some other system on a change of data in an entity in CRM. One approach is to bring changed data in to an online location and the other system to read those data and update its data stores accordingly. Azure service bus is a cloud service that maintains queues and topics to act as intermediate location between two systems. Specialty is that; Dynamics CRM can automatically send data with its context in an event available in Dynamics CRM such as Create, Update, Delete etc…
Azure Service Bus
Azure service Bus is a generic, cloud based messaging system for connecting services, applications and devices from anywhere. It supports two types of communication models such as Queues and Topics.
Understand Azure Service Bus using following resources;
https://azure.microsoft.com/en-us/services/service-bus/
https://azure.microsoft.com/en-us/documentation/services/service-bus/
Queue
Queues offer First In, First Out (FIFO) message delivery mechanism in Service Bus on the cloud.
Read more on Queues; https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-queues/
Topics and Subscriptions
Topics maintain many subscriptions and each subscription behaves as a queue. Once a message received to a topic, it make available for each subscription for processing.
Plugin Registration Tool
Plugin registration tool (comes with Dynamics CRM SDK) can be used to register a step for a message (e.g. create\update\delete etc…) in an entity and send the context to the Azure Service Bus. It creates a message (BrokeredMessage) in the queue or under topic\subscriptions with the context under its body. Context contains the elements such as triggered event (create, update, delete), the target image which can be used exactly as in a plugin implementation to read the elements.
MSDN provides a good article on connecting Dynamics CRM with Azure service bus; https://msdn.microsoft.com/en-us/library/gg328524.aspx#BKMK_configureACS