Service Oriented Architecture

Service-oriented architecture (SOA [pronounced "sō-uh" or "es-ō-ā"]) describes a software architecture that defines the use of loosely coupled software services to support the requirements of business processes and software users. Resources on a network[1] in an SOA environment are made available as independent services that can be accessed without knowledge of their underlying platform implementation.[1]

A service-oriented architecture is not tied to a specific technology. It may be implemented using a wide range of technologies, including REST, RPC, DCOM, CORBA or Web Services. SOA can be implemented using one of these protocols and, for example, might use a file system mechanism to communicate data conforming to a defined interface specification between processes conforming to the SOA concept. The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without the service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks

source Wikipedia