Extending Dynammics 365 Online in a Modern Business with Azure

Hi everyone,

It has been a while since my last blog post so the yearly eXtremeCRM EMEA week is always a good timing to publish some new content 🙂

So for all the people who attended the session I hosted on Tuesday 19/4/2016 in Warsaw Poland, you’ll find the sample solution with source code below as a download. For the slidedeck, you’ll have to reach out onto the eXtremeCRM portal (or drop me an email with your question(s)).

So as a recap a short overview of the integration flow, the Azure building blocks we’ve used and a small word on the Visual Studio projects.

A. Flow

Case creation in Dynamics CRM

Async plugin exposing the plugin context from Dynamics CRM towards Azure Service Bus queue

Azure Webjob that reads the messages from the queues and creates a recod in Azure SQL table

Another Azure Webjob (with a delay build in) that reads the Azure SQL table, updates the record accorindgly and finally updates the CRM case and sends a message to all the websockets clients on the same case

B. Azure building blocks used?

Azure App Service –WebJob

https://azure.microsoft.com/en-us/services/app-service/

https://azure.microsoft.com/nl-nl/documentation/articles/web-sites-create-web-jobs/

Azure Service Bus – Queue

https://azure.microsoft.com/en-us/services/service-bus/

https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-queues/

Azure SQL Storage – Table

https://azure.microsoft.com/en-us/services/sql-database/

https://azure.microsoft.com/en-us/documentation/articles/sql-database-dotnet-how-to-use/

C. Visual Studio Projects

      1. AzureSBQueueToAzureSQL: used in reading messages from the queue and pushing them towards Azure SQL table (other possibilities instead of code? Logic App)
      2. ERPToAzureSQL: the ERP system updates the record in Azure SQL, updates the same record in Dynamics CRM and sends the same message towards the websocket group
      3. Case: contains the Azure aware plugin, async publishing the post-update case creation context onto a specific queue
      4. SignalRChat: http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr 
      5. SignalERPStatus: based on the SignalR chat and the sample project found on CodeProject http://www.codeproject.com/Articles/1023769/Real-time-development-with-SignalR-and-Dynamics-CR

 

The Visual Studio solution and sample code can be downloaded here.

And finally a special thank you for the inspiration and help:

Michal Sobieraj

Michael De Schepper – RealDolmen

Bryan Tuttle – CodeRight Inc.