Hi & Welcome back to 24Days of PowerPlatform!
If your job includes building business applications, it is highly possible that you’ve re-implemented some sort of data models or entities in a nearly identical shape. That nearly identical approach is a possible one but not a recommended one. Maybe you and your colleagues have implemented a company standard data model and you are using that model for all your applications.
What is the Common Data Model?
A similar initiative was started by Microsoft – and they have already done a huge amount of work. The Common Data Model (CDM) defines a
- modular and
- extensible collection of data schemas dealing with business applications data.
The Common Data Model defines a collection of entities having attributes plus additional semantic metadata and relationships between those entities. The CDM contains a huge number of entities (~160 entities and growing) used for business applications (like Account, Contact, Address, ..). CDM entities are organized in modules (Core, CRM, Healthcare, ..).
IMPORTANT: the CDM entity structure is extensible – if your company applications Account structure need some more fields, use the CDM Account structure as a starting point and add the needed fields.
HINT: If you want to browse through the CDM structure – the CDM team provides a graphical CDM repository browser (https://microsoft.github.io/CDM/)
What is/a the Common Data Service?
The Common Data Model does NOT..
- .. provide a storage mechanism like a DB
- .. include the “actual” data of the entities
- .. imply a level of security or compliance
For all those requirements, you need an implementation of the Common Data Model and one example is the Common Data Service (CDS) provided by Microsoft. Within the Microsoft data universe there are several implementation of a Common Data Service, like …
- … the Common Data Service for Apps (CDS4Apps) which is used by PowerApps. For this implementation you need to create a CDS Database in your PowerApps environment.
- … Common Data Service instances in the context of Dynamics 365 (example – Customer Engagement)
- … Power BI dataflows are using a Common Data Model schema to store the entities filled by the dataflows
Why use the Common Data Model?
The CDM improves the application development by providing a common data schema based on common sense (at least Microsoft common sense) but is not fixed to this proposal – if you need extensions to CDM structures, just add them.
I don’t want to repeat the benefits from the documentation site, so I just add them here:
- Structural and semantic consistencyacross applications and deployments.
- Simplified integration and disambiguation of datathat’s collected from processes, digital interactions, product telemetry, people interactions, and so on.
- A unified shapewhere data integrations can combine existing enterprise data with other sources and use that data holistically to develop apps or derive insights.
- Ability to extend the schema and CDM entities to tailor the CDM to your organization.
Open Data Initiative (ODI)
In September 2018, at the Microsoft Ignite conference, three big players – Adobe, Microsoft and SAP announce the Open Data Initiative to even broaden the Common Data Model from not only Microsoft products but also to extend it to other vendors. The core focus of the Open Data Initiative is to eliminate data silos and enable a single, comprehensive view of data.
- Interactive CDM repository explorer (https://microsoft.github.io/CDM/)
- Open Data Initiative (https://www.microsoft.com/en-us/open-data-initiative)
This post is part of my 24DaysOfPowerPlatform blog series. Have a look at the other blog posts as well..