SOA is seen by many as a strategic approach to solve the application integration problem.
Organisations need to integrate for one of two reasons. They either want to share data or they want to synchronise data between disparate systems.
Sharing data is a worthwhile pursuit. For example, when we talk about things like ‘single customer view’ we are talking about collating everything we know about a customer from all the systems we have. Having an enterprise-wide view of critical information, rather than an application-centric view, allows for better decision making.
Synchronising data on the other hand is generally a waste of time. The need to synchronise come about because an enterprise has many different systems to do the same job. For example, the sales department might have one CRM system to manage prospects and the customer service department has a different CRM system to manage customers. Now it doesn’t take a Rhodes Scholar to figure out that there will be some overlap between these two systems. So what’s the solution here? The truly ‘strategic’ decision would be to consolidate the two systems into one. Integrating the two systems is a tactical solution. It’s important to remember that just because a plan of action is long-term doesn’t necessarily make it strategic.
As part of any SOA strategy, you should look to consolidate systems first and then integrate whatever is left.
Footnote: SOA folk will know that in order to enable ‘sharing’ you will need some degree of ‘synchronisation’, but in this case synchronisation is an enabler – a means to a worthwhile end – rather than an end in itself.