Baixar - Unipar

Propaganda
ABORDAGEM DE FRAMEWORKS PARA JSF QUE
AUXILIAM O DESENVOLVIMENTO DE SOFTWARE
Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino1
¹Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected]
[email protected]
Resumo. Este artigo apresenta alguns frameworks que podem aumentar a
produtividade e agilizar o desenvolvimento de software, embora para ter esse
ganho, deve-se utilizar os frameworks de forma correta. Como existe uma
grande variedade, devemos analisar o contexto de desenvolvimento da
aplicação, para sim obter o resultado desejado, serão apresentados os
frameworks que estão em maior evidência e utilização no mercado. Todo o
conteúdo foi pesquisado através de livros, e-books, apostilas, blogs, sites e
fórum. Com a utilização dos frameworks o software acaba sendo desenvolvido
de forma mais rápida e com qualidade.
1. Introdução
A evolução dos softwares, tem crescido de forma precoce, com esse avanço tecnológico
surgiram alguns frameworks que auxiliam no desenvolvimento desses produtos
computacionais. Sua função é dar agilidade para o desenvolvedor, pois eles já estão
prontos e possuem código aberto, conforme a necessidade do projeto o desenvolvedor
define qual framework ele irá utilizar.
Segundo a definição de [Oliveira, 2005], um framework é uma solução para um
conjunto de problemas em comum, sendo possível utilizá-los tanto em classes e
interfaces, pois é considerado como uma solução quase completa.
Podemos observa que softwares de pequeno, médio e grande porte podem fazer
uso de frameworks, vale lembrar que não existe o termo “esse framework é o melhor entre
todos os existentes no mercado”, pois cada um deles serve para uma funcionalidade
específica.
Serão apresentados os frameworks Maven, JSF (Java Server Faces), PrimeFaces,
CDI (Context and Dependency Injection), Hibernate e Spring Security, explicando suas
funcionalidades para cada um deles dentro de um aplicação web.
2. Metodologia
Para a realização deste trabalho foi produzido uma extensa revisão bibliográfica em
blogs, e-books e feedback de profissionais da área.
O objetivo foi apresentar cada um dos frameworks citados acima e como são seus
comportamentos dentro de um software.
3. Desenvolvimento
3.1. Repositório Maven
O Maven é uma ferramenta que faz o gerenciamento de bibliotecas que o projeto irá
utilizar, ele surgiu dá necessidade que havia em grandes projetos, pois as equipes de
desenvolvimento, perdiam muito tempo procurando as bibliotecas corretas para adicionar
no projeto e as vezes algum desenvolvedor não estava com a biblioteca correta e não
conseguia executar o projeto.
Ele é configurado por meio do arquivo pom.xml (Project Object Model) no
mesmo declaramos o tipo de empacotamento, suas dependências, repositórios de onde as
dependências serão buscadas, podendo ser tanto repositórios locais ou remotos.
Segundo [Mkyong, s.d.], Maven, é uma ferramenta inovadora de gerenciamento
de projetos de software, tendo sua característica principal de ser capaz de baixar as
bibliotecas de dependência automaticamente.
3.2. JSF (Java Server Faces)
O JSF é um framework web MVC (Model-View-Controller) utilizado mundialmente e
referência para aplicações web, pois define um conjunto de componentes de interface que
podem ser mesclados com HTML5, CSS, componentes de regra de negócio e persistência
dos dados com EJB (Enterprise Java Beans), CDI (Contexts and Dependency Injection),
dá suporte à conexão com o banco de dados e faz a gerência da camada de controle da
aplicação com isso torna-se uma arquitetura flexível buscando simplificar e padronizar a
estrutura do projeto.
Segundo [Melo Jr, 2007], o MVC é uma estratégia de projeto que visa a separação
de camadas de software, implementando um use-case interativo em três componentes:
 Model (modelo): É responsável para manipular os dados, e não alterar o
estado da View e fornecer os valores alterados da mesma.
 View (visão): Responsável por capturar as ações do usuário e se comunicar
com o Controller.
 Controller (controle): Recebe solicitações da View, chama as regras de
