Time to jump on the SOA bandwagon?

Service-oriented architecture (SOA) is now being talked about more and more, but in a technology world already dominated by buzzwords and jargon, does SOA actually mean anything tangible? Global IT consultancy, ThoughtWorks believes it does.

A bandwagon worth jumping on?

The IT industry is better than any other at inventing buzzwords.

Service-oriented architecture (SOA) is the latest bandwagon which everyone - from software vendors, to system integrators and consultants - is keen to jump on. However, unlike some previous acronyms, SOA is here to stay and Gartner and other analysts agree.

It is hard to find a consistent definition of what a service-oriented architecture actually is. This is partly because many existing integration solution providers have chosen to re-badge existing technology with the SOA moniker.

In our opinion, a service-oriented architecture is the organizational and technical framework that enables an enterprise to deliver self-describing, platform-independent business functionality and make it available as building blocks of current and future applications.

Simply speaking, in an SOA, a business is viewed as portfolio of services that can be delivered independently and recombined without requiring detailed knowledge of how that service is implemented.

Well thought-out services with clearly defined interfaces are easier to understand, maintain and reuse. This is particularly relevant when, as is frequently the case, a mixture of legacy and new technology is running side by side.

This increased reuse not only helps to reduce technology expenditure but also means there is a much-reduced time to bring new business functionality to the business.

Think processes more than technology

So, the benefits are there but how do you go about putting a SOA infrastructure in place? It is beneficial to think of SOA as a thought process and guiding principle, rather than getting too hung up about technology.

In any case, SOA is not a technology, it is an architectural principle. No one can sell you an SOA tool to transform your business into a collection of services; neither will it fix a set of dysfunctional business processes.

However, since the implementation of a SOA requires a deep understanding of these procedures and how they support and deliver business value it enables you to treat services as reusable, achieving greater flexibility and cost savings.

Think about what you want to achieve first. In a SOA the business processes are implemented as services which can be delivered individually. This allows prioritization of service development and rapid deployment of the most valuable services.

Key services can be up and running quickly and deliver real business value. This not only means that return on investment can be achieved early but also that the remaining parts of the project can be refined, based on users' feedback from a real, working system.

With SOA you are building at a business level, not just an IT one. So speak to all those within the organization who will be affected by the building of a service, the technology department as well as the end users, and agree with them what the end product will look like.

This is a much more consultative approach and means that the delivery of the service is focused on the business requirements and will provide a real business benefit.

On to the technology

Once the business processes and architectural structures have been defined you can think about the technology needed to deliver a fully-operational SOA.

Many of the technologies used for SOA implementation have been around for a while, for example integration suites such as Tibco or IBM MQ Series. However, it is the evolution of web services and more specifically newer WS-* standards that has given it the shot in the arm it needed.

Now, old and new technology can be integrated at much lower risk, using these open standards. That's not to say you have to have web services to make an SOA work, but organizations wouldn't be exploring all the benefits of a SOA without them.

Why consider SOA now?

Forward-looking businesses are already implementing enterprise-wide SOA and reaping the rewards of a leaner, more agile and resilient IT infrastructure.

The road to achieving this is not necessarily straightforward and requires new skills, which are not easy to find in the marketplace.

In fact, Gartner predicts that even by 2010, less than 25 per cent of large enterprises will have matured the technical and organizational skills needed to deliver enterprise wide SOA. If you want your organization to be in this 25 per cent, now is the time to start.

Ian Cartwright and Erik Doernenburg are both consultants at ThoughtWorks.

This article first appeared in March 2006 ITNOWextra.