Master Data Management (MDM) – Hai Nguyen
Agenda
• What is MDM
• MDM & AX
• Setup of MDM
• Data Import/Export Framework
What is Master Data Management
• Master data is shared across computer
system in the enterprise
• One source of truth
• Used only with reference data that is
non-transactional (People, products,
and locations)
MDM & AX
• MDM builds on top (Extension of) of
Data Import Export Framework (DIXF)
that was shipped in R2
• Synchronize multiple instances of AX
• Uses SQL Server as master document
• Hub and Spoke relationship
Master data management overview
Contoso HQ
Regional Site 1
Regional Site 2
Regional Site 3
Central data store
(SQL MDS)
Master data management overview
Contoso HQ
Regional Site 1
Regional Site 2
Regional Site 3
Central data store
(SQL MDS)
Data
synchronization by
leveraging SQL MDS
AX and non-AX
systems as spoke
Single/multi master
modes
Central conflict
management
Policy based
selective
synchronization
First step towards
holistic data
governance
High level data flow
AX 1 SQL MDS
Customer MDS entity
Data sync
batch job
MDM
MDM UX
MDM Client
Configuration
UX
MDM
Provisioning
UX
Customer Entity
Customer Address
Entity
import job staging
Data Import/Export
1. Change
tracking
4. Invoke
import
job
2. Push
Customer entity
subscription view
Change tracking &
conflict detection
AX 2
Non – AX
system
Data management scenarios
SQL MDS
AX Instance 1 AX Instance 2
Customers
Customers Customers
Push/Pull Push/Pull
Multi
master
Products
Products
Products
Push/Pull Pull Only
Single
master
Create/
modify
Read
only
MDS
Data management modes
Single master
• Only one instance is allowed to
write to MDS
• All other instances are read only.
MDS records overwrite any
changes in other instances.
• Mode can be defined at entity
level
• Enforce by customizing security
and defined business process
Multi Master
• Any instance is allowed to create/modify
records
• Conflicts are automatically detected in MDS at
record level.
• Conflict resolution is done manually by data
stewards using MDS excel add-in
Setup of MDM
• Update AX and SQL Server
• Connect AX to SQL Server
• Determine which spokes can write data
• Configure Synchronization
• Filter data that is pulled and pushed
Data Import/Export Framework
• Once MDM is setup, you can use Data
Import/Export Framework (DIXF, DMF) as usual
• DIXF is an extension that helps you import and
export data in AX
(Master Data, Open Stock, and Balances)
• MDM will automatically back up DIXF on SQL
Server and check for any conflicts
DEMO
Q&A

Master Data Management

  • 1.
    Master Data Management(MDM) – Hai Nguyen
  • 2.
    Agenda • What isMDM • MDM & AX • Setup of MDM • Data Import/Export Framework
  • 3.
    What is MasterData Management • Master data is shared across computer system in the enterprise • One source of truth • Used only with reference data that is non-transactional (People, products, and locations)
  • 4.
    MDM & AX •MDM builds on top (Extension of) of Data Import Export Framework (DIXF) that was shipped in R2 • Synchronize multiple instances of AX • Uses SQL Server as master document • Hub and Spoke relationship
  • 5.
    Master data managementoverview Contoso HQ Regional Site 1 Regional Site 2 Regional Site 3 Central data store (SQL MDS)
  • 6.
    Master data managementoverview Contoso HQ Regional Site 1 Regional Site 2 Regional Site 3 Central data store (SQL MDS) Data synchronization by leveraging SQL MDS AX and non-AX systems as spoke Single/multi master modes Central conflict management Policy based selective synchronization First step towards holistic data governance
  • 7.
    High level dataflow AX 1 SQL MDS Customer MDS entity Data sync batch job MDM MDM UX MDM Client Configuration UX MDM Provisioning UX Customer Entity Customer Address Entity import job staging Data Import/Export 1. Change tracking 4. Invoke import job 2. Push Customer entity subscription view Change tracking & conflict detection AX 2 Non – AX system
  • 8.
    Data management scenarios SQLMDS AX Instance 1 AX Instance 2 Customers Customers Customers Push/Pull Push/Pull Multi master Products Products Products Push/Pull Pull Only Single master Create/ modify Read only MDS
  • 9.
    Data management modes Singlemaster • Only one instance is allowed to write to MDS • All other instances are read only. MDS records overwrite any changes in other instances. • Mode can be defined at entity level • Enforce by customizing security and defined business process Multi Master • Any instance is allowed to create/modify records • Conflicts are automatically detected in MDS at record level. • Conflict resolution is done manually by data stewards using MDS excel add-in
  • 10.
    Setup of MDM •Update AX and SQL Server • Connect AX to SQL Server • Determine which spokes can write data • Configure Synchronization • Filter data that is pulled and pushed
  • 11.
    Data Import/Export Framework •Once MDM is setup, you can use Data Import/Export Framework (DIXF, DMF) as usual • DIXF is an extension that helps you import and export data in AX (Master Data, Open Stock, and Balances) • MDM will automatically back up DIXF on SQL Server and check for any conflicts
  • 12.
  • 13.

Editor's Notes

  • #2 Hello, my name is Hai Nguyen and I’m from Dallas, TX. All right today, I’m going to go over Master Data Management or MDM in Microsoft Dynamics AX
  • #3 So We are going to start off by talking about what MDM is and then we are going to talk about how it is implemented in AX. Talking about some setups required and then how it goes to Data Import Export Framework
  • #4 So Master data management is data that is going to be shared across all your systems in the entire company. So basically people referring to this is as the one source of truth. We know that master data is always the correct information, going to be the information that everyone is gong to build of and it is highest in hierarchy of information. We want to keep this data clean and pure so that we can always reference back to master data when there is discrepancy, naming convention or anything like that The type of information is going to be non transactional information. Information that is not going to be change all the time such as people’ names, addresses, product names, locations.
  • #5 MDM builds on top of Data Import Export Framework that was shipped in R2. MDM is released in R3. Basically it is an extension of the framework built on those ideas. It takes one step further. So if you know how to use DIXF framework, this is just a little extra step that is going to help you out. Basically what it does is it takes all your instances of AX, synchronize them up, use master data that set up in your system and make sure every of your instance uses that data so we don’t have users come in and change someone last name and now throwing naming convention off. We want to make sure all is the same How it does in AX, MDM use SQL server as master document. It takes all the information and upload to SQL server. SQL server is going to hold that information there and everything is going drawn off that SQL server document. SQL MDS is actually where the one true copy is stored. People are sometimes getting confused about ok we are talking about MDM for AX how come data is stored in MDS. Because Microsoft tries to take advantage of some of capabilities offered already in MDS. It gives us capabilities of conflict resolution obviously, versioning, push and pull thinking and all that good stuff. So essentially we have spoke and hub architecture. SQL MDS is your hub and the rest of the system is the spoke. And the spoke obviously can be your AX system or can also be your non AX system. ------------------ It goes by using a Hub and Spoke relationship. So what that means is SQL server is a hub of a wheel , all the spokes that come off difference instances. All instances funnel back to hub and the hub will shoot information to the spokes.
  • #6 Let’s take have a look how MDM was born. Imagine there is a customer, Contoso Global, that has multiple distributed systems. Contoso-Global’s headquarters is in Europe, with regional sites in various parts of the world. Further more, each of these regional sites has its own independent AX application instance and Contoso Global has its own AX application instance. Now Contoso Global would like to share master data amongst all its regional sites. Each of these instances are creating their own copies of master data currently. It is important for Contoso Global to control the master data and to avoid duplicating the same data across different regional sites. For instance, if a customer, Acme Corporation does business with regional site 1 and regional site 2, Contoso Global would prefer that there is just one copy of Acme Corporation in both these sites. Contoso Global would also want to make sure if there are any changes that are made to the customer record in one of the sites, the changes are propagated to all of the other sites. There also needs to be a clear systems and processes to ensure that conflicts are managed properly. All of these requirements are basically what’s driving the need for MDM. More importantly, having good Master Data Management system would enable Contoso Global to reliably and efficiently share master data across all systems. Let’s now look at an overview of MDM and how it solves above requirements
  • #7 As we saw, Contoso Global has multiple regional sites, each running its own installation of AX. The master data in all of these regional sites must be in sync with that of Contoso Global. MDM accomplishes this by storing all the master data in a central data store, also known as the hub. For this MDM uses SQL Server Master Data Services or SQL MDS as central data store. The central data store synchronizes the data with each of the regional sites, which are called spokes. Synchronizing with AX spokes is done using the data import/export framework entities as units of synchronization. You can also configure non-AX systems as spoke systems. Some of the most requested entities have already been enabled for MDM out of the box. These entities are customers, vendors, employees, global address book, and product. You can also create customizations to support other data import/export framework entities for use within MDM. MDM supports two modes of synchronization, single and multi-master modes. In a single master mode, the data is created in only one place and then synchronized to all other spokes. In a multi-master mode, each site may choose to create or edit master data, and this data is then synchronized across all of the other nodes. When configured in this mode, MDM leverages SQL MDS to enable conflict detection and resolution. MDM also allows you to configure policy-based selective synchronization so that not all master data is synchronized to all sites. You may choose to have certain data synchronized to only certain sites and not other sites. The MDM feature built into AX 2012 R3 can be considered as a first step towards supporting a holistic data governance within AX. This is a typical multi instance scenario. We have a HQ somewhere in Europe and regional sites scattered across the globe. MDM is shipped in R3 is actually built on top of SQL MDS (SQL master data services). SQL MDS is actually where the one true copy is stored. People are sometimes getting confused about ok we are talking about MDM for AX how come data is stored in MDS. Because Microsoft tries to take advantage of some of capabilities offered already in MDS. It gives us capabilities of conflict resolution obviously, versioning, push and pull thinking and all that good stuff. So essentially we have spoke and hub architecture. SQL MDS is your hub and the rest of the system is the spoke. And the spoke obviously can be your AX system or can also be your non AX system. And then we have single mode and multi master modes. Single mode…We have 3 instances of AX spread out but only my HQ is allowed to create a new customers, product or new data. The rest of instance is consumers of master data. Normally this is easiest thing to do compared to multi mode. Because when you have data comes from difference places, things get more complicated as far as global data governance and data stewardship is converened . Things get very hairy when you allow multi modes. A typical scenario is I create data in HQ and I do a sync between HQ and SQL MDS. My data is maintained in SQL MDS, and then the rest of spoke instances actually pull data from SQL MDS, like on demand model, push and model, we pull data from SQL MDS We have a centralized conflict management when we do multi master mode. For example we have the same customer/vendor that was modified a Phone number in North America and Brazil regional site, it is going to cause a conflict here in MDS. And That is where your data steward is going to step into and resolve the conflict. This is first step towards holistic data governance. We all know that MDM is very complicated space but It absolutely gives you, lead you to the right direction as far as managing all your AX instances concerns but you have to build on top of that if you want to integrate with other non AX system.
  • #8 This is high level data flow of MDM. The Master Data Management capabilities of AX 2012 R3 leverage SQL Server Master Data services and the Dynamics AX data import export framework for making everything work. Let’s look at how these components work together. First we have an instance of AX, let’s call it AX 1, on which we have configured MDM for the customer entity. Then we have SQL MDS, which is used to manage the master data. Once MDM has been configured in AX, the framework will also create the corresponding entity in the SQL MDS. In this case, the customer MDS entity. Change tracking also been enabled on both AX and the SQL MDS databases. Then we have a data sync job that is used to push and pull data between AX and SQL MDS. The data sync job runs periodically to find changes that have been made in AX, and when a change is detected in one of the entities configured fro MDM, the data sync job pushes these changes to the corresponding MDS entity in SQL. Conflict detection is performed in the SQL MDS in case there have been updates to the same record from other instances of AX. The data sync job then pulls any changes that have occurred on SQL MDS apart from the changes that have been pushed back into AX. These changes are pushed into AX using the data import export framework via staging table and an import job. In a typical installation, there would be other AX installations that are also configured to connect with the same name SQL MDS instance. These instances each also perform the same steps to synchronize their master data with SQL MDS. While the standard implementation of MDM in AX does not include adapters for non AX sources, the framework supports synchronizing data with other non-AX data sources using customizations.
  • #9 This is multi master mode that I talked about where you have 2 instances that can push and pull data. And you can also have single master mode that one instance can create data and the other instance consumes it.
  • #10 Again, a summary of Single master vs Multi Master mode.
  • #11 I have two more slides of setup of MDM and DIXF. Instead of bore you to death with these 2 slides, I decided to demo how we are going to set all these up. So now for the setup of MDM First you want to make sure to have the latest version of AX and SQL Sever. Because this is new to both of those versions, it needs to have MDM service installed and updated. Once you have those updated, there is a way to connect AX to SQL server so that it knows what to look for, where to go, where to dump the information. Then you can determine what people can write to data, so you can have every single instance to be able to write information, upload it or just have one instance to be able to write the information. So you can only change master data from one specific instance so that it can give people permission and not permission to update that master list. You can pick which specific data is going to be in the master data, how it is going to be pulled, when it is going to be pushed if you want to do it, few minutes, couples of days, you can set all of them up.
  • #12 Once MDM is set up, you can use Data Import Export Framework as usual to import to excel document or move stuff over. Master Data Management then is going to automatically run based on your service that you set up, back up anything that you used by DIXF on your SQL server, checks for conflicts and all of that stuff. Basically, what you have you are running the same, backing it up to a different area that is going to check all instances make sure that it’s working with each other and detects if you have any problems
  • #13 When we look at AX, we go to Data Import Export framework section. There is a new section is called Master Data Management. The first thing you are going to do is to go to Configure SQL Server Master Data Services connection and it will bring up the screen here. You are going to put in your SQL server information, endpoint information. Basically you are telling AX where to go to get Master Data information.
  • #14 The next thing you are going to do once set that up is to go to Manage synchronization. This is everything going to be set up in here. So you create your new configuration group. Once you are in here you can create entities. That is where you can pick what data to upload/download, set up schedule to synchronize. It also shows conflicts
  • #15 That’s in we are into the demo. Before we start, I can take few questions.