uma introdução da tecnologia de desenvolvimento web

Propaganda
UMA INTRODUÇÃO DA TECNOLOGIA DE
DESENVOLVIMENTO WEB UTILIZANDO JAVA
SERVERFACES (JSF)
Júlio César Semprebom¹, Wyllian Fressatti
¹Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected], [email protected]
Resumo. Este artigo trata de uma revisão bibliográfica sobre a framework
para desenvolvimento web conhecida como Java ServerFaces (JSF),
apresentando conceituações, funcionalidades e vantagens de utilização na
web. Seu desenvolvimento e alguns conceitos sobre o padrão MVC
JavaServer Faces (JSF), Model, View, Controller (MVC), Java Persistence
API (JPA), Hibernate e Banco de Dados PostgreSQL, tem o intuito de
mostrar sua praticidade e utilizar esta framework em um desenvolvimento
web, numa aplicação Java 2EE utilizando a framework JSF.
1. Introdução
“Desenvolvido através do Java Community Process sob JSR - 314, a
tecnologia JavaServer Faces estabelece o padrão para a construção de
interfaces com o usuário do lado do servidor. Com as contribuições do grupo
de peritos, o JavaServer Faces APIs estão sendo projetados de modo que
possam ser alavancadas pelas ferramentas que irão tornar o desenvolvimento
de aplicações web ainda mais fácil” [Oracle, s.d.].
Java ServerFaces (JSF) é um framework MVC do Java Web utilizando um
padrão de separação da parte lógica e estática, com vários funcionalidades para facilitar
o desenvolvimento de programas para web. O modelo padronizado do JSF é um padrão
de projeto conhecido como MVC.
O MVC é uma sigla utilizada para referir aos três componentes utilizados em um
padrão de projeto, é a abreviação de Model,View,Controller (modelo, visão e controle).
Um padrão utilizado para separar códigos xhtml de códigos fonte em aplicações web.
O objetivo deste artigo é fazer uma pesquisa científica sobre a ferramenta JSF,
apresentando as funcionalidades desse framework, suas vantagens de utilização para
desenvolvimentos de aplicações web, conceitos de um framework MVC, e uma JPA.
Por fim, concluir quais os benefícios ao utilizar estas ferramentas em um
desenvolvimento de software.
2. Metodologia
Para o desenvolvimento do artigo foi feita uma revisão bibliográfica em apostilas
online, sites e livros, onde foram pesquisados fundamentos deste framework, pelo fácil
acesso e maior acessibilidade.
Após o estudo, um software web foi desenvolvido utilizando o Java 2EE, a
framework Java ServerFaces (JSF) e Banco de Dados Postgre. A implementação foi
feita com a IDE Netbeans versão 8.1 para desenvolvimento e o Glassfish 4.1 como
servidor de aplicação.
3. Desenvolvimento
3.1. Java Server Faces
“JSF é uma tecnologia que incorpora características de um framework MVC
para WEB e de um modelo de interfaces gráficas baseado em eventos. Por
basear-se no padrão de projeto MVC, uma de suas melhores vantagens é a
clara separação entre a visualização e regras de negócio (modelo)” [Pitanga,
s.d.].
O Java ServerFaces (JSF) é uma framework MVC que foi desenvolvida para
deixar mais fácil o desenvolvimento web, tentar abstrair a complexidade de
desenvolvimento e permitir a criação de interfaces de usuários que possui um conjunto
de componentes com em formulários que ligam com objetos, input e botões e vária
funcionalidades e interatividade.
Java ServerFaces (JSF) é uma tecnologia herdada das JSP e Servlets para criar
aplicações web.
Na Figura 1, pode-se entender como funciona a estrutura de uma aplicação
utilizando a framework MVC Java ServerFaces. Sua estrutura é separada por páginas
web onde terá pastas armazenando arquivos HTML, no qual o cliente visualizará no
sistema, conhecido como view (visão). A outra parte é separada por arquivos Java, esta
parte é dividido em dois pacotes, o controller que contém páginas Java, que controlarão
o sistema e o pacote model que armazena páginas Java utilizada para fazer a
persistência de dados em um banco de dados utilizando Hibernate e JPA
Figura 1 – Estrutura de uma aplicação Java ServerFaces [Marques, 2011]
3.2. Modelo MVC
O MVC é um padrão arquitetônico que organiza a aplicação através de uma separação
de interesses. Ele reforça o isolamento de dados de negócios (modelo), de interfaces de
usuário (visão), com um terceiro componente (controlador), lógica gestão tradicional e
entrada do usuário [Osmani, 2012]. Este padrão é uma das tecnologias que auxiliam os
desenvolvedores de aplicação Java Web. A ferramenta é de grande importância para o
desempenho e organização do desenvolvimento, pois ela tem a função de separar o
código HTML do Java.
Na figura 2, exemplifica como o padrão MVC funciona. O Cliente visualiza
apenas as páginas de visão, o controlador as controla e o modelo armazena os dados.
Figura 2 – Padrão MVC [Celestino, 2013]
“A MVC tem algumas vantagens no desenvolvimento, tais como,
reaproveitamento dos componentes do modelo, utilizar os objetos de negócio definidos
na camada modelos em diversas classes/arquivos de visualização” [Frasson, 2014].
3.3. Java Persistence API (JPA), Hibernate e Banco de Dados PostgreSQL.
“O Java Persistence API (JPA) é um framework baseado em POJOS (Plain
Old Java Objects) que persiste objetos Java. A Java Persistence API,
diferente do que muitos imaginam, não é apenas um framework para
Mapeamento Objeto-Relacional (ORM - Object-Relational Mapping), ela
também oferece funcionalidades essenciais em qualquer aplicação
corporativa” [Medeiros, 2013].
A framework objeto relacional Java Persistence API (JPA), segundo Frasson
(2014), propõe uma maneira de trabalhar diretamente com classes sem consultas nativas
do banco de dados.
Segundo site NetBens (s.d.), o Hibernate é o framework de mapeamento
relacional de objeto (ORM).
Segundo Magalhães (2013), o Hibernate é um Framework escrita na linguagem
Java, como ferramenta poderosa realiza o mapeamento de atributos dentro de tabelas do
banco de dados. Sua principal função é abstrair o mapeamento de forma econômica e
resolver problemas referentes a determinadas tarefas.
Ainda segundo o autor, o Hibernate disponibiliza um mecanismo de consulta de
dados para seus usuários, que posteriormente diminuir o tempo de desenvolvimento que
poderia ser gasto em uma determinada aplicação. Por utilizar sua própria HQL
(Hibernate Query Language) disponibiliza a função de consulta e retorno de dados,
fazendo a conversão entre os registros permitindo que a aplicação utilize qualquer banco
de dados SQL.
“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” [Sanches, 2005].
“O PostgreSQL é um poderoso sistema gerenciador de banco de dados objetorelacional de código aberto” [PostgreSQL, s.d.]. Segundo Silva (s.d.), o Banco de Dados
PostgreSQL tem a licença BSD (aberto, permite uso comercial) e é um sistema Multiplataforma (Unix, GNU/Linux, Windows...).
Na figura 3, é apresentado o resultado da implementação realizada neste estudo.
Uma tela de cadastro de Pessoa Física/Jurídica mostra como é o layout de um sistema
Java com JSF.
Figura 3: Tela de Pessoa Física/Jurídica
4. Conclusão
O JavaServer Faces é uma tecnologia que está se aprimorando com novas
funcionalidades para facilitar nos desenvolvimento web.
Após o desenvolvimento desse artigo, pode-se concluir que o JSF é uma
framework de desenvolvimento Java Web bem estruturada que facilita o entendimento
dos códigos, por causa da sua estrutura e organização através do modelo MVC.
O estudo realizado sobre estas ferramentas e a implementação do software
resultaram em uma aplicação web JAVA 2EE utilizando a Framework Java ServerFaces
(JSF) e Banco de Dados PostgreSQL. Esta aplicação será utilizada para realização de
ordem e serviço para uma oficina de lancha para auxiliar no trabalho da empresa de uma
forma organizada.
Referências
Frasson, R. Apostila Java Web. 2014. p. 57, 58. http://goo.gl/vf8mje Acesso em
13/07/2015.
Medeiros, H. Introdução à JPA – Java Persistence API. 2013. Disponível em
http://goo.gl/LAs2L2 Acesso em 13/05/2015.
Osmani, Addy (2012) Learning JavaScript Design Patterns. First Edition. California:
O’Reilly p. 79
Marques, T. Crud em JSF 2.0 e Primefaces 2.2.1 parte 1. 2011. Disponível em:
http://goo.gl/oKuR25 Acesso em 19/07/2015
Celestino, A. L. O conceito e as duvidas sobre o MVC. 2013. Disponível em
http://goo.gl/stKdt4 Acesso em 19/07/2015
Oracle Tecnologias Java ServerFaces. s.d. Disponível em http://goo.gl/NyYvEi
Acesso em 19/07/2015
Pitanga, T. JavaServer Faces: A mais nova tecnologia Java para desenvolvimento
WEB. s.d. http://goo.gl/Fa9fQ3 Acesso em 20/07/2015
Magalhães, C. F. Utilização do Framework Hibernate em aplicação JAVA WEB,
Universidade Paranaense – UNIPAR, Paranavaí, PR. 2013. Disponível em
http://goo.gl/mdOXE1 Acesso em 05/08/2015
NetBeans. s.d. Disponível em https://goo.gl/coA73S Acesso em 06/08/2015
Sanches, A. R. Disciplina: Fundamentos de Armazenamento e Manipulação de
Dados. 2005. Disponível em http://goo.gl/vGzA2t Acesso em 08/05/2015
Silva, A. L. F. PostgreSQL. USP. s.d. Disponível em http://goo.gl/9WmlGe Acesso em
05/08/2015
PostgreSQL. Sobre o PostgreSQL. s.d. Disponível em http://goo.gl/nrcMpn Acesso em
05/08/2015
Download