negócio necessárias, comanda a alteração do estado do Model e a
atualização das informações exibidas na View.
Na Figura 1 é exibido a forma que os três elementos interagem entre si.
Figura 1 – MVC.
Fonte: [GAMA, 2011]
3.3. PrimeFaces suíte para JSF
O PrimeFaces é um framework que contém seu código aberto que conta com diversos
componentes, sendo todos personalizáveis da forma que o desenvolvedor desejar utilizar
juntamente com JSF que implementa também as tecnologias AJAX e JavaScript.
O que torna o PrimeFaces um framework muito utilizado é o fato dele
disponibilizar um showcase com exemplos práticos de como utilizar seus componentes,
exibindo várias formas de trabalhar com os componentes, desta forma estimula o
desenvolvedor a aprender sozinho e não ficar limitado por não saber como implementar
o componente que ele deseja utilizar.
Segundo [PrimeFaces, s.d.], este framework é uma biblioteca leve que faz com
que as decisões tomadas mantenha-a leve, normalmente com a adição de terceiros podem
sobrecarregar a biblioteca, embora este não é o caso desta.
3.4. CDI (Context and Dependency Injection)
Este framework permiti que qualquer um dos objetos gerenciados sejam acessíveis
diretamente por uma interface de JSF ou JSP através de Unified Expression Language, dá
mais flexibilidade para o desenvolvedor implementar, possuindo um novo contexto web,
integrando ao Request, Application e Session, chamado de Conversation.
Segundo [Lazarotti, s.d.], podemos realizar a injeção de três formas: injeção por
atributo, por método set ou por construtor. Em qualquer modo é possível utilizar o
qualifiers para resolver a ambiguidade na injeção.
3.5. Hibernate
O Hibernate é um framework para mapeamento objeto relacional para Java, pois ele faz
a transformação dos dados de um objeto se tornarem uma única linha no banco de dados,
ou inversamente, a linha do banco de dados se torna um objeto. [K19, s.d.]
O interessante deste framework é que através dele tem a possibilidade de construir
consultas orientadas a objeto utilizando HQL (Hibernate Query Language), bem parecida
com SQL.
3.6. Spring Security
É um framework open source utilizado para a segurança do software, segundo o conceito do
autor [Zanini, 2009], o Spring Security surgiu com a finalidade de melhorar o suporte à
segurança oferecido pela especificação Java Enterprise Edition e centraliza a configuração
em um único XML, dispensando configurações do container e tornando a aplicação web um
arquivo WAR auto contido.
4. Considerações Finais
A utilização de frameworks agiliza o desenvolvimento do software, mas primeiramente
deve-se analisar quais são as necessidades do projeto, para fazer uso dos mesmos.
Observamos que a produtividade dos projetos que utilizam frameworks são
maiores, pois os mecanismos oferecidos pelos frameworks já estão prontos e geralmente
só precisam de algumas modificações para sanar a necessidade do produto computacional
que está sendo desenvolvido.
Já os projetos que não fazem uso de frameworks não conseguem as mesmas
funcionalidades no mesmo intervalo de tempo de desenvolvimento, porém 99,9% o
tempo será muito maior para desenvolver estas funcionalidades, frisando também que
para a contratação de desenvolvedores as empresas tem como requisito que os mesmos
conheçam no mínimo os frameworks utilizados no projeto.
5. Referências
Gama, A (2011). MVC Simples e Prático, Parte I.
<http://www.k19.com.br/artigos/mvc-simples-e-pratico-parte-i/>
20/08/2014.
Disponível
Acesso
em:
em:
K19 (s.d.). Configurando Hibernate com MySQL. Disponível em:
<http://www.k19.com.br/artigos/configurando-hibernate-com-mysql/> Acesso em:
27/08/2014.
Lazarotti, A (s.d.). CDI Injeção de Dependência e Gerenciamento de Contextos
no Java EE 6. 37p.
Melo Jr, C. S (2007). Guia do Java Enterprise Edition 5: desenvolvendo aplicações
corporativas. 5. ed. Rio de Janeiro: Brasport.
Mkyong
(s.d.).
Maven
tutorial.
Available
on:
<http://www.mkyong.com/tutorials/maven-tutorials/>. Acess: September 27. 2014.
Oliveira, E. C. M (2005). O universo dos Frameworks Java. Disponível em:
<http://www.linhadecodigo.com.br/artigo/758/o-universo-dos-frameworksjava.aspx>. Acesso em: 20/08/2014.
PrimeFaces (s.d.). PrimeFaces ultimate JSF comonent suite. Available on:
<http://www.primefaces.org/>. Acess: September 27. 2014.
Zanini,
M
(2009).
Spring
Security.
Disponível
em:
<http://www.devmedia.com.br/websys.5/webreader_print.asp?cat=6&artigo=1591&
revista=impressao_69#a-1591>. Acesso em: 20/08/2014.
Download