Artigo Webmobile 8- Java Server Faces e MVC
Este artigo apresenta como implementar uma aplicação web utilizando os conceitos de MVC.
Clique aqui para ler esse artigo em PDF.
Java Server Faces e MVC
Implementando o modelo MVC com JSF (e um comparativo com .NET)
Atualmente, o desenvolvimento de soluções web é cada vez mais comum e, em muitos casos, indispensável. Com isso, tem se observado o surgimento de inúmeros mecanismos que visam facilitar este tipo de desenvolvimento (chamados de framework). Dentre os mais populares, temos o framework JSF (Java Server Faces) e o framework .NET (Microsoft).
Estes possuem uma característica marcante: são fortemente baseados no modelo MVC (Model View Controller). Desta forma, tornou-se imprescindível ao desenvolvedor, qualquer que seja a sua linguagem de preferência, conhecer mais esta sigla e saber utilizar suas vantagens.
Outra característica desses frameworks é que a maioria não se restringe somente ao desenvolvimento de páginas web. O framework JSF, por exemplo, pode ser utilizado para o desenvolvimento de programas tradicionais (software desktop) ou então para o desenvolvimento de aplicativos web para serem acessados principalmente por dispositivos móveis, como palms e celulares.
Este artigo apresenta como implementar uma aplicação web utilizando os conceitos de MVC. Essa aplicação consiste de uma pequena página que interage com o usuário implementada através do framework JSF. Feito isto, vamos também mostrar como se implementa o mesmo aplicativo através do .NET Framework, com a linguagem C#. No final do artigo realizamos uma comparação entre o JSF e o framework .NET. Esta comparação visa mostrar a equivalência das duas tecnologias (ambas podem dar suporte ao modelo MVC), apesar de utilizarem mecanismos de desenvolvimento distintos (arquivos de configuração, organização dos arquivos e classes compiladas).
O modelo MVC
O modelo MVC é uma forma de organizar a arquitetura da aplicação a ser desenvolvida criando três camadas distintas: Modelo, Visão e Controlador. Essas camadas são independentes uma das outras e são compostas por classes distintas para manipular cada parte do software: um conjunto de classes para trabalhar com os dados, outro para interagir com a interface gráfica e outro conjunto com os elementos de controle.
Essa solução arquitetural é bem comum no desenvolvimento de software. Ela é utilizada, por exemplo, nos componentes da API Java/Swing.
Resumindo, podemos atribuir as seguintes responsabilidades para cada componente do modelo MVC:
·Modelo: manipular os dados da aplicação, sejam eles dados persistidos ou os dados informados pelo usuário;
·Visão: implementar a aparência da interface gráfica da aplicação;
·Controlador: implementar as regras de negócio. Ele é composto por componentes que utilizam os dados do modelo como dados de entrada para a lógica da aplicação.
A Figura 1 permite ilustrar essas responsabilidades.
Ao fazer uma relação com uma aplicação web, temos os seguintes mapeamentos (Nota 1):
·Modelo: manipula dados do banco de dados e dados digitados pelo usuário em formulários;
·Visão: implementada através de tags HTML;
·Controlador: implementado através de componentes ou scripts que rodam no servidor (exemplo: ASP, JSP, PHP).
Figura 1. As três camadas do MVC. O Controlador atualiza os dados do Modelo para que a Visão possa atualizar a interface visível ao usuário
Nota 1. Separação em 3 camadas
É interessante salientar que seguir este modelo implica em jamais utilizarmos código de programação (java, asp, php etc.) ou em fazermos acessos a bancos de dados em meio às tags HTML. Em um software desktop, implica em jamais colocarmos a lógica da aplicação diretamente em um manipulador de evento como o manipulador do evento click de um botão gráfico.
Utilizando Java e JSF na implementação de uma aplicação MVC
Para exemplificar uma aplicação utilizando os conceitos de MVC, implementaremos uma funcionalidade web utilizando Java e JSF. Para testar essa aplicação, o container web Tomcat 5.5 foi utilizado.
O JSF é um conjunto de ferramentas criadas com o intuito de facilitar o desenvolvimento de aplicações Java/JSP. Ele é formado por um conjunto de tags usadas na criação de páginas JSP que oferecem ao desenvolvedor diversas funcionalidades como a obtenção de forma automática dos dados digitados pelo usuário nos formulários da aplicação."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo