Master Data Management (MDM) is often defined as "management of master data (customer, product, supplier, etc.) that is shared across disparate IT systems and groups." However, this simplistic description doesn't do justice to the complexity of the MDM's task and problem area. Master Data Management encompasses areas such as Customer Data Integration (CDI), Product Information Management (PIM), and Global Data Synchronization Network (GDSN); and partially overlaps the areas of Identity Management System (IdM), Business Intelligence systems, data quality, and data integration. This broad area of potential application causes multiple perspectives, diversity of stakeholders, and a fair amount of confusion across clients investigating an MDM solution.
The business need for MDM is made manifest both implicitly and explicitly. Its utility tends to be obvious in efforts around conformance and auditing, accurate reporting efforts, and a single view of the customer initiatives. However, MDM is often also a hidden requirement for successful consolidation projects after mergers and acquisitions. Its value in terms of return on investment, cost savings (reduced storage, reduced analysis, development, and maintenance, etc.), increased revenue (consistent view master data, reduced time to resolution, and effective decision making), and competitive advantage (operational efficiency, improved visibility to company performance, etc.) has been well documented by multiple reputable groups and authors (AMR Research, Forrester Research, Gartner, and the Yankee Group) so we won't explore the existing benefits that the reader can easily reference. We will however discuss the benefits of MDM as they relate to SOA enablement.
MDM systems can be "federated," "integrated," or "hybrid" reflecting a combination of the first two fundamental architectures. These three types of system characteristics are as:
As an architectural paradigm, the participating components of a SOA system include: service providers, service consumers, intermediary services, and registries. A service provider publishes a service in the registry to be consumed by a service consumer who can identify the interface, purpose, and location of the service from the registry. Intermediary services intercept and handle operations that are common across services and can be leveraged instead of recreated every time. Typical intermediary services include: authentication, auditing, logging, monitoring, and message routing. All communications are done through commonly agreed on standards (UDDI, SOAP, WSDL, XML, HTTP/SSL). The design principles governing SOA are primarily object-oriented paradigms extended to address the service-oriented requirements. These service design principles include: loose coupling, service contract, abstraction, composability, autonomy, reusability, statelessness, and discoverability.
Services access information from a data services layer. A data services layer provides an abstraction layer between producers and consumers of data. The data services layer presents consumers with a virtual aggregated view of data from multiple data sources in a consistent and centralized fashion. The layer's interface supports all consumers (human, application, external parties, or business services) while providing agility to data source providers.
A data service layer offers many benefits. Consumers are insulated from complexity, location, and changes in source data systems through abstraction. Providers have the flexibility to change underlying data schemas without impacting consumers through abstraction. Companies can centrally manage, monitor, measure, and report on the enterprise view of the data and metadata.
The three main categorizations of services in the data services layer are: Enterprise Data Services, Enterprise Metadata Services, and Enterprise Data Platform Services.
MDM Meets SOA
MDM and SOA evolved separately but share many design principles.
As MDM practitioners contemplating supporting today's SOA systems, we need to become familiar with SOA standards and strive for loose coupling with external systems. Eliminating point-to-point interfaces and replacing them with service-enabled integration minimizes the impact of changes from integration partners and consumers. Loose coupling should be applied internally as well to create an agile MDM system. An agile service-oriented MDM system provides its data quality, conformance, and other MDM functionality as business or data "services" available for net-enabled consumption by external parties. Finally, MDM systems should be able to handle the extensible data types (XML, HTML, PDF, and e-mail) common to net-centric application and be able to expose the master data model as part of the enterprise canonical data model (CDM) for service consumption.
Evaluate the maturity of your MDM system by answering the following questions:
MDM is one of the most important components of the data services layer providing the required semantic integration of services for master data. Without an MDM system (or an ad hoc capability providing the MDM functionality), services don't know where to access the single version of the truth for "customer A" when there are multiple systems that capture "customer A" information. Moreover, this "customer A" information has to be the same in terms of structure, as well as content, when it's consumed by services.
The technical intersection of MDM and SOA occurs at the data services layer. For the data services layer to provide consistent information to consumers across the multiple data providers, data and metadata inconsistencies, discrepancies, omissions, and overlaps have to be addressed. This means that MDM functionality must be present. MDM crosses and has elements in all three areas of the data services layer mentioned above.
"I don't have MDM but I do have an existing Enterprise Data Warehouse (EDW) that covers the integration and data quality that seem to overlap what MDM is supposed to do. Can't I service-wrap my existing system to achieve SOA MDM benefits?"
Service-enabling the EDW is indeed a worthwhile and beneficial initiative but doesn't offer MDM capabilities. The reason is that most prior EDW efforts have concentrated on the integration and "business view" of data from disparate sources rather than the harmonization of the data at the source systems - meaning that when the source systems are service-enabled, they'll be in semantic conflict with the service-enabled EDW. In addition, EDW typically doesn't concentrate on master data, master metadata, and related data governance issues. Therefore, most EDW systems don't have the faculties for managing master data (such as an interface with workflow for business users to manage master data through its lifecycle). Finally, to successfully proceed towards an MDM solution, the initiative must be executively sponsored and business-owned versus an IT service enablement of an existing application project. To be clear, an existing EDW should, can, and will be leveraged in the new data services layer but doesn't replace the need for an MDM system.
Evaluate the maturity of your data services layer by answering the following questions:
Marrying MDM and SOA makes sense and offers vital benefits from both the MDM and the SOA perspective. Expect to see more such paired initiatives and vendors repositioning their products to cover the joint space better.