DESENVOLVIMENTO WEB UTILIZANDO
FRAMEWORK PRIMEFACES E OUTRAS
TECNOLOGIAS ATUAIS
Emanuel M. Godoy1, Ricardo Ribeiro Rufino1
1
Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected], [email protected]
Resumo. O presente artigo tem como objetivo apresentar uma arquitetura
consistente para o desenvolvimento web tendo como base a plataforma J2EE
(Java 2 Enterprise Edition), trabalhando em conjunto com tecnologias tais
como JSF (Java Server Faces), o framework Primefaces, Glassfish e Spring
Security, entre outras, com o objetivo de confeccionar um produto
computacional de qualidade utilizando essas tecnologias, trabalhando com a
linguagem de programação Java e o padrão de arquitetura MVC (modelo,
visão e controle), proporcionando assim um software final de qualidade dentro
dos padrões para desenvolvimento web.
1. Introdução
Nos dias atuais, todo software implementado ou confeccionado para a plataforma web,
precisa ter uma arquitetura consistente e segura o bastante para adequar-se ao escopo do
projeto e requisitos do software que será desenvolvido. Sendo assim, essa arquitetura
pode ser definida como uma organização de suma importância para um sistema
incorporada em seus componentes, os seus relacionamentos com o ambiente, e os
princípios que se fazem conduzir em seu design e evolução.
O desenvolvimento do software em questão, somado a essas tecnologias e
frameworks, é indispensável para a implementação de uma aplicação nos padrões web
dos dias atuais, podendo ter um grau de maior ou menor complexidade no decorrer do
seu desenvolvimento. Atualmente, o mercado nos disponibiliza várias tecnologias que
podem ser utilizadas para a implementação de softwares web, como por exemplo,
plataforma J2EE (Java 2 Enterprise Edition), JSF (Java Server Faces), Glassfish
(servidor web) e Spring Security ( para segurança da aplicação), entre outras.
O objetivo do trabalho em questão é desenvolver de um produto computacional
final utilizando essas tecnologias, proporcionando assim a confecção de um sistema de
software de qualidade, tentando atender as necessidades do cliente e visando obter os
resultados esperados.
2. Metodologia
Para o desenvolvimento deste trabalho foi realizada uma revisão bibliográfica em
materiais como livros em formato digital (ebooks), artigos e sites da internet. Com o
intuito de absorver conhecimento e material necessário para a realização do trabalho de
forma que o mesmo consiga ser bastante claro e objetivo, tendo assim um resultado
satisfatório.
3. Desenvolvimento
3.1. A plataforma J2EE
A plataforma J2EE (Java 2 Enterprise Edition) é uma plataforma criada para servidores
com aplicações web, desenvolvida na linguagem de programação Java.
Essa tecnologia consiste em um sistema de multicamadas que dá suporte a
componentes de apresentação (JSF, Servlet), auxilia na utilização de componentes de
regra de negócio e também componentes de persistência no banco de dados como o EJB
(Enterprise Java Beans), suporta também a conexão com o banco de dados, e possibilita
maior flexibilidade da arquitetura do projeto de forma bem mais simples, isso feito
através do gerenciamento da camada de controle da aplicação.
A arquitetura de um software consiste na definição de seus componentes, as
propriedades externamente visíveis destes elementos e os relacionamentos entre eles,
enfatizando a separação dos interesses [BASS et al, 2003].
3.2. O framework JSF
O framework JSF (Java Server Faces) é um framework para desenvolvimento de
aplicações web com Java que implementa o padrão Model View Controller (MVC), baseado
na configuração de um controlador para o fluxo de informações entre as camadas de visão e
web. [ORACLE, 2015].
O JSF torna o desenvolvimento de aplicações web mais rápidas, aumentando a
produtividade e também minimiza a dificuldade de manutenção da aplicação. E devido o
JSF ser muito dinâmico, ele ainda possibilita a utilização de diversas tecnologias, como CSS
( Cascading Style Sheets), HTML, validações e conversões de dados, para a criação de
novos componentes. Por basear-se no padrão MVC, o JSF tem como uma vantagem a
separação da camada View (visualização) da camada Controller (negócio).
3.3. Padrão de Arquitetura MVC
O padrão de arquitetura MVC (Modelo, Visão e Controle) é um tipo de padrão para
desenvolvimento web que permite a separação entre a lógica de negócio da aplicação e
as interfaces de visualização, dividindo assim o sistema em três partes, cada uma
contendo suas responsabilidades de forma distinta. Essas separações (partes) são
denominadas de modelo, visão e controle.
A camada Modelo representa os dados, e mantém o estado da aplicação pela
definição dos mesmos armazenados e fornece o acesso às informações quando se faz
necessário. A camada Visão é responsável pela exibição das informações vindas da
camada Modelo e também é responsável por captar e enviar aos controles, todas as
ações dos usuários sobre os dados apresentados. A camada Controle faz a ligação entre
camadas Modelo e Visão, acionando um ou outro, de acordo com as requisições
recebidas. Essa interação produz modificações no estado do sistema que então provoca
respostas diferenciadas ao cliente.
Ao dividir em grupos as diversas tarefas de um sistema, o padrão MVC faz com
que a aplicação passe a ter uma arquitetura onde a interface pode ser modificada sem
preocupações com alterações na camada de lógica do negócio. [Engholm Júnior, H
2010]. A figura 1 mostra a arquitetura JSF baseado no padrão MVC.
Figura 1. Arquitetura do JSF baseada no MVC
Fonte: http://enucomp.com.br/2012/conteudos/AnaisVENUCOMP2012.pdf
3.4. Primefaces
O Primefaces é um framework para interface gráfica, composto por mais de 100
componentes para o JSF, ou seja, é uma biblioteca de componentes para JSF, com
suporte nativo a Ajax e HTML 5. É de fácil utilização, possui boa documentação e tem
ricos exemplos de códigos disponibilizados na web para auxílio na utilização dos
mesmos.
PrimeFaces é uma biblioteca leve, todas as decisões tomadas são baseadas em
manter as aplicações tão leves quanto possível. Normalmente a adição de uma solução
de terceiros poderia trazer uma sobrecarga, mas no entanto, este não é o caso com
PrimeFaces. É apenas um único .jar com nenhuma dependência e nada para configurar.
[Prime Tecnology, 2015].
3.5. Servidor Web Glassfish
O GlassFish é um software livre para a plataforma J2EE, e é também um servidor web,
sendo duplamente licenciado sob duas licenças de software livre: Common
Development and Distribution License (CDDL) e GNU General Public License (GPL)
alterada exceção para classpath.
De fácil manuseio, desde sua instalação até a sua utilização, é uma ferramenta
que pode ser usada em qualquer aplicação web, e podem-se obter resultados
satisfatórios quanto a sua utilização no desenvolvimento do projeto.
3.6. Segurança com Spring Security
O Spring Security é uma alternativa à segurança oferecida pela especificação Java EE.
Ele centraliza as configurações em um único arquivo XML, dispensando configurações
do container, tornando a aplicação web portável. Assim, todo o controle passa a ser feito
de maneira declarativa, retirando do desenvolvedor a responsabilidade de ter que
controlar o acesso a recursos por perfis de maneira programática, utilizando filtros, por
exemplo.
Essa poderosa ferramenta faz a segurança baseada em papéis, chamados roles,
onde através desses papeis podemos informar á aplicação qual área do sistema está
sendo acessada, quais recursos podem ter o acesso liberado e quais usuários tem a
permissão necessária para acessar determinada área do sistema.
Spring Security é uma estrutura que se concentra em fornecer autenticação e
autorização para aplicativos Java. Como todos os projetos do tipo, o poder real do
Spring Security é encontrado em quão facilmente ele pode ser estendido para atender
aos requisitos personalizados. [Spring Security, 2015]. A figura 2 mostra o
gerenciamento de dependência do Spring Security.
Figura 2. Gerenciamento de dependência do Spring Security
Fonte: http://projects.spring.io/spring-security/
4. Considerações finais
O desenvolvimento de aplicações web tem evoluído muito nos últimos anos, sempre
utilizando novas tecnologias, buscando sempre trabalhar com uma arquitetura
consistente e segura o bastante para adequar-se ao escopo do projeto e os requisitos do
software que será desenvolvido, buscando sempre a confecção de sistemas
computacionais de qualidade, tendo como resultado final um produto satisfatório.
O presente trabalhou tratou de ferramentas utilizadas na implementação de
sistemas ou aplicações web, mostrando um pouco de algumas das tecnologias que estão
sendo utilizadas no projeto, suas funcionalidades e características, bem como também a
importância das mesmas para a confecção de um produto computacional de qualidade.
É de suma importância para a continuidade, e por ventura a conclusão do projeto
citado no presente artigo, que o conhecimento sobre essas tecnologias continue
aumentando de forma gradativa e satisfatória, para chegar ao objetivo final do trabalho,
esse que é a conclusão do projeto do sistema de software, sempre respeitando os
devidos padrões para web e buscando atender as necessidades que levaram o cliente a
requerer o desenvolvimento do sistema em questão.
5. Referências
BASS, Len. et al (2003), April. Software Architecture in Practice, 2nd. ed. AddisonWesley Professional.
ORACLE. JavaServer Faces technology overview. 2015. Disponível em:
<http://www.oracle.com/technetwork/java/javaee/overview-140548.html>. Acesso em:
23/07/2015
Engholm Júnior, H. (2010). Engenharia de Software na Prática. São Paulo: Novatec
Editora.
Prime Tecnology. “Why PrimeFaces?”
Disponível em: <http://www.primefaces.org/whyprimefaces.html>. Acesso em
28/07/2015
Projects Spring. “Spring Security”
Disponível em: <http://projects.spring.io/spring-security/>. Acesso em 26/07/2015
PITANGA Talita. Java Server Faces: a mais nova tecnologia para desenvolvimento
web.
Disponível em:<www.guj.com.br/content/articles/jsf/jsf.pdf>. Acesso em: 25/07/2015.
LEOCADIO, Jailson N. et al (2012) Desenvolvimento Web com Framework
Primefaces. Disponivel em:
< http://enucomp.com.br/2012/conteudos/AnaisVENUCOMP2012.pdf >. Acesso em:
28/07/2015.
Download

desenvolvimento web utilizando framework primefaces e