SOA and MDM: A Match Made in Heaven?
However, most companies are considering these to be two mutually exclusive development tracks. After all, one focuses on the architecture side of the house and the other on the information side.
The reality is the two approaches are very complementary and provide a great strategic advantage for the organization if are planned and even developed in parallel. In this article, I focus on why it is the right strategy for CIOs and other executives to consider both approaches simultaneously as part of the strategic direction of the IT department even though each might be planned and implemented separately.
But, before delving into my reasons for such fusion, let me back up a second and give my non-technical definition of each of the above approaches.
SOA refers to an architectural approach within the organization that utilizes loosely coupled, reusable, and interoperable software services to support business process requirements. These services are made to be platform independent and allow all applications within the organization to utilize them.
Simply put, were going to develop services once and use them in many applications regardless of the platform. An example could be of a service that will deliver all information about a customer. Having such a service allows IT departments to reduce development and testing costs and increase the time-to-market for their internal applications.
MDM focuses on identifying, gathering, defining, explaining, integrating, cleansing, and storing all information about a specific key business subject area in one (logical or physical) repository so this information could be delivered to users in a clean, consistent and timely manner. The key business subject areas across almost all organizations include customer, product and/or services, vendor, and financial information.
Currently, in most organizations, information associated with a key business subject area is stored in a variety of applications, platforms, and repositories. Moreover, information elements are defined differently across these silos. For example, a customer within one silo might be defined as the person who purchased an item within the past 3 years, where in another silo a customer could be considered a person who requested a quote, but never actually purchased anything.
MDM is the process that not only consolidates key subject data, but also provides consistent definition of this data across the organization. Simply put, MDM works the same as the water department of your local metropolitan area where they integrate water gathered from wells, aqueducts, lakes, etc., store it in a reservoir, cleanse it to an agreed quality level, and deliver it consistently and in a timely manner to every house or business in the area.
If we follow the above analogy, then MDM is the metropolitan water department, SOA is the city planning department creating rules and regulations and providing services for delivery of this water to homes and businesses.
There are several reasons why MDM and SOA should be performed as part of a unified strategy within the organization and not separate exclusive approaches:
Subject Area Services: The most compelling argument for this marriage is subject area services. Subject area services are services access information associated with a key subject such as customer or product. If master data is not managed and delivered from one repository, services will have to call several data sources to capture and integrate this information. This extra step will degrade performance and delivery of the information to an application.MDM will manage all the integration, cleansing, and maintaining of this subject data asynchronously allowing the service to run much faster. In addition, such integration will possibly have to be duplicated in case of reports, analytics, and other non-services oriented processes which could result in inconsistent data presented by different processes.
On the other hand, the services approach will allow an organization to plan and implement MDM for a subject area iteratively and in several stages. Since a unique set of services will be developed (or utilized) to access a certain subject area, at each progress point, only those services have to be changed and the down stream applications utilizing the services will not be affected.
Governance: Governance is defined as the act of oversight over each set of services, processes, and associated data. In this case, the governance factor is key to success of SOA and MDM.
It is essential to SOA since we need to define business processes as part of these services, and it is essential to MDM as governance will help define and protect this information asset.
It becomes easy then to understand why the same governing body overseeing the business process associated with the specific business service should be the body governing the data managed and accessed by those services. This approach will remove duplication of effort, reduce the learning curve, and empower business teams to govern both the services and data associated with a certain key subject.
IT and Business Partnership: Another key success factor for both SOA and MDM has been identified as the partnership between business and IT teams.
Unlike the past when business teams provided requirements to the IT group and waited in the wings for the delivery of an application, in recent years, business teams have become partners in such delivery. They are fully involved in the planning, budgeting, approach, and the ultimate delivery of the application.
In addition, advanced technologies allow business teams to define business processes almost dynamically with minimal support from IT departments. As such, in many organizations, development teams include a number of business users acting above and beyond the traditional role of subject matter experts and quite often both the business and IT managers are responsible for the delivery of the application to the executives.
This partnership emphasizes the strength of the SOA and MDM marriage. Both approaches are very business-centric and neither is successful without a strong partnership between IT and business.
As a matter of fact, since SOA is built on business processes, lack of such partnership will cause the failure of the approach. In addition, without businesss help, IT will never be able to manage master data and that approach will also fail. As such, we should take advantage of this partnership by combining the architectural and the data side of the IT department.
In my next article, we will focus on practical approaches for implementing and maintaining SOA and MDM from a budgetary, planning, and maintenance standpoint.
Majid Abai is president and CEO of Seena Technologies, an enterprise information management and architecture consulting firm. Majid co-authored Data Strategy (Addison-Wesley, 2005) and teaches classes in Business Intelligence and Enterprise Data Architecture at UCLA.