SOA is great, isn’t it?
Providing standard interfaces, turning code into reusable services, enabling enterprise-wide integration at the drop of a hat … so what does this mean for programmers who specialise in integration? What will happen to those IT professionals who have struggled over the last ten years with low-level integration tools – writing adapters, message-enabling applications, building integrations between different components and platforms and so on. Are they a dying breed?
Not as far as I can see, although it is true that there might be a shift in focus. The fact is that SOA tools only deal with the mechanics of the integration infrastructure. For example, adapters will still be needed to talk to all those vendor packages not offering web services interfaces (ie most of them). But perhaps more importantly, as the level of integration increases, with composite applications being developed to run across the enterprise SOA and beyond, operations will become much more complex. Problem determination and resolution will require the sort of skills common in an integration specialist today, as it becomes more difficult to trace the service on an end-to-end basis. Performance and tuning will become a big issue – service granularity choices and composite application design can have a dramatic effect on operational service levels.
In the end, there is no such thing as magic. Yes, SOA solves some important problems, and enables companies to become more responsive and productive, but it brings with it challenges all of its own.