Saltar al contenido

Contenedores Java EE frente a contenedores web

Posterior a de una prolongada búsqueda de datos hemos podido resolver esta dificultad que presentan algunos los usuarios. Te dejamos la respuesta y esperamos serte de mucha ayuda.

Solución:

En primer lugar, “J2EE” es una abreviatura obsoleta, ahora se llama simplemente “Java Enterprise Edition” o Java EE.

A diferencia del contenedor de servlets (por ejemplo, Tomcat), los servidores de aplicaciones Java EE “completos” también contienen un contenedor EJB. EJB son Enterprise Java Beans y puede leer mucho sobre ellos, por ejemplo, aquí (capítulo IV). Los EJB ahora están en la versión 3.2 (Java EE 7 y Java EE 8), las versiones anteriores son 3.1 (Java EE 6) y 3.0 (Java EE 5); sin embargo, la mayor diferencia está entre v2 y v3.

Los EJB están diseñados para mantener una lógica comercial de su aplicación. Por ejemplo, un bean de sesión sin estado puede calcular algo, representar un servicio web o lo que necesite hacer su aplicación. Los beans controlados por mensajes pueden escuchar en las colas de mensajes, por lo que son útiles si desea una comunicación asíncrona. Los frijoles Singleton garantizan una instancia por frijol, etc.

En cuanto al tipo de archivo, EJB se empaqueta en un archivo .jar, la aplicación web en un archivo .war y, si desea mezclarlos en una sola aplicación, ese sería el archivo .ear (“archivo empresarial”).

Además de los EJB, el servidor de aplicaciones “completo” también se ocupa de las transacciones, la seguridad, los recursos de JDBC… Recomiendo encarecidamente usarlo en lugar de un contenedor de servlet, pero los beneficios vienen con la complejidad, por lo que tendrá que dedicar una cantidad de tiempo razonable. para aprender a manejar, por ejemplo, Websphere (Payara y WildFly son mucho más simples y son mis favoritos). JBoss y Weblogic también son bastante populares, y si está familiarizado con Tomcat, eche un vistazo a TomEE.

Contenedor Java EE: Administra la ejecución de EJB, JMS, JTA en el servidor Java EE, por ejemplo, JBoss, Glassfish.

Contenedor web: Administra la ejecución de páginas web, servlets y algunos componentes EJB para aplicaciones Java EE. Los componentes web y su contenedor se ejecutan en el servidor web, como Jetty, tomcat.

El contenedor web y el contenedor EJB son subconjuntos de contenedores Java EE. Los contenedores Java EE también abarcan la contenedor de cliente de aplicación y contenedor de subprogramas.

Esto es lo que dice el documento:

El proceso de implementación instala los componentes de la aplicación Java EE en los contenedores Java EE.

  • servidor Java EE: La porción de tiempo de ejecución de un producto Java EE. Un servidor Java EE proporciona EJB [container and web container]*.

  • Contenedor Enterprise JavaBeans (EJB): Gestiona la ejecución de beans empresariales para aplicaciones Java EE. Enterprise beans y su contenedor se ejecutan en el servidor Java EE.

  • contenedor web: Gestiona la ejecución de la página JSP y los componentes de servlet para aplicaciones Java EE. Componentes web y sus
    ejecución del contenedor en el servidor Java EE.

  • Contenedor de cliente de aplicación: gestiona la ejecución de los componentes del cliente de la aplicación. Los clientes de aplicaciones y su contenedor se ejecutan en el cliente.

  • Contenedor de applets: Gestiona la ejecución de applets. Consiste en un navegador web y un complemento de Java que se ejecutan juntos en el cliente.

*En el documento usan la forma plural, pero en realidad solo tiene un contenedor web y un contenedor EJB por servidor Java EE.

Si te ha sido de utilidad nuestro artículo, agradeceríamos que lo compartas con otros programadores de este modo nos ayudas a extender nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *