next up previous contents
Next: Interface web Up: Arquitetura do sistema Previous: Visão geral   Sumário

Camada de apresentação

A camada de apresentação é composta pelos seguintes itens:

Para o desenvolvimento da camada de apresentação fez-se uso do modelo MVC (Model-View-Controller). Este modelo descreve a organização de uma aplicação em três módulos separados:

Na literatura, o modelo MVC aplicado à apresentação é conhecido em duas versões que são chamadas de Modelo 1 e Modelo 2. A arquitetura proposta no Modelo 1 diz que um navegador, por exemplo, tem acesso direto ao módulo de apresentação e é o módulo de apresentação que faz a comunicação direta com o módulo responsável pelo modelo. Já na arquitetura proposta no Modelo 2, há uma discussão sobre o módulo de controle que desempenha o papel descrito acima.

Figura 2: Modelo MVC 2 adaptado a este projeto.
\includegraphics[scale=1]{mvc.ps}

Para a elaboração desse projeto, fez-se uso do Modelo 2. Através do modelo foi possível centralizar a lógica de despachar requisições na classe DispatchAction, facilitando a implementação do controle de segurança e acesso ao sistema.

Para facilitar o uso do Modelo 2, foi utilizado o framework (``arcabouço'') Struts. O Struts é um framework de código aberto que fornece componentes de controle e interage com outras tecnologias de acesso à base de dados padrões como JDBC e EJB, além de interagir com várias ferramentas fornecidas por terceiros como Hibernate, iBATIS, ou Object Relational Bridge.

A princípio, o Struts também poderia ser utilizado como ferramenta para o módulo de apresentação. Entretanto, para que isso ocorresse, as páginas web deveriam ser implementadas utilizando-se JSP's (Java Server Pages), que apresentam a desvantagem de serem difíceis de serem depuradas.

Por este motivo, optou-se pelo uso da ferramenta de templates Velocity no módulo de apresentação. O Velocity possui uma linguagem de templates (Velocity Template language - VTL) simples, porém muito poderosa. Templates são arquivos que descrevem uma estrutura de formatação, contendo diretivas indicando valores a serem inseridos e ações a serem executadas pelo sistema.



Subsections
next up previous contents
Next: Interface web Up: Arquitetura do sistema Previous: Visão geral   Sumário
Cleber Miranda Barboza 2004-02-29