stringtranslate.com

EE. UU. de Yakarta

Jakarta EE , anteriormente Java Platform, Enterprise Edition ( Java EE ) y Java 2 Platform, Enterprise Edition ( J2EE ), es un conjunto de especificaciones que amplía Java SE [1] con especificaciones para funciones empresariales como computación distribuida y servicios web . [2] Las aplicaciones de Jakarta EE se ejecutan en tiempos de ejecución de referencia , que pueden ser microservicios o servidores de aplicaciones , que manejan transacciones, seguridad, escalabilidad, concurrencia y administración de los componentes que están implementando.

Jakarta EE se define por su especificación . La especificación define las API (interfaz de programación de aplicaciones) y sus interacciones. Al igual que con otras especificaciones de Java Community Process , los proveedores deben cumplir con ciertos requisitos de conformidad para declarar que sus productos cumplen con Jakarta EE .

Ejemplos de contextos en los que se utilizan tiempos de ejecución de referencia de Jakarta EE son: comercio electrónico , contabilidad y sistemas de información bancaria .

Historia

La plataforma se conoció como Java 2 Platform, Enterprise Edition o J2EE desde la versión 1.2, hasta que el nombre se cambió a Java Platform, Enterprise Edition o Java EE en la versión 1.5.

Oracle mantuvo Java EE bajo el Java Community Process . El 12 de septiembre de 2017, Oracle Corporation anunció que presentaría Java EE a la Fundación Eclipse . [3] El proyecto de nivel superior de Eclipse se denominó Eclipse Enterprise for Java (EE4J). [4] La Fundación Eclipse no pudo llegar a un acuerdo con Oracle sobre el uso de las marcas comerciales javax y Java. [5] Oracle posee la marca comercial del nombre "Java" y la plataforma pasó de llamarse Java EE a Jakarta EE. [6] [7] El nombre hace referencia a la ciudad más grande de la isla de Java y también a la capital de Indonesia, Yakarta . [8] El nombre no debe confundirse con el antiguo Proyecto Jakarta que fomentó una serie de proyectos Java actuales y anteriores en la Apache Software Foundation .

Presupuesto

Jakarta EE incluye varias especificaciones que sirven para diferentes propósitos, como generar páginas web, leer y escribir desde una base de datos de forma transaccional y gestionar colas distribuidas.

Las API de Jakarta EE incluyen varias tecnologías que amplían la funcionalidad de las API básicas de Java SE , como Jakarta Enterprise Beans , conectores , servlets , Jakarta Server Pages y varias tecnologías de servicios web .

Especificaciones web

Especificaciones del servicio web

Especificaciones empresariales

Otras especificaciones

Perfil web

En un intento por limitar la huella de los contenedores web, tanto en términos físicos como conceptuales, se creó el perfil web, un subconjunto de las especificaciones de Jakarta EE. El perfil web de Jakarta EE comprende lo siguiente:

Tiempos de ejecución de referencia certificados

Aunque, por definición, todas las implementaciones de Jakarta EE proporcionan el mismo nivel básico de tecnologías (es decir, la especificación de Jakarta EE y las API asociadas), pueden diferir considerablemente con respecto a características adicionales (como conectores , agrupamiento , tolerancia a fallas , alta disponibilidad , seguridad , etc.), tamaño instalado, huella de memoria , tiempo de inicio, etc.

EE. UU. de Yakarta

Java EE

Ejemplo de código

El ejemplo de código que se muestra a continuación demuestra cómo se utilizan juntas varias tecnologías en Java EE 7 para crear un formulario web para editar un usuario.

En Jakarta EE, se puede crear una interfaz de usuario (web) utilizando Jakarta Servlet , Jakarta Server Pages ( JSP ) o Jakarta Faces ( JSF ) con Facelets . El ejemplo siguiente utiliza Faces y Facelets . No se muestra explícitamente que los componentes de entrada utilizan la API de validación de bean de Jakarta EE en segundo plano para validar las restricciones.

<html xmlns= "http://www.w3.org/1999/xhtml" xmlns:h= "http://xmlns.jcp.org/jsf/html" xmlns:f= "http://xmlns.jcp.org/jsf/core" >    <f:metadata> <f:viewParam nombre= "user_id" valor= "#{userEdit.user}" convertidor= "#{userConvertor}" /> </f:metadata>       <h:cuerpo> <h:mensajes />  <h:form> <h:panelGrid columnas= "2" > <h:outputLabel para= "firstName" valor= "Nombre" /> <h:inputText id= "firstName" valor= "#{userEdit.user.firstName}" etiqueta= "Nombre" />            <h:outputLabel for= "lastName" value= "Apellido" /> <h:inputText id= "lastName" value= "#{userEdit.user.lastName}" label= "Apellido" />         <h:commandButton acción= "#{userEdit.saveUser}" valor= "Guardar" /> </h:panelGrid> </h:form>      </h:cuerpo> </html>

