The purpose of this page on Service Oriented Architecture (SOA) is to give a brief overview of SOA from a business director perspective.
Business face ever changing customer demands, policies and governance, mergers and acquisitions and various economic pressures. Business requires not only a way for integration and reuse without “custom coding” but also needs a way to change the behaviour of their applications and business processes, in response to internal and external changes. Service Oriented Architecture (SOA) is key to solving this business need for agility.
To say that a business uses SOA means that the functions and capabilities within each of its business applications are composed of a set of software services. Furthermore that these services can be accessed over a network, and, that each application’s functionality can be extended or modified by loosely coupling its services with those services of other remote applications, to compose new composite application capabilities.
Yes this is a mouthful. The key to remember is that there were only two approaches to using applications until recently:
- Custom-build your applications and change them when you want to improve the application functionality and capabilities. This gave the largest amount of design flexibility. However developing custom software is a very expensive and lengthy process which means that only the largest companies could possibility afford to undertake this activity.
- Purchase packaged software instead of custom software development. This is cheaper but there is always a mismatch between the functions within an application and how it is implemented within your business. Some application configuration is permitted in most software packages but there were no method to easily integrate different packages. Nor was there anyway to add additional functionality to reflect the way you run your business. Some of the larger companies were able to employ a team of expensive consultants and spend $millions to integrate their applications from multiple vendors.
Today, there is another approach the functionality within most business applications can be accessed via two methods:
- The provided package user interface within each package provides all the capabilities that the vendor intends the user to use the package. There may be some some configuration control files to configure the package that provides limited changes.
- All the functionality within the package is provided via a set API (Application Programmer Interfaces) called Web Services and since all the vendor’s Web Services comply to the same set of Web Services standards it is now possible to integrate applications to achieve high levels of business agility and integration quickly and at low costs.
However to get the full value of SOA a business needs a way to integrate and compose new functionaility to its applications so that it can respond (quickly and reasonable costs) to the dynamic changes going on in its business.
One way of achieving this is to use Business Process Management (BPM) tools.