TECNOLOGIAS DE AUXÍLIO PARA DESENVOLVIMENTO WEB: A VANTAGEM DA UTILIZAÇÃO DO JAVASERVER FACES COM COMPONENTES PRIMEFACES Leandro Santos Custodio1 , Jaime William Dias,1 1 Universidade Paranaense (Unipar) Paranavaı́ – PR – Brasil [email protected], [email protected] Resumo. Esse artigo trata-se de uma revisão bibliográfica sobre desenvolvimento web, utilizando JavaServer Faces (JSF) com as principais vantagens em sua utilização, agregada com os componentes Primefaces e conceitos Hibernate com Banco de Dados MySql. O artigo tem a finalidade de mostrar a facilidade de uso do framework JSF em uma aplicação construı́da com Java EE. 1. Introdução A tecnologia JavaServer Faces é uma framework para a construção de interfaces com o usuário ao lado do servidor desenvolvida pela Oracle. Projetado para ser flexı́vel, a tecnologia JavaServer Faces utiliza conceitos de interface do usuário e do nı́vel Web existentes, padrão sem limitar os desenvolvedores a uma determinada linguagem de marcação, protocolo ou dispositivo cliente. As classes de componentes de interface do usuário incluı́dos com tecnologia JavaServer Faces encapsular a funcionalidade do componente, não há apresentação especı́fica do cliente, permitindo, assim, JavaServer Faces componentes de interface a serem prestados a vários dispositivos clientes [Oracle 2016]. JavaServer Faces (JSF) é um framework de interface trabalhando no front-end do lado do servidor, tem a função de facilitar o desenvolvimentos em sistemas computacionais web, seguindo o modelo de projeto MVC (Model,View,Controller, Modelo, Visão e Controle). O JavaServer Faces (JSF) é uma framework MVC, que é utilizada para organização dos códigos de códigos, ou seja, separação de códigos fonte xhtml em pacotes Modelo, Visão e Controle. Para desenvolvimento desse artigo, foi elaborado uma pesquisa cientifica sobre o framework JSF, mostrando os recursos da mesma, a utilização da suı́te open-source de componentes Primefaces e suas vantagens de utilização em sistemas para web. Também como objetivo maior apresentar os benefı́cios dessas ferramentas no desenvolvimento de softwares. 2. Metodologia Para a elaboração desse artigo, foi feito um estudo em livros, sites, artigos cientı́ficos e apostilas online onde foram obtidos resultados reais com mais agilidade. Com base nos estudos, foi desenvolvido um sistema computacional web utilizando JavaServer Faces como Front-End, Java EE e banco de dados MySql pelo seu maior número de funções de engenharia reversa. O Software foi desenvolvido com a IDE NetBeans e GlassFish como servidor de aplicação, GlassFish que é o Servidor Oficial desenvolvido pela Oracle. 3. Desenvolvimento Este capitulo apresenta ferramentas que facilitam no desenvolvimento de softwares e são primordiais quando se busca a criação de um produto de qualidade em um menor tempo. 3.1. Java ServerFaces JSF JSF (JavaServer Faces) é um framework web baseado em Java que tem como objetivo simplificar o desenvolvimento de interfaces (telas) de sistemas computacionais para a web através de um modelo de componentes reutilizáveis. A proposta é que os sistemas sejam desenvolvidos com a mesma facilidade e produtividade que se desenvolve sistemas desktop (até mesmo com ferramentas que suportam clicar-e-arrastar componentes). [Andrade 2014] Assim, JavaServer Faces é uma framework que veio para facilitar o desenvolvimento front-end , no JSF o cotroller é definido por um servlet que é responsável por receber requisições da WEB e redirecioná-las para então remeter uma resposta. O JSF é uma tecnologia que herda o modelo JSP para criar sistemas computacionais Web. A Figura 1 mostra a arquitetura do JavaServer Faces baseada em modelo MVC – Modelo, Visão e Controle. A visualização é composta por component trees, unindo um componente ao outro para formar Interfaces mais complexas. Figura 1. arquitetura do JavaServer Faces (Fonte: Pitanga.T. [2008]). 3.2. Hibernate e Banco de Dados Mysql O Hibernate é um framework de mapeamento objeto relacional para aplicações Java, ou seja, é uma ferramenta para mapear classes Java em tabelas do banco de dados e viceversa. É bastante poderoso e dá suporte ao mapeamento de associações entre objetos, herança, polimorfismo, composição e coleções. [Magalhães 2013] Hibernate é o framework de mapeamento relacional de objeto (ORM). Ele faz todo o trabalho de criação de tabelas, atualização e gravação de dados, evitando a maioria do trabalho manual dentro do banco de dados. Segundo Linhres 2004, o Hibernate é uma ferramenta de mapeamento objeto/relacional para Java. Ele transforma os dados tabulares de um banco de dados em um grafo de objetos definido pelo desenvolvedor. Usando o Hibernate, o desenvolvedor se livra de escrever muito do código de acesso a banco de dados e de SQL que ele escreveria não usando a ferramenta, acelerando a velocidade do seu desenvolvimento de uma forma fantástica. Um esquema de banco de dados é especificado por um conjunto de definições expressas por uma linguagem especial chamada linguagem de definição de dados (Data Definition Language, DDL). O resultado da compilação de comandos de uma DDL é um conjunto tabelas que são armazenadas em um arquivo especial chamado dicionário (ou diretório) de dados. [Sanchez 2005] Segundo Juliano Niederauer e Rubens Prates , MySQL é um SGBD relacional que utiliza a linguagem padrão SQL (Structured Query Language) e é largamente utilizado em aplicações para a Internet. É o principal e mais conhecido entre os bancos de dados com código-fonte aberto. Informações indicam mais de cinco milhões de instalações do MySQL no mundo todo, inclusive em sites com alto volume de dados e de tráfego. O MySql tem como vantagem seu baixo custo e sua tecnologia complexa, além de tudo isso é um banco estável e de muita velocidade e o maior requisito que um banco deve possuir, a confiabilidade. Algumas vantagens dele são: Número ilimitado de utilização por usuários simultâneos; capacidade de manipulação de tabelas com mais de 50.000.000 de registros; alta velocidade de execução de comandos; fácil e eficiente controle de privilégios de usuários. 3.3. Primefaces O PrimeFaces é um framework baseado no padrão JavaServer Faces muito útil para auxiliar o desenvolvedor na criação de RIAs, pois ele facilita o uso de AJAX e componentes nas páginas de uma aplicação web.[Van 2016] O Primefaces tem como objetivo facilitar a programação e ganhar tempo na criação de telas do sistema, o mesmo trabalho com a Ergonomia de Software que, segundo [Barbon 2013], é o conceito referente à organização dos componentes na tela (ou componente de exibição) de um sistema para que ele mesmo se torne fácil de ser utilizado pelo usuário. Baseado no Primefaces com o uso do JavaServer Faces - JSF, foi desenvolvido um sistema computacional WEB, o código presente na Tabela 1 pertence ao sistema implementado e mostra a facilidade na criação de campos utilizando componentes do Primefaces, sendo todos eles responsivos, adaptáveis a qualquer tela ou dispositivo, trazendo a vantagem de multiplataformas utilizando poucos códigos. Tabela 1. Complementos Primefaces <:outputLabel for=”id”value=”Id:”/> <:inputText id=”id”disabled=”true” value=”pessoaControle.pessoa.id”/> <p:outputLabel for=”nome”value=”Nome:”/> <p:inputText value=”pessoaControle.pessoa.nome”/> <p:outputLabel for=”cidade”value=”Cidade:”/> <p:inputText value=”cidadeControle.cidade.nome”/> <p:outputLabel for=”cep”value=”Cep”/> <p:inputText id=”cep”value=”pessoaControle.pessoa.cep/> <p:outputLabel for=”endereco”value=”Endereço”/> <p:inputText value=”pessoaControle.pessoa.endereco”/> <p:outputLabel value=”Numero”/> <p:inputText value=”pessoaControle.pessoa.numero”/> <p:outputLabel for=”dtnasc”value=”Data de Nascimento:”/> <p:calendar value=”pessoaControle.pessoa.datanasc” pattern=”dd/MM/yyyy”/> A Figura 2 Mostra o resultado do código presente no código acima. Figura 2. Tela com campos do Primefaces (Fonte: Adaptado por Leandro Santos Custodio [2016]). 4. Considerações Finais JavaServer Faces já é uma tecnologia que passa a ser essencial para facilitar o desenvolvimento de sistemas computacionais Web e junto com o Primefaces também entrando na era mobile, o que agrega mais valor para ambos. Com o desenvolvimento desse artigo, houve a conclusão que O JSF está muito presente também na estruturação de códigos, pois com ele a quantidades diminuem devido aos componentes que podem ser criados, ou importados de ferramentas como o Primefaces. A pesquisa feita sobre as ferramentas JSF, MySql, Hibernate e Primefaces concluı́ram em um software Web, totalmente responsivo (Mobile) com componentes do Primefaces, corroborando então que elas facilitam o desenvolvimento de um produto computacional, principalmente no Front-End. A Aplicação desenvolvida será utilizada em uma empresa de Formaturas e Eventos, tem como funções gerenciar todo o sistema financeiro e organizacional da empresa de modo geral, concluindo que pode ser feito um produto computacional de qualidade usando as framworks aqui citadas. Referências Barbon, S. (2013). Contribuições da interface usuário-computador nos serviços hospitalares. Disponivel em: http://www.jhi-sbis.saude.ws/ojs-jhi/index.php/jhisbis/article/view/279 - Acesso em 02 de Agosto. 2016. Linhares, M. (2007). Introdução ao hibernate 3. Disponivel em:http://www.cin.ufpe.br/ rdma/documentos/intruducaoAcesso em 28 de julho. 2016. Magalhães, C. (2013). Utilização do framework hibernate em aplicação java web. Seinpar. Disponivel em: http://web.unipar.br/ seinpar/2013/artigos/Carlos- Acesso em 02 de Ago. 2016. Milane, A. (2009). Mysql - guia do programador. Disponivel em: https://novatec.com.br/livros/mysqlcompleto/capitulo8575221035.pdf Acesso em 28 de julho. 2016. Oracle (2016). Uma introdução da tecnologia de desenvolvimento web utilizando java serverfaces (jsf). Disponivel em: http://www.oracle.com/technetwork/java/javaee/overview-140548.html - Acesso em 28 de jul. 2016. Sanchez, A. (2005). Mais informações sobre sgbd. Disponivel em: http://www.ime.usp.br/ andrers/aulas/bd2005-1/aula5.html - Acesso em 02 de Ago. 2016. Semprebom, J. (2015). Uma introdução da tecnologia de desenvolvimento web utilizando java serverfaces (jsf). Disponivel em: http://web.unipar.br/ seinpar/2015/i nclude/artigos/JC3BAlioC C3A9sarS emprebom.pdf − Acessoem28dejul.2016. Van, R. (2016). Por dentro do primefaces 2.2. Artigo Revista Java Magazine 93. Disponivel em: http://www.devmedia.com.br/por-dentro-do-primefaces-2-2-artigo-revista-javamagazine-93/21651 - Acesso em 28 de julho. 2016.