x
1

Jakarta EE



Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4; traducido informalmente como Java Empresarial) es una plataforma de programación —parte de la Plataforma Java— para desarrollar y ejecutar software de aplicaciones en el lenguaje de programación Java. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process (JCP), Java EE es también considerado informalmente como un estándar debido a que los proveedores deben de cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; estandarizado por JCP.

Java EE tiene varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos. Java EE también configura algunas especificaciones únicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web. Ello permite al desarrollador crear una aplicación de empresa portable entre plataformas y escalable, a la vez que integrable con tecnologías anteriores. Otros beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento del bajo nivel.

La especificación original J2EE fue desarrollada por la empresa Sun Microsystems.

Desde el 24 de abril de 2018 Java EE es gestionado por la Fundación Eclipse. La Fundación Eclipse fue forzada a eliminar la palabra Java del nombre debido a que Oracle posee el registro de la marca "Java". El 26 de febrero de 2018 se anunció que el nuevo nombre de Java EE sería Jakarta EE.

La arquitectura Java EE está basada en tres conceptos clave:


Estos tres conceptos permiten a Java EE definir una arquitectura de capas:


Esta arquitectura intenta independizar evitando dependencias entre capas.


El uso de estas capas, nos permite a la hora de desarrollar dividir nuestra aplicación en distintas capas. El modelo más típico es el Modelo Vista Controlador MVC en el cual se separa la capa de presentación, la de negocio y la de acceso a datos. Una arquitectura multicapas promueve la separación de responsabilidades por capas. En el caso particular de 3-capas se separa la presentación de la lógica de negocio y ésta de la de datos. La capa de presentación no accede directamente a la base de datos, sino que lo hace únicamente a través de la capa de negocio. La arquitectura multicapas introduce muchas mejoras importantes dentro del diseño de la aplicación, incluyendo la flexibilidad a través de una adecuada separación entre la capa de presentación y la lógica de negocio.

Con el fin de construir aplicaciones por componentes basados en JEE, se han definido diferentes componentes:

Persistencia: Los datos  y la información son clave en las aplicaciones actuales. Las organizaciones y las aplicaciones necesitan guardar datos porque necesitan almacenar la información sobre su actividad. Hoy en día vamos a que todo tiene que ser almacenado y todo tiene que ser recuperable para poder explotar esa información. Cualquier aplicación hoy en día debe tener almacenada información y debe poder recuperarla en cualquier momento. En el mundo de java existen múltiples maneras de almacenar información, desde lo más sencillo que sería serializando una serie de datos en algún tipo de archivo como guardarlos en formato json, xml, guardarlos en formato binario como con protocolbuffer o incluso en el peor de los casos con la API serializable de java o en el caso más profesional con el uso de bbdd o almacenes de datos.

Este último caso, que es el más habitual, tiene un problema, ya que cuando hablamos de bbdd, en muchos casos nos referimos a bbdd relacionales, donde se almacenan los datos en tablas. Sin embargo java es un lenguaje orienta a objetos y trabajar con estos dos conceptos puede tener sus pequeños problemas ya que necesitamos algo que nos convierta entre objetos y relaciones que tenemos en nuestra bbdd relacional.

Existen distintas formas de hacerlo, como por ejemplo con el uso de JDBC que permite especificar consultas SQL.

Existe un mecanismo que se encarga de hacer esto por nosotros, los ORMs, que son librerías que nos permiten convertir entre objetos y entidades relacionales. Las dos tecnologías más extendidas en este aspecto son JPA (una API que permite almacenar de forma persistente información simplemente etiquetando cada uno de los elementos que necesitamos recordar)e Hibernate que es uno de los ORM más utilizados.

Seguridad. La seguridad es un aspecto fundamental de las aplicaciones empresariales. La seguridad en Java EE está basada en el Servicio Java de Autentificación y Autorización (JAAS). JAAS separa el sistema de autentificación de la aplicación Java EE mediante el uso de un API bien definida que es implementada por el servidor de aplicaciones.

Las API de Java EE incluyen varias tecnologías que extienden la funcionalidad de las API base de Java SE.

La API Enterprise JavaBeans define un conjunto de API que un contenedor de objetos distribuidos soportará para suministrar persistencia, RPCs (usando RMI o RMI-IIOP), control de concurrencia, transacciones y control de acceso para objetos distribuidos.

Los paquetes javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap y javax.naming.spi definen la API de Java Naming and Directory Interface (JNDI).

Los paquetes java.sql y javax.sql definen la API de JDBC.

Estos paquetes definen la Java Transaction API (JTA).

Estos paquetes definen la API JAXP.

Estos paquetes definen la API JMS.

Este paquete provee las clases e interfaces para gestionar la interacción entre los proveedores de persistencia, las clases administradas y los clientes de la Java Persistence API (JPA).

Uno de los beneficios de Java EE es que es posible empezar con poco o ningún coste. La implementación Java EE de Oracle Corporation puede ser descargada gratuitamente, y hay muchas herramientas de código abierto disponibles para extender la plataforma o para simplificar el desarrollo.

Ejemplos de herramientas de desarrollo Java de código abierto de terceras partes son:



Escribe un comentario o lo que quieras sobre Jakarta EE (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!