Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura Cliente-Servidor — Avança SP 2023

Arquitetura de SoftwareArquitetura 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:
  1. AModel-view-controller
  2. BLayers
  3. CMicroservices
  4. DClient-server
  5. 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.

Característica

Cliente-Servidor (D)

MVC (A)

Camadas (B)

Microsserviços (C)

Pipes-and-Filters (E)

Divisão do processamento

Módulos distintos: cliente e servidor

Três componentes: Model, View, Controller

Níveis hierárquicos (ex.: apresentação, negócio, dados)

Serviços independentes e autônomos

Sequência de filtros conectados por pipes

Responsável pela manutenção da informação

Servidor (armazenamento, banco de dados)

Model (dados e regras de negócio)

Camada de dados (inferior)

Cada serviço gerencia seus próprios dados

Nenhum componente central; dados fluem entre filtros

Responsável pela obtenção de dados

Cliente (solicita serviços periodicamente)

Controller (intermediação) e View (exibição)

Camada de apresentação (superior)

Serviços consomem dados de outros serviços

Filtros processam e transformam dados sequencialmente

Exemplo de uso

Aplicativos bancários e de e-mail

Organização interna de interfaces gráficas

Sistemas corporativos monolíticos

Aplicações web escaláveis

Processamento de streams de dados (ex.: compiladores)

1Servidor
2Mantém a informação
3Oferece serviços
4Cliente
5Obtém dados
6Solicita serviços periodicamente
7Exemplos
8Bancos
9E-mail
Arquitetura Cliente-Servidor
LEVELsoulevel.com.br
Arquitetura Cliente-Servidor: Servidor; Mantém a informação; Oferece serviços; Cliente; Obtém dados; Solicita serviços periodicamente; Exemplos; Bancos; E-mail

Alternativa A — ❌ Incorreta

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.

Gabarito: letra D

Link permanente: /questoes/qq837235