Pular para o conteúdo principal

Questão de Arquitetura de Software — SOA (Service-oriented architecture) — FGV 2024

Arquitetura de SoftwareSOA (Service-oriented architecture)
Código
fg079715
Banca
FGV
Órgão
DATAPREV
Ano
2024
Nível
Superior
Cargo
ATI - Desenvolvimento de Software
Em relação às arquiteturas hexagonal e de microsserviços, considere as seguintes afirmações:I. A arquitetura hexagonal, também chamada de Arquitetura de Portas e Adaptadores, visa separar a lógica de negócios das interfaces externas, permitindo uma fácil troca de implementações.II. Microsserviços são pequenos serviços que compartilham o mesmo banco de dados, promovendo maior acoplamento entre os módulos da aplicação para garantir a consistência dos dados.III. A arquitetura monolítica pode ser distribuída, mas requer que todos os módulos sejam implantados como um conjunto, ao contrário dos microsserviços, que permitem a implantação independente de cada módulo.Está correto o que se afirma em
  1. AI, apenas.
  2. BII, apenas.
  3. CIII, apenas.
  4. DI e II, apenas.
  5. EI e III, apenas.
Revelar gabarito e comentário

GabaritoE — I e III, apenas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Arquitetura Hexagonal e Microsserviços

Gabarito: letra E. Estão corretas apenas as afirmações I e III. A afirmação I descreve corretamente a arquitetura hexagonal (Ports and Adapters), que isola o núcleo de negócios das interfaces externas. A III está correta ao contrastar o monólito (implantação conjunta) com microsserviços (implantação independente). Já a II é falsa, pois microsserviços não compartilham banco de dados; cada serviço deve ter seu próprio banco para garantir baixo acoplamento.

Análise das afirmações

Afirmação I — ✅ Correta

A arquitetura hexagonal, também conhecida como Ports and Adapters, tem como objetivo central isolar a lógica de negócios (core domain) das tecnologias externas (bancos de dados, APIs, interfaces de usuário). As "portas" definem interfaces para o núcleo, e os "adaptadores" implementam essas portas para cada tecnologia específica. Isso permite trocar implementações sem alterar a lógica de negócios, conforme descrito. O conceito é amplamente aceito na literatura de arquitetura de software.

Afirmação II — ❌ Incorreta

Esta afirmação vai contra um dos princípios fundamentais dos microsserviços: o database per service (cada serviço gerencia seu próprio banco de dados). Compartilhar o mesmo banco entre microsserviços criaria acoplamento forte, pois mudanças no esquema de um serviço poderiam impactar outros, além de dificultar a independência de implantação e escalabilidade. A consistência dos dados é tratada por meio de consistência eventual e eventos, não pelo compartilhamento de banco. Portanto, o trecho "compartilham o mesmo banco de dados" e "promovendo maior acoplamento" estão errados.

Afirmação III — ✅ Correta

Um sistema monolítico, mesmo quando distribuído (por exemplo, várias instâncias do mesmo monólito rodando atrás de um load balancer), ainda é implantado como uma única unidade – todos os módulos são empacotados e deployados juntos. Já em microsserviços, cada serviço pode ser implantado de forma independente, o que permite atualizações isoladas e escalabilidade seletiva. A afirmação capta exatamente essa diferença.

Afirmação

Análise

Correta?

I – Arquitetura hexagonal (Portas e Adaptadores) separa lógica de negócios de interfaces externas, permitindo troca de implementações

Descrição fiel do padrão Ports and Adapters

✅ Sim

II – Microsserviços compartilham o mesmo banco de dados, promovendo maior acoplamento

Viola o princípio database per service; compartilhamento gera acoplamento, não o reduz

❌ Não

III – Monólito (mesmo distribuído) exige implantação conjunta; microsserviços permitem implantação independente

Contraste correto entre deploy único (monólito) e deploy isolado (microsserviços)

✅ Sim

Arquitetura hexagonal
  • 1Ports and Adapters
    • Isola lógica de negócios
    • Troca de implementações
  • 2Microsserviços
    • Banco de dados
      • Compartilhado (II)
      • Próprio por serviço
    • Implantação
      • Independente (III)
  • 3Monólito
    • Implantação
      • Conjunta (III)
LEVEL · soulevel.com.br
NÃO CAIA NESSA!

A banca tenta confundir o candidato sobre o banco de dados em microsserviços. Muitos associam "compartilhar banco" com consistência, mas o correto é cada microsserviço ter seu próprio banco para garantir baixo acoplamento e autonomia. Memorize: microsserviço = database per service.

Conclusão: Afirmações I e III corretas; II incorreta. Portanto, resposta E) I e III, apenas.

Link permanente: /questoes/fg079715