Despliegue (Deployment) de la aplicación Web

En el tutorial anterior instalamos Eclipse IDE for Java EE Developers, creamos un proyecto (ejemplo login del tutorial anterior) y lo ejecutamos. En este tutorial veremos en detalle como funciona este mecanismo y el despliegue de una aplicación en un servidor de producción.

¿Que es Despliegue (Deployment) de una aplicación?

Para poder probar la aplicación en los primeros tutoriales nosotros copiábamos a mano todos los archivos de la aplicación web a la carpeta webapps del servidor Tomcat. Esta acción de copiar los archivos a este directorio es conocida como "Despliegue de la aplicación Web".

Normalmente cuando se trabaja sobre un proyecto web J2EE se hace sobre una herramienta de desarrollo como eclipse y para probar la aplicación la herramienta suele hacer un despliegue automático para poder hacer pruebas de forma rápida.

Cuando tenemos la aplicación terminada el despliegue se hará sobre un servidor de producción. Este servidor es el que usarán los usuarios de la aplicación Web. Este despliegue normalmente se realiza utilizando un archivo WAR.

Despliegue automático en Eclipse IDE for Java EE Developers

En el tutorial anterior dijimos que al ejecutar se realizan los siguientes pasos

  1. Se publica nuestra aplicación en Tomcat. Paso conocido como Despliegue (Deployment)
  2. Se inicia el servidor Tomcat
  3. Se abre un browser o cliente http interno apuntando a http://localhost:8080/first-jee/login.html

Lo primero que uno creería es que en el paso 1 eclipse publica el contenido de estas carpetas Java Resources y WebContent en el directorio webapps de Tomcat. La realidad es un poco mas complicada. Eclipse publica en un directorio temporal dentro del workspace. En mi caso

C:\eclipseJEE2\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

¿Cómo es que Tomcat ejecuta la aplicación Web si no está en webapps. La respuesta está en que eclipse inicia Tomcat con la siguiente instrucción:

start -Dcatalina.base="C:\eclipseJEE2\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.home="C:\apache-tomcat-6.0.33" -Dwtp.deploy="C:\eclipseJEE2\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" -Djava.endorsed.dirs="C:\apache-tomcat-6.0.33\endorsed"

Esto se puede ver haciendo click en el menú Run - Run Configurations ...

Despliegue utilizando archivo WAR

Un archivo WAR es un archivo comprimido con todos los archivos que hasta ahora desplegamos manualmente en webapps. Este archivo internamente tiene la misma estructura que usamos anteriormente: directorio WEB-INF, lib, classes, etc. Para desplegar un WAR en Tomcat basta con copiarlo al directorio webapps.

Una buena razón para utilizar archivos *.war es que normalmente los equipos de desarrollo de aplicaciones y los de instalación están conformados por distintas personas. Enviar un solo archivo para desplegar es más sencillo y presta a menos confusiones que enviar varios.

Eclipse JEE permite generar el archivo WAR de la aplicación seleccionando el proyecto, click en botón derecho del ratón - Export -WAR file

En Destination coloco el lugar donde quiero que deje el archivo WAR. En mi caso lo dejo directamente en el directorio webapps de la instalación de Tomcat.

Para probar la aplicación sólo tengo que iniciar Tomcat ejecutando

C:\apache-tomcat-6.0.33\bin\start.bat

y a continuación abrir un browser con

http://localhost:8080/first-jee/login.html

por defecto en el url se pone el nombre de WAR sin la extensión: first-jee.

En el próximo tutorial veremos como hacer una JSP con las facilidades que nos brinda Eclipse JEE.

<< Uso de Eclipse IDE for Java EE Developers Introducción a Java Server Pages JSP >>