1. Introdução
O PDF deste documento está disponível |AQUI|.
Os exemplos do documento estão disponíveis |AQUI|.
Este documento retoma um documento anterior, escrito em 2010 e intitulado «Introdução ao Java EE com o NetBeans 6.8 e o servidor GlassFish v3». Este documento introduz principalmente as seguintes alterações:
- a parte JSF (Java Server Faces) é abordada num documento separado: «Introdução ao Java Server Faces, PrimeFaces e PrimeFaces Mobile», disponível em URL [Introdução ao Java Server Faces, PrimeFaces e PrimeFaces Mobile com exemplos (2012)]. Nele são utilizadas funcionalidades da versão 2 do JSF,
- os projetos são projetos Maven.
Java EE significa Java Enterprise Edition. J2EE (Java 2 Enterprise Edition) era o termo anterior. J2EE refere-se às tecnologias Java utilizadas para criar aplicações empresariais com o JDK 1.4 ou versões anteriores. Ao mesmo tempo que a versão 1.5 trazia inúmeras novidades à linguagem Java, a Sun introduziu novas tecnologias baseadas nessa linguagem melhorada, com o objetivo de colmatar as lacunas dessas mesmas tecnologias na versão 1.3. O termo Java EE 5 passou então a ser utilizado para designar o conjunto de tecnologias que contribuem para a criação de uma aplicação empresarial com a plataforma Java. À data da atualização deste documento, a versão mais recente do Java EE é o Java EE 6.
Os livros de António Gonçalves:
- Java EE 5, da editora Eyrolles
- «Beginning Java EE 6 Platform with Glassfish 3», da editora Apress
são excelentes livros para descobrir as tecnologias do Java EE 5 e do Java EE 6. Todas as tecnologias importantes do Java EE são aí abordadas no contexto de casos de estudo realistas. O autor tem um site [http://www.antoniogoncalves.org] que o leitor é convidado a visitar.
O presente documento analisa algumas das tecnologias do Java EE 5. Nele, criamos uma aplicação básica de três camadas [présentation, métier, accès aux données], disponível em várias versões:
Uma aplicação web com as seguintes tecnologias:
- Java Server Faces: para a camada web
- EJB3 ou Spring: para a camada de negócios
- EJB3 ou Spring, JPA/Hibernate, JPA/EclipseLink: para criar diferentes camadas de acesso aos dados
Uma aplicação cliente/servidor com as seguintes tecnologias:
- Swing: para a camada gráfica do cliente com suporte ao Spring
- EJB3 ou serviço web: para a camada de servidor
Algumas tecnologias Java EE não são apresentadas, tais como o MDB (Message Driven Bean) ou o EJB3 stateful. Para as descobrir, consulte os livros de António Gonçalves.
Existem outras tecnologias de código aberto disponíveis para criar aplicações de três camadas. Uma combinação muito popular é o Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). Para permitir que o leitor compare as tecnologias EJB3 e Spring, a aplicação anterior dispõe de versões em que o Spring substitui o EJB3.
Este documento é um TD (Trabalho Orientado) utilizado no 5.º ano da Escola de Engenharia ISTIA da Universidade de Angers [http://www.istia.univ-angers.fr]. Este TD descreve a aplicação a construir, as tecnologias Java a utilizar e onde encontrar informação. A solução proposta é frequentemente muito delimitada. O TD coloca questões para as quais não fornece respostas. Cabe ao aluno encontrá-las.
A aprendizagem de Java EE aqui proposta requer um investimento de tempo por parte do leitor estimado entre 50 e 100 horas. O documento contém muito código, o que permite copiar e colar. Além disso, todos os projetos NetBeans são descritos em pormenor. De um modo geral, o documento apresenta as estruturas básicas das soluções, cabendo ao aluno fornecer alguns detalhes. O documento pode ser útil mesmo para quem não pode ou não quer dedicar tanto tempo. É possível concentrar-se apenas nas arquiteturas descritas e ignorar a parte do código que é objeto das perguntas.
Para desenvolver e executar a aplicação, utilizamos o IDE NetBeans. O NetBeans é um produto bastante pesado: é necessário prever 1 GB de RAM para trabalhar confortavelmente. Pode ser descarregado na URL [http://www.netbeans.org/].
O documento faz referência aos seguintes cursos:
- Persistência Java 5 na prática: [Persistência em Java 5 através da prática (2007)] — fornece as ferramentas para construir a camada de acesso aos dados com JPA (Java Persistence API)
- Introdução à linguagem Java [Introdução à Linguagem Java (1998)] — para principiantes
- Introdução, através de exemplos, ao Java Server Faces, PrimeFaces e PrimeFaces Mobile [Introdução ao Java Server Faces, PrimeFaces e PrimeFaces Mobile com exemplos (2012)]
Estes materiais didáticos são posteriormente referenciados como [ref1], [ref2] e [ref3].
Serge Tahé, junho de 2012.