Resumo de Arquitetura de Software - SOA (Service-oriented architecture)

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).