Felipe Moreira Decol Claro

Propaganda
DESENVOLVENDO APLICAÇÕES UTILIZANDO
JAVASERVER FACES E MVC
Felipe Moreira Decol Claro1, Késsia Rita da Costa Marchi1
1
Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected], [email protected]
Resumo. Este artigo compreende o estudo da tecnologia JavaServer Faces e
MVC, abordando seus conceitos e a sua importância no desenvolvimento de
um produto computacional de qualidade. O Java Server Faces e o MVC vem
sendo muito utilizado no desenvolvimento de softwares por garantir
segurança para a aplicação e a eficiência no desenvolvimento do software.
1. Introdução
Frameworks são bibliotecas que vem sendo desenvolvidas com o intuito de agilizar e
facilitar o desenvolvimento de aplicações, poupando o tempo que o desenvolvedor
gastaria para criar um método, a framework já traz tudo pronto, desta forma aumentando
a produtividade e consistência do projeto, fazendo com que o sistema seja um produto
de qualidade. [SCARPINI 2011]
O JavaServer Faces é um framework de componentes do lado do servidor para a
construção de aplicações web baseadas na tecnologia Java, desenvolvendo aplicações
mais robustas e flexíveis separando o modelo da visão. [ORACLE 2013]
O uso do framework baseada no padrão de desenvolvimento MVC (Modelo,
Visão e Controle), auxilia, organiza e separa a camada de interface com as regras de
negocio do sistema, permitindo que ele possa ser desenvolvido em plataforma WEB e
com a mesma regra de negócio possa ser desenvolvido na plataforma DESKTOP.
[NASCIMENTO 2005]
Com o uso de frameworks o trabalho de um desenvolvedor iniciante é facilitado,
tendo em vista os erros que cometeria no desenvolvimento e as dificuldades que
passaria no projeto, à framework já corrigiu, criando testando e implementando um
novo padrão de desenvolvimento, reduzindo o tempo de desenvolvimento, aumentada a
produtividade e qualidade do software.
Esse artigo tem como objetivo apresentar as tecnologias JavaServer Faces (JSF)
e Model View Control (MVC) e seu funcionamento no desenvolvimento de um
software.
2. A utilização do JavaServer Faces.
O JavaServer Faces é a tecnologia padrão do Java 2 Plataform Enterprise Edition
(J2EE) para desenvolver aplicações web. Ele herda das tecnologias (JSP) Java Serves
Pages e Servlets, e extende seus conceitos com um ciclo de vida e um conjunto de
componentes e recursos avançados e focados no desenvolvimento para web. [GOMES
2008]
O uso da tecnologia JSF exige dedicação e tempo, pois não é uma tarefa fácil.
Entretanto, ao redor do mundo, muitos desenvolvedores já criaram diversas bibliotecas
que auxiliam nesta tarefa, gerando o que chamamos de framework.
O JavaServer Faces é o framework notável em termos de programação em Java,
boa parte de suas promessas são cumprida, por desenvolver aplicações mais robustas e
flexíveis não se mistura código do modelo com a visão. [GEARY 2007]
Com a utilização do JavaServer Faces (JSF) no desenvolvimento de um
software, torna-o mais confiável e flexível fazendo com que a aplicação tenha
excelentes resultados.
O JSF é uma tecnologia que recebe características de um framework MVC para
WEB e de um modelo baseado em interfaces gráficas. Por basear-se no padrão MVC,
uma de suas vantagens é de poder separar a interface gráfica com a regra de negocio do
sistema. [PITANGA 2004]
O JSF tem um ótimo rendimento quando se no desenvolvimento de um software,
por concentrar-se grande parte de códigos redundantes, a transparência na separação das
camadas do MVC, deixando ainda clara a ideia de trabalhar com aplicações em
camadas.
“No JSF, o controle é composto por um servlet denominado FacesServlet, por
arquivos de configuração e por um conjunto de manipuladores de ações e observadores
de eventos. O FacesServlet é responsável por receber requisições da WEB, redirecionálas para o modelo e então remeter uma resposta.” [PITANGA 2004]
Facelets é uma linguagem leve e poderosa, que é usada para construir
referências JSF usando HTML. As características do Facelets são:

Templates para componentes de páginas;

Reutilização de código através de templates;

Compilação em tempo real de uma página;

Alto desempenho de execução;

Utilização de XHTML na construção de páginas;

Suporte para o Expression Language (EL);
Assim o uso de Facelets reduz tempo e trabalho, diminuindo gasto em projeto de
uma aplicação. [ORACLE 2013]
O JSF oferece um modelo de desenvolvimento bem definido baseado no padrão
MVC, tendo características que facilitam a construção e manutenção dos aplicativos
web. As funcionalidades fornecidas pela aplicação web JSF são:

Um conjunto de páginas da web em que os componentes são estabelecidos.

Um conjunto de tags para adicionar componentes para a página web.

Um descritor de implantação da web.

Um conjunto de tags personalizadas para representar objetos personalizados na
página.
A Figura 1 representa a execução de uma regra de negócio ao receber dados
vindos da camada de interface respondendo a solicitação de um usuário em uma
aplicação desenvolvida em JSF.
Figura 1. Executando uma requisição vinda da camada de interface. [PITANGA,
2004]
A separação das camadas e com o detalhamento do código, o JavaServer Faces
trás uma grande facilidade para realizar futuras manutenções e implementações de
novos módulos.
3. A utilização do padrão de desenvolvimento MVC
“O MVC é um conceito (paradigma) de engenharia de software para desenvolvimento e
design, que propõe a separação de uma aplicação em três partes distintas. O model está
relacionada ao trabalho atual que aplicação administra, a view, é interligada a exibir os
dados ou informações da aplicação, o controller está designado em controlar as duas
camadas anteriores exibindo a interface correta ou executando algum trabalho
complementar para a aplicação.” [GONSALVES 2007]
O modelo é a camada responsável pela persistência dos dados na aplicação, no
modelo conterá todas as funcionalidades como incluir, excluir, consultar e salvar, além
de outras funcionalidades como a ordenação de índices.
A visão é o local onde se você desenvolve tudo que vai ser visualizado pelo
usuário quando ele abrir o sistema, logicamente acompanhadas de um bom design, uma
boa estrutura organizacional e um ambiente agradável para quem está vendo, é também
por meio da visão que se faz as requisições das operações que se comunicam
diretamente com o controle.
O controle é responsável pelo funcionamento do software, ou seja, é o coração
da aplicação onde fica toda parte logica do software como a regra de negócios, que
abrange a politica da empresa mostrando suas etapas de funcionamento e o que pode ser
feito, com a regra de negócio implementada ele limita as ações do usuário.
As vantagens de se utilizar o modelo de desenvolvimento MVC são:

Gerenciar múltiplos visualizadores usando o mesmo modelo, isso facilita a
manutenção e os testes do software.

Mais simples na inclusão de novos clientes apenas incluindo seus visualizadores
e controles.
Figura 2. Fluxo de Trabalho do Modelo de Desenvolvimento MVC.
[HARVARD 2013]
4. Metodologia
O trabalho resultou em uma ampla pesquisa sobre modelo de desenvolvimento MVC e
framework JSF, suas definições e conceitos, utilizando a consulta de artigos e sites da
internet, livros e slides com materiais de aulas universitárias (aulas do curso de Sistemas
de Informação pela Universidade Paranaense – Unipar, Campus de Paranavaí - Paraná).
.5. Conclusão
A utilização da tecnologia Java Server Faces, mostrou-se extremamente eficiente no
quesito facilidade de uso e curva de aprendizado.
O JSF nos permite empregar camadas de MVC nas aplicações web, isso permite
a separação das regras de negócio e da camada de visão, tornando a manutenção do
sistema ágil e simples.
Outro aspecto interessante do uso do JSF nas aplicações, ainda mais interessante
que a separação das camadas do sistema é a possibilidade da compilação em tempo real
da página e a possibilidade do uso de web-templates, esta funcionalidade torna a
programação da parte visual do software muito mais veloz.
As tecnologias abordadas neste artigo foram empregadas em uma aplicação, e
alcançaram os objetivos esperados, superando as expectativas previstas.
Referências
NASCIMENTO Givanildo Santana, Framework MVC: Apace Struts ou JavaServer
Faces
Disponível
em:
<http://www.plugmasters.com.br/getContent.php?url=http://www.plugmasters.com.b
r/sys/materias/213/1/Framework-MVC:-Apache-Struts-ou-JavaServer-Faces?-parte3>.
ORACLE,
2013.
The
Java
EE
6
Tutorial
Disponível
em:
<http://docs.oracle.com/javaee/6/tutorial/doc/bnaph.html> acessado em 30/07/2013
SCARPINI, Gustavo Costa, Desenvolvimento Agil de Aplicações para WEB Utilizando
Frameworks JavaServer Faces e Apache Struts Disponível em: <
http://web.unipar.br/~seinpar/artigos/Gustavo-Costa-Scarpini.pdf >, 2011
GOMES, Yuri Marx P. “Java na Web com JSF, Spring, Hibernate e Netbeans 6”, Rio de
Janeiro: Ciência Moderna Ltda. 2008
GEARY, David.; HORSTMANN Cay. Core Java Server Faces. Rio de Janeiro Alta
Books, 2007.
PITANGA, Talita. JavaServer Faces a mais nova tecnologia para desenvolvimento web
Disponível em: <http://www.guj.com.br/content/articles/jsf/jsf.pdf>, 2004
GONSALVES, Edson. Desenvolvendo Aplicações Web com JSP, Servelts, Java Server
Faces, Hibernate, EJB 3 Persistence e Ajax. Rio de Janeiro. Ciência Moderna Ltda,
2007
HARVARD, 2013, University Extension School, Model, View, Controllet (MVC)
Design
Pattern,
Disponível
em:
<http://cscie153.dce.harvard.edu/lecture_notes/2012/20121112/slide10.html>,
acessado em 30/07/2013.
Download