SOA (Service-oriented architecture)
SOA (Service-Oriented Architecture) - Resumo para Concursos
Definição
SOA (Arquitetura Orientada a Serviços) é um estilo arquitetural que organiza sistemas em serviços reutilizáveis, interoperáveis e independentes, comunicando-se via protocolos padronizados (como SOAP, REST ou mensageria).
Princípios Fundamentais
- Contrato de Serviço: Interface bem definida (ex: WSDL)
- Baixo Acoplamento: Serviços independentes
- Abstração: Oculta lógica interna
- Reutilização: Serviços como componentes compartilháveis
- Autonomia: Controle sobre sua lógica
- Descoberta: Registros de serviços (ex: UDDI)
Componentes Principais
- Provedor de Serviço: Disponibiliza o serviço
- Consumidor de Serviço: Utiliza o serviço
- Registro de Serviços: Diretório para descoberta
- Barramento de Serviços (ESB): Integração centralizada
Vantagens
- Interoperabilidade entre plataformas
- Flexibilidade para mudanças
- Reutilização de componentes
- Integração com sistemas legados
Desvantagens
- Overhead de comunicação
- Complexidade na gestão
- Desempenho (comparado a monolíticos)
Padrões Relacionados
- SOAP: Protocolo baseado em XML
- WSDL: Descrição de serviços
- UDDI: Registro de serviços
- ESB: Barramento de integração
Diferenciação de Microsserviços
SOA usa serviços mais granulares e compartilhados, enquanto microsserviços são menores, independentes e focados em negócios específicos (SOA é mais centralizado, microsserviços mais descentralizado).