A service-oriented architecture (SOA) is the underlying structure supporting communications between services. SOA defines how two computing entities, such as programs, interact in such a way as to enable one entity to perform a unit of work on behalf of another entity. Service interactions are defined using a description language. Each interaction is self-contained and loosely coupled, so that each interaction is independent of any other interaction.
Simple Object Access Protocol (SOAP)-based Web services are becoming the most common implementation of SOA. However, there are non-Web services implementations of SOA that provide similar benefits. The protocol independence of SOA means that different consumers can communicate with the service in different ways. Ideally, there should be a management layer between the providers and consumers to ensure complete flexibility regarding implementation protocols.
Whether you realize it or not, you've probably relied upon SOA, perhaps when you made a purchase online. Let's use Land's End as an example. You look at their catalog and choose a number of items. You specify your order through one service, which communicates with an inventory service to find out if the items you've requested are available in the sizes and colors that you want. Your order and shipping details are submitted to another service which calculates your total, tells you when your order should arrive and furnishes a tracking number that, through another service, will allow you to keep track of your order's status and location en route to your door. The entire process, from the initial order to its delivery, is managed by communications between the Web services -- programs talking to other programs, all made possible by the underlying framework that SOA provides.
|Getting started with Service-Oriented Architecture|
|To explore how the SOA is used in the enterprise, here are some additional resources:|
|The principles of service orientation: SOA guru Thomas Erl explains the fundamentals of service-oriented architecture, including loose coupling, service abstraction and statelessness.|
|SOA Lifecycle All-in-One Guide: This guide is designed to walk enterprise architects, IT management, IT executives and developers through the essentials of the service-oriented architecture lifecycle. Each chapter deals with the central issues of the SOA lifecycle, including fundamentals, modeling, assembly, deployment and management.|
|Get back to the basics of service-oriented architecture with SearchSOA.com's SOA Overview: Learn about implementation, registry and repository, governance and management of SOA..|