Web Services: A Service Oriented Architecture

Connected Services Framework
In recent years, a flurry of activity centered on Web services development has taken place. With all of this activity, it is important to step back and ask the question, why? Certainly, Web services don't enable new kinds of computational capability-after all, Web services still run on existing computers, executing the same set of instructions and accessing the same data. Moreover, in many cases, Web-service protocols can actually increase the protocol overhead for a given task.

One of the key reasons for the interest in Web services is that they are well suited to enabling a Service Oriented Architecture (SOA). When Web services are used to build an SOA, the solutions consist of collections of autonomous services that are identified by URLs that provide interfaces documented using WSDL, and that process well-defined XML messages. SOA is a natural complement to the object-oriented (OO), procedural, and data centric approaches to solution implementation. Indeed, when an SOA system is created, the individual services are typically constructed using one or more of these technologies.

A Service Oriented Architecture differs from OO and procedural systems in one key aspect: binding. Services interact based on the functions they provide and how the functions are delivered. OO and procedural systems link elements together based on types or names. The following sections provide more details.