My colleague, Mim Burt, just published an interesting note reporting an analysis of a recent survey of retailers and their use of SOA (See Survey of Retailers’ Use of SOA: An Approach to Application Architecture, Not the Solution Itself). The survey was conducted in Q42008 and included retailers from numerous retail segments, regionally from the US, Canada, U.K., Germany, and France. Mim’s note explains where retailers are planning to and are using SOA in their IT strategy, and which parts of the business application/process stack are the likely beneficiaries of this effort.
The analysis is very interesting (I encourage you to get!). Overall it seems that there is a lot of interest with SOA. Without giving the game away it would seem that much interest in SOA is very tactical (i.e. integrating legacy applications) rather than strategic (building a design platform for repeated re-use of application assets over time). Worse, and this is for a different thread, tactical uses of SOA do not necessarily ensure that a strategic foundation is established anyway.
But, the research did show up a gap: retailers are focused on a range of uses for SOA, but these uses to not align well with the business process/application focus areas. One hot area where SOA is apparently being applied is multi-channel integration. This is one of those last bastions of integration complexity in retail. Most retailers have a range of different systems acquired or developed over the years to service one particular channel – not unlike their manufacturing/supplier brethren who have basically the same mess (so this is not retail, or industry specific). As such there is a ton if spaghetti integration (point-to-point) across channels to integrate product, data, order, customer, and price data. So SOA looks like a natural place to simplify this mess, right? Yes, and no.
SOA will help – from the perspective of replacing one set of pipes for another set of pipes that have more in common (and so can be interchangeable) but the underlying data is messed up! Unless the semantic model is simplified, thus ensuring the data semantics in the different systems mean the same thing, then a better integration mousetrap will fail to provide the benefits expected. One set of pipes will be replaced with another set of pipes but the stuff flowing through the pipes will remain messy. This is the “SOA needs MDM” argument.
In my travels when talking with retailers, I do not see the same level of effort going into MDM as I see going into SOA. It could be that retailers assume that with tactical SOA, MDM would be overkill. This is a big mistake, in my view. MDM is not overkill – users do it today; we all do it today and that’s the problem. We each manage our own semantic part of the world and do not take the time to relate to others enough. Adopting MDM should not be a significant cost; it should be approached slowly and in stages – just like SOA.