Questão de Arquitetura de Software — Sistemas Distribuídos — IDCAP 2025
Arquitetura de Software›Sistemas Distribuídos
Código
qg519331
Banca
IDCAP
Órgão
PPSA
Ano
2025
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Desenvolvimento de Sistemas
No contexto da Arquitetura de Aplicações, a sigla API representa a Interface de Programação de Aplicações - um conjunto de regras e definições que permite que softwares diferentes se comuniquem. Existem vários tipos de arquitetura de API, que nada mais são do que diferentes abordagens, sendo que a escolha de qual será aplicada depende das necessidades específicas de cada sistema, bem como das dos desenvolvedores envolvidos. Enquanto um dos tipos corresponde a uma estrutura de procedimento remoto que oferece independência de linguagem, sendo comumente utilizado em sistemas distribuídos como os de microsserviços, outro refere-se a uma maneira de os sistemas se comunicarem de forma assíncrona, em que um informa a outro sobre eventos ocorridos em tempo real, sendo comumente utilizado em entregas de produtos, no qual o cliente é notificado quanto ao recebimento de um item.Esses dois tipos de arquitetura de API são conhecidos, respectivamente, como:
AWebhook e GraphQL.
BWebSocket e gRPC.
CgRPC e Webhook.
DGraphQL e WebSocket.
Revelar gabarito e comentário▾
GabaritoC — gRPC e Webhook.
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”.
Tipos de Arquitetura de API
Gabarito: letra C. O primeiro tipo descrito é o gRPC (Remote Procedure Call com independência de linguagem, comum em microsserviços); o segundo é o Webhook (comunicação assíncrona via callback HTTP para notificações de eventos em tempo real). A alternativa C combina corretamente esses dois conceitos.
A banca exige diferenciar quatro tecnologias: gRPC, Webhook, WebSocket e GraphQL. Cada uma tem características próprias.
Tipos de API: gRPC (Procedimento remoto (RPC), Independência de linguagem, Comum em microsserviços); Webhook (Comunicação assíncrona, Notificação de eventos (callback HTTP), Ex.: entrega de produto); WebSocket (Bidirecional contínuo (full-duplex), Streaming em tempo real); GraphQL (Linguagem de consulta, Flexível (cliente define o que busca))
Alternativa A — ❌ Incorreta
Inverte a ordem e introduz GraphQL (linguagem de consulta, não RPC nem notificação assíncrona). O primeiro tipo (RPC) não é Webhook; o segundo (notificação assíncrona) não é GraphQL.
Alternativa B — ❌ Incorreta
Acerta no primeiro (gRPC), mas troca o segundo por WebSocket. WebSocket é um protocolo de comunicação bidirecional e contínua, não o modelo "evento único com callback" descrito. O correto para notificação assíncrona de eventos é Webhook.
Alternativa C — ✅ Correta ⟵ GABARITO
gRPC atende à descrição de "procedimento remoto com independência de linguagem" e é padrão em microsserviços. Webhook permite que um sistema informe outro sobre eventos assíncronos (ex.: notificação de entrega), exatamente como descrito.
Alternativa D — ❌ Incorreta
GraphQL é uma linguagem de consulta para APIs, não um RPC; WebSocket é comunicação full-duplex, não notificação assíncrona baseada em eventos.
PEGA ESSA DICA!
Para memorizar: gRPC = chamada remota como se fosse local (RPC); Webhook = "call me back" (callback HTTP). WebSocket = streaming contínuo; GraphQL = consulta flexível.