Questão de Arquitetura de Software — Arquitetura Cliente-Servidor — Avança SP 2023
Arquitetura de Software›Arquitetura Cliente-Servidor
Código
qq837235
Banca
Avança SP
Órgão
Prefeitura de Ubatuba - SP
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas
Neste modelo arquitetural, o processamento da informação se divide em módulos e processos distintos. Um deles é responsável pela manutenção da informação e o outro pela obtenção de dados. Este tipo de arquitetura de software é bastante usado em aplicativos de bancos e e-mail.Estamos falando do tipo de arquitetura de software:
AModel-view-controller
BLayers
CMicroservices
DClient-server
EPipes-and-filters
Revelar gabarito e comentário▾
GabaritoD — Client-server
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 Cliente-Servidor
Gabarito: letra D (Client-server). A descrição do enunciado — divisão do processamento em módulos, um responsável pela manutenção da informação (servidor) e outro pela obtenção de dados (cliente) — é a definição clássica da arquitetura Cliente-Servidor, amplamente usada em aplicativos bancários e de e-mail.
A banca cobra a identificação do estilo arquitetural a partir de suas características fundamentais. O contexto explica: "Cliente-Servidor (Duas Camadas) [...] Separação de funções entre: Servidores → Oferecem serviços (armazenamento, banco de dados). Clientes → Solicitam serviços periodicamente. Interface do usuário e lógica de apresentação". Essa separação entre quem mantém a informação (servidor) e quem a obtém (cliente) é exatamente o que o enunciado descreve.
O MVC (Model-View-Controller) separa a aplicação em três componentes interligados: Model (dados/regras de negócio), View (interface) e Controller (intermediação). Embora o Model seja responsável pela manutenção da informação, a View não "obtém dados" como um cliente; ela apenas exibe. Além disso, o MVC é um padrão de projeto para organizar o código dentro de uma aplicação, não um modelo de divisão entre processos distintos como cliente e servidor. Aplicativos de banco e e-mail usam MVC internamente, mas a descrição do enunciado se encaixa melhor na arquitetura cliente-servidor.
Alternativa B — ❌ Incorreta
A arquitetura em Camadas (Layers) organiza o software em níveis hierárquicos (ex.: apresentação, negócio, dados), onde cada camada se comunica com a adjacente. Não há uma divisão explícita entre "manutenção da informação" e "obtenção de dados" como entidades separadas; as camadas são internas ao mesmo sistema. Já o cliente-servidor envolve processos remotos distintos.
Alternativa C — ❌ Incorreta
Microsserviços é um estilo onde a aplicação é composta por pequenos serviços independentes, cada um com sua própria lógica de dados. Não há um único servidor central de informação; os serviços podem ser tanto provedores quanto consumidores. Embora exista divisão, a descrição genérica de "um responsável pela manutenção e outro pela obtenção" é muito mais específica do modelo cliente-servidor, que é a base dos sistemas bancários e de e-mail tradicionais.
Alternativa D — ✅ Correta ⟵ GABARITO
A arquitetura Cliente-Servidor é caracterizada pela separação em dois (ou mais) processos: o servidor, que mantém e gerencia os dados (informação), e o cliente, que solicita esses dados (obtenção). Essa divisão é usada em aplicativos bancários (cliente se conecta ao servidor do banco) e de e-mail (cliente de e-mail se conecta ao servidor de e-mail). O contexto afirma: "Servidores → Oferecem serviços (armazenamento, banco de dados). Clientes → Solicitam serviços periodicamente." Portanto, a descrição casa perfeitamente.
Alternativa E — ❌ Incorreta
Pipes-and-Filters é um estilo arquitetural onde componentes (filtros) processam dados e os passam por canais (pipes) em sequência. Não há um módulo central que mantém a informação; os dados fluem entre filtros. Não é usado em aplicações bancárias ou de e-mail como modelo principal.
PEGA ESSA DICA!
Em questões sobre estilos arquiteturais, foque na divisão de responsabilidades. Cliente-Servidor = divisão entre provedor e consumidor de serviços. Associe exemplos práticos: e-mail (cliente Outlook/Webmail + servidor Exchange/Gmail), banco (app + servidor central). Com isso, a identificação fica direta.