SOA is a software architecture that starts with an interface definition and builds the entire application topology as a topology of interfaces, interface implementations and interface calls. SOA would be better-named "interface-oriented architecture."
What Gartner captures here is the clear relationship between SOA and interfaces ? Web services' interfaces. An SOA is effectively an IT architecture with components expressed as services with defined interfaces. Each service embodies a distinct piece of business logic ? order payment, shipping instructions, etc.
What this definition suggests is that an SOA will emerge gradually, over time, as an enterprise begins to adopt and deploy Web services. At first, an enterprise may have distinct applications that are actually composed of many Web services working in concert ? what might be called a service oriented application. This will eventually require some standard way of registering the individual Web services, so they can be discovered and invoked. Usually, this will result in the use of UDDI.
Often, the first manifestation of a true SOA is UDDI. The Universal Description, Discovery and Integration registry is the standards-based approach to advertising and discovering Web services. It provides a mechanism for dynamic discovery and binding. An SOA brings many advantages. It promotes and encourages reuse of software assets. It can enable the low-cost creation of new applications. The loosely-coupled nature of an SOA enhances IT's agility and makes reconfiguration and repurposing easier and faster. Finally, an SOA can help better expose and delineate the interrelationships between different applications and business processes.
This was first published in June 2003