Uma arquitetura orientada a serviços, mais comumente referenciada pelo acrônimo SOA (Service Oriented Architecture), consiste em um projeto de Software cujo objetivo maior é obter interoperabilidade entre componentes de software utilizando acoplamentos fracos (loose-coupling).
Nessa arquiterua SOA, uma camada de serviços agrega componentes e funcionalidades relacionadas a um ou mais processos. Essa camada é publicada em rede e poder invocada de forma remota por aplicações cliente ou outros serviços de software.
Vantagens:
Interoperabilidade: as aplicações clientes de uma aplicação SOA podem estar implementadas em qualquer plataforma de software e hardware, distinta da plataforma onde a camada de serviços foi implementada;
Interoperabilidade: as aplicações clientes de uma aplicação SOA podem estar implementadas em qualquer plataforma de software e hardware, distinta da plataforma onde a camada de serviços foi implementada;
Reusabilidade: os serviços e funcionalidades oferecidos por uma aplicação SOA são altamente reutilizaveis a baixo esforço.