Since about 2003, service-oriented architecture (SOA) has been touted as the network-based, next-generation computing environment, replacing the client-server architecture of the 1990s.
Industry leaders like Bill Gates have made brave predictions about a future in which their applications will live across the internet, and developers will meet specific needs by combining functions from these networked applications on an almost ad-hoc basis.
So what has happened in the past three or four years? On the surface, it might seem very little. “Looking back, a lot of people were talking about this, and even among the vendors you hear a variety of interpretations as to what SOA will be and what you will need,” says Ettienne Reinecke, group CTO at Dimension Data.
He estimates that it may take a decade for SOA to become fully adopted by the majority of the industry, as architecture changes of such a scale are a journey, and at this point even its proponents still don’t agree on a single vision of SOA.
The basic concept of that vision is that independent services will exist on the network — either the corporate intranet or the public internet — that can be called by multiple applications and shared among them. A good example is identity management. In an SOA environment, a single identity management service will manage all identity profiles in an organisation. Applications that need to match a profile to an individual, for example to authorise a transaction or access to corporate resources, will call on that single identity management service. When someone’s file needs updating, for example to reflect a change in job responsibilities, it can be done in a single instance instead of requiring changes in many applications.
While progress towards that vision may seem slow, the groundwork is being laid at the standards level. In his white paper Converged Communications, Reinecke lists 13 industry standards that range from Address Resolution Protocol (ARP) to Business Process Execution Language for Web Services (BPEL4WS) that form the basis of the architecture and are vital to the development of SOA.
According to Reinecke, one of the major reasons that object-oriented architecture — which can be viewed as an immediate progenitor of SOA — never succeeded outside some small, highly controlled environments was the lack of an adequate base of industry standards.
This time, he says, the XML standards and the business process languages are established, and at the XML layer most presentation layers are set. “So we have a much better chance of getting it right.”
“In the last 12 months, SOA has started to gain traction,” he says. “Cisco has a couple of elements, and Active Directory is gaining wide adoption as the de facto directory standard.” This is particularly important because the directory will be at the centre of the SOA architecture, and Active Directory is becoming the catalyst for change.And the early adopters are appearing. Several large financial companies are involved in early SOA projects and one of the most ambitious projects is being built by the US government. Its aim is to replace all the accounting applications across the entire government with a single network-based, componentised solution that is integrated into the government’s human resources operations. Whether this very ambitious project will succeed is open to question, but even if it does not, it will advance SOA development tremendously.
However, Reinecke says, the largest trends are almost inadvertent. Standardisation and virtualisation are driving SOA forward in many organisations, even though they may not be using the term or have a clear vision of the goal.
“I am amazed at the speed with which people are moving away from client-server without even knowing it. They are consolidating datacentres, and changing from client-server to XML — and web-based applications,” Reinecke says. This introduces a whole set of new protocols, with voice, data and video traffic sharing a single physical network layer.
The resource demands of this have implications for the underlying network infrastructure. “If you are not changing your network in all this, you will start to reach the limits of TCP (transmission control protocol) as you push huge amounts of traffic of various types across it,” Reinecke says. “At some point you will get latency problems, and then you will have to go back to the architecture and look at what you are doing.”
So what can IT organisations start to do now to build the foundations for SOA and prepare their infrastructure for the future?
“Architecture is everything,” Reinecke says, so a strong architectural programme is vital to the evolution of the network and the larger IT infrastructure.
That architectural programme must include a strong emphasis on both
de jure and de facto standards. “The key thing is to use every project to drive SOA,” Reinecke says. “Set a basic framework and define standards, then live by them in every project. For example, when you do VoIP and you have to deal with IPT numbering plans, use the standard directory service you have defined — in many cases we see corporations using Active Directory as a standard — then add your IPT numbers to the directory in Active Directory.”
Like it or not, SOA is approaching rapidly, driven by the basic business need to improve efficiency, respond faster, and do more with less. And over the next decade nearly every application and technology used today will need to evolve rapidly to keep up.