A public preview of PowerApps was introduced in April 2016, followed by its general availability in October 2016 along with Common Data Service, which was included as a part of PowerApps plans. Initial release allowed users to create simple mobile apps that could connect to different data sources including Microsoft Dynamics CRM, now called as Canvas Apps.
What CDS did was to untangle Sales, Service, Field Service, Project Service, Marketing from the base platform. The base platform still includes basic entities like Accounts, Contacts, Activities etc. along with the platform’s core functionality to create entities, relationship etc. This base platform is what is called Model Driven Apps in PowerApps.
Let us step back and see what CDM is. Well CDM was available as a preview on August 2016. Microsoft defined it as an Azure-based business application model and storage mechanism for Microsoft’s business application that comes pre-provisioned with standard entities. And when CDM reached its general availability it was renamed to CDS.
If we remember in our earlier days, CRM was called XRM. X in XRM meant that we not tied to Customer Relationship Management, it could be (Any) Relationship Management. XRM allowed us to create our own data model, and now with CDS, the focus is on to get different application and services talking to each other seamlessly and quickly along with the capability of XRM. So CDS is actually XRM + Services\Apps. Dynamics 365 is a collection of different applications like Customer Engagement, Business Central, Field Service, Finance and Operations etc. live in their own world and are not integrated or talk to each other.
One way we can make them talk to each other is through custom code that consumes the services exposed by them. But then that could be done with any other application out there written in any language, but if we are talking about Dynamics 365 integration and it having all these applications as part of the suite there should be something different something easy something intuitive and seamless. So, the idea with CDS is having one single database for all these different business applications. That could mean a customer in CRM is the same customer that is there in AX or Navision instead of having 3 different customer records in each of those applications. In short, CDS allows users to store data from different applications in CDM and build custom application and workflows over that data using PowerApps and Flow.
Some of the benefits of CDS includes data centralization, instead of data of CRM and ERP saved in isolation, they’d be having the same source, which makes the sync much more efficient. Another benefit is through PowerApps and Microsoft Flow, power users without writing code, can build applications and workflows over the CDM. And recently we have Data Flow released, which allows ingesting data from a large and growing set of supported on-premises and cloud-based data sources including Dynamics 365 Integration services, Salesforce, Azure SQL Database, Excel, SharePoint, and more and then users can use Power BI Desktop and the Power BI service to create datasets, reports, dashboards, and apps that leverage the power of the Common Data Model.
The CDM Poster
With PowerApps, CDS, and CDM, we can clearly see the Microsoft’s vision of application and integration services that are seamlessly integrated instead of living in isolation, which includes third-party application from Adobe and SAP apart from their own suite of applications.