Data Migration Framework



Data Migration Framework
In
Microsoft Dynamics AX 2012

Historically, data migration has been done through custom written import scripts created by the consulting team. This changed when Microsoft released its Data Migration Framework (DMF) in mid-2012. The new framework provides the functionality to load the most common data entities (e.g. Customer, Vendors, Items) utilizing a combination of SQL, SSI packages as well as AX business logic.

This blog will talk about technical aspects of DMF, which are common classes and tables of DMF and brief knowledge about it.

Architecture



The above architecture gives an overall idea about how DMF works, we need Source Entity (ex. CSV file) which contains the data. We need PROCESSING GROUP which plays a mediator role between SOURCE ENTITY and STAGING TABLE, and then staging table and target table. Now staging table is intermediate table which is used to store the data from source entity and then copy it to the target entity/table. Like DMFSalesTableEntity is the staging table and salesTable is the target entity.

Now let’s see above concept technically...

 

As shown in the above diagram, DMF Entity Writer class is the main class which is used to copy the data from source to staging table and staging table to target table. An important method for this class is WRITE method, according to me the write method of DMFEntityWriter class is the HEART of DMF
 
Another class which is used in DMF is DMFEntityBase class. This class is the parent class for all entity classes, like for Sales Table, we have DMFSalesTableEntityClass which is extended by the DMFEntityBase class. Important methods in this class are all GENERATE methods and INSERTUPDATE method which is invoked from write method of DMFEntityWriter class. These methods are used to initialize data in target table and insert the record in it.

Another element which is used in the DMF is ENTITY QUERY, which is a very important element of DMF. The number of tables contains by query, DMF is going to create records in all those tables which are included in the query. Check the DMFAssetTargetEnity query in the AOT > Query node, which contain AssetTable as a parent DataSource and Asset book is one of the child DataSource of the AssetTable DataSource. So when we perform DMF for Asset entity, it will create a record in Asset Table as well as create a corresponding record of Asset table in Asset Book Table.

It is important to create a RELATION between STAGING table and TARGET table in staging table, which helps to find related records to update and if not found that create a new record in the Target table during the DMF Operation

This is the overview of DMF, and I hope this is helpful to understand the basic concept of DMF. If you have any other query then please write in the comment area, I will surely reply you. Also, we are going into more details of DMF in my next blog…

Till then Sayonara, and do not forget to like and share…

Comments

  1. I can consider your company in the list of best data migration consulting companies that had provided me with a straightforward task to transform the data. Having experienced data migration solutions helped me to transfer a large amount of data instantly.

    ReplyDelete

Post a Comment