Our Blog

where we write about the things we love

27

Oct

How the Common Data Model is about to revolutionise the world of Dynamics

The Microsoft PowerApps team announced the Common Data Model (CDM) in July and we take a detailed look at what it means for businesses.

The CDM impact in business applications will be immense, beyond the boundary of PowerApps, becoming the core data hub of the Microsoft stack in the coming years. The CDM is still currently under development and Microsoft is constantly making tweaks to it and enabling new data entities.

CDM: The Definition

CDM is a secure business database, built using elastic Azure SQL database with all of its benefits, including scalability and security. As a data store it allows an organization to consolidate data from different systems (such as Microsoft Dynamics AX, Microsoft Dynamics CRM, Microsoft SharePoint and Microsoft Office 365) and serves as an integration hub to enable data exchange based on pre-defined entity schema.

The CDM provides the flexibility to add and extend these data entities based on business requirements and also import/export data using tools like Microsoft Excel.

Why was CDM necessary? Traditionally, Microsoft have had its Dynamics suite of products such as Navision, AX and catering to different sectors of the market, satisfying different business needs.

Each of these products have their strengths and weaknesses and over the years there have been work to make these “best of breed” solutions (those of you around the Dynamics space long enough might have heard of “Project Green”).

Microsoft introduced its cloud based Office 365 offerings in 2010 and consolidated these further over the recent few years. Following this trend, at the beginning of the 2016 Microsoft announced with the cloud version of Microsoft Dynamics AX. This has put the company in a unique position where it can offer an end-to-end enterprise productivity platform on Azure cloud.

However, there was a big hurdle around the integration between these individual systems - Dynamics AX, Dynamics NAV, Dynamics CRM and Office 365 – with partners having to develop custom integrations, not only an expensive exercise but difficult to maintain.

The differentiating factor of each of these individual systems is their data model and their native business logic. For example, Dynamics AX might store the information about a customer entity in seven different tables, Dynamics NAV might have three and Dynamics CRM might have this same data in four tables. If the systems need to talk with each other, the challenge is not the data but the data structure/model.

This is a common problem faced in any integration scenario and a large part of the project is spent in mapping and maintaining these, which can be an even bigger task if a change happens in one of the integrating systems.

Satya Nadella, Microsoft CEO, recently noted that “Microsoft doesn’t make products anymore but create experiences”. In line with this vision Microsoft thought of taking the pain out of integrating these individual products and decided to introduce the Common Data Model (CDM).

The CDM database by definition stores transactional and master entities (customer, vendors, sales orders, purchase orders, etc). All of these entities are at their most denormalised form, so that these seven, three and four separate tables from each individual component system are now flattened into one table containing all the relevant data fields.

CDM: Capabilities

Having a flat data structure for all the entities makes things a lot simpler for individual systems to exchange data. Imagine the CDM as a “staging” database in the cloud. For example systems A, B and C need to exchange sales order information among them. None of system A, B and C needs to know the inner data model of the individual systems, nor do they need to cater for changes happening inside the data model of these individual systems. All they need to know is the sales order data model (table schema) of the CDM. The source system sends data to CDM while the destination system reads data from the CDM thereby completing the data exchange.

Going forward, if you want to integrate any third party system with the Dynamics stack, CDM is your “go-to” data hub.

There are three major Microsoft application platforms which work or will work with CDM - Dynamics 365, PowerApps and Power BI.

Dynamics 365: the latest buzzword in the Dynamics world, Dynamics 365 is a complete cloud based SaaS offering from Microsoft, delivering its best of breed solution with a seamless experience regardless of device being used. We just had first look at this and must say that this is the single biggest announcement Microsoft had made in some time and the future looks exciting (more on this in a future blog).

The CDM is at the heart of Dynamics 365. It is used to provide seamless communication between Dynamics CRM, Dynamics AX, Dynamics NAV and the Office 365 stack. However, the inner workings of this may not be exposed with Dynamics 365 being a SaaS experience.

The diagram explains how it is a key part of the Dynamics 365 product suite.

PowerApps, LogicApps, Flow: iIn today’s world of digital transformation the big focus is on enterprise productivity. How do organisations make their mobile workforce more productive? You have a large operational system that drives your business but how do you enable your employees to take advantage of it and make them more productive. With the advent of the device-enabled work style, Microsoft has been investing heavily on its enterprise mobility products over the years. However, until now there has been a cost associated with delivering mobile solutions. Building custom apps can not only be costly but requires dedicated support from a team of developers to maintan the apps with upgrades and updates. On top of that there was the question of cross-platform interoperability and security. Sharing these apps with the business users also posed a challenge as uploading these core business apps to a public app store was not a secure and recommended practice.

To address all these challenges, Microsoft introduced three new cloud-based offerings: PowerApps, LogicApps and Flow.

PowerApps: this is Microsoft’s mobile productivity platform hosted in the cloud and integrated with an Office 365 subscription. You can create, modify and share your custom app from either a web-based studio or Windows app without writing a single line of code. PowerApps is also compatible with laptops, tablets and phones and can run on Windows, iOS and Android. How is this possible? PowerApps uses heuristics and background algorithms to understand your data and presents you with a fully functional app which can then be modified to suit your needs.

You can also start with blank app templates and design them to your requirements. The PowerApps platform can work with several data sources such as SharePoint lists, Dynamics CRM Online, Salesforce, Excel, SQL servers and other Office 365 apps.

Most importantly PowerApps can work seamlessly with CDM. This means it works with the entire Dynamics and Office 365 enterprise productivity stack (including the Dynamics 365 platform) without a single line of code. Sounds exciting!

We took this on a spin recently and can say the time to create, modify and deploy a fully functional app for business users can now be reduced to days instead of months. PowerApps is still in its formative stages and Microsoft plans to release a dedicated Software Development Kit (SDK) for those of us more technically inclined. The overall goal remains to make it a simple tool to create, modify and share core business apps with the organizational users.

Flow: If PowerApps enables organisations to expose business data in CDM as custom apps, Flow enables data-driven eventing and interconnects cross-platform services with PowerApps and CDM. At the moment Flow supports a number of connectors (details are available here). Flows can be created from either the Flow website or the PowerApps studio. A typical use case may be a PowerApps app which lets the sales representative view the customer’s details and modify them. It also needs to enable them to add a new customer. Today you can achieve all this by exposing your customer entity in the CDM through your app. However, you would want to have a credit check and approval from your Sales department before the sales rep can actually create the customer. How do you do that without writing a single line of code? Flow can sync the Office 365/Outlook profile of the sales rep and send an approval email to the Sales department with the necessary new customer details for approval. You can also trigger actions based on outcomes in Flow, where you can push the approved record back to CDM which is then synced back to your Dynamics system. Flow is currently available free of charge for you to explore but an Enterprise-ready version with service based licensing plan is around the corner.

LogicApps: LogicApps is the big brother of Flow. Essentially whatever you can do in Flow you can do in LogicApps and a whole lot more. Much like Flow, it can also be seamlessly integrated with the CDM. LogicApps are developed and deployed either from the Microsoft Azure portal as an Azure App or from Visual Studio using the LogicApps extension. LogicApps support more advanced integration requirements including B2B scenarios involving AS2, X12 and EDIFACT. It also supports advanced XML processing logic such as XML Validation, XSLT Transformation, Flat file decode and encode to/from XML. More details about the API’s supported by LogicApps can be found here. LogicApps have a charge associated with them with based on the usage and the uptime and are in general recommended for more complex integration scenarios.

Power BI: Power BI is Microsoft’s flagship reporting tool for business users. The capabilities of creating visually appealing reports quickly and without technical expertise is the biggest selling point of Power BI (if you are interested to know more about Power BI you can find details here or contact one of the helpful folks at Intergen’s Data Insights Team).

It is nice to have CDM link up all aspects of your business together and provide the business users with a seamless experience. But the key requirement being addressed is consolidated reporting across the systems and CDM provides this consolidated view of your business systems, which can be exposed by the rich reporting toolset of Power BI.

To ensure data in CDM is always updated and it is the single source of truth, all the data exchange between systems must happen through CDM. More importantly if individual systems are updated then mechanisms should be in place to sync the data back to CDM.

The CDM obviously cannot replace your data warehouse. While it can scale elastically it is not meant to handle the rigors of storing and reporting years of historical data. But the CDM and the Power BI stack can enable your business users to create ad-hoc reports with ease and minimum technical expertise.  The combination of the CDM and Power BI provide important insights into your business, overcoming the boundaries of individual systems operating in silos.

The diagram shows the entire stack comprising of PowerApps, Flow and Power BI:

CDM: What you can do today

If you are reading this blog today, then chances are high that your business is driven by Microsoft technology in some form or the other. Let’s examine a few scenarios and how you can take advantage of the CDM and its associated toolset.

First, if all this is completely new to your business, we would suggest you to get involved. Microsoft is offering most of the stuff we have discussed today free of cost and even if a charge is introduced in future, there is a high chance you would be eligible for an early adopter discount. You can even start with a Proof of Concept and then roll out your solution when you are ready. We think now is the perfect time to explore and catch the next big wave.

If you have future plans to roll out a solution based on the CDM, PowerApps, Flow/LogicApps, Dynamics 365, we would recommend is to get on board with an Office 365 and Microsoft Azure subscription. If you are using one or more legacy systems and looking to leverage the power of the Dynamics stack and/or integrate with the Dynamics platform, it might be a good idea to download the CDM data entities in Excel and align your legacy data with the CDM data formats. It might give you an indication as to how far out you are from the new data model and the data migration/integration effort that might be required when you implement/integrate with the platform.

However, if you just want to explore, you don’t need Office 365 or Azure to start exploring CDM, PowerApps and Flow: just sign in with a Microsoft Account! You can trial the sample apps, import data to CDM using Excel, create apps based on CDM entities and so on and so forth. If you are adventurous enough, you can even hook up n-premises SQL servers with PowerApps and the CDM, link Twitter feeds, Facebook posts in your company page, integrate with OneDrive, send SMS and more - the possibilities are just endless. There are also ways to integrate your custom web APIs with the CDM and PowerApps.

You can also add/modify the CDM entity fields which map to similar data fields in Dynamics systems. Using Flow, you can define the conditions and triggers to sync data between third-party systems, the CDM and the Dynamics stack.

If you aren’t impressed already let us remind you that you can do all this without even writing a single line of code. The whole stack is designed for key business users with minimal technical knowledge so that they can build what they need efficiently and easily. This probably is the single biggest selling point of the entire platform and CDM.[MF1] 

If you are keen to know more and understand how your Organization can benefit from these, we at Intergen would be happy to share our experiences with you.

CDM: Microsoft’s Roadmap

As we stated earlier the CDM and the entire platform is in its formative years and the future looks promising. In fact, Microsoft is coming up with new capabilities in the platform every week. It is quite evident they are investing heavily on this platform and with the advent of Dynamics 365, the CDM will be the hub of integration between different Microsoft products, while providing the data exchange endpoint for the Dynamics stack.

On top of this, Microsoft is building the application tooling around the CDM with products like PowerApps, flow and LogicApps.

To complete the seamless experience, it is also ramping up the Power BI and the CDM integration to provide access to cross system reporting.

To achieve this goal and to incorporate the real life challenges into business systems Microsoft is heavily relying on feedback from customers, partners, communities and the early adopters.

There are a few areas in which Microsoft is actively working to improve things. The most notable of this is strengthening the organization and role specific constraints around business data. The focus is to enable the role restrictions within the Dynamics stack to flow down to the CDM and then get forwarded to application and reporting layers in PowerApps and Power BI.

Other areas include developing SDKs for the PowerApps for the more technically inclined in us who would want to have greater control in editing and designing apps.

Microsoft is also heavily involved in load testing the connectors to meet enterprise level transactional requirements. They are leveraging the scalability and elasticity of Azure to manage this and should come up with Enterprise plans for customers who want to get on board.

Dynamics 365: The Future

Whatever we have discussed in this blog so far is incomplete without a parting mention about Dynamics 365. Like the whole Dynamics community, we are super excited about Dynamics 365. The whole discussion around the CDM feeds onto the Dynamics 365 stack and the seamless experience it delivers to business users across departments. We hope you will take CDM, PowerApps, Flow, Power BI for a spin and enjoy the capabilities and features as much we enjoy working with them.  

 

This blog post was authored by Ievgen Miroshnikov, Lead Developer Dynamics AX and Pathikrit Das, Lead Consultant Dynamics AX.

Posted by: Dynamics Team | 27 October 2016

Tags: Microsoft Dynamics, CDM, Common Data Model


Top Rated Posts

Blog archive

Stay up to date with all insights from the Intergen blog