Aplicación Web multicontenedor

Por Diego Silva
Publicado en diciembre 2013

En teoría, una aplicación Java EE desarrollada usando una implementación, debería ser ejecutable en cualquier contenedor Java EE de la misma versión. Un ejemplo que noté fue en la aplicación Liferay Portal, que un mismo .war puede ejecutarse en cualquier contenedor, y existe una documentación detallada para cada uno de ellos.

¿Cómo se puede lograr eso? Para comenzar, al desarrollar nuestra aplicación debemos considerar qué hace y qué no, qué tiene y qué no, qué puede y qué no cada contenedor. Aquí veremos un ejemplo al desarrollar una aplicación web compatible con al menos tres contenedor Java EE.

Debemos analizar qué versión implementa cada contenedor.

Contenedor a usar

  • Apache Tomcat 7.0 (Java EE 6 Web)
  • GlassFish 4.0 (Java EE 7)
  • Oracle WebLogic 10.3 (Java EE 5)

Para que sea compatible con todos estos contenedores, debemos usar la menor versión de implementación, en este caso, Java EE 5.

Con NetBeans, podemos crear una aplicación web que sea multicontenedor. Solo basta que tengamos configurado el IDE con los contenedores web que consideremos convenientes.

Cuando creemos un proyecto, podemos elegir qué contenedor web vamos a utilizar.

Apache Tomcat

GlassFish 4.0

Oracle WebLogic 10

Según la creación selección del contenedor JavaEE que escojamos, se creará un archivo de despliegue correspondiente para servidor. Por ejemplo, tenemos

  • Para Tomcat, archivo context.xml
  • Para GlassFish, archivo glassfish-web.xml
  • Para Weblogic, archivo weblogic.xml

Ahora, hay que tener cuidado a la hora de programar, y asegurarse de que las características que usemos sean compatibles con los contenedor que deseamos que se despliegue.

 


Publicado por Diego Silva.