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

Camada de apresentação

No desenho deste projeto, os principais componentes presentes na camada de apresentação são:

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á a introdução do módulo de controle que desempenha o papel descrito acima.

Figura: Modelo MVC aplicado a camada de apresentação.
\includegraphics[scale=1]{mvc.ps}

Para a elaboração desse projeto, fez-se uso do Modelo 2. Através desse modelo foi possível centralizar a lógica de despachar requisições em uma única classe (ver figura), o que facilitou 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 para ser utilizado 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 com grande parte de sua estrutura e formatação prontos, 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
Carlos Henrique de Fernandes 2003-12-08