Architectural Model : CRM Online Extensions with Azure

Rarely will a  commercial off the self software system provide you 100% of the functionality that your business will need. The reason is there is just too many situations that would have to be accounted for. When purchasing COTS solutions, you’ll want to understand the flexibility of the platform it offers.

Microsoft Dynamics CRM Online provides a variety of ways to extend the functionality of your business applications via configuration/customization changes and the CRM Web Services.

Microsoft’s recently announced cloud platform, Azure, offers a number of services to help enable building extensions to your CRM Online solutions. While, you can certainly build out extensions on any hosted platform, the Azure platform will provided you with many benefits such as storage services, infrastructure and a familiar development platform. Another interesting aspect of Azure is the idea of running code in it’s own space ( i.e. Worker Role ). This code can run independent of a user so it’s excellent option for batch processing and responding to events. Web Roles in the Azure platform provide the functionality of applications that are user interactive.

BkUpDiagram

One such extension might be a cloud based back up application. In my example, the back up application would consist of 2 user interfaces and a backend process. The diagram above gives an over all view of the model. The first component is a user interface that allows the configuration information to be collected. This information would specify aspects such as which records to back up and when to run the back up. The second user interfaces would allow the user to access the data sets and perhaps re-instate the data or export out to external storage. Here’s an example of what the configuration user interface might like look like in CRM Online.

Config

Using the Azure platform, the application could take advantage of cloud data storage to hold the datasets.

This next image shows a user interface screen that would allow user to view the back up data sets.

DataSets

To summarize, you can build and extend functionality in your CRM Online system by using hosting applications and the CRM web services to access information. By using the Azure platform you can benefit from the cloud storage, infrastructure, and as well the worker services. You can also host your user interface inside the CRM application giving your users a singular experience.

-cheers
jonw