It’s not my data, it’s our data
The rebranding to “Microsoft Dynamics 365” is the beginning of the era of the next generation cloud business apps. The set of applications working together in areas such as customer service, sales, marketing, field services, project management, office management etc. are all housed in one unified platform named “Microsoft Dynamics 365”.
Unified applications need unified data. So Microsoft developed the “Microsoft Common Data Model” or simply “CDM”.
The Common Data Model is defined by Microsoft as:
Microsoft Common Data Model (CDM) is a secure business database, comprising of well-formed standard business entities that can be deployed for use in your organization. CDM is secure – it is encrypted at rest. CDM is built for scale – using the best of Azure technologies such as Service Fabric and elastic SQL. CDM provides not only standard entities, but also allows you to build custom entities either extending standard entities or adding new entities that can relate to standard entities. CDM provides structured metadata, rich data types, auto numbering, lookups, business data types like Address, Currency, capabilities like referential integrity through metadata configuration, and cascade deletes – making a compelling functionality. CDM will roll out features incrementally to expand entity capabilities, processes for entities and pre-canned forms for these entities among others.
It should be seen as a new Azure database that contains common data used by several applications housing under the Dynamics 365 tree and 3rd party applications. By introducing a Common Data Model we are able to break the so called “Data Silos” that exist in each separate application and use a single data set across different applications.
This solution stack diagram visualizes the available elements within Dynamics 365. Here it is clear that the Common Data Model covers the full stack. Via the use of connectors and gateways, the Common Data Model acts as the basis of business solutions created by Microsoft Flow, Microsoft PowerApps and Microsoft Power BI.
That sounds great! What can I use it for?
The Common Data Model contains several standard entities consisting of the most common used ones across most industry domains and Dynamics 365 applications. The CDM also provides integration capabilities for importing data from multiple sources.
Features provided are:
Common Data model – A library of entities that represent the most commonly used entities across business and productivity applications. The library is organized for simplicity and rapid discoverability. Typical solutions will revolve around core elements of enterprise data – for example, an employee, a customer, a product, or a supplier. Applications across the enterprise will drive updates to that data. The model is implemented to simplify the challenges of data management.
- Data import – You can quickly and easily import data from your existing systems. The platform rapidly establishes trusted connections for IT-managed tenants. The trusted connections continually synchronize the data between your existing systems and your platform solutions.
- Security – The platform manages access to data in the Common data model and conforms to the security models of the
- Simple, but rich – The Common Data Model balances the richness to be useful and the simplicity to be usable.
- Extensibility – You can extend the Common Data Model without breaking data sharing with other apps.
- Robustness – Because you can depend on common entities, you can build reusable components that are bound to the model. The model includes a design for extensibility and versioning that protects your development investment.
- Unification – Your solutions can connect information from productivity platforms with data from business applications. For example, you can connect a calendar appointment or a Microsoft Outlook task with a sales opportunity. The model connects through standard interfaces, such as the Microsoft Graph application programming interface (API), and maps entities to the productivity platform objects to enable the join relationships with business data.
- Microsoft Office 365 integration – In addition to unifying cloud data silos for analysis, the Common Data Model provides a uniform model that is used to surface data to the Office 365 substrate, and that conforms to application data security models.
Awesome! So I can just input my data and use it everywhere?
The objective for Microsoft for the Common Data Service is to enable the following capabilities for the PowerApps, Microsoft Flow and Pro development communities:
- An easy to provision, yet scalable data store
- A common data model with standard entity schema and behavior
- A powerful data access layer with support for data import, export and security
- Integration with Microsoft Office for Excel and Outlook
- A software developer kit (SDK) for professional development scenarios
As of today (10/11/2016) there still is no SDK available to access the Common Data Model programmatically. So far the only way to perform CRUD actions is via import or the usage of Microsoft Flow. And the only way to access the data in the Common Data Model is via PowerApps. But since this is Azure hosted that will probably change soon.
For now the Common Data Model can only be populated via Import or Microsoft Flow. So this is a possibility what the general flow could be to populate and access the Common Data Model.
- There is a Dynamics 365 database update. (e.g. an Account is being created in CRM)
- Microsoft Flow uses the Dynamics 365 connector to pick up the new Account record. (Other connectors are available: SharePoint, OneDrive, other 3rd party applications, …)
- Microsoft Flow upserts the Account to the Common Data Model
- Microsoft Power Apps can access the new Account from the Common Data Model and use it. This for example allows non Dynamics 365 users to read the newly created Account data.
PowerApps and the Microsoft Common Data Model: https://powerapps.microsoft.com/en-us/blog/announcing-powerapps-common-data-model/
Entities in the CDM: https://powerapps.microsoft.com/en-us/blog/ga-common-data-model/
PowerApps CDS: https://powerapps.microsoft.com/en-us/blog/powerapps-cds-ga/