The term ‘service-oriented architecture’ was, reputedly, coined back in 1995 by the influential Gartner Group. But even today it is immature as a concept and rare in practice.
There is no doubt about its importance, however: Gartner itself describes SAO as “the single most important theme in modern application development” and says that it will “end the 40 year domination of monolithic software architecture”.
The idea (as it now stands) is that almost all software applications, processes and data are available to be used by other systems across a network, and that these may be located and accessed using today’s web services standards. Where tighter or more ‘fine grained’ component level integration is needed, the J2EE or .NET development environments can be used.
The need for good performance, availability, reliability and security means that some form of orchestrating control point is usually but not necessarily required. This middleware function may be called an integration hub, or a service integration bus, or something similar. In a J2EE environment, it may be part of the application server software; Microsoft has built similar functions into the .NET and Windows server environment.
Control of this hub is likely to be the crucial strategic battleground for the big software suppliers over the next decade or more. The leading contenders are the so-called platform suppliers – IBM, Microsoft, Oracle and BEA. The role of the many other software system suppliers may depend on their ability to find niches around these architectures.
Some suppliers – SeeBeyond is an example – believe that many customers will baulk at the idea of giving too much control to one vendor, and will build a more distributed, multi-vendor control system.
A critical part of SOA thinking and practice is that legacy applications – such as the 200 billion lines of Cobol applications – can participate, as can packaged applications. These applications, or the services that are built into them, therefore need to be presented to the SOA architecture as a packaged service.
Leading package suppliers – such as SAP and PeopleSoft – are reworking many of their applications so that they are available to other applications as services, while several suppliers, such as Micro Focus and WRQ, specialise in tools for making legacy services available.
A further part of SOA thinking is the composite application. This involves building new applications – and perhaps whole automated, end-to-end business processes – by plugging together services and applications that are already in place. This has been tried many times before, but the lack of standards has made it expensive and difficult. One company that tried and failed was Asera, one of the most heavily backed software companies in the US during the 1990s.
To create these applications, standards-based modelling and integration software tools are required. And this is where, many people believe, there will a convergence of development and integration tools (see main article, consolidation of function). Some applications will be built using, for example, fine grained components and services – perfect for a classic J2EE application server; but others will need to bring in many pre-existing components and call on many sophisticated applications – typical integration broker territory.
Integration software suppliers such as SeeBeyond and Vitria are now focusing on this area – and so are development and modelling tools suppliers such as Rational Software. “When we talk about application development, we don’t simply mean building new applications, we mean improving applications and integrating applications,” says Rober Oberg, director of market management for Rational Software.
To build these applications, a tiered set of development tools is emerging. At the low level, there are newer, better and more open J2EE and .NET development suites, increasingly linked to application servers and integration tools.
At the same time, simpler tools are emerging for rapid application development and integration – what used to be called RAD might soon be called RADI. In mid 2003, Rational (IBM) and Sun both introduced new tools for the semi-technical worker who wants to create Java applications.
A third level is also emerging – high level configuration and modelling tools that can be used by non-technical managers. These are usually described as business process modelling or business process management (BPM) systems. This category alone is creating great excitement because, if the stack of standards and the architecture below are properly implemented, non-technical managers can build and manipulate business processes in near real time, as business conditions dictate.
Take all these together, and it might be argued that the business world is on the cusp of a new golden age in custom software development. As they learn to exploit the power of the new architecture, organisations will increasingly use the new, more flexible tools and systems to leverage their existing assets as never before.