UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB Adriano Schulter Moenster1, Tiago Piperno Bonetti1 ¹Universidade Paranaense (Unipar) Paranavaí – PR – Brasil [email protected], [email protected] Resumo. Este artigo descreverá o funcionamento dos fremeworks PrimeFaces e JSF no desenvolvimento de um software web, onde será destacado as características de utilização pratica no desenvolvimento. Tem Objetivo de apresentar as vantagens e facilidades na utilização destas tecnologias frameworks em uma aplicação web, foram utilizados como métodos de pesquisa os artigos, sites da internet e também livros. O JSF e também o PrimeFaces tem representado papel muito importante no desenvolvimento de aplicações, por permitirem simplificações e proporcionarem maior agilidade nos processos. 1. Introdução Segundo Oliveira (2005), um framework é uma solução para um conjunto de problemas em comum, e sendo assim possível a utilização em classes e também em interfaces, pois se pode considerar uma solução quase completa De acordo com Mattsson (2000 apud Barreto, 2006) um framework é uma arquitetura desenvolvida com o objetivo de atingir a máxima reutilização, representada como um conjunto de classes abstratas e concretas, com grande potencial de especialização. Para Gimenes et al. (2005), um dos principais objetivos da Engenharia de Software é o reuso de código. Com a reutilização de software obtém-se o aumento da qualidade da aplicação e também a redução dos esforços para o desenvolvimento, para isso, utilizam-se componentes de software, que são unidades reutilizáveis que oferecem serviços através de interfaces bem definidas. O objetivo deste trabalho é mostrar os frameworks citados e a importância na utilização, também o quanto podem contribuir no desenvolvimento de aplicações web, disponibilizando mais tempo livre ao desenvolvedor para realização de outras atividades. 2. Metodologia Para o desenvolvimento do trabalho foram utilizados os métodos de pesquisas em livros, artigos, sites da internet e e-books, tendo como finalidade expressar de uma forma bem clara e objetiva todos os requisitos. Com a aquisição do conhecimento adquirido foi possível uma maior clareza sobre a utilização dos Frameworks JSF e PrimeFaces no desenvolvimento de aplicações web. 3. Desenvolvimento 3.1 JavaServer Faces Segundo Bueno (2013), o JSF nada mais é que um framework onde é efetuada a elaboração de interfaces de usuários para sistema web, colocando componentes em um formulário e ligando os a objetos Java, sendo assim ele faz a separação entre a lógica e regras de negócio a navegação e conexões com serviços externos seguindo o modelo MVC. Tem como ponto forte a possibilidade de um grande número de componentes e um design bastante flexível por isso esse framework vem se acomodando nas novas tecnologias. O JSF (Java Server Faces) é a tecnologia padrão do j2EE 1.4 (ou superior) para criar aplicações web. Ele herda das tecnologias JSP e Servlets e extende seus conceitos com um ciclo de vida e um conjunto de componentes e recursos sofisticados e focados no desenvolvimento RAD para Web [Gomes, 2008, p. 11] Segundo Almeida (2012), o JSF é baseado no padrão de projeto MVC (ModelView-Controller), o que torna o desenvolvimento de sistemas menos complicado, uma de suas melhores vantagens é a clara separação entre a visualização e regras de negócio (modelo). De acordo com Fowler (2003), o padrão de MVC (Modelo-Visão-Controle) leva em consideração três papéis relacionados a interação humano-computador. O modelo refere-se aos objetos que representam alguma informação, correspondendo a objetos da camada de lógica do negócio; A visão refere à entrada e à exibição das informações na IU; O controlador trata qualquer requisição, ele pega a entrada do usuário, envia uma requisição envia para a camada lógica do negócio, recebe a resposta e envia solicitação para que a visão se atualize de forma apropriada; Desta forma a UI é uma combinação de visão e controlador Para Souza e Dias (2014), as seguintes requisições são manipuladas no ciclo de vida: Iniciais e postagens, quando o usuário faz a solicitação de uma requisição inicial de uma página, ocorre então respectivamente ocorre a solicitação da mesma pela primeira vez. Na postagem ocorre o processamento de um formulário que contém uma página previamente carregada em um browser. Com a requisição inicial sendo manipulada pelo ciclo, ocorre a restauração da “view” e reformula as fases de resposta. Quando ocorre essa ação as fases “Restore View” e “Render Response” são executadas, isso porque não há um usuário ou ação para ocorrer processamento, em muitas das vezes um clique em um link gera a primeira de uma página JSF. A figura 1 Ilustra todo o ciclo de vida do JSF. Figura 1 – Ciclo de vida do JSF Fonte: [Gonçalves, 2010] A fase do “Restore View” inicia quando uma requisição em uma página JSF é gerada por um click sobre um link ou botão, durante esse processo a implementação constrói um “view” da página em manipulação. Para processar uma simples requisição é permitido resgatar todas as informações necessárias [Souza; Dias, 2014]. Segundo Souza e Dias (2014), sendo uma requisição inicial na página o JSF criará uma página vazia, nisto o ciclo passa para a fase em que ocorrerá a renderização da resposta, mas isso enquanto a “view” vazia está sendo populada por componentes referenciado por “tags”. A fase de Render Response é chamada se ocorrer qualquer problema, e a página é reexibida com uma mensagem de erro sendo apresentada ao usuário. Se não ocorrer nenhum problema, a fase de “Update Model Values” é chamada. 3.1.1 Características O conceito de Lorena (2010 apud Souza e Dias, 2014), informa que o JSF possui várias características que oferecem ganhos em desenvolvimento web: • O Desenvolvedor tem permissão de criar UIs por meio de conjunto de componentes UIs predefinidos; • Tem um conjunto de tags JSP para fazer o acesso aos componentes; • Reutiliza componentes da própria página; • Os eventos são associados ao lado cliente juntamente com os manipuladores de eventos do lado do servidor; • Na construção de aplicações web são fornecidas separações de funções; • Em alguns de seus componentes é utilizado Ajax para melhorar o desempenho e a eficácia em alguns processos; 3.2 PrimeFaces e sua utilização A interface de um sistema, seja gráfica ou não, pode ser entendida como a estrutura que transmite ao usuário a ideia real do que é possível realizar com aquele determinado aplicativo computacional. Uma forma de implementar uma interface gráfica para web que possam ser denominada como interface rica é por meio do uso do framework PrimeFaces. Esse framework é de código fonte aberto, utilizado para auxiliar no desenvolvimento de páginas web que utilizem a tecnologia JSF (JavaServer Faces). [Ross; Borsoi, 2012]. Segundo Andrade (2013), PrimeFaces é uma biblioteca de componentes ricos em Java Server Faces. A suíte de componentes inclui diversos campos de entrada, botões, tabelas de dados, árvores, gráficos, diálogos, etc 3.2.1 Características Biblioteca de componentes para JSF de código aberto; Possui um rico conjunto com mais de 100 componentes de interface; Suporte nativo a Ajax; Mais de 25 temas pré-definidos, oferecendo a possibilidade de criação de temas; Boa documentação de fácil acesso e com demonstração de uso dos componentes; 4. Considerações Finais O JSF e o PrimeFaces vêm contribuindo no desenvolvimento de aplicações, isso se dá por terem diversas maneiras de simplificação e também por agilizarem o processo. Com o PrimeFaces se tem grande agilização por parte dos desenvolvedores isso pelo fato de possuir muitas funcionalidades já prontas para uso, assim otimizando a aplicação. Podemos chegar à conclusão que os frameworks Java Server Faces e PrimeFaces trazem vantagens diversas em uma aplicação web, que vai desde a organização até a reutilização de códigos em HTML. Neste artigo pode-se ver padrões de funcionamento dos frameworks JSF e do PrimeFaces, onde sua aplicação tem sido de grande eficácia no desenvolvimento de uma aplicação para web. Referências Almeida, A Entenda os MVCs e os frameworks Action e Component Based Disponível em: <http://blog.caelum.com.br/entenda-os-mvcs-e-os-frameworks-action-ecomponent-based/> Acesso em: 09/08/2015 Andrade, T F de. Java EE 7 com JSF, PrimeFaces e CDI. AlgaWorks Softwares 2013 Barreto C G Agregando Frameworks de Infra-Estrutura em uma Arquitetura Baseada em Componentes: Um Estudo de Caso no Ambiente AulaNet Disponível em: <http://groupware.les.inf.pucrio.br/public/papers/dissertacaoBarreto/DissertacaoBarreto.pdf> Acesso em: 13/08/2015 Bueno, K J O que é JSF (Java Server Faces)? Disponível em: http://fabrica.ms.senac.br/2013/06/o-que-e-jsf-java-server-faces/> Acesso em: 13/08/2015 < Caelum, Introdução ao JSF e Primefaces. Disponível <http://www.caelum.com.br/apostila-java-testes-jsf-web-services-designpatterns/introducao-ao-jsf-e-primefaces/ > Acesso em: 07/08/2015. em: Fowler, M., Patterns of Enterprise Application Architecture, ed. [S. l.]: AddisonWesley, 2003 Gimenes, I. M. S, Huzita, E. H. M. (2005) Desenvolvimento baseado em componentes: conceitos e técnicas. São Paulo: Ciência Moderna. Gomes, Y. M. P. (2008) Java na web com JSF, spring, hibernate e netbeans 6: de universitarios a desenvolvedores, Rio de Janeiro: Ciência Moderna. Mattsson, M. (1996): Object-oriented Frameworks - A survey of methodological issues”, Licentiate Thesis, Department of Computer Science, Lund University, CODEN: LUTEDX/(TECS-3066)/1-130/(1996), also as Technical Report, LUCS-TR: 96-167, Department of Computer Science, Lund University, 1996. Mattsson. M. (2000): Evolution and Composition Object-Oriented Frameworks, PhD Thesis, University of Karlskrona/Ronneby, Department of Software Engineering and Computer Science. 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: 02/08/2015. Palmeira, T. V. V. (s. d.) Ciclo de vida do JavaServer Faces (JSF). Disponível em: < http://www.devmedia.com.br/ciclo-de-vida-do-javaserver-faces-jsf/27893 > Acesso em: 05/08/2015. Pitanga T, JavaServer Faces: A mais nova tecnologia Java para desenvolvimento WEB, Disponível em: <http://www.guj.com.br/content/articles/jsf/jsf.pdf >Acesso em: 06/08/2015 Ross C. L, Borsoi, B. T. Uso de PrimeFaces no Desenvolvimento de aplicações ricas para web Disponível em: <http://conferencias.utfpr.edu.br/ocs/index.php/sicite/2012/paper/viewFile/581/267> Acesso em: 08/08/2015. Souza T. P, DIAS J. W. (2014) Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Disponível em: <http://web.unipar.br/~seinpar/2014/artigos/graduacao/Tiago_Peres_Souza.pdf> Acesso em: 10/08/2015