Home

 

SOA

Service-oriented architecture (SOA) is an architectural pattern used for the construction of systems that support business processes with software services as the fundamental architectural component. A service is a specific unit of business functionality that is reused again and again during normal business operations. Example units of business functionality that qualify as services are opening a bank account and verifying a credit card. When using SOA, business processes are therefore a collection of services connected as required to provide required business functionality.

SOA uses open standards for the representation of the services that are combined to form the business processes. The service interfaces and the assembly of services into usable business processes is the main focus, rather than how the functionality present in the service behind the interface is actually provided. Typically services are implemented using object oriented Java or .NET components, but equally, they can be provided using the functionality implemented by the legacy system. The fact that the emphasis is on service interfaces and service assembly means that SOA is agnostic to the implementation technology. This approach has many advantages. In the past, interoperability between systems, implemented using different technologies, was fraught with problems. SOA completely removes this barrier.

Traditional software engineering principles such as cohesion, modularity, loose coupling, and encapsulation also accrue form the SOA approach.

ibm.com/redbooks