Dana Gardner makes a sensible point regarding SOA, which I would amplify. In order for the promise of SOA to come to fruition, the discussion needs to move beyond the user interface and all those sexy Web 2.0 applications, and towards dealing with the barriers to applying SOA to general business applications. The thorny issues of dealing with inconsistent data models, and of addressing data quality seem rarely to come up in discussion, yet these are critical to the broader success of the SOA dream. It is tricky enough to get an enterprise application up and running, but if you want to be able to have different applications from different vendors interacting happily with one other then it is not just a matter of application layer standards; for business applications these need to be able to share data as well. Unfortunately the reality in large companies is that there are multiple, incompatible, versions of key business definitions such as “product”, “customer”, “asset”, “supplier” and even seemingly unambiguous terms like “gross margin” (the average large company has 11 systems that each think they are the master source of “product”, for example, according to a survey a couple of years ago. All the elegant user interface design in the world is of limited help if two applications cannot agree on what to display when they are supposed to be showing a product hierarchy, or where the definitions of cost allocations differ.
This is why projects and tools that can enable the improvement of the management of key business terms, such as “master” data like “product”, “customer” etc are a necessary precursor to broader SOA deployment in mainstream business applications, as are improvements in data quality, another area that is far from sexy but in practice is a major issue whenever applications have to bring together data from multiple sources, as any data warehouse practitioner can testify. Dealing with the “semantic integration” of the varying business models that exist out there in multiple ERP, CRM and supply chain systems is a major barrier to broad SOA adoption, yet it is scarcely mentioned in the technology media. When those first SOA prototypes start showing data to business users, and it is realized that the data is “wrong”, this topic will become much higher profile.