Criando uma aplicação corporativa em Java – Parte 2
Artigo no estilo: Curso
Para isso, serão
abordados recursos como o PhaseListener do JSF, as anotações @Inject, @Produces, @Disposes e @Interceptor relacionadas ao CDI, como
criar e mapear entidades usando JPA, dentre outras coisas. Como servidor de
aplicação, adotaremos o JBoss WildFly, destacando como configurá-lo. Além
disso, adotaremos o Java 8 e alguns dos seus novos recursos, como a nova API
para manipulação de datas.
Se olharmos para a plataforma e para a linguagem Java desde as primeiras versões, podemos notar uma enorme evolução. Com o passar dos anos foram surgindo diversas tecnologias, frameworks e especificações que fazem parte desse longo e contínuo processo evolutivo.
Nesse artigo iremos conhecer um pouco mais sobre três importantes especificações Java: JSF, JPA e CDI, e desenvolver uma aplicação que utilize implementações dessas especificações para vermos como funciona a integração entre elas.
Nesse contexto iremos entender porque surgiram, quais vantagens trazem e quais tipos de problemas resolvem.
A aplicação que será desenvolvida ao longo do artigo serve para fazer o gerenciamento de uma biblioteca. Nela poderão ser gerenciadas, por exemplo, as informações das editoras, dos livros, dos leitores, dos funcionários da biblioteca e dos empréstimos dos livros.
Especificações Java
Foram citadas três especificações Java no texto introdutório deste artigo, mas quem está começando a programar nesta linguagem pode não estar familiarizado com o termo “especificação”. Então, o que seria isso?
Em meio ao processo evolucionário do Java, muitas vezes uma grande ideia acaba tendo mais de uma implementação. Foi justamente isso que aconteceu quando surgiu a proposta de se ter um framework ORM (Object-Relational Mapping).
Relacionadas a essa proposta vieram implementações como Hibernate, EclipseLink, OpenJPA, entre outras.
Para que exista uma padronização entre essas implementações é definida uma especificação, que nada mais é do que um documento que garante que todas elas tenham um comportamento igual ou bem semelhante e que contemplem as funcionalidades especificadas.
No caso dos frameworks ORM foi criada a especificação JPA. Dessa forma, se a implementação que está sendo usada em algum projeto começa a apresentar bugs ou é descontinuada, podemos trocá-la por outra sem muito esforço.
Às vezes, no entanto, as implementações surgem antes da especificação. Assim, para manter a padronização, as implementações passam por mudanças para se adequar ao que foi determinado. Um bom exemplo é o Hibernate, que surgiu antes da especificação JPA.
Para quem tiver interesse em saber mais sobre o processo de criação das especificações, recomendamos consultar o site do Java Community Process (JCP).
Sobre o JSF
O JSF pode ser definido como um framework MVC padrão para construir interfaces com o usuário baseadas em componentes para aplicações web.
A especificação JSF dita como deve funcionar esse framework. Deste modo, cada implementação do JSF, como o Mojarra e o MyFaces, agrega as funcionalidades do framework sempre indo ao encontro da especificação.
O JSF surgiu de uma necessidade de termos uma ferramenta mais simples, eficaz e produtiva no que sei refere à criação de interfaces gráficas para aplicações web. Atualmente, inclusive, conseguimos criar soluções web com recursos visuais complexos de forma simples ao adotar, por exemplo, o PrimeFaces, uma das bibliotecas de componentes mais famosas para JSF.
O PrimeFaces possui centenas de componentes ricos que podem ser adicionados facilmente à aplicação, porém nesse artigo não vamos utilizá-los, pois iremos nos ater aos componentes padrões do JSF.
Além de o JSF facilitar muito a criação da interface gráfica, ele provê uma maneira padrão de solucionar problemas comuns que encontramos durante o desenvolvimento de aplicações web, a saber: validações, conversões, criação de templates, etc.
Antes de chegarmos à origem do JSF, vamos voltar um pouco mais no tempo e olhar para as tecnologias que o antecederam.
...Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.