Fala, meus consagrados! Beleza?
Vamos estudar entender como é formanda a arquitetura em três camadas para aplicações web e como é cobrada em questões de concursos.
Teoria
A Arquitetura em Três Camadas para aplicações web é um modelo de programação que permite a distribuição da aplicação funcionalmente por três sistemas independentes (figura 1):
- Componentes clientes;
- Em execução em estações de trabalho locais;
- Processos em execução;
- Em execução em servidores remotos;
- Coleção discreta de:
- Bancos de dados;
- Gerenciadores de recursos; e
- Aplicações de mainframe.
Figura 1: Camadas da arquitetura em três camadas.
Essa arquitetura tornou-se a padrão para sistemas corporativos com base na web e, assim como a ideia da arquitetura em duas camadas, são lógicas as camadas da arquitetura em três camadas, ou seja, as camadas podem estar em execução no mesmo servidor físico.
A separação em camadas lógicas torna os sistemas mais flexíveis, permitindo que as partes possam ser alteradas de forma independente.
A primeira camada é a Camada de Apresentação, também chamada de interface. Ela interage diretamente com o usuário e possui componentes responsáveis pela apresentação e interação do usuário. Esses componentes clientes permitem ao usuário interagir com os processos da segunda camada de uma maneira segura e intuitiva.
Os clientes não acessam os serviços da terceira camada diretamente.
Como exemplo de uso dessa camada, temos: um componente cliente fornece um formulário no qual um cliente faz um pedido de produtos e envia esse pedido aos processos da segunda camada.
Esses processos da segunda camada verificam os bancos de dados do produto e executam tarefas necessárias para o faturamento e a remessa.
A segunda camada, a Camada de Negócio, pode também ser chamada de:
- Lógica empresarial;
- Lógica da aplicação;
- Regras de negócio; e
- Funcionalidade.
Os processos dessa camada gerenciam a lógica de negócio da aplicação e têm permissão para acessar os serviços da terceira camada (camada de dados).
A camada de negócio é onde a maioria do trabalho de processamento ocorre. Vários componentes clientes podem acessar os processos da segunda camada simultaneamente, portanto, essa camada deve gerenciar suas próprias transações.
As suas funcionalidades podem ser divididas em classes. Essas classes podem ser:
- Agrupadas em pacotes ou componentes;
- Reduzindo as dependências entre as classes e pacotes; e
- Reutilizadas por:
- Diferentes partes da aplicação; e
- Aplicações diferentes.
A terceira e última camada é a Camada de Dados, também chamada de camada de acesso a dados ou camada de persistência.
Essa camada é composta pelo repositório das informações e pelas classes que as manipulam.
A camada de dados recebe as requisições da camada de negócios e seus métodos executam essas requisições em um banco de dados.
Uma alteração no banco de dados altera apenas as classes da camada de dados, mas o restante da arquitetura não seria afetado por essa alteração.
Por último, os serviços oferecidos pela última camada são protegidos do acesso direto pelos componentes do cliente residindo em uma rede segura e a interação deve ocorrer por meio dos processos da segunda camada (camada de negócio).
Figura 2: Esquema das camadas da Arquitetura em Três Camadas.
Cada camada é normalmente mantida em um servidor específico para tornar-se o mais escalonável e independente possível em relação a outras camadas, estando entre as suas principais características o eficiente armazenamento e a reutilização de recursos.
Questões de concursos
[UPENET/IAUPE 2017 UPE – Analista de Sistemas – Desenvolvimento de Web – Adaptada] Sobre o uso de camadas na arquitetura de um sistema, assinale a alternativa CORRETA. (Marque CERTO ou ERRADO o texto da letra)
[B] Na arquitetura de três camadas, as regras de negócio que formam a camada de negócios são separadas da camada de apresentação.
Comentários:
A camada de apresentação interage diretamente com o usuário e possui componentes responsáveis pela apresentação e interação do usuário. Esses componentes clientes permitem ao usuário interagir com os processos da camada de negócio de uma maneira segura e intuitiva.
Já a camada de negócios gerencia a lógica de negócio da aplicação e tem permissão para acessar os serviços da terceira camada (camada de dados).
Gabarito: CERTO.
[Quadrix 2018 CRMV/GO – Auxiliar Técnico de Informática] Nas questões que avaliem conhecimentos de informática, a menos que seja explicitamente informado o contrário, considere que: todos os programas mencionados estejam em configuração‐padrão, em português; o mouse esteja configurado para pessoas destras; expressões como clicar, clique simples e clique duplo refiram‐se a cliques com o botão esquerdo do mouse; teclar corresponda à operação de pressionar uma tecla e, rapidamente, liberá‐la, acionando‐a apenas uma vez.
Considere também que não haja restrições de proteção, de funcionamento e de uso em relação aos programas, arquivos, diretórios, recursos e equipamentos mencionados. Um site é uma aplicação cliente‐servidor que permite que usuários acessem as páginas web que estão no servidor a partir do navegador (cliente).
Considerando‐se a arquitetura em camadas no contexto de um website, é correto afirmar que
[A] uma verificação que implica na seleção de desconto para determinado produto disponível no site é feita por componentes da camada de Negócio.
[B] operações em um banco de dados de produtos que são disponibilizados no site são implementadas na camada de Negócio.
[C] a exibição de um conjunto de produtos filtrados pelo site é feita na camada de Persistência.
[D] as camadas de Dados e de Negócio são implementadas no cliente.
[E] a comunicação entre o cliente e o servidor usa o protocolo SMTP.
Comentários:
Comentando cada letra, temos:
- A letra a está CERTA: uma verificação que implica na seleção de desconto para determinado produto disponível no site é feita por componentes da camada de negócio;
- A camada de negócios gerencia a lógica de negócio da aplicação e tem permissão para acessar os serviços da terceira camada (camada de dados);
- A letra b está ERRADA: operações em um banco de dados de produtos que são disponibilizados no site são implementadas na camada de dados;
- A letra erra ao citar essa responsabilidade da camada de negócio;
- A letra c está ERRADA: a exibição de um conjunto de produtos filtrados pelo site é feita na camada de apresentação;
- A letra d está ERRADA: as camadas de Dados e de Negócio são implementadas no servidor;
- Por mais que essas camadas sejam lógicas, as camadas de negócio e de dados devem rodar fisicamente em uma máquina com suporte de servidor; e
- A letra e está ERRADA: a comunicação entre o cliente e o servidor usa o protocolo HTTP/HTTPS;
- Como é uma arquitetura web, o principal protocolo de comunicação é o HTTP (HTTPS para uma comunicação segura).
Gabarito: letra A.
[NUCEPE 2012 PC/PI – Perito Criminal – Informática – Adaptada] Acerca das infraestruturas de aplicação web (Web application framework), considere as afirmações. (Marque CERTO ou ERRADO o texto do item)
[2] Usualmente baseada numa arquitetura de três níveis (three-tier architecture) onde as aplicações são estruturadas em três níveis físicos: cliente, aplicação e banco de dados (relacional).
Comentários:
Corrigindo o texto do item, temos:
- Na Arquitetura de três camadas níveis, as aplicações são estruturadas em três camadas lógicas: cliente (ou apresentação), aplicação (ou de negócio) e dados (que pode conter banco de dados relacional).
Gabarito: ERRADO.
[FCC 2016 Prefeitura de Teresina/PI – Técnico de Nível Superior – Analista de Sistemas] Considere o serviço de páginas web implementado em uma arquitetura de três ou quatro camadas. Nessa arquitetura, o Browser se localiza na camada de
[A] Apresentação.
[B] Aplicação.
[C] Web.
[D] Serviços.
[E] Negócios.
Comentários:
O navegador web serve para uma aplicação em três camadas como software para acessar a aplicação e o navegador roda na camada de apresentação.
Gabarito: letra A.
[FCC 2014 TJ/AP – Analista Judiciário – Área Apoio Especializado – Tecnologia da Informação – Desenvolvimento de Sistemas] Uma arquitetura muito comum em aplicações web é o Modelo Arquitetural 3 Camadas:
[I] Camada de Persistência.
[II] Camada de Lógica de Negócio.
[III] Camada de Apresentação.
Neste modelo, a correta associação dos componentes com as camadas é
[A] I-Servidor de Banco de Dados – II-Servidor de Aplicação – III-Máquina Cliente.
[B] I-Servidor Web – II-Servidor Cliente – III-Servidor de Aplicação.
[C] I-Servidor Web – II-Servidor de Banco de Dados – III-Máquina Cliente.
[D] I-Servidor de Banco de Dados – II-Máquina Cliente – III-Servidor de Aplicação.
[E] I-Máquina Cliente – II-Servidor de Banco de Dados – III-Servidor Web.
Comentários:
A correta associação dos componentes com as camadas é:
- [I] Camada de Persistência: servidor de banco de dados;
- [II] Camada de Lógica de Negócio: servidor de aplicação; e
- [III] Camada de Apresentação: máquina-cliente.
Portanto, a letra a é nosso gabarito.
Gabarito: letra A.
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente: