If you would be asked to describe the Common Data Service. Would you be able to describe what it actually is and its impact on Dynamics 365 Customer Engagement (formerly Microsoft Dynamics CRM)? Would you be able to answer the question where your data would actually reside (within Dynamics CRM or outside)?
If you can’t explain it simply, you don’t understand it well enough.
Our attempt to explain it simply
The Common Data Service is the base layer of the Power Platform, and thus also of Dynamics 365 CE (group of standard applications within this platform). It comprises the data model (Common Data Model) and the manners to implement business logic (Business Rules, Business Process Flows, Workflows and Plugins). Power Apps is the possibility to create your own apps (Canvas – so pixel perfect without coding, or Model Driven – so same as within CRM with fields, forms, views, etc.) aside from the standard apps, but living within the same environment, so leveraging the same data and logical business rules. All together is called the Power Platform. Well, to be exact, the Power Platform does include even more (like Power BI etc., see further below). Concerning the CDS it can be distinguished between the CDS for Apps (what we see below) and the CDS for Analytics (for Power BI, Azure Data Lakes, etc.).
Still confused ? Well, then read on.
CDS v1 and xRM – How it began
The origin of the CDS was actually the idea of the xRM. A term that you will definitely hear some day reading more about the CDS. The idea of the xRM was to provide the possibility to create apps similar to standard CRM, but tailored at the customers needs. The “x” stands for anything. So it should be possible to manage anything within your xRM, not only customer relations, and in the way it fits the customer best (from single standalone apps to full blown CRM workflows and logic).
A few years ago Microsoft then came up with the CDS v1. But that was more like a silo application that customers didn’t really know how to use.
Making it necessary to integrate data between your Dynamics 365 CE and your Power App, living in a CDS silo, turned out to be not that practical. The idea was great: To have a CDS where data is transformed and stored in a way that it can be integrated and consumed by many different applications. But in the end it was not used that much and probably Microsoft realized that most of the Common Data Model was already in place within Dynamics CRM (apart from Financial – so the Navision part). So it turned out to be more practical to take a different approach to create the CDS v2, one where the basis of CRM is taken and refactored to build the new CDS.
CDS v2 = xRM = Common Data Service for Apps
To create the CDS v2, so the Common Data Service for Apps as we currently know, the data model of CRM was taken as the basis and split into parts. Furthermore, definitely a huge effort, the business logic known from Dynamics CRM was refactored and decoupled to be also used within the custom power apps. Probably, there have been necessary also a lot of other changes. The result was a new basis for Dynamics 365 CE itself and also the new Power Apps. So the current CDS for Apps is actually the realization of the xRM idea. Interesting and important is, that your data for custom apps will not live anymore in an separate silo (except that it’s what you want by creating a new instance) but can live within the same environment as your Customer Engagement App’s data.
Where this is currently not true yet is the connection between Dynamics 365 CE and Financial and Operations. There you still need the data integrator provided in the Power Platform to integrate those two. Or you could use a different approach as we did in Dynamics 365 CE as Microservice using Azure Service Bus for a more loosely coupling. Concerning the reasons for this we can only guess. Having experience with the different address model in Navision, this could be one of the reasons, that makes it difficult to fit it into the data model of the CDS.
In a nutshell
The CDS is the basic layer of the Power Platform. By refactoring the data model and the core logical components like plugins, etc. into this layer, Microsoft made it possible to start from custom standalone apps to full blown Dynamics 365 standard apps all within the same environment. Depending on licensing it will differ which entities you are able to access and work with. Dynamics 365 CE Applications, in fact, are also standardized Power Apps.
To get more insights onto this topic we would recommend the following articles/videos: