During the past couple of month I was introduced to the MDM world and our product now called MDM5.5 also known as MDME and I wanted to share with you my insights regarding this amazing tool and its capabilities.
SAP MDM background
Before we are getting into the MDM world and MDM5.5 details it is very important to give some background on the MDM product evolution in SAP. Anybody that is a little bit familiar with SAP products and NetWeaver platform knows that the MDM product was available for the last few years and its last version was MDM 3.0 this product was ABAP based tool with very strong capabilities in large scale data integration and consolidation between SAP systems, the problem with this tool was that it was too complicated for implementation and less strong in the client side. In order to make it better SAP had to decide whether to invest more development efforts or buy some other product that will be able to provide the missing capabilities, during the quest for this tool SAP found this Israeli company called A2I and their product called xCat. Even though the xCat product was intended for product catalog management SAP identified the grate potential in it both from conceptual and technical point of view and decided to buy it and make it SAPs MDM product. At first this product was called MDME (MDM Extension) but now it was announced as the MDM official tool by SAP. The MDM5.5 tools is a very sophisticated tool from one hand providing great Data Modeling , data consolidation, fast data extraction , and search capabilities, and from the other hand it is very simple for installation and implementation (both from infrastructure point of view and end user experience). So now SAP has a very strong offering in the MDM world:
Large experience in MDM scenarios as it was captured during the years in the old MDM development team.
State of the art technology which enables you to do complex things with relatively small effort.
In order to explain how product catalog tool becomes MDM tool we need to explain what are MDM and PCM.
PCM Product Catalog Management
A PCM product helps a product oriented company (can be in the retail or manufacturing) manage the different aspects of information regarding the product. We are not always aware of it but it can be quite complex and a lot of information to handle. The reason for that is that a product can be built from several parts, can come in different sizes, colors, and can be connected to other complimentary products. every product oriented company has to have its product catalog in order to use it both internally (for manufacturing, purchasing, etc) and externally (customers, suppliers, etc). In most companies the product information comes from different places in the organization (manufacturing, purchasing, operations, etc) derived from that it is stored in different IT systems. So PCM product needs to provide the following capabilities:
Extract product information from different IT systems
Consolidate information and convert different terminology of the same product (remember it comes from different places in the organization)
Provide sophisticated ways of organizing the information depending on the target audience using this information.
Provide ways for fast and intuitive search.
Provide different ways of displaying the catalog (by application, printing, on line, etc )
MDM Master Data Management
Here we need to answer what is Master Data, well if I will try to define it in a simple way I can say that Master Data is descriptive data regarding specific entity. The Master Data is fairly Static and it is not contains transactional information. For example lets take the Supplier entity and see what information we save on it and what is the type of each one:
|Supplier Name||Master Data|
|Supplier Address||Master Data|
|Supplier list of products||Master Data|
|Number of invoices||Transactional|
|Next shipment date||Transactional|
From the above table you can see that the transactional data is business process specific, for example the Number of invoices related to the companys accounting business process but the Next shipment date is more related to the operational side, in most cases those business processes will be done by different IT systems/ modules, but both of them needs to have the same Master Data. Unfortunately this is not the case in the real world, and each IT system has its own way of saving and maintaining this Master Data. That leads to several problems in the organization that causes lose of Money like:
Duplicate maintenance efforts maintaining master data can be quite complex and time consuming operation.
Unable to cross information like the same client owes money in one company division but we pay him in another division. If we known that it is the same client we can save the money we are paying him.
So Master Data Management systems came to solve those issues, by providing tools for:
Extracting master data from different IT systems
Consolidate master data coming from different sources meaning:
o Identifying similar entities
o Converting data from one terminology to another
o Providing a way of building cross organization terminology without enforcing change to the different IT systems.
Central Management crosses IT systems.
Master Data Provisioning from and to the different IT systems in the organization.
Now you can see that the PCM is just a private case of MDM with some extensions like printing catalogs or image management. That is the same conclusion SAP drawn when it saw the xCat product now integrated into NetWeaver and called MDM5.5.
So as I mentioned before the MDM5.5 product can handle both PCM and MDM scenarios, I want to talk about the MDM scenario and leave the PCM to some other time. As mentioned above in order to mange Master Data I need to have a tool that will enable me to:
Define a generic/flexible data model
Import master data from different sources
Manage my Master Data cross organization (find duplicates , find similarities ,define transformation rules, etc)
Maintain the Master Data in the most efficient way through out the company.
Support personalized access to Master Data according to end user profile (language, search behavior, data interest, etc )
Synchronize the Master Data with different systems holding equivalent information.
Provide scalable solution that can hold large scale of Master Data.
Provide fast access to the data (especially when it comes to large number of records)
Provide access to the Master Data information from applications (new and old)
The MDM5.5 product enables all the above and more together with the NetWeaver platform you are getting a robust MDM solution that can solve almost any Master Data scenario you have in your company. I will not go into the details (maybe in future weblogs) but just want to introduce you with the MDM5.5 building blocks and their part in the show. In the picture below we can see the MDM5.5 architecture and main components:
After my previous explanation regarding the MDM5.5 background we can see that the Image Manager and the Plug Ins (QuarkXPress and Adobe InDesign) are part of the PCM scenarios supported by this tool, the Image Manager is for handling Images usually kept in products context and the Plug Ins are meant for publishing the product catalog in different ways. I will concentrate on the MDM part of the product:
The console is the tool intended for two major roles:
MDM administrator the console enables all the administrative tasks can be done via the MDM5.5 (connectivity, accessibility, security, etc)
MDM modeler – creation and maintenance of the object/data model as defined according to business needs. This tool enables you to model your Master Data in a way that it will reflect your original data model and business constraints (I have to say that Ive seen some complex data models that was smoothly modeled into the product in no time!).
The Import Manger is responsible for importing data from several data-sources (can be relation DB, can be excel-sheet) in order to define and population of the data model. With this tool you will be able to define the rules for importing data into your model according to source structure. Here are the definitions will be done via Import Manager:
Aggregation of data from electronically format (the source)
Data Transformation rules
Data Rationalization rules
Data Normalization rules
Data Cleansing rules
All of those rules will be implemented during the data import (and all of the above is without coding!!)
The Syndication Manager is the component that knows how to exchange data with other systems, meaning this tool will be the one that will handle the synchronization between the MDM storage and the source systems. The syndication manager will not do it alone but it will use the XI in order to provide a robust way for interacting with any system the company has in its landscape and also add some more information (if needed) and sophisticated transformation rules needed during the process.
The content manager is the tool for the end user needs to maintain and work with Master Data in the organization. The content manager also called the client is a very sophisticate tool that enables the end user to do the followings:
Fetch data in the most intuitive way, this can be different from one end user to another even though they are using the same data model.
To manage the master date stored in the MDM (add, change, remove), this can be done with workflows.
The content manager supports multi-language both for the master data and the client GUI itself in one of the simplest ways I have ever seen. and it is dynamically build according to data model defined by the MDM modeler.
The MDM5.5 server is the engine that enables us to do almost anything in the product, as you can see in the diagram all the components above are just client applications communication with the server (via TCP/IP proprietary protocol), most of the operations are server side.
The MDM5.5 server exposes API both for java and Microsoft applications (.Net and previous) that enables your applications to use the data and functionality provided by it. Due to the fact that most of the MDM5.5 functionality is done in the server, every thing that you can do from one of the clients above you can do from your applications via the API. API for ABAP is being developed as we speak and will be available in the near future.
I hope this weblog clear some questions and fuzziness regarding the MDM world and SAP NetWeaver MDM solution, and most important I hope that Ive managed to reflect my enthusiasm from this tool. Im recommending to anybody how is interested in the MDM world or just a technology frik to download the tool and play with it and Im sure you will like as much as I did