1. Introducción
El PDF de este documento está disponible |AQUÍ|.
Los ejemplos del documento están disponibles |AQUÍ|.
Este documento retoma un documento anterior escrito en 2010 y titulado «Introducción a Java EE con NetBeans 6.8 y el servidor GlassFish v3». Este documento incorpora principalmente los siguientes cambios:
- la sección JSF (Java Server Faces) se trata en un documento aparte: «Introducción a Java Server Faces, PrimeFaces y PrimeFaces Mobile», disponible en URL [Introducción con ejemplos a Java Server Faces, PrimeFaces y PrimeFaces Mobile (2012)]. En él se utilizan características de la versión 2 de JSF,
- los proyectos son proyectos de Maven.
Java EE significa Java Enterprise Edition. J2EE (Java 2 Enterprise Edition) era el término anterior. J2EE se refiere a las tecnologías Java utilizadas para crear aplicaciones empresariales con JDK 1.4 o versiones anteriores. Al mismo tiempo que la versión 1.5 de JDK traía numerosas novedades al lenguaje Java, Sun introdujo nuevas tecnologías basadas en este lenguaje mejorado para subsanar las deficiencias de esas mismas tecnologías en la versión 1.3 de J2EE. El término Java EE 5 se utilizó entonces para referirse al conjunto de tecnologías que contribuyen a crear una aplicación empresarial con la plataforma Java. Al momento de actualizar este documento, la última versión de Java EE es Java EE 6.
Los libros de Antonio Goncalves:
- Java EE 5, publicado por Eyrolles
- Beginning Java EE 6 Platform with Glassfish 3, de la editorial Apress
son excelentes libros para descubrir las tecnologías de Java EE 5 y Java EE 6. En ellos se repasan todas las tecnologías importantes de Java EE en el contexto de casos de estudio realistas. El autor tiene un sitio web [http://www.antoniogoncalves.org] que invitamos al lector a visitar.
El presente documento analiza algunas de las tecnologías de Java EE 5. En él creamos una aplicación básica de tres capas [présentation, métier, accès aux données] disponible en varias versiones:
Una aplicación web con las siguientes tecnologías:
- Java Server Faces: para la capa web
- EJB3 o Spring: para la capa de negocio
- EJB3 o Spring, JPA/Hibernate, JPA/EclipseLink: para crear diferentes capas de acceso a los datos
Una aplicación cliente/servidor con las siguientes tecnologías:
- Swing: para la capa gráfica del cliente con soporte de Spring
- EJB3 o servicio web: para la capa de servidor
Algunas tecnologías de Java EE no se presentan aquí, como los MDB (Message Driven Bean) o los EJB3 con estado. Para conocerlas, se pueden consultar los libros de Antonio Goncalves.
Existen otras tecnologías de código abierto disponibles para crear aplicaciones de tres capas. Una combinación muy popular es Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). Para que el lector pueda comparar las tecnologías EJB3 y Spring, la aplicación anterior cuenta con versiones en las que Spring reemplaza a EJB3.
Este documento es un TD (Trabajo Dirigido) utilizado en el quinto año de la escuela de ingeniería ISTIA de la Universidad de Angers [http://www.istia.univ-angers.fr]. Este TD describe la aplicación que se debe desarrollar, las tecnologías Java que se deben utilizar y dónde encontrar información. La solución propuesta suele estar muy delimitada. El TD plantea preguntas sin dar las respuestas. Es el estudiante quien debe encontrarlas.
El aprendizaje de Java EE que aquí se propone requiere una inversión de tiempo por parte del lector estimada entre 50 y 100 horas. El documento contiene mucho código, lo que permite copiar y pegar. Además, todos los proyectos de NetBeans se describen en detalle. En general, el documento proporciona los esquemas de las soluciones y se le pide al estudiante que complete algunos detalles. El documento puede ser útil incluso para alguien que no pueda o no quiera dedicarle tanto tiempo. Se puede enfocar únicamente en las arquitecturas descritas y dejar de lado la parte del código que es objeto de las preguntas.
Para desarrollar y ejecutar la aplicación, utilizamos NetBeans IDE. NetBeans es un producto bastante pesado: se recomienda contar con 1 GB de RAM para trabajar cómodamente. Se puede descargar en la URL [http://www.netbeans.org/].
El documento hace referencia a los siguientes cursos:
- Persistencia en Java 5 en la práctica: [Persistencia en Java 5 a través de la práctica (2007)] —proporciona las herramientas para construir la capa de acceso a los datos con JPA (Java Persistence API)
- Introducción al lenguaje Java [Introducción al lenguaje Java (1998)]: para principiantes
- Introducción con ejemplos a Java Server Faces, PrimeFaces y PrimeFaces Mobile [Introducción con ejemplos a Java Server Faces, PrimeFaces y PrimeFaces Mobile (2012)]
Estos materiales de curso se mencionan posteriormente como [ref1], [ref2] y [ref3].
Serge Tahé, junio de 2012.