Ejemplo de clase Backing Bean

Para facilitar la visualización, Jakarta EE utiliza un concepto denominado "Backing Bean". El ejemplo siguiente utiliza Contexts and Dependency Injection (CDI) y Jakarta Enterprise Beans ( EJB ).

@Named @ViewScoped clase pública UserEdit {    Usuario privado usuario ;   @Inject usuarioDAO privado userDAO ;    public String saveUser ( ) { userDAO.save ( this.user ) ; addFlashMessage ( " Usuario " + this.user.getId ( ) + " guardado " ) ;          devolver "usuarios.xhtml?faces-redirect=true" ; }   public void setUser ( Usuario usuario ) { this.usuario = usuario ; }         público Usuario getUser () { return usuario ; } }      

Ejemplo de clase de objeto de acceso a datos

Para implementar la lógica empresarial, Jakarta Enterprise Beans ( EJB ) es la tecnología dedicada en Jakarta EE. Para la persistencia real, se puede utilizar JDBC o Jakarta Persistence (JPA). El ejemplo siguiente utiliza EJB y JPA. No se muestra explícitamente que EJB utiliza JTA en secreto para controlar el comportamiento transaccional.

@Stateless clase pública UserDAO {    @PersistenceContext EntityManager privado entityManager ;    public void save ( Usuario usuario ) { entityManager.persistent ( usuario ) ; }       public void update ( Usuario usuario ) { entityManager.merge ( usuario ) ; }       pública Lista < Usuario > getAll ( ) { return entityManager.createNamedQuery ( " Usuario.getAll " , Usuario.class ) .getResultList ( ) ; }        }

Ejemplo de clase de entidad

Para definir clases de entidad/modelo, Jakarta EE proporciona Jakarta Persistence ( JPA ) y, para expresar restricciones sobre esas entidades, proporciona la API Bean Validation. El siguiente ejemplo utiliza ambas tecnologías.

@Entity clase pública Usuario {    @Id @GeneratedValue ( estrategia = IDENTIDAD ) privado Entero id ;       @Size ( min = 2 , mensaje = "Nombre demasiado corto" ) cadena privada firstName ;       @Size ( min = 2 , mensaje = "Apellido demasiado corto" ) private String apellido ;       público entero getId () { devolver id ; }       público void setId ( entero id ) { este . id = id ; }         public String getFirstName () { devolver nombre ; }       public void setFirstName ( String firstName ) { this.firstName = firstName ; }         public String getLastName () { return apellido ; }       public void setLastName ( String apellido ) { this.lastName = apellido ; }        }

Véase también

