Comenzando con java-ee
¿Qué es Java EE?
Java EE significa Java Enterprise Edition. Java EE amplía Java SE (que significa Java Standard Edition). Java EE es un conjunto de tecnologías y especificaciones relacionadas que están orientadas al desarrollo de aplicaciones empresariales a gran escala. Java EE se desarrolla en un proceso impulsado por la comunidad. Hasta el momento se han lanzado las siguientes versiones de Java EE:
- J2EE 1.2 (12 de diciembre de 1999)
- J2EE 1.3 (24 de septiembre de 2001)
- J2EE 1.4 (11 de noviembre de 2003)
- Java EE 5 (11 de mayo de 2006)
- Java EE 6 (10 de diciembre de 2009)
- Java EE 7 (5 de abril de 2013)
Y se espera que Java EE 8 se lance en la primera mitad de 2017.
Un concepto clave de Java EE es que cada versión de Java EE está compuesta por un conjunto de tecnologías específicas. Estas tecnologías abordan JSR específicos (Solicitudes de especificación de Java). Para que un programador pueda usar estas tecnologías, necesita descargar una implementación de las especificaciones de la tecnología Java EE. La comunidad Java proporciona una implementación de referencia para cada tecnología, pero también se desarrollan otras tecnologías compatibles con Java EE que también se pueden utilizar. La comunidad proporciona un conjunto de pruebas, a saber, el Kit de compatibilidad de Java (JCK) que pueden utilizar los desarrolladores de una implementación de JSR para comprobar si cumple o no con el JSR. La siguiente tabla ofrece una descripción general de las tecnologías que comprenden Java EE 7 y el JSR relacionado que define las especificaciones.
Tecnología Java EE 7 | JSR |
---|---|
Plataforma Java, Enterprise Edition 7 (Java EE 7) | JSR 342 |
API Java para WebSocket | JSR 356 |
API Java para procesamiento JSON | JSR 353 |
JavaServlet 3.1 | JSR 340 |
JavaServer Caras 2.2 | JSR 344 |
Lenguaje de expresión 3.0 | JSR 341 |
JavaServer Páginas 2.3 | JSR 245 |
Biblioteca de etiquetas estándar para JavaServer Pages (JSTL) 1.2 | JSR 52 |
Aplicaciones por lotes para la plataforma Java | JSR 352 |
Utilidades de concurrencia para Java EE 1.0 | JSR 236 |
Contextos e inyección de dependencias para Java 1.1 | JSR 346 |
Inyección de dependencia para Java 1.0 | JSR 330 |
Validación de frijol 1.1 | JSR 349 |
Empresa JavaBeans 3.2 | JSR 345 |
Interceptores 1.2 (versión de mantenimiento) | JSR 318 |
Arquitectura del conector Java EE 1.7 | JSR 322 |
Persistencia de Java 2.1 | JSR 338 |
Anotaciones comunes para la plataforma Java 1.2 | JSR250 |
Servicio de mensajes de Java API 2.0 | JSR 343 |
API de transacciones Java (JTA) 1.2 | JSR 907 |
JavaMail 1.5 | JSR 919 |
API de Java para servicios web RESTful (JAX-RS) 2.0 | JSR 339 |
Implementación de servicios web empresariales 1.3 | JSR 109 |
API de Java para servicios web basados en XML (JAX-WS) 2.2 | JSR 224 |
Metadatos de servicios web para la plataforma Java | JSR 181 |
API de Java para RPC basado en XML (JAX-RPC) 1.1 (opcional) | JSR 101 |
API de Java para mensajería XML 1.3 | JSR 67 |
API de Java para registros XML (JAXR) 1.0 | JSR 93 |
Interfaz de proveedor de servicios de autenticación de Java para contenedores 1.1 | JSR 196 |
Contrato de Autorización Java para Contenedores 1.5 | JSR 115 |
Despliegue de aplicaciones Java EE 1.2 (opcional) | JSR 88 |
Gestión J2EE 1.1 | JSR 77 |
Soporte de depuración para otros idiomas 1.0 | JSR 45 |
Arquitectura Java para enlace XML (JAXB) 2.2 | JSR 222 |
API Java para procesamiento XML (JAXP) 1.3 | JSR 206 |
Conectividad de base de datos Java 4.0 | JSR 221 |
Extensiones de gestión de Java (JMX) 2.0 | JSR 003 |
Marco de activación de JavaBeans (JAF) 1.1 | JSR 925 |
API de transmisión para XML (StAX) 1.0 | JSR 173 |
Instalación
En primer lugar, no puede “instalar” Java EE. Java EE consta de una serie de especificaciones. Sin embargo, puede instalar implementaciones de esas especificaciones.
Dependiendo de tus necesidades, hay muchas posibilidades. Para instalar la mayoría (o todas) de las especificaciones, puede elegir un servidor de aplicaciones compatible con Java EE 7. Según sus necesidades, puede elegir entre servidores de aplicaciones que implementan el perfil web o servidores de aplicaciones que implementan el perfil completo. Para obtener una lista de servidores de aplicaciones compatibles con Java EE7, consulte Compatibilidad con Java EE.
Instalación completa del servidor Payara
Requisitos previos
- JDK 1.7 o posterior instalado. Puede encontrar los JDK de Oracle aquí.
Pasos
- Descargar Payara Server Full.
- Descomprima Payara Server en algún lugar de su computadora.
Usaremos
C:\payara41
como INSTALL_DIR para usuarios de Windows y/payara41
para usuarios de Linux/Mac.
Iniciar/detener Payara desde el símbolo del sistema
-
Windows: abra un símbolo del sistema y ejecute el siguiente comando para iniciar/detener Payara:
"C:\payara41\bin\asadmin" start-domain
"C:\payara41\bin\asadmin" stop-domain
-
Linux/Max: Abra una terminal y ejecute el siguiente comando para iniciar/detener Payara:
/payara41/bin/asadmin start-domain
/payara41/bin/asadmin stop-domain
Iniciando Payara desde Netbeans
- Agregar el servidor Payara a Netbeans (ver capítulo anterior)
- Vaya a la pestaña ‘Servicios’ (Windows -> Servicios).
- Expanda el elemento ‘Servidores’.
- Haz clic derecho en el servidor de Payara y selecciona ‘Iniciar’.
- (Opcional) Haga clic con el botón derecho en el servidor de Payara y seleccione ‘Ver consola de administración de dominio’ para ir a la consola.
Para comprobar que está ejecutando el servidor de aplicaciones, abra un navegador y vaya a http://localhost:4848 para ver la consola del servidor de Payara.
¡Voila! ¡Ahora es el momento de crear su primera aplicación con JavaEE e implementarla en su servidor!
Construyendo mi primera aplicación JavaEE (Hello World)
Entendamos algo. JavaEE consta de una serie de especificaciones. Cuando instala un servidor de aplicaciones (Payara, por ejemplo), instala todas las especificaciones a la vez. Por ejemplo, hay una especificación para un ORM llamada JPA (API de persistencia de Java), una especificación para construir aplicaciones web basadas en componentes llamada JSF (Java Server Faces), una especificación para construir servicios web REST y clientes llamados JAX-RS.
Entonces, como puede suponer, no hay una sola forma de crear una aplicación Hello World simple en JavaEE.
En segundo lugar, la especificación JavaEE tiene una estructura específica de carpetas que se parece a esto (simplificado):
/projectname/src/main/java
/projectname/src/main/resources
/projectname/src/main/resources/META-INF
/projectname/src/main/webapp
/projectname/src/main/webapp/WEB-INF
Dentro de /projectname/src/main/java
ponemos todas las clases de Java que necesitamos.
Dentro de /projectname/src/main/webapp
ponemos archivos html, css, javascript, etc.
Dentro de /projectname/src/main/webapp/WEB-INF
van algunos archivos de configuración opcionales, como web.xml y beans.xml.
Para simplificar, usaremos NetBeans IDE (es gratis) para construir nuestra primera aplicación JavaEE. Puede encontrarlo aquí. Elija la versión de JavaEE e instálela.
Crear nuevo proyecto
- Abra el IDE de NetBeans
- Vaya a Archivo > Nuevo proyecto > Maven > Aplicación web y haga clic en Siguiente.
- Cambie nombre del proyecto a HelloJavaEE, luego haga clic en Siguiente y Finalizar.
Limpiar y compilar el proyecto
- Vaya a Ejecutar > Limpiar y compilar proyecto (HelloJavaEE).
Implementar el archivo WAR
- En un navegador, vaya a http://localhost:4848 (siga las instrucciones para instalar el servidor payara).
- Vaya a Aplicaciones > Haga clic en Implementar, haga clic en Seleccionar archivo y elija su archivo war (HelloJavaEE-1.0-SNAPSHOT.war) en
../NetBeansProjects/HelloJavaEE/target
.
Implemente el archivo WAR directamente desde Netbeans
- Instalar Payara (ver siguiente capítulo).
- En Netbeans, vaya a la pestaña ‘Servicios’ (Ventana-> Servicios si no lo ve).
- Haga clic derecho en Servidores y seleccione ‘Agregar servidor…’
- Seleccione ‘Servidor GlassFish’, asígnele un nombre y haga clic en Siguiente.
- Apunte a su instalación local de Payara, seleccione ‘Dominio local’ y haga clic en Siguiente.
- Deje la configuración de ubicación del dominio como está (Dominio: dominio1, Host: localhost, Puerto DAS: 4848, Puerto HTTP: 8080).
- Vaya a la pestaña ‘Proyectos’ (Windows -> Proyectos).
- Haga clic derecho en su proyecto y seleccione ‘Propiedades’.
- En el panel de la izquierda, vaya a ‘Ejecutar’ y seleccione el servidor que acaba de agregar.
- (Opcional) Cambiar la ruta de contexto. Si establece la ruta de contexto en ‘/MyFirstApplication’, la URL predeterminada será ‘http://localhost:8080/MyFirstApplication’.
Ver resultados
- En un navegador, vaya a http://localhost:8080/HelloJavaEE-1.0-SNAPSHOT
¡Voila! Esa es su primera aplicación que utiliza la tecnología JavaEE. Ahora debe comenzar a crear otras aplicaciones “Hello World” utilizando diferentes especificaciones como JPA, EJB, JAX-RS, JavaBatch, etc.