You might have heard about the latest release (version 2) of the Common Data Service, commonly known as CDS. But what does CDS actually mean, and how does it impact the consultants and developers who work with it? The purpose of this blog is to help you better understand CDS and how it has been redefined as XRM. Version 2 was launched in Spring, but we will start by looking at Version 1 so we can compare the two.
What CDS Version 1 was
CDS Version 1 was an add-on to enable PowerApps to work with Microsoft Dynamics CRM (365). It was a standard data model for standard interactions that are extended to support industry based requirements. The idea back then was good, but it did not offer the scenarios in which this tool could be used in real projects. At the time, it seemed like Microsoft created another application rather than creating a way to integrate all the different applications that they had.
There were several challenges in working with CDS v1 during that time, including:
- It was difficult to build both data models and the platform from scratch
- New integrations were required for all existing apps
- It required development of a new UI for building entities, fields, UI, security, business logic, APIs, and customization
What CDS Version 2 is: XRM
CDS v2, more specifically called as CDS for Application or CDS-T, is redefined XRM. Why do we say redefined XRM? For starters, the solution page in Dynamics CRM v9 shows the PowerApps toolbar on top (see below). Also, whatever functionality needed for CDS was already built in XRM—for example, creating Entities, Workflows, etc. XRM also addressed many features that were the goals for CDS for Apps. Therefore, it was the logical decision to choose the XRM platform for expanding CDS to what it is today…hence, making CDS for Apps an enterprise-ready application.
So, if you know XRM, you are already an expert in CDS!
Diving into CDS for Apps and PowerApps
When you go to admin.powerapps.com, you can create your own Environment. Under this environment, you can then provision a Database. You can add users and provide security roles to users. You can add Apps and Flows and manage solutions. When you create an environment, you are essentially creating a new “Organization” with base CDS entities that have a unique OrgName (as shown below).
Now for the fun part! When you open the Environment; on Details tab you will see a link called “Dynamics 365 Administrator Center.” Once you click that link, you will be taken to the well-known D365 Admin Center, and as you can see, your Environment as Instance here. If you click that Instance, you will see the type as shown below:
You can also open the Instance, which loads a CRM page. It has a Settings option only in the SiteMap, but now with more flexibility. And, as mentioned previously, we are working on a familiar interface, making it easier to understand and navigate. Here you can create new solutions, add new users, assign/unassign security roles, create workflows or MS Flows, check Plugin Trace logs, etc.
What entities are included in Base CDS?
As explained above, when you create a new environment a database gets created with base CDS entities. Now, the question is, which entities are considered as base entities? The below diagram highlights the part that lists all the entities that are part of the base (applicationCommon layer).
Licensing for CDS
Canvas Apps and Model Driven Apps Designer
If you go to web.powerapps.com, you will see a screen that displays templates for building your Canvas App. If you look at the bottom left corner of the application, you will notice that you can change the design mode and select Model Driven Apps (shown below). Based on your selection of design mode, you will see different app templates. NOTE: The designer pages opened for both these Apps are different.
Currently, Microsoft offers 11 templates for LowCode/NoCode integrations (shown below) between Sales and Finance & Operations applications (data flow in Prospect to Cash). You can find this option in the PowerApps Admin page.
The prospect to cash data integration uses the above templates to synchronize data between Sales and Fin & Ops, as shown below:
Creating a Data Policy
In the PowerApps Admin page, you will also see an option to create Data Policy. Here you can select which connectors can access Business Data and which connectors are restricted from accessing the Business Data. If a data policy is created, users might not be able to create Apps and Flows that combine the connectors from these two groups. This means you can use connectors in your App/Flow either from the “Business Data Only” group or from the “No Business Data Allowed” group.
What’s next with CDS
We now have CDS for Apps, but there is another product under way called CDS for Analytics (or CDS-A), which will offer the following benefits:
- Reduces complexities between multiple data sources and business applications
- Utilizes CDS for Apps which, in turn, enables integration from Power BI
- Provides a single source of truth for all data across the enterprise
- Accelerates access to business insights, including self-serve reporting
- Provides enhanced analytical modeling leveraging Azure Machine Learning
Putting it all together
Once you put CDS for Apps and CDS for Analytics together, this is what you get.
So, there it is! CDS for Apps is the independent platform we all have been waiting for, and with the Spring 2018 release, PowerApps and CDS for Apps have become the beating heart of the Microsoft Business Application Platform.