Aplicações Java EE em três camadas

Embora uma aplicação Java EE possa consistir em todas as camadas apresentadas na figura 5, as aplicações Java EE multi-camada geralmente são consideradas apenas como sendo aplicações em três camadas por poderem ser distribuídas em três diferentes lugares:

  • As maquinas clientes
  • A maquina que funcionar como servidor JavaEE
  • E o servidor de base de dados ou maquinas com sistemas legados no back-end. As aplicações em três camadas que funcionam desta forma, estendem o padrão das duas camadas do modelo client-server, colocando um servidor de aplicações multi-camada entre a aplicação cliente e o sistema de armazenamento do back-end.

A separação lógica é fundamental para o desenvolvimento, manutenção e entendimento do sistema como um todo.

Arquitetura MVC

O MVC (Model – View-Controller) é um padrão de arquitetura que descreve uma forma de estruturar uma aplicação e as responsabilidades e interações para cada uma das partes da estrutura. O padrão MVC separa os componentes de uma aplicação em três camadas:

  • Camada de dados (Model – Modelo)
  • Camada de interface (Visão – View)
  • Camada lógica (Controlador – Controller)

Figura 3

O modelo representa a lógica de negócio, aloja as entidades da aplicação e pode interagir com a base de dados. Nesta camada um dos padrões mais utilizado é o padrão DAO (Data Access Object) ou seja Objeto de acesso aos dados.

Figura 4

O DAO é uma interface independente que encapsula o acesso à base de dados. Quando o controlador interage com a base de dados o faz através do DAO.

O padrão DAO tem como premissa principal a ideia de colocar todas as funcionalidades de acesso e trabalho com dados num só local, tornado simples a sua manutenção.

Numa aplicação, em geral, é criado um DAO para cada classe de objetos que será persistido na base de dados. O DAO é responsável por implementar os métodos CRUD – Create - Retrieve(Read) – Upade – Delete. Ou seja, o DAO implementa todos os métodos para inserir, selecionar, atualizar e/ou eliminar objetos de uma base de dados.

A visão é a parte da aplicação que permite a interação com o utilizador. E à interface com o utilizador. Apresenta os dados resultantes do model ao utilizador.

Recupera o estado do modelo através do controlador e também obtém a entrada do utilizador e a repassa através do controlador.

Numa aplicação Web a visão é constituída pelas paginas.

O Controlador é o intermediário entre a visão e o modelo. Faz a gestão do fluxo da informação entre eles e as transformações para adaptar os dados às necessidades de cada um.

Delega a busca dos dados ao modelo e seleciona o tipo de resposta mais adequado à requisição do cliente.

Recupera a entrada do utilizador a partir de uma requisição e a traduz numa requisição para o modelo. Aciona o modelo para atualizar e disponibilizar um novo estado para a visão.

Modelos de implementação Web com Java

Na implementação de uma aplicação Web com Java, quando não se recorrer ao um framework nativamente MVC, surgiram para no mundo Java dois modelos MVC que podem ser seguidos.

Model 1

O Model 1 é conhecido com page-centric. Toda a construção faz-se como um conjunto de paginas JSP ou seja. O desenvolvimento da aplicação é feito basicamente com um conjunto de paginas JSP, como pode ser visto na figura 5 , sendo prático para aplicações pequenas que têm um numero limitado de utilizadores e com pouca lógica de negócio.

Figura 5

Model 2

O Model 2 define uma arquitetura focada na utilização de Servlets e paginas JSP, sendo o Servlet utilizado como controlador (Controller), de modo a receber as requisições dos utilizadores e fornecer os dados para a camada de apresentação (view), sendo esta implementada com JSP, como pode ser observado na figura 6. Este modelo é mais robusto e escalável que o Model 1 e é o modelo indicado para projetos maiores e mais complexos.

Figura 6

Na implementação da aplicação de exemplo do ebook foi adotado o Model 2.

results matching ""

    No results matching ""