Referencias

  1. ^ "Diferencias entre Java EE y Java SE - Su primera taza: Introducción a la plataforma Java EE". Docs.oracle.com. 2012-04-01 . Consultado el 2012-07-18 .
  2. ^ "Descripción general de Java EE". Oracle Corporation . Consultado el 26 de febrero de 2017 .
  3. ^ Waters, John K. (12 de septiembre de 2017). "Java EE se está moviendo hacia Eclipse Foundation". ADTmag . Consultado el 13 de septiembre de 2017 .
  4. ^ Beaton, Wayne. "Preguntas frecuentes sobre EE4J". Fundación Eclipse .
  5. ^ Milinkovich, Mike (3 de mayo de 2019). "Actualización sobre los derechos de Jakarta EE sobre las marcas comerciales de Java". Blog. La vida en Eclipse . Consultado el 25 de julio de 2024 .
  6. ^ Chirgwin, Richard (4 de marzo de 2018). "Java EE cambió su nombre a 'Jakarta EE' después de una disputa con la marca Big Red". Software. The Register . Consultado el 19 de marzo de 2018 .
  7. ^ Vaughan-Nichols, Steven J. (5 de marzo de 2018). "Adiós JEE, hola Jakarta EE". Linux y código abierto. ZDNet . Consultado el 10 de julio de 2020 .
  8. ^ Tijms, Arjan (27 de febrero de 2020). "Transición de Java EE a Yakarta EE". Revista Java. blogs.oracle.com . Consultado el 25 de julio de 2024 .
  9. ^ "Jakarta EE Releases". Jakarta EE . Fundación Eclipse . Consultado el 17 de julio de 2024 .
  10. ^ Obradovic, Tanja; Grimstad, Ivar (22 de septiembre de 2022). "El grupo de trabajo Jakarta EE de la Fundación Eclipse lanza Jakarta EE 10 para marcar el comienzo de la era de Java nativo en la nube". Noticias. Jakarta EE (Comunicado de prensa). Fundación Eclipse . Consultado el 17 de julio de 2024 .
  11. ^ Obradovic, Tanja; Grimstad, Ivar (25 de mayo de 2021). "El grupo de trabajo de Jakarta EE lanza Jakarta EE 9.1 mientras la industria continúa adoptando Java empresarial de código abierto". Noticias. Jakarta EE (Comunicado de prensa). Eclipse Foundation . Consultado el 5 de marzo de 2022 .
  12. ^ Mmayel, Shabnam; Obradovic, Tanja (8 de diciembre de 2020). "¡Lanzamiento de Yakarta EE 9!". Noticias. Yakarta EE (Presione soltar). Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  13. ^ Mmayel, Shabnam; Obradovic, Tanja (10 de septiembre de 2019). "¡Lanzamiento de Yakarta EE 8!". Noticias. Yakarta EE (Presione soltar). Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  14. ^ Krill, Paul (21 de noviembre de 2003). "Certificación de especificación J2EE 1.4". Desarrollo de software. InfoWorld . Consultado el 5 de marzo de 2022 .
  15. ^ Copeland, Lee (24 de septiembre de 2001). «Sun presenta J2EE 1.3». Desarrollo de software. Computerworld . Consultado el 5 de marzo de 2022 .
  16. ^ "JSR 316: Especificación de la plataforma Java, Enterprise Edition 6 (Java EE 6)". Proceso de la comunidad Java . Oracle Corporation . Consultado el 5 de marzo de 2022 .
  17. ^ "JSR 342: Especificación de la plataforma Java, Enterprise Edition 7 (Java EE 7)". Proceso de la comunidad Java . Oracle Corporation . Consultado el 5 de marzo de 2022 .
  18. ^ "Especificación de perfil web de Java Platform, Enterprise Edition 8 (Java EE 8)" (PDF) . GitHub . Oracle Corporation . Archivado (PDF) del original el 2022-10-09 . Consultado el 2022-02-05 .
  19. ^ "Definición de perfil web". Jakarta EE WebProfile . 8. Jakarta EE. Eclipse Foundation . Consultado el 5 de marzo de 2022 .
  20. ^ "Definición de perfil web". Jakarta EE WebProfile . 9. Jakarta EE. Eclipse Foundation . Consultado el 5 de marzo de 2022 .
  21. ^ "Definición de perfil web". Jakarta EE WebProfile . 9.1. Jakarta EE. Eclipse Foundation . Consultado el 5 de marzo de 2022 .
  22. ^ "Definición de perfil web". Jakarta EE WebProfile . 10. Jakarta EE. Eclipse Foundation . Consultado el 27 de septiembre de 2022 .
  23. ^ "Productos compatibles con Jakarta EE". Jakarta.ee .
  24. ^ "Productos compatibles con Jakarta EE 9". Jakarta.ee .
  25. ^ "Productos compatibles con Jakarta EE 8". Jakarta.ee .
  26. ^ "Plataforma Jakarta EE 10 y MicroProfile 6 en Open Liberty 23.0.0.1-beta". openliberty.io .
  27. ^ ab "Compatibilidad con Jakarta EE 10, MicroProfile 6 y Java SE 20 en Open Liberty 23.0.0.3". openliberty.io .
  28. ^ "Apache TomEE". tomee.apache.org . Consultado el 8 de enero de 2024 .
  29. ^ abcdefg "Compatibilidad con Java EE". www.oracle.com . Consultado el 5 de agosto de 2018 .
  30. ^ abcdefg "Compatibilidad con Java EE".
  31. ^ ab "Comparación de las versiones 2.x y 3.0.x de GlassFish Open Source Edition". Archivado desde el original el 20 de diciembre de 2012.
  32. ^ "Compatibilidad con Java EE". Java.sun.com. 7 de septiembre de 2010. Consultado el 18 de julio de 2012 .
  33. ^ "Oracle Weblogic Server 14.1.1". www.oracle.com .
  34. ^ "Oracle Weblogic Server 12.1.1". www.oracle.com .
  35. ^ Lyons, Will; Humphrey, Pieter (2011). "Oracle Web Logic Server 12c: desarrollo de aplicaciones Java EE 6 modernas y ligeras" (PDF) . Archivado desde el original (PDF) el 2011-12-15 . Consultado el 2011-12-03 .
  36. ^ "Compatibilidad con Java EE". www.oracle.com .
  37. ^ "Lanzamiento de JBoss AS 7.1.0.Final "Thunder" - ¡Perfil completo certificado para Java EE 6! | Mi Wiki | Comunidad Planet JBoss". Planet.jboss.org. 17 de febrero de 2012. Consultado el 18 de julio de 2012 .
  38. ^ "Servidor de aplicaciones JBoss - Comunidad JBoss".
  39. ^ "Servidor de aplicaciones JBoss - Comunidad JBoss".
  40. ^ "Compatibilidad con Java EE".
  41. ^ "¡JBoss AS ahora cuenta con la certificación EE5!". 15 de septiembre de 2008. Archivado desde el original el 20 de septiembre de 2008. Consultado el 7 de agosto de 2016 .
  42. ^ "Disponibilidad de Red Hat JBoss Enterprise Application Platform 7.2".
  43. ^ Business Wire (20 de junio de 2012). "Red Hat lanza JBoss Enterprise Application Platform 6 para ayudar a las empresas a trasladar el desarrollo y la implementación de aplicaciones a la nube". Business Wire . Consultado el 18 de julio de 2012 . {{cite web}}: |author=tiene nombre genérico ( ayuda )
  44. ^ "Novedades de WebSphere Application Server V8". Ibm.com . Consultado el 18 de julio de 2012 .
  45. ^ ab "IBM WebSphere Application Server Liberty ofrece el primer servidor de aplicaciones compatible con Java EE 8 listo para producción y amplía el soporte para aplicaciones Spring Boot". IBM . 10 de julio de 2018 . Consultado el 12 de julio de 2018 .
  46. ^ "Java EE 7 - Configuraciones probadas - Perfil Liberty de IBM WebSphere Application Server". Oracle.com .
  47. ^ "Java EE 7 ha llegado a WAS Liberty - WASdev". 25 de junio de 2015.
  48. ^ "Configuraciones probadas del perfil web IBM Java EE 6".
  49. ^ "Apache Geronimo: Índice". geronimo.apache.org . 25 de enero de 2010.
  50. ^ "Apache Geronimo totalmente certificado para Java EE 6 - The H Open: Noticias y características". H-online.com. 14 de noviembre de 2011. Archivado desde el original el 20 de abril de 2012. Consultado el 18 de julio de 2012 .
  51. ^ "Configuraciones probadas, Java EE 6 - TMAX JEUS 7". Oracle.com. 2010-09-07 . Consultado el 2012-07-18 .
  52. ^ "Servidor de aplicaciones web Java EE6, WAS Software". Us.tmaxsoft.com. Archivado desde el original el 2012-07-02 . Consultado el 2012-07-18 .
  53. ^ "Java EE 6 - Configuraciones probadas, Java EE 6 - Hitachi uCosminexus Application Server v9.0". Oracle.com.
  54. ^ "Servidor de aplicaciones Fujitsu Interstage con tecnología de Windows Azure". Archivado desde el original el 10 de agosto de 2011.
  55. ^ "Configuraciones probadas, Java EE6 - Fujitsu Interstage". Oracle.com. 7 de septiembre de 2010. Consultado el 18 de julio de 2012 .
  56. ^ "Fujitsu lanza el servidor de aplicaciones Interstage V10.1". Fujitsu.
  57. ^ "Certificación del servidor de aplicaciones NEC WebOTX V9.x".
  58. ^ "Apache TomEE". Openejb.apache.org . Consultado el 18 de julio de 2012 .
  59. ^ "MarketWatch.com". MarketWatch.com . Consultado el 18 de julio de 2012 .
  60. ^ TomEE, Apache. "Apache TomEE 7.0.1".
  61. ^ "Perfil web de Resin Application Server Java EE 6" (PDF) . caucho.com . 2011. Archivado (PDF) desde el original el 2022-10-09.
  62. ^ "¡Démosle la bienvenida a Siwpas como opción certificada para Java EE!". Oracle.com . Consultado el 7 de diciembre de 2015 .
  63. ^ "JOnAS 5.3.0 RC1 lanzado". jonas.ow2.org . 2013-01-07. Archivado desde el original el 2013-10-15 . Consultado el 2014-02-25 .
  64. ^ "¡Perfil web certificado para SAP NetWeaver Cloud Java EE 6! (El Acuario)".
  65. ^ "Soluciones de software SAP: aplicaciones empresariales y tecnología".

Enlaces externos