SOA: a panacea for best-of-breed vendors?
There has long been an argument about the pros and cons associated with choosing best-of-breed solutions as opposed to going for a suite of products all based on a common platform, which may not individually represent best-of-breed capability but represents a market leading platform. No doubt, this argument will continue to rage for years to come but the latest twist on it is that you don’t need a platform if you have SOA (service oriented architecture). How valid is this position?
Leaving aside commercial considerations (which are not necessarily inconsiderable) the historical downside of a best-of-breed approach is that you tend to end up with siloed applications that have difficulty communicating with one another. The argument for web services and SOA is that enables the necessary inter-communication and that, therefore, your applications are no longer siloed. As a result it is fine to opt for best-of-breed solutions and it is fine for vendors to focus in this way.
This is reasonable in so far as it goes. However, communications is not the be all and end all of the problems with non-platform approaches. The first additional problem is that you get a duplication (or possibly even triplication or quadriplication) of functionality. Suppose, for example, that you took a completely best-of-breed approach to integration (data and applications) and data quality. You would likely end up with at least three different transformation engines each of which you have to pay for, not just in terms of cash but also in resources.
Secondly, you have a metadata issue. Each of best-of-breed application will almost certainly have its own repository where it stores its metadata which means that, again, you have multiplication of repositories. Worse, they are almost bound to be based on different technologies: some will use relational databases (worst), some will use object databases (better) and some will use fully CWM (common warehouse metamodel) or MOF (meta-object facility) compliant repositories (best) to store their metadata in. Now, you can get bridges between repositories or you can use XMI (XML interchange) to transfer information across repositories but the only way to really properly synchronise all of this metadata would be to use an MMM (master metadata management) solution which would do for metadata what MDM (master data management) does for data. However, as far as I am aware, this has yet to be introduced by any vendor (it’s a thought though).
So, do I think that SOA is the answer for best-of-breed vendors? No. Certainly it is plausible, and it gets around one of the major issues involved in preventing siloed applications, but I don’t think it offers enough.