Unidade A - Introdução aos Sistemas Web baseados em Java

Desenvolvimento em Camadas

As aplicações Web são estruturadas em camadas em que cada camada possui um papel fundamental na arquitetura dos sistemas. As aplicações Web possuem no mínimo duas camadas:

As arquiteturas tradicionais cliente-servidor são de duas camadas. Nestas arquiteturas, uma das camadas é o servidor de banco de dados acessado por vários programas cliente. Cada programa cliente possui uma camada de apresentação (uma interface gráfica) e o código da lógica de negócio. A lógica de negócio é chamada assim, pois nos aplicativos comerciais contém as regras (regras de negócio) que são utilizadas para tomar decisões de negócio: quantos produtos oferecer, quanto cobrar, etc. A inteligência do aplicativo, logo a parte mais importante do software, está na lógica do negócio. A Figura A.3 apresenta um exemplo de modelo com duas camadas.


Existem modelos arquiteturais propostos para melhorar a organização e a manutenção das aplicações Web. No modelo de duas camadas (apresentado na Figura A.3),o módulo do cliente é específico para o aplicativo. Quando a lógica do negócio se altera, um novo módulo cliente deve ser distribuído para os dos clientes envolvidos.

A arquitetura de camadas é muito utilizada para separar responsabilidades em uma aplicação moderna. Apesar de a ideia da divisão de uma aplicação em camadas ter sido popularizada nos anos 90, muitos desenvolvedores ainda não conhecem muito bem a técnica.

Um modelo que tem sido amplamente utilizado é o modelo em três camadas. A saber:

Ao contrário de um modelo de duas camadas, no modelo de três camadas a lógica do negócio é residente em um servidor. Quando a lógica se altera, o código do servidor é atualizado, enquanto a camada de apresentação (navegador) continua inalterada. A Figura A.4 apresenta uma arquitetura de três camadas.


A grande vantagem é separar a camada de apresentação da camada de lógica de negócio, apesar de realizar um maior número de operações de recuperação e passagem de valores.

Junto com a popularização da arquitetura de camadas, ressurgiu o modelo MVC (Model-View-Controller) de desenvolvimento. O modelo MVC e o de camadas são conceitos diferentes, que podem ser aplicados em conjunto ou não. Num Modelo MVC, os componentes são divididos em três: View, Model e Controller. A View é a parte exposta, o Controller é o controle sobre a comunicação que vem do usuário para o sistema e o Model representa o estado do sistema.