Arquitetura de 4 Camadas

A ideia básica do modelo de 4 camadas, é retirar a apresentação do cliente e centralizá-las em um determinado ponto, o qual na maioria dos casos é um servidor Web. Com isso o próprio Cliente deixa de existir como um programa que precisa ser instalado em cada computador da rede. O acesso a aplicação, é feito através de um Navegador, como o Internet Explorer, Google Chrome, Opera e Mozilla Firefox. A arquitetura de 4 camadas usa o termo Web Based que é utilizado em referências a sistemas que podem ser operados a qualquer hora e em qualquer lugar, desenvolvidos totalmente em plataformas Web/Internet.

Modelo 4 Camadas


A figura acima nos dá uma ideia geral do modelo em quatro camadas.


Funcionamento

Para acessar a aplicação, o cliente acessa o endereço da aplicação, utilizando o seu navegador. Por exemplo http://www.empresa-xyz.com/sistemas/cadastro.abc. Todo o acesso do cliente ao Banco de dados, é feito de acordo com as regras contidas no Servidor de aplicações. O cliente não tem acesso direto ao Banco de dados, sem antes passar pelo servidor de aplicações. Com isso as quatro camadas são as seguintes:

  • Cliente: Nesta caso o Cliente é o Navegador utilizado pelo usuário, seja pelo Internet Explorer, Google Chrome, Opera e Mozilla Firefox ou outro Navegador qualquer.
  • Apresentação: Passa para o Servidor Web. A interface pode ser composta de páginas HTML, ASP, ou qualquer outra tecnologia capaz de gerar conteúdo para o Navegador. Com isso alterações na interface da aplicação, são feitas diretamente no servidor Web, sendo que estas alterações estarão, automaticamente, disponíveis para todos os Clientes. Com isso não existe a necessidade de reinstalar a aplicação em todos os computadores da rede cada vez que uma alteração for feita na camada de apresentação. Fica muito mais fácil garantir que todos estão acessando a versão mais atualizada da aplicação. A única coisa que o cliente precisa ter instalado na sua máquina, é o Navegador. O acesso ao Banco de dados, é feito através do Servidor de aplicações.
  • Lógica: São as regras do negócio, as quais determinam de que maneira os dados serão utilizados. Esta camada está no Servidor de aplicações. Desta maneira, quando uma regra do negócio for alterada, basta atualizá-la no Servidor de aplicações. Após a atualização, todos os usuários passarão a ter acesso a nova versão, sem que seja necessário reinstalar o programa em cada um dos computadores da rede. Vejam que ao centralizar as regras do negócio em um Servidor de aplicações, estamos facilitando a tarefa de manter a aplicação atualizada.
  • Dados: Nesta camada temos o servidor de Banco de dados, no qual reside toda a informação necessária para o funcionamento da aplicação.

Com o deslocamento da camada de apresentação para um Servidor Web, resolvemos o problema de termos que atualizar a aplicação, em centenas ou milhares de computadores, cada vez que a interface for alterada. Neste ponto a atualização das aplicações é uma tarefa mais gerenciável, muito diferente do que acontecia no caso do modelo em duas camadas.

Os servidores de Aplicação, servidor Web e servidor de Banco de dados, não precisam, necessariamente, ser servidores separados, isto é, uma máquina para fazer o papel de cada um dos servidores. O conceito de servidor de Aplicação, Web ou Banco de dados, é um conceito relacionado com a função que o servidor desempenha. Podemos ter, em um mesmo equipamento, um Servidor de aplicações, um servidor Web e um servidor de Banco de dados. Claro que questões de desempenho devem ser levadas em consideração.

Representação da Arquitetura

Às vezes, continua-se a chamar isso de 3 camadas porque as camadas Web e Aplicação frequentemente rodam na mesma máquina (para pequenos volumes).

Exemplo de uma Arquitetura de 4 Camadas

A estrutura 4 camadas se assemelha ao ambiente em 3 camadas, contudo se diferencia por obter 1 servidor de Jobs responsável por processar os Jobs que entram na fila de execução. De forma técnica, a solicitação do job é disparada pela máquina cliente ao solicitar informações na tela, neste momento a ação é disparada junto ao processo “job” que entra na fila de execução no banco de dados. De forma simultânea o “Servidor de aplicação” irá processar a ação, enquanto o “Servidor de Jobs” realiza verificações no banco de dados coletando os processos que aguardam para execução e processando os demais. A imagem abaixo exemplifica cada camada:

Referências

1-https://tdn.totvs.com/display/public/LRM/Arquitetura+4+camadas

2-http://www.dsc.ufcg.edu.br/~jacques/cursos/j2ee/html/intro/intro.htm

3-https://www.diegomacedo.com.br/arquitetura-de-aplicacoes-em-2-3-4-ou-n-camadas/