The purpose of this article is to give an introduction to XRM for .NET Developers and application architects. Most developers are familiar with various Microsoft technologies including the .NET Framework, Microsoft SQL Server, WPF, and ASP.NET. They are accustomed to designing their applications using Microsoft SQL Server for data storage and modeling their applications using relational database techniques. Modern developers are also familiar with object-to-relational mapping frameworks including Entity Framework and LINQ-to-SQL. Developers who like to live on the bleeding edge are also familiar with AJAX, Silverlight, ADO.NET Data Services, and .NET RIA Services. This article will introduce using Microsoft Dynamics CRM for the data storage tier of an application, paralleling it to basic concepts that are used in designing applications using SQL Server.
What is XRM?
There are a couple of different definitions for XRM. One is that the “x” stands for extended, as in extended relationship management. The other definition is that the “x” is a variable, and means “anything” relationship management, such as partner relationship management, constituent relationship management, employee relationship management, etc. Both of these definitions are referring to building any application on top of the Microsoft Dynamics CRM platform. Building an XRM application can take the form of customizing the existing customer relationship management applications that are included in Microsoft Dynamics CRM, or by designing completely new line-of-business applications that are not based on the sales, service, or marketing capabilities included in Microsoft Dynamics CRM. The common thread to all the definitions of XRM and methods of extending it is that your application will use the Microsoft Dynamics CRM as a platform, leveraging the capabilities of the platform to deliver business value to your users.