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.