Sending Dynamics CRM Execution Context to Azure Service Bus

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.

Service-Bus-Fanout1

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

sb-queues-08

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

sb-topics-01

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

 

Advertisement

Author: Indika Abayarathne

MSc in IT [University of Colombo] Solutions Architect | Consultant Technologies: Power Platform | Dynamics CE | Azure

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: