Now the other day when I was talking about MDM a bright spark pointed out that I hated data services but wasn't MDM just about data services?
Its a good challenge, mainly because that is the problem about how many people view MDM. MDM is, when done well is about the M and the M not the D, i.e. its more about Mastery and Management than it is simply about Data. What does that mean?
Well lets take everybody's favourite MDM example "Customer" a Data driven approach would give us a Service of
- Capability: Create
- Capability: Update
- Capability: Delete
- Capability: Read
Now this is the "D" approach to MDM and SOA, also known as the Dunce's approach, its about Data Services and viewing the world as a set of data objects.
The smart approach is to view MDM as an information challenge and delivering information services so instead of the data centric approach we get
- Capability: Establish Prospect
- Capability: Establish Customer
- Capability: Modify
- Capability: Change Status
- Capability: Find
- Capability: Archive Customer
- Capability: Validate Customer
- Capability: Merge Customers
- Capability: Split Customer
Here we start exposing the customer service and make clear two things
- We are talking about the customer in context
- We reserve the right to say "no" to a request
So this is where customer genuinely can be used from a single service across the enterprise. This service takes on the responsibility to authorise the customer, or at least ensure that authorisation is done, it sets the quality standards and governance standards and doesn't allow people to do what ever they want with it. It includes the MDM processes elements around customer management and provides a standardised way of managing a customer through its lifecycle.
This is fundamentally the difference between a business SOA driven approach which concentrates on the services in their business context and with their business governance and a technical driven approach which looks to expose technical elements as via a technical wrapper.