In the last Dynamics 365 tech conference, Microsoft announced exciting news and new features about Dynamics 365 for Operations (Previously Dynamics AX).
If you missed it, here is a great blog post that summarizes it.
The hottest topic on the 1st day, with fully attended sessions following days, was the Common Data Service (CDS). CDS is mainly focused on bringing Dynamics 365 solutions together by providing out-of-the-box integration, where Microsoft showcased Sales to Operations integration (CRM to AX).
CDS is still under development, yet here is another post if you’re interested in further details.
The key point though was the huge interest on both customers and partners side for 1st party / just-works / out-of-the-box integration solution.
This post is to help me arranging my thoughts, and hopefully you, to understand the bigger picture and provide a high-level view of possible integration options.
I have to remind you that this is my own interpretation of those options as it stands at the time of writing this post, knowing that this is subject to change at anytime.
Integration from a functional perspective
One way to put it is to categorize the options from a functional perspective; Going from the simplest most obvious options, to the more complex ones.
1. Daily data import/export
Usually these are common scenarios, where the story goes like:
We have a 3rd party system (Payroll, Another accounting software etc…) that needs to integrate with D365 Operations GL.
The system will provide a file on daily basis which should automatically create a GL Journal in D365 Operations at file arrival.
Should the file processing fail, the file should be automatically moved to a special folder with a notification sent to the system administrators.
This scenario is met by combining D365O standard features with a tool for file movement and monitoring.
Recurring data jobs is a Standard feature that allows you to schedule file-based data import/export jobs built on top of your data entities. Although the files are accessible using a web connector, It’s not obviously integrated with a file system, which is why you need a tool to exchange files with the ERP.
2. Real time integration
This is a wide subject with too many scenarios and options.
Still, to keep simple I will use two scenarios, each tailored for a specific option
Scenario A – Real time lookup and calculations (Web services)
We want to provide our website customers with a real-time stock availability check from Dynamics 365 Operations stock.
Web services is the best answer here. Whether the data flows from 3rd party to AX or other way around. The downside is the coding skills required to achieve this integration.
Scenario B – Business process across multiple systems (Data synchronization)
When an order is placed in our CRM system, it should appear straight away in Dynamics 365 Operations for back-office processing.
In the past this involved some kind of web services (AIF Documents / Entities etc…) similar to previous scenario, with a tool sitting in the middle if needed to simplify the required field mapping.
The new answer based on what we saw from Microsoft is CDS. CDS is used to provide a central storage for canonical data entities (Common data model) and to connect different systems by mapping their data entities into and out of CDM.
CDS growth in this area will be exponential in the near future. especially when it comes with good number of connectors to multiple applications.
CDS will be used for near-real-time robust data synchronization between multiple systems.
3. BI Integration
I won’t state a business scenario here assuming you will know it when you see it, but it’s worth mentioning that there are 3 flavors so far, each with its own pros & cons.
4. Multi steps / systems integration (Orchestration)
This is all about advanced scenarios, which involves multiple steps going through multiple systems.
I believe any of the previous scenarios could turn into an advanced one, needing a tool between target and destination(s).
The scenario from point no. 1 (Daily data import/export) is a good illustration of this, as there are multiple steps and systems as follows:
- Send file (File system to Dynamics 365 Operations)
- On error, Move file (File system to File system)
- On error, Send email (File System, Email & Possible D365O)
Another interesting scenario was an email based integration, where the system had to send and receive emails.
My favorite option here is LogicApps.
Logic Apps provide a way to simplify and implement scalable integrations and workflows in the cloud. It provides a visual designer to model and automate your process as a series of steps known as a workflow. There are many connectors across the cloud and on-premises to quickly integrate across services and protocols. (Reference)
You can combine LogicApps with a File based integration to provide the file movement workflow and notifications. Or you could combine it with Azure service bus to push data around in near-real-time.
The list can go on and on and on, but they key is that LogicApps provides a cost-effective, server-less, intuitive integration experience that will make you easily fall in love of the product!
Another point of view
As a developer, you can look at it from a technical standpoint which provides you with:
- Asynchronous integration
- Synchronous integration through Services & Data entities
- SQL-like integration through OData, EntityStore or Bring-your-own-database option.
I hope you find this post useful. I’m sure that this is not an extensive list of all possible integrations in the world, but it’s trying to cover the common ones and provide ready made answers for available tools.
Please leave me a comment below if you disagree or have more to add.
Till next time… Thanks,