What's holding back SOA?

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 global IT solutions provider 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 this 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 organization. Applications that need to match a profile to an individual, for instance to authorize a transaction or access to corporate resources, will call on that single identity management service. When someone's file needs updating, for instance to reflect a change in job responsibilities, it can be done in a single instance instead of requiring changes in multiple applications.

If the organization forms work teams that stretch across corporate boundaries to include employees from business partners, its identity management service can be shared with the business partner's applications, eliminating the complexities of establishing and maintaining identity files across corporate boundaries, increasing security while decreasing complexity and expense.