desenvolvendo aplicação utilizando java server faces

Propaganda
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA
SERVER FACES
Alexandre Egleilton Araújo, Jaime Willian Dias
Universidade Paranaense (Unipar)
Paranavaí– PR– Brasil
[email protected], [email protected]
Resumo. Este artigo compreende uma revisão bibliográfica da tecnologia
JavaServer Faces, abordando seus conceitos e importância no decorrer do
desenvolvimento de um produto computacional de qualidade. O JavaServer Faces
vem sendo muito utilizado no desenvolvimento de softwares por garantir segurança
para a aplicação e a eficiência no desenvolvimento do software. Uma das maneiras
de comprovar essa eficiência observada na pesquisa, é através do desenvolvimento
de um sistema utilizando o JSF, verificando assim, na prática, seus benefícios reais.
1. Introdução
As tecnologias utilizadas no desenvolvimento de aplicações WEB vem mudando e se
atualizando constantemente. Inicialmente os sites possuíam apenas conteúdos
estáticos, depois passaram a oferecer páginas com conteúdos dinâmicos e
personalizados.
Devido a essa maior complexidade surgiu os frameworks, que de acordo com
[Muller, 2008] nada mais são do que uma abstração que une códigos comuns, entre
vários projetos de software, provendo uma funcionalidade genérica, o que facilita
muito o trabalho do desenvolvedor, tendo em vista os erros que cometeria no
desenvolvimento e as dificuldades que passaria, a framework já corrigiu, reduzindo o
tempo de desenvolvimento, aumentando a produtividade do software.
Segundo [Bueno 2013] JavaServer Faces, nada mais é do que uma framework
onde é efetuada a elaboração de interfaces do usuário para sistemas web, colocando
componentes em um formulário e ligando-os a objetos Java, de uma maneira que ele
faz a separação entre a lógica e regras de negócio, navegação e conexões com serviços
externos, seguindo a estrutura do modelo MVC.
2. Metodologia
Para o desenvolvimento do trabalho foi realizada uma vasta revisão bibliográfica sobre
o tema em livros e sites, a fim de chegar às informações sobre conceitos e importância
da utilização da ferramenta JSF, no qual a comprovação dos benefícios apontados por
ela foi visualizada através do desenvolvimento de um produto computacional no qual
foi utilizado o JSF.
3. Desenvolvimento
3.1. JavaServer Faces
“O JSF (JavaServer Faces) é a tecnologia” padrão do J2EE para criar aplicações Web.
“Ele herda das tecnologias (JSP) e Servlets.” [GOMES, 2008]
De acordo com [Bueno, 2013], o JSF possui alguns componentes simples como o input
e botões e também sofisticados como o de tabela de dados.
O JSF foi projetado para ser flexível não se limitando a nenhuma linguagem de
remarcação em particular, nem a protocolos ou tipo de clientes. Ele também permite a
criação de componentes próprios a partir de classes, conforme mencionado
anteriormente. [PITANGA, 2004]
Segundo o site Caelum, o JSF é uma tecnologia que nos permite criar
aplicações Java para Web utilizando componentes visuais pré-prontos, de forma que o
desenvolvedor não se preocupe com Java script e HTML. Basta adicionar os
componentes (calendários, tabelas, formulários) que serão renderizados e exibidos em
formato HTML.
JSF é uma tecnologia que incorpora características de um framework MVC
para WEB e de um modelo de interfaces gráficas baseado em eventos. [PITANGA,
2004]
Por basear-se no padrão de projeto MVC, uma das melhores e maiores
vantagens do JSF, é a nitidez entre a visualização e regras de negócio (modelo).
3.2 MVC
Segundo Gonsalves o modelo MVC é definido da seguinte maneira:
“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á relacionado ao trabalho atual da aplicação que
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]
A figura 1 vem exemplificar o modelo MVC que é distribuído da seguinte
forma:
O model é responsável por representar os objetos de negócio, manter o estado
da aplicação e fornecer ao controlador o acesso aos dados. É no model que faz toda a
parte de inteligente do sistema onde se faz validações, processamento cálculos, entre
outros.
A view representa a parte que interage com o usuário, o que ele tem acesso,
sendo responsável por definir a forma que os dados serão exibidos e encaminhar as
ações dos mesmos para o controlador, nela só colocamos o que está relacionado à
visão dos dados e não a lógica da aplicação.
O controller é responsável pelo funcionamento do software, onde recebe as
requisições do usuário, montando os objetos correspondentes e fazendo assim a
comunicação com o modelo, onde fica a parte lógica do software como a regra de
negócio retornando assim o resultado para o usuário.
Figura 1 - Fluxo Modelo de Desenvolvimento MVC.
Fonte: http://cscie153.dce.harvard.edu/lecture_notes/2012/20121112/slide10.html
3.2 Características JSF
Segundo o site de Caelum, que fornece apostilas sobre linguagens de desenvolvimento,
o JSF traz algumas características importantes como:
•
Guarda o estado dos componentes
O estado dos componentes é sempre guardado automaticamente, criando a
característica Stateful. Isso nos permite, por exemplo, criar formulários de várias
páginas e navegar nos vários passos dele com o estado das telas sendo mantidos.
•
Separa as camadas
Outra característica muito importante na arquitetura do JSF é a separação que faz entre
as camadas de apresentação e de aplicação, já que é baseado no modelo MVC.
•
Especificação: várias implementação
O JSF ainda tem a vantagem de ser uma especificação do Java EE, isto é, todo servidor
de aplicações Java tem que vir com uma implementação dela e há diversas outras
disponíveis.
3.3 Vantagens JSF
De acordo com [PITANGA, 2004] JavaServer Faces, oferece ganhos no
desenvolvimento de aplicações WEB por diversos motivos:
•
Permite que o desenvolvedor crie UIs através de um conjunto de componentes
UIs pré-definidos;
•
Fornece um conjunto de tags JSP para acessar os componentes;
•
Reusa componentes da página;
•
Associa os eventos do lado cliente com os manipuladores dos eventos do lado
servidor (os componentes de entrada possuem um valor local representando o
estado no lado servidor);
•
Fornece separação de funções que envolvem a construção de aplicações WEB.
Já o site NetBeans IDE, informa que o JSF oferece facilidade de uso das seguintes
formas:
•
Facilita a construção de uma IU usando um conjunto de componentes
reutilizáveis;
•
Simplifica a migração de dados da aplicação para a IU e provenientes dela
•
Ajuda a gerenciar o estado da IU nas solicitações do servidor
•
Oferece um modelo simples para conectar os eventos gerados pelo cliente ao
código da aplicação do servidor
•
Permite personalizar os componentes de UI para que sejam facilmente
construídos e reutilizados
4. Considerações finais
De acordo com o produto computacional que foi desenvolvido, se fez possível a
comprovação do que foi encontrado na revisão bibliográfica, como as diversas
vantagens encontradas no uso do JSF.
O uso do JavaServer Faces no momento do desenvolvimento do produto
computacional, trouxe a verificação de que sua utilização agregou inúmeros valores no
desenvolvimento da aplicação tornando o código mais limpo, sendo utilizado assim,
um número muito menor de linhas dentro do desenvolvimento, deixando o código
fonte com uma fácil compreensão e extremamente mais organizado. A utilização do
JSF no desenvolvimento também trouxe a vantagem de separar a lógica das regras de
negócio o que possibilitou focar mais no desenvolvimento do software.
Com a aplicação do framework JSF no desenvolvimento da aplicação foi
alcançado o objetivo e superadas as expectativas previstas em todos os processos.
Referencias
PITANGA, T. JavaServer Faces: A mais nova tecnologia Java para
desenvolvimento
WEB.
Disponivel
em:
<http://www.guj.com.br/content/articles/jsf/jsf.pdf> acesso em: 30/07/2015
Introdução
ao
JSF
e
Primefaces.
Disponivel
<http://www.caelum.com.br/apostila-java-testes-jsf-web-services-designpatterns/introducao-ao-jsf-e-primefaces/> Acesso em: 07/08/2015
GONSALVES, Edson.
em:
. Rio de Janeiro. Ciência Moderna Ltda, 2007.
Introdução
ao
JavaServer
Faces.
Disponivel
em:
<https://netbeans.org/kb/docs/web/jsf20-intro_pt_BR.html> Acesso em: 07/08/2015
Muller, N. Framework, o que é e para que serve?. 2008 Disponivel em:
http://www.oficinadanet.com.br/artigo/1294/framework_o_que_e_e_para_que_serve>
Aceso em: 10/08/2015
BUENO, Kassia. J. O que é Java Server Faces?
http://fabrica.ms.senac.br/2013/06/o-que-e-jsf-java-server-faces/>
10/08/2015
Disponivel
Acesso
em:
em:
GOMES, Yuri. M. P. Java na Web com JSF, Sping, Hibernate e Netbeans 6. Rio de
Janeiro: Editora Ciencia Moderna Ltda.2008.
MVC
onde
e
como.
Disponivel
http://sergiotaborda.javabuilding.com/2011/05/mvc-onde-e-como/
Acesso
10/08/2015
em:
em:
Download