Skip to content

1. Introdução

O PDF deste documento está disponível |QUI|.

Os exemplos do documento estão disponíveis |QUI|.

Este documento retoma um documento anterior escrito em 2010 e intitulado “Introdução ao Java EE com NetBeans 6.8 e o servidor GlassFish v3”. Este traz principalmente as seguintes alterações:

  • a seção JSF (Java Server Faces) é abordada em um documento separado: “Introdução ao Java Server Faces, PrimeFaces e PrimeFaces Mobile”, disponível em URL [http://tahe.developpez.com/java/primefaces]. Nele são utilizadas funcionalidades da versão 2 do JSF,
  • e 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 aplicativos corporativos com o JDK 1.4 ou versões anteriores. Ao mesmo tempo em que a versão 1.5 trazia inúmeras novidades à linguagem Java, a Sun introduziu novas tecnologias baseadas nessa linguagem aprimorada, a fim de suprir 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 um aplicativo corporativo com a plataforma Java. No momento da atualização deste documento, a versão mais recente do Java EE é o Java EE 6.

Os livros de Antonio Gonçalves:

  • Java EE 5, editora Eyrolles
  • Beginning Java EE 6 Platform with Glassfish 3, da editora Apress

são excelentes livros para conhecer as tecnologias do Java EE 5 e do Java EE 6. Todas as tecnologias importantes do Java EE são abordadas neles no contexto de estudos de caso realistas. O autor possui um site [http://www.antoniogoncalves.org] que o leitor é convidado a visitar.

O presente documento estuda algumas das tecnologias do Java EE 5. Nele, criamos um aplicativo básico 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

Um aplicativo 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, como o MDB (Message Driven Bean) ou o EJB3 stateful. Para conhecê-las, consulte os livros de Antonio Gonçalves.

Existem outras tecnologias de código aberto disponíveis para criar aplicativos de três camadas. Uma combinação muito popular é 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 possui versões nas quais o Spring substitui o EJB3.

Este documento é um TD (Trabalho Dirigido) utilizado no 5º ano da escola de engenharia ISTIA da Universidade de Angers [http://www.istia.univ-angers.fr]. Este TD descreve o aplicativo a ser desenvolvido, as tecnologias Java a serem utilizadas e onde encontrar informações. A solução proposta costuma ser bastante direcionada. O TD apresenta questões para as quais não fornece respostas. Cabe ao aluno encontrá-las.

O aprendizado de Java EE proposto aqui requer um investimento do leitor estimado entre 50 e 100 horas. O documento contém muito código, o que possibilita o copiar/colar. Além disso, todos os projetos do NetBeans são descritos em detalhes. De modo geral, o documento fornece as estruturas básicas das soluções, e cabe ao aluno preencher alguns detalhes. O documento pode ser útil mesmo para quem não pode ou não deseja se dedicar tanto. É possível se concentrar apenas nas arquiteturas descritas e ignorar a parte do código que é objeto das perguntas.

Para desenvolver e executar o aplicativo, utilizamos o IDE NetBeans. O NetBeans é um produto bastante pesado: reserve 1 GB de RAM para trabalhar com conforto. Ele pode ser baixado no link [http://www.netbeans.org/].

O documento faz referência aos seguintes cursos:

  1. Persistência em Java 5 na prática: [Persistência no Java 5 na prática (2007)] — fornece as ferramentas para construir a camada de acesso aos dados com JPA (Java Persistence API)
  1. Introdução à linguagem Java [Introdução à linguagem Java (1998)] — para iniciantes
  2. Introdução com exemplos ao Java Server Faces, PrimeFaces e PrimeFaces Mobile [Introdução com exemplos ao Java Server Faces, PrimeFaces e PrimeFaces Mobile (2012)]

Esses materiais didáticos são referenciados a seguir como [ref1], [ref2] e [ref3].

Serge Tahé, junho de 2012.