This is the tag line for Common Data Services that I picked up from Microsoft website:
Microsoft’s Common Data Service brings together your business data in one place so you can focus on the things that matter: building apps, finding insights and automating your business processes.
For someone especially like me, who has spent a lot of time building integrations and even more time to keep systems in sync, this makes it a lot easier. Now, we have CDS (Common Data Services) doing all the heavy lifting of bringing data together for the users and applications. This sounds great!
Pains of Integrations
Often times we build applications that start out as stand-alone, but nothing really stays stand-alone, sooner or later they need to talk to other systems such as Accounting or CRM or another legacy 3rd party application.
Let me clarify this further by giving a real-world example, my recent project involved building a Fleet Maintenance application for railcars. As the project progressed, there was a need for the application to bill customers based on some complex business logic. It also involved generating invoices in Microsoft Great Plains. We built a seamless, real-time integration to create invoices in GP when a customer gets billed in the custom application. It was a one-way customization, from custom application to GP. But then there is no guarantee that nobody will directly create an invoice in GP, custom application will be completely unaware of such invoices. Let’s say we build new integration to sync data in other direction as well, then tomorrow there could be another 3rd party application creating invoices in GP and then we need to sync those as well. So, although it is possible to maintain data in sync across multiple data sources, it can get tedious and requires maintenance.
There are different tools that help us integrate data, we have ourselves implemented “Queue Applications” to batch process integrations. In some cases, we need more than 2 Queues to maintain data integrity. A very common scenario involves data to be synced or shared between an ERP, CRM, Operations, and Custom Applications.
As you can see data integration can be little painful and to make sure that data in different systems match, you need integration reports and reconciliation reports. There could be botched up or stuck integrations, there could be system downtime ruining the integrations. At no point you can confidently say that data is same across all the systems.
With the advent of Dynamics 365, Microsoft has been able to address some of the issues around data integration using Common Data Services and Common Data Model.
What is Common Data Services
Common Data Services is a Microsoft Azure based data storage service which maintains data across various Dynamics 365 family of services in a central place. Microsoft Dynamics Sales and Microsoft Dynamics Financials can now share the same data. There is integration happening but it is under the hood, users are shielded away from the nitty-gritty of it. User can be assured that the same data is available across all the platforms and they can concentrate just on building apps and automation.
What is a Common Data Model?
At the core of Common Data Services is Common Data Model. It is a database where data is stored in the form of entities. CDM comes with pre-defined entities and based on business requirements, users can extend these or add custom entities. If you have used Dynamics CRM, then expect this to be similar to the out-of-box entities that ships with CRM. CDM is built using best of Azure technologies such as Service Fabric and elastic SQL and so it comes with all its benefits such as security, scalability.
One of the easiest way to start using CDM, is to use in-built templates. You can establish connections to CDM from inside Dynamics 365 and then configure the system to let’s say Copy Dynamics CRM Contacts to Common Data Model. Under the hood an integration is working to sync up data between CRM and Common Data Model.
Building Apps Using Common Data Model
This is a rapid application development services that requires little to no code so anyone can rapidly build web and mobile applications.
Power Apps, powered up
Use PowerApps to build your apps, and then connect to advanced logic that is hosted in Microsoft Azure Functions.
Rich Client Apps
Build a middle tier by using the Common Data Service software development kit (SDK), and build your rich client app.
Build your Web. Mobile or software as a service (SaaS) app by using the Common Data Service C# SDK.
Power Trio – CDM, Power Apps and Flow
Common Data Model
As described above, Common Data Model is a secure database for storing and managing business entities in a single place. Using CDM along with Flow and Power Apps, we can build solutions using little programming skills that allows basic in-out flow of data using user friendly GUIs.
This is a rapid application development services that requires little to no code so anyone can rapidly build web and mobile applications. It’s at drag and drop environment and you don’t have to be a professional developer to use it. Without writing a single line of code you can build very compelling, rich, visual solutions that can integrate with Office 365 and Dynamics 365 and even pull together data from many sources to produce an application that can fundamentally change the nature of core business processes—and doing it in days or weeks where previously it would take months or even years.
PowerApps really is the foundation for mobile and application development and extendibility on the Dynamics 365 and Office 365 platform.
This is a sister service to PowerApps that allows you to build and orchestrate a process that doesn’t need to have an application on the front but can be triggered based on any number of events. So if in Dynamics 365 for Sales there’s a new contact entered, you’ve got the ability to trigger a flow automatically that could then update a SharePoint site that could store some information in a OneDrive folder and insert something into your Dynamics 365 for Operations application, or to do anything from a custom code perspective that you might have available to you within your company.
These two services work very well together, and even with Power BI, to express some very complex, rich, and powerful business operations processes in a drag and drop environment. So if you have an application built using PowerApps and you click a button r take a picture, you can trigger a flow based on those actions.
Let’s add Power BI to the mix. Power BI is a powerful analysis and visualization tool. PowerApps and Flow is great at enabling people to take action on the web and mobile. With Power BI, you can build apps that give users great insight and let them act right away using the Common Data Model.
Let’s look at some of the frequently asked questions about the Common Data Model
Q) Does Dynamics 365 use CDM as its own Database?
A) No. Dynamics 365 has its own databases for the Customer Engagement Apps and the Operations App.
Q) How to migrate the existing Dynamics 365 Data to CDM?
A) Flow can be set up to integrate with CDM and it works when an event is triggered. But the initial load of the existing data can be imported using Excel sheets.
Q) How much will it cost?
For pricing details contact KTL Solutions