stringtranslate.com

Yakarta EE.UU.

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 informática distribuida y servicios web . [2] Las aplicaciones 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 gestión de los componentes que están implementando.

Yakarta 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 del Proceso comunitario de Java , los proveedores deben cumplir ciertos requisitos de conformidad para poder declarar que sus productos cumplen con Jakarta EE .

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

Historia

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

Java EE fue mantenido por Oracle bajo el Proceso de la Comunidad Java . 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 ha denominado Eclipse Enterprise para Java (EE4J). [4] La Fundación Eclipse no pudo llegar a un acuerdo con Oracle sobre el uso de las marcas javax y Java. [5] Oracle posee la marca registrada del nombre "Java" y la plataforma pasó a 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 .

Especificaciones

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 de Java SE básicas , 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 el espacio de los contenedores web, tanto en términos físicos como conceptuales, se creó el perfil web, un subconjunto de las especificaciones EE de Yakarta. 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 , agrupación en clústeres , tolerancia a fallos , alta disponibilidad , seguridad , etc.), tamaño instalado, uso de memoria , tiempo de inicio, etc.

Yakarta EE [22] [23] [24]

JavaEE

Ejemplo de código

El ejemplo de código que se muestra a continuación demuestra cómo se utilizan varias tecnologías en Java EE 7 juntas 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 Server Faces ( JSF ) con Facelets . El siguiente ejemplo utiliza Caras y Facelets . Lo que no se muestra explícitamente es que los componentes de entrada utilizan la API de validación de Jakarta EE Bean en secreto 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 columns= "2" > <h:outputLabel for= "firstName" value= "First name" /> <h:inputText id= "firstName" value= "#{userEdit.user. firstName}" etiqueta = "Nombre" />            <h:outputLabel for= "lastName" value= "Apellido" /> <h:inputText id= "lastName" value= "#{userEdit.user.lastName}" label= "Apellido" />         <h:commandButton action= "#{userEdit.saveUser}" value= "Guardar" /> </h:panelGrid> </h:form>      </h:cuerpo> </html>

Ejemplo de clase de Backing Bean

Para facilitar la vista, Jakarta EE utiliza un concepto llamado "Backing Bean". El siguiente ejemplo utiliza contextos e inyección de dependencia (CDI) y Jakarta Enterprise Beans ( EJB ).

@Named @ViewScoped clase pública UserEdit {    Usuario usuario privado ;   @Inject usuarioDAO privado userDAO ;    cadena pública saveUser () { usuarioDAO . guardar ( este . usuario ); addFlashMessage ( "Usuario" + este.usuario.getId ( ) + " guardado " ) ;          devolver "users.xhtml?faces-redirect=true" ; }   public void setUser ( Usuario usuario ) { this . usuario = usuario ; }         Usuario público getUser () { usuario de retorno ; } }      

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 Yakarta EE. Para la persistencia real, se puede utilizar JDBC o Jakarta Persistence (JPA). El siguiente ejemplo utiliza EJB y JPA. Lo que no se muestra explícitamente es que EJB utiliza JTA encubiertamente para controlar el comportamiento transaccional.

@Clase pública sin estado UserDAO {    @PersistenceContext EntityManager privado EntityManager ;    guardar vacío público ( Usuario usuario ) { entityManager . persistir ( usuario ); }       actualización pública nula ( Usuario usuario ) { entityManager . fusionar ( usuario ); }       Lista pública <Usuario> getAll ( ) { return entidadManager . _ createNamedQuery ( "User.getAll" , Usuario . clase ) . getListaResultados (); }        }

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 de validación de Bean. El siguiente ejemplo utiliza ambas tecnologías.

@Entity usuario de clase pública {    @Id @GeneratedValue ( estrategia = IDENTIDAD ) ID entero privado ;       @Size ( min = 2 , mensaje = "Nombre demasiado corto" ) private String firstName ;       @Size ( min = 2 , mensaje = "Apellido demasiado corto" ) private String apellido ;       público entero getId () { identificación de retorno ; }       public void setId ( ID entero ) { this . identificación = identificación ; }         cadena pública getFirstName () { return firstName ; }       public void setFirstName ( String firstName ) { this . nombre = nombre ; }         public String getLastName () { return apellido ; }       public void setLastName ( String apellido ) { this . apellido = apellido ; }        }

Ver también

Referencias

  1. ^ "Diferencias entre Java EE y Java SE: su primera copa: una introducción a la plataforma Java EE". Docs.oracle.com. 2012-04-01 . Consultado el 18 de julio de 2012 .
  2. ^ "Descripción general de Java EE". Corporación Oráculo . Consultado el 26 de febrero de 2017 .
  3. ^ John K. Waters (12 de septiembre de 2017). "Java EE se traslada a la Fundación Eclipse". ADTmag . Consultado el 13 de septiembre de 2017 .
  4. ^ Beaton, Wayne. "Preguntas frecuentes sobre EE4J | La Fundación Eclipse". www.eclipse.org .
  5. ^ "Actualización sobre los derechos EE de Yakarta sobre las marcas comerciales de Java". 3 de mayo de 2019.
  6. ^ Chirgwin, Richard (4 de marzo de 2018). "Java EE pasó a llamarse 'Jakarta EE' después de la disputa con la marca Big Red". Software. El registro . Consultado el 19 de marzo de 2018 .
  7. ^ Vaughan-Nichols, Steven J. (5 de marzo de 2018). "Adiós JEE, hola Yakarta EE". Linux y código abierto. ZDNet . Consultado el 10 de julio de 2020 .
  8. ^ https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee [ URL desnuda ]
  9. ^ Plan de lanzamiento de la plataforma EE 10 de Yakarta
  10. ^ Obradovic, Tanja; Grimstad, Ivar (25 de mayo de 2021). "El grupo de trabajo de Jakarta EE lanza Jakarta EE 9.1 a medida que la industria continúa adoptando Java empresarial de código abierto". Noticias. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  11. ^ Mmayel, Shabnam; Obradovic, Tanja (8 de diciembre de 2020). "¡Lanzamiento de Yakarta EE 9!". Noticias. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  12. ^ Mmayel, Shabnam; Obradovic, Tanja (10 de septiembre de 2019). "¡Lanzamiento de Yakarta EE 8!". Noticias. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  13. ^ Krill, Paul (21 de noviembre de 2003). "Certificación de especificación J2EE 1.4". Desarrollo de software. InfoMundo . Consultado el 5 de marzo de 2022 .
  14. ^ Copeland, Lee (24 de septiembre de 2001). "Sun presenta J2EE 1.3". Desarrollo de software. Mundo de la informática . Consultado el 5 de marzo de 2022 .
  15. ^ "JSR 316: plataforma Java, especificación Enterprise Edition 6 (Java EE 6)". Proceso de la comunidad Java . Corporación Oráculo . Consultado el 5 de marzo de 2022 .
  16. ^ "JSR 342: Plataforma Java, especificación Enterprise Edition 7 (Java EE 7)". Proceso de la comunidad Java . Corporación Oráculo . Consultado el 5 de marzo de 2022 .
  17. ^ "Especificación del perfil web de Java Platform, Enterprise Edition 8 (Java EE 8)" (PDF) . GitHub . Corporación Oráculo . Archivado (PDF) desde el original el 9 de octubre de 2022 . Consultado el 5 de febrero de 2022 .
  18. ^ "Definición de perfil web". Perfil web de EE de Yakarta . 8. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  19. ^ "Definición de perfil web". Perfil web de EE de Yakarta . 9. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  20. ^ "Definición de perfil web". Perfil web de EE de Yakarta . 9.1. Yakarta EE.UU. Fundación Eclipse . Consultado el 5 de marzo de 2022 .
  21. ^ "Definición de perfil web". Perfil web de EE de Yakarta . 10. Yakarta EE.UU. Fundación Eclipse . Consultado el 27 de septiembre de 2022 .
  22. ^ "Productos compatibles con Yakarta EE". Yakarta.ee .
  23. ^ "Productos compatibles con Yakarta EE 9". Yakarta.ee .
  24. ^ "Productos compatibles con Yakarta EE 8". Yakarta.ee .
  25. ^ "Plataforma Jakarta EE 10 y MicroProfile 6 en Open Liberty 23.0.0.1-beta". openliberty.io .
  26. ^ ab "Compatibilidad con Jakarta EE 10, MicroProfile 6 y Java SE 20 en Open Liberty 23.0.0.3". openliberty.io .
  27. ^ "Apache TomEE". tomee.apache.org . Consultado el 8 de enero de 2024 .
  28. ^ abcdefg "Compatibilidad con Java EE". www.oracle.com . Consultado el 5 de agosto de 2018 .
  29. ^ abcdefg "Compatibilidad con Java EE".
  30. ^ 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.
  31. ^ "Compatibilidad con Java EE". Java.sun.com. 2010-09-07 . Consultado el 18 de julio de 2012 .
  32. ^ "Servidor Oracle Weblogic 14.1.1". www.oracle.com .
  33. ^ "Servidor Oracle Weblogic 12.1.1". www.oracle.com .
  34. ^ Lyon, 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 15 de diciembre de 2011 . Consultado el 3 de diciembre de 2011 .
  35. ^ "Compatibilidad con Java EE". www.oracle.com .
  36. ^ "JBoss AS 7.1.0.Final" Thunder "lanzado - ¡Certificación de perfil completo de Java EE 6! | Mi Wiki | Comunidad Planet JBoss". Planeta.jboss.org. 2012-02-17 . Consultado el 18 de julio de 2012 .
  37. ^ "Servidor de aplicaciones JBoss - Comunidad JBoss".
  38. ^ "Servidor de aplicaciones JBoss - Comunidad JBoss".
  39. ^ "Compatibilidad con Java EE".
  40. ^ "¡JBoss AS ahora tiene 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 .
  41. ^ "Disponibilidad de la plataforma de aplicaciones empresariales Red Hat JBoss 7.2".
  42. ^ 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". Cable comercial . Consultado el 18 de julio de 2012 . {{cite web}}: |author=tiene nombre genérico ( ayuda )
  43. ^ "Novedades de WebSphere Application Server V8". IBM.com . Consultado el 18 de julio de 2012 .
  44. ^ 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 .
  45. ^ "Java EE 7 - Configuraciones probadas - Perfil Liberty de IBM WebSphere Application Server". Oracle.com .
  46. ^ "Java EE 7 ha aterrizado en WAS Liberty - WASdev". 25 de junio de 2015.
  47. ^ "Configuraciones probadas del perfil web de IBM Java EE 6".
  48. ^ "Apache Geronimo: índice". geronimo.apache.org . 25 de enero de 2010.
  49. ^ "Apache Geronimo totalmente certificado para Java EE 6 - The H Open: noticias y características". H-online.com. 2011-11-14. Archivado desde el original el 20 de abril de 2012 . Consultado el 18 de julio de 2012 .
  50. ^ "Configuraciones probadas, Java EE 6 - TMAX JEUS 7". Oracle.com. 2010-09-07 . Consultado el 18 de julio de 2012 .
  51. ^ "Servidor de aplicaciones web Java EE6, software WAS". Nosotros.tmaxsoft.com. Archivado desde el original el 2 de julio de 2012 . Consultado el 18 de julio de 2012 .
  52. ^ "Java EE 6 - Configuraciones probadas, Java EE 6 - Servidor de aplicaciones Hitachi uCosminexus v9.0". Oracle.com.
  53. ^ "Servidor de aplicaciones Fujitsu Interstage con tecnología de Windows Azure". Archivado desde el original el 10 de agosto de 2011.
  54. ^ "Configuraciones probadas, Java EE6 - Fujitsu Interstage". Oracle.com. 2010-09-07 . Consultado el 18 de julio de 2012 .
  55. ^ "Fujitsu lanza el servidor de aplicaciones Interstage V10.1". Fujitsu.
  56. ^ "Certificación del servidor de aplicaciones NEC WebOTX V9.x".
  57. ^ "Apache TomEE". Openejb.apache.org . Consultado el 18 de julio de 2012 .
  58. ^ "MarketWatch.com". MarketWatch.com . Consultado el 18 de julio de 2012 .
  59. ^ TomEE, Apache. "Apache TomEE 7.0.1".
  60. ^ "Perfil web Java EE 6 del servidor de aplicaciones Resin" (PDF) . caucho.com . 2011. Archivado (PDF) desde el original el 9 de octubre de 2022.
  61. ^ "¡Dé la bienvenida a Siwpas como opción certificada por Java EE!". Oracle.com . Consultado el 7 de diciembre de 2015 .
  62. ^ "Lanzamiento de JOnAS 5.3.0 RC1". jonas.ow2.org . 2013-01-07. Archivado desde el original el 15 de octubre de 2013 . Consultado el 25 de febrero de 2014 .
  63. ^ "¡Perfil web SAP NetWeaver Cloud Java EE 6 certificado! (El acuario)".
  64. ^ "Soluciones de software SAP: tecnología y aplicaciones empresariales".

enlaces externos