SOA - Service-Oriented Architecture
(n.) Abbreviated SOA, Service-Oriented Architecture is an application architecture in which all functions, or services, are defined using a description language and have invokable interfaces that are called to perform business processes. Each interaction is independent of each and every other interaction and the interconnect protocols of the communicating devices (i.e., the infrastructure components that determine the communication system do not affect the interfaces).
SOA Benefits and Disadvantages
SOA provides a strategic capability for integrating business processes, data, and organizational knowledge. Because interfaces are platform-independent, a client from any device using any operating system in any language can use the service. In a service-oriented architecture, clients consume services, rather than invoking discreet method calls directly. There are many benefits of SOA, including improved information flow, location transparency, internal software organization and better data translation. The most commonly discussed disadvantage of SOA is for applications with GUI functionality. These types of applications become more complex when using SOA.
SOA is Not Web Services
Although it is built on similar principles, SOA is not the same as Web services, which indicates a collection of technologies, such as SOAP and XML. Web services can be thought of as a consumer-provider relationship on the Web while SOA is about designing your architecture to best work in a Web service environment. It is more than a set of technologies and runs independent of any specific technologies.