According to Gartner, there is a good chance that, by 2006, more than 60% of companies will use service orientated architectures (SOAs) as the foundation for new mission critical business software applications. Winston Anderson, business technologist at Bytes Business Solutions, looks at the new role that SOAs will play in the business arena in the future.
The service orientated architecture (SOA) is a client/server software design approach geared to the re-use of software components (services) within new or re-engineered applications. Services are, in essence, encapsulated business software components each comprising two separate elements; a service interface and a service implementation.
A service interface is a 'contract' that defines the identity of the service, while the service implementation may be many things including a new program, a 'wrapper' that connects to an older application or a composite of the two. The service implementation can be described as a 'conditional and integrated assembly of multiple programs, both old and new'.
The design of a SOA involves the definition of service interfaces as well as their interaction with each other and individual software components.
An SOA is fundamentally the design flow between service interfaces and the establishment of relationships between them. Gartner describes it as a 'topology of interfaces, interface implementations and interface calls, and says it would be better described as an 'interface-orientated architecture'.
The SOA concept is not new. In fact, it has its roots in the pioneering work of developers of component-based systems in the 1980s and later (in the 90s) of event-driven architectures. However, the lack of standards surrounding this work resulted in slow-paced development and poor uptake in the business arena at which it was targeted.
It was only since the emergence of a new and powerful industry trend - Web services - that the development momentum of SOAs was regained.
While not all SOAs are based on Web services, the relationship between the two technologies is key to their success and their acceptance by mainstream users in middle and large size corporations. Significantly, it is agreed by industry watchers that the best-practice focus of SOAs will contribute in no small measure to the success of Web services initiatives.
The definition of Web services is today very broad and accommodates standards such as the Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP) and Universal Description, Discovery and Integration (UDDI).
Simplistically, Web services are about technology specifications, while an SOA is a design principle. Practically, Web services are serving to enhance the acceptance of SOAs and by 2008, according to Gartner, SOA and Web services will be implemented together in more than 75% of new SOA or Web services projects.
Benefits and drivers
Many benefits will accrue, particularly in situations where disparate systems have to be integrated or rationalised, such as a merger or acquisition. Cost reductions through re-use of bundled or packaged software components will be significant, while the agility and flexibility afforded software designers to customise solutions to specific business and transactional needs will speed new system developments.
For the first time, the barrier between business demands and technology constraints will be removed.
There will be other, less obvious, drivers of SOA technology. For example, companies with excess computing capacity will be able to rent runtime and storage on their systems easily because of the universal nature of SOA-based standards. This will allow organisations to distribute processing power via Web browser-based applications and profit from these activities.
While applicable to all commercial and industrial sectors in business-to-business or business-to-consumer applications, many believe this will become a feature of the banking and financial services industries.
Business process management
Central to the SOA philosophy is business process management (BPM), which is key to business re-engineering and modelling processes associated with the new era.
Important issues are the openness and flexibility that SOA technology brings to BPM, particularly in terms of new system development, allowing a variety of execution, management and supervisory methods to be used. Moreover, within an SOA, BPM solutions will be able to quickly identify processes and services that have fallen, or will fall, into disuse and, at the same time, highlight and expose opportunities for more streamlined solutions and optimised applications.
Portal technology is also complementary to an SOA, allowing key data - from both current and legacy systems - to be graphically represented and made available to decision-makers in an easy-to-understand, transparent format. Portal technology also serves to align new developments with legacy or current systems and facilitates rewrites or, preferably, re-packaging or 'wrapping' of services.
From a hardware perspective, legacy mainframe systems can be optimised through the development of SOA-based back-end systems, using Web services as the enabler of the business processes.
As with any new and innovative technology, the SOA will present organisations with hurdles that will need to be overcome. The most obvious is the need to completely revamp the cost structures associated with business software design, development and implementation. Most have been in place for decades.
Backed by the power of SOA technology, these processes can no longer be justified on a 'per project' basis. As a result, the costing of these services - whether internally between departments and subsidiaries, or externally between companies - will have to be based on a new platform.
This will represent a significant paradigm shift for many of the IT industry's specialists.