🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

Em um Tribunal de Justiça, uma arquitetura de integração dev...

Próximas questões
Com base no mesmo assunto
Q4240108 Arquitetura de Software
Em um Tribunal de Justiça, uma arquitetura de integração deve atender simultaneamente a: consultas sob demanda a autos digitais, distribuição de mudanças de andamento processual a múltiplos consumidores independentes e padronização dos contratos de integração. A solução deve permitir evolução independente entre produtores e consumidores, sem expor estruturas internas de persistência. Nesse contexto, a abordagem adequada é
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: A decisão dependia de distinguir consulta sob demanda de distribuição assíncrona de mudanças, com contratos separados para cada tipo de interação, sem expor a persistência interna.

Tema central: Contratos síncronos e assíncronos
Análise das alternativas
A
Errada
Está errada porque transforma o histórico interno de alterações do sistema em contrato público de integração. Isso contraria diretamente o requisito de não expor estruturas internas e compromete a evolução independente entre produtor e consumidores.
B
Certa
A alternativa B é a única que combina consultas síncronas via OpenAPI, eventos assíncronos de domínio via AsyncAPI e envelope padronizado como CloudEvents. Essa combinação atende ao desacoplamento e à evolução independente entre produtores e consumidores, sem transformar estrutura interna de persistência em contrato público.
C
Errada
Está errada porque substitui APIs de consulta por webhooks. Webhook é mecanismo de notificação push iniciado pelo produtor e não atende, por si, à necessidade de consulta sob demanda iniciada pelo consumidor.
D
Errada
Está errada porque trata alterações de andamento como recursos REST a serem consultados pelos consumidores. Isso troca a disseminação assíncrona de mudanças para múltiplos consumidores por consulta/polling de recursos, o que não corresponde ao requisito arquitetural descrito.
E
Errada
Está errada porque não estrutura corretamente o componente assíncrono com uma especificação própria para eventos, como faz a AsyncAPI, e ainda introduz a nomenclatura 'SyncAPI', inadequada no contexto citado na base. Por isso, a alternativa não faz a separação contratual correta entre interação síncrona e assíncrona.
Pegadinha da questão
A confusão real era trocar consulta sob demanda por mecanismo de notificação, além de tratar CloudEvents como substituto de API ou aceitar exposição de histórico interno como se fosse contrato externo adequado.
Dica para questões semelhantes
  • Se o requisito fala em consulta sob demanda, procure interface síncrona de API, não webhook ou callback.
  • Se o requisito fala em distribuição de mudanças para múltiplos consumidores independentes, procure eventos assíncronos de domínio com contrato próprio.
  • Use CloudEvents como padronização do envelope de eventos, não como substituto de API de consulta.
  • Elimine alternativas que exponham histórico interno, log de alterações ou persistência como contrato público de integração.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Fundamentação Teórica:

  • OpenAPI: Especificação padrão para descrever e documentar APIs RESTful (comunicação síncrona, focada em requisição/resposta sob demanda).

  • AsyncAPI: Especificação padrão adotada pelo mercado para documentar arquiteturas orientadas a eventos e mensagens (comunicação assíncrona via brokers como Kafka, RabbitMQ, etc.).

  • CloudEvents: Especificação neutra em relação a fornecedores (mantida pela CNCF) que padroniza o "envelope" (estrutura de dados) dos eventos, garantindo interoperabilidade e facilitando o roteamento e tratamento de mensagens entre sistemas distintos.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo