It's the flexibility that service oriented architecture brings to enterprise software environments which has got people talking. It is an effective strategy which allows existing and new software deployments to more accurately meet business needs even if those needs change at short notice.
That's according to Bruce Nicholson, technical director at Microsoft solutions provider i5.
"SOA seems to mean many things to many people. However, at its essence it is a method of structuring software in such a way that it is decomposed into components which can be reused to create applications which are more flexible and therefore more malleable to meet business needs," he says.
That there is much hype around the concept comes as no surprise to Nicholson. "Businesses want flexibility. Rarely will a business model remain static in perpetuity, yet historically, software systems have been somewhat fixed in nature, requiring extensive customization at the initial deployment, and subsequent customization at each point at which business requirements change," he says.
Like any other enterprise software project, Nicholson says companies considering service-enablement of their software environment are cautioned to take an iterative approach. "So-called 'big bang' approaches are never a good idea," he says, "Particularly when the changes which are to be introduced are relatively new and unproven."
He also notes that not everything need be services oriented. "It is quite likely in companies which have been in operation for some time that there are applications which have no need to be exposed and services oriented. If it is not broken, there is no need to fix it. Rather, those elements which tend to require regular adjustment to meet changing needs should be targeted," he says.
And while much has been said about the fact that SOA is a strategy to help meet business needs with software technology, Nicholson questions whether it is necessary for directors and CEOs to understand the intricacies of the concept. "SOA is a strategy which enables the technologists to accurately position the services they must provide to support business requirements. It is a technology-related issue. It remains essential that the technology leaders clearly grasp the needs of business and use the resources, tools and techniques available to them, of which SOA is one, in order to deliver on that mandate," he says.
Done properly, Nicholson says SOA should serve to provide the flexibility business is seeking from technology, while also reducing the complexity of enterprise environments. However, he notes: "SOA advocates are making a lot of promises. It is worth remembering that similar promises were made around OOP [object oriented programming]. Like any other strategy or technique, the benefits are initially theoretical. It is in the execution that it will emerge if these can be translated into actual benefits in the field; approaching SOA with caution is probably best to avoid disappointment."