Baixar - Unipar

Propaganda
UMA ARQUITETURA VOLTADA PARA O
DESENVOLVIMENTO DE APLICAÇÕES WEB.
Djonathan Assis Oliveira1 , Jaime William Dias1
1
Universidade Paranaense (Unipar)
Paranavaı́ – PR – Brasil
[email protected], [email protected]
Resumo. Este artigo constitui um trabalho sobre as tecnologias utilizadas para
elaboração de um software web que assegura as qualidades e padrões de desenvolvimento web. Descrevendo as seguintes ferramentas utilizada no desenvolvimento com plataforma JEE (Java Enterprise Edition) juntamente com a
tecnologia JSF (Java Server Faces), a framework PrimeFaces, Tomcat, CDI
(Context and Dependency Injection), Maven, Spring Security e Subversion,
entre outras, como objetivo de apresentar um produto computacional de alto
padrão utilizando essas tecnologias, trabalhando juntamente com a linguagem
de programação Java, proporcionando um aplicação final de maneira ágil e
satisfatória dentro dos paradigmas web.
1. Introdução
Quando se pensa na elaboração e implementação de uma aplicação web, nem de longe é
uma tarefa fácil, é necessário decidir o conjunto de tecnologias e ferramentas que serão
utilizadas no desenvolvimento, juntamente com uma plataforma web que necessita ter
uma arquitetura estável e segura para adequar-se ao projeto e ao requisito da aplicação a
ser desenvolvido, visto que esta arquitetura pode ser uma referência no meio corporativo
por conta de suas especificações.
No desenvolvimento de uma aplicação utiliza-se em sua arquitetura um conjunto
de tecnologias e framework, tal qual é indispensável na criação de uma aplicação do
seguimento web. Atualmente, existem várias tecnologias no mercado que disponibilizam
arquiteturas robustas que se utiliza para a implementação de aplicações web como por
exemplo, plataforma JEE (Java Enterprise Edition), JSF (Java Server Faces), CDI (para
a injeção de dependência) Tomcat (servidor web) e Spring Security (para segurança da
aplicação), entre outras.[Andrade 2013].
O objetivo do trabalho é apresentar um produto computacional final com uma
arquitetura e os padrões web utilizando as tecnologias e framework atuais, proporcionar
a confecção de uma aplicação de qualidade, e dessa forma atender as necessidades do
cliente, para obter o resultado esperado.
2. Metodologia
Para a realização deste artigo foi feito uma revisão bibliográfica em livros de formato
digital (e-books), em sites da internet e em artigos publicados de temas semelhantes a
este. Após os conhecimentos adquiridos sobre as tecnologias, foram implementados os
conhecimentos na criação de um ambiente de desenvolvimento para linguagem Java, que
utiliza plataforma Java EE, a framework Java Server Faces (JSF), e banco de dado Mysql,
sendo desenvolvido na IDE eclipse e o Tomcat como servidor de aplicação.
3. Desenvolvimento
3.1. A plataforma Java Enterprise Edition
O Java Enterprise Edition é, antes de mais nada, um conjunto de especificações publicadas
pela Sun (agora Oracle) e pelo JAVA Community Process (JSRs) que criam toda a infraestrutura para desenvolvimento de aplicações distribuı́das corporativas. [Sampaio 2011].
O modelo de programação JAVA enterprise edition [é baseado em containers, que
fornecem todos os serviços necessários para a aplicação corporativa. Desta forma, o
desenvolvedor escreve menos códigos, que diminui o tempo de desenvolvimento, os riscos
do projeto e os problemas de manutenção. [Sampaio 2011].
As aplicações corporativas do modelo JAVA EE podem ser vistas como um modelo de tiers (ou camadas com separação de conceitos). [Sampaio 2011].
Esta tecnologia engloba varia especificações, APIs para servidores biblioteca e
as funcionalidades utilizam um sistema em camadas de apresentação (JSF, Servlet), e
componente de regra de negócio e também componente para a injeção de dependência
(CDI) e persistência no banco de dado. A figura 1 mostra a Arquitetura lógica JEE:
Figura 1. Arquitetura logica J2EE. (Fonte:MARTIN, [2003]).
3.2. Java Server Faces (JSF)
JSF (Java Server Faces) é um framework muito dinâmico desenvolvido pela Sun Microsystems para o desenvolvimento de aplicações web de especificações Java utilizando a
plataforma JEE. Esta tecnologia baseia-se no padrão de arquitetura MVC (Modelo Visão
Controlador), oferece grandes vantagens por separação entre camadas de visualização e
regra negócio, que torna o desenvolvimento menos complicado.[Oracle 2015].
3.3. MVC
O padrão de arquitetura MVC permite a lógica de negócio e as interfaces de visualizações
e dentro de uma aplicação web é dividida em três partes, e cada uma tem sua importância
que são denominadas de modelo, visão e controlador.
O modelo é a camada responsável por representar os dados, manter o estado
da aplicação pela definição dos dados armazenados e fornecer o acesso às informações
quando necessário. A visualização é a camada responsável por exibir as informações vindas do modelo e por captar e enviar aos controles, as ações dos usuários sobre os dados
apresentados. O controle é a camada que faz a ligação entre a visão e os modelos, ao
relacionar um ou outro, de acordo com as requisições recebidas. Essa interação produz
modificações no estado do sistema que pode provocar respostas diferenciadas ao cliente.
[Pitanga 2013].
3.4. Prime Faces
Prime Faces é um framework que oferece conjunto de componentes para JSF, que conta
com um grande número de componentes completos e de fácil implementação. Uma das
vantagens do Prime Faces é utilizar tecnologia Ajax nativa JSF em seu componente. Possui ótima documentação, rica em exemplos de códigos, disponibilizados na web para
auxı́lio na utilização dos mesmos.
A implementação do prime faces é muito simples, necessita somente adicionar as
dependências à sua aplicação, mas para isto, é necessário o uso do Java 5 e JSF. Prime
Faces é uma biblioteca de código aberto nativo do Java Server Faces (JSF) para criação de
interface muito utilizado em aplicações web por ser simples e eficiente. É considera-se um
framework mais utilizado por conta de seus componentes para JSF. [Natália Batuta 2015].
3.5. Hibernate
O Hibernate é uma ferramenta de mapeamento é um objeto relacional de grande aceitação
entre os desenvolvedores de sistemas orientados a objetos. Esta é uma ferramenta gratuita
e é consider-se uma das mais utilizadas por especialistas da área, e por estes motivos foi
adotada para o desenvolvimento deste artigo.
Toda a configuração do Hibernate é feita através de arquivos em XML, os
quais contêm detalhes sobre o mapeamento de dados e detalhes sobre as conexões
com bancos de dados. Uma nova versão do Hibernate, o Hibernate Annotations permite fazer anotações sobre o mapeamento em cada classe que se deseja mapear no
sistema, substituindo assim os arquivos XML de mapeamento que cada classe deve
possuir para realizar o mapeamento, exceto o arquivo de configuração do Hibernate.
[Fabiano Silva de Carvalho 2011].
3.6. Servidor Web Tomcat
O Apache Tomcat, desenvolveu-se pela Fundação Apache, com a finalidade permitir
a execução de aplicações web caracterı́sticas centradas na linguagem de programação
Java com especificação na tecnologia Servlets. Uma das principais capacidades é trabalhar com servidor web, que pode funcionar também como servidor web dedicado. O
Tomcat como servidor web HTTP totalmente em Java. Na verdade, o Apache Tomcat muito conhecido pelo seu servidor que pode ser usado para fim comerciais ou não.
[Natália Batuta 2015].
O Tomcat e desenvolveu-se na linguagem Java, para funcionar precisar estalado da
versão Java 2 Standard Edition (J2SE) no computador onde será desenvolvido a aplicação
juntamente com as especificações JEE com as tecnologias servlet e JSP, e tecnologias de
apoio relacionadas como JNDI Resources e JDBC DataSources, Realms e segurança.
E tem o objetivo de desenvolver esta aplicação de código aperto na plataforma java.
[Natália Batuta 2015].
3.7. Maven
Maven é uma ferramenta de integração de projetos Java, responsável pelo gerenciamento
de dependências e por controlar versãos artefatos, desenvolvida pela Apache Software
Foundation para facilitar e simplificar o build dos projetos em Java.
A adoção do Maven no desenvolvimento traz de imediato vários benefı́cios, como
centralização das informações do projeto no arquivo XML (pom), onde descreve-se o projeto de aplicação ao ser colocado as dependências sobre módulos, diretório, repositórios
e plug-ins necessários isto é padronizando o ambiente de desenvolvimento.
O Maven baixa a biblioteca Java e os seus plug-ins dinamicamente de vários repositórios armazenados em cache local, que pode ser atualizado quando necessário. Sua
arquitetura é baseada em plug-in, pois permite que ele faça uso de qualquer aplicação
controlável através da entrada padrão. Teoricamente, isto permitiria qualquer um escrever plug-ins para fazer interface com ferramentas de construção. [Natália Batuta 2015].
3.8. 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, ao dispensar configurações
do container, torna-se a aplicação web portável. Dessa forma, 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, ao utilizar filtros, por
exemplo. [Godoy 2015].
Essa poderosa ferramenta faz a segurança baseada em papéis, chamados roles, os
quais através desses papéis pode-se informar á aplicação qual área do sistema está sendo
acessada, quais recursos podem ter o acesso liberado e quais usuários têm 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 é encontra-se em quão facilmente ele pode estender-se para atender aos requisitos personalizados. [Godoy 2015].
4. Considerações finais
O desenvolvimento de aplicações web vem se aperfeiçoando ao decorrer dos últimos anos,
com o surgimento de novas tecnologias, ao buscar sempre utilizar-se uma arquitetura segura e consistente, que apresente resultados importantes e positivos, que se adequasse ao
escopo e os requisitos do projeto a ser desenvolvimento e assim confeccionar um produto
de qualidade e com resultado satisfatório no final do projeto.
O presente artigo, tratou sobre as ferramentas utilizadas no desenvolvimento de
uma aplicação web voltada para o meio corporativo, mostrando algumas das tecnologias utilizadas no projeto, assim, juntamente com suas caracterı́sticas e funcionalidades
apresentou-se a cada uma sua importância para a criação deste produto computacional de
qualidade e eficiência.
O estudo realizado no presente artigo foi de grande relevância para a conclusão
dos objetivos finais do projeto, trouxe de forma satisfatória o conhecimento sobre as tecnologias e a implementação do software que resultaram em uma aplicativo web Java EE,
utilizando-se Java Server Faces (JSF) e banco de dados mysql e com isto pode-se atingir
os objetivos finais dentro dos padrões web. Esta aplicação será utilizada para organizar os
pedidos de vendas de uma indústria de alimento que vem crescendo no mercado.
Referências
Andrade, T. F. (2013).
AlgaWorks - Java EE 7 com JSF, PrimeFaces
e CDI.
Disponı́vel em:
http://www.algaworks.com/livros/
javaee-jsf-primefaces-cdi/. acessado em: 08/08/2016.
Barcelar, R. R. (2013). Implementação de Projetos WEB Utilizando o Seam Framework. Disponı́vel em: http://www.ricardobarcelar.com.br/aulas/
impl-prj-web-seam.pdf. acessado em: 08/08/2016.
Bond Martin, Haywood Dan, M. B. (2003). Aprenda J2EE em 21 Dias. Editora Brasport,
São Paulo SP.
Fabiano Silva de Carvalho, Cleiber Garcia da Cruz, A. C. d. P. A. H. A.
R. M. (2011).
FRAMEWORK HIBERNATE.
Disponı́vel em: http:
//www.revista.universo.edu.br/index.php?journal=1reta2&
page=article&op=viewFile&path%5B%5D=1396&path%5B%5D=1031.
acessado em: 08/08/2016.
Godoy, E. M. (2015).
DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS. Disponı́vel
em:
http://web.unipar.br/˜seinpar/2015/_include/artigos/
Emanuel_M._Godoy.pdf. acessado em: 10/08/2016.
Jailson Nunes Leocadio, Roniere Silva Sousa, E. S. S. A. C. (2012). Desenvolvimento
Web com Framework Primefaces. Disponı́vel em: http://enucomp.com.br/
2012/conteudos/AnaisVENUCOMP2012.pdf. acessado em: 20/08/2016.
Natália Batuta, Lusana Sousa, T. R. (2015).
Projeto Financeiro WEB Graduação Tecnológica em Gestão da Tecnologia da Informação. Disponı́vel
em:
http://gti.projetointegrador.com.br/˜131M154200080/
ProjetoIntegrador_WEB%20(1).pdf. acessado em: 08/08/2016.
Oracle (2015). JavaServer Faces Technology Overview. Disponı́vel em: http://www.
oracle.com/technetwork/java/javaee/overview-140548.html.
acessado em: 18/08/2016.
Pitanga, T. (2013). JavaServer Faces: A mais nova tecnologia Java para desenvolvimento WEB. http://www.cin.ufpe.br/˜jvwr/JSF/jsf.pdf. acessado
em: 17/08/2016.
Sampaio, C. (2011). Java Enterprise Edition 6. Editora Brasport, Rio de janeiro RJ.
Download