Wednesday 3 October 2012

Why Service-Oriented Architecture (SOA)?

If you take a look at a typical medium to large company, the enterprise landscape is littered with systems and applications that firstly use diverse and often obsolete or hard to support technologies, and secondly overlap in terms of the business functionality that they offer. The result is a maintenance and operational nightmare that is increasingly costly to run and hampers business growth.

There are two aspects to this problem: (i) the technology platforms, and (ii) the applications.

The answer to the first is virtualisation, i.e. the ability to standardise on a minimal set of technology platforms that can be grouped and offered as virtual platform service to the enterprise. This reduces operations costs and allows cost effect use of the platforms as economies of scale are applied.

The answer to the second, which is what people usually mean when they say SOA (Service Oriented Architecture), is a way of organising software so that instead of applications being rigid monoliths they become dynamic collaborations of autonomous software services, each providing a distinct function.
The key to achieving both of these is standardisation, both of the enterprise technology set, but also the business processes that utilise that technology. In other words the most fundamental precondition for SOA is a mindset change: that the strategic needs of the enterprise supersede the tactical needs of the local business unit. So before you go out and buy an ESB and the other goodies that will give your business "agility" and other such gloriously profitable attributes, make sure your organisation understands and is prepared for this, that it will need things like an enterprise architecture function, governance and a very patient and even enlightened business community.
Share: