WAR Deployment

Unofficial Content

El WAR Deployment es un utilitario del generador Java. Permite empaquetar en un solo archivo, un .WAR, todo lo necesario, para la instalación y ejecución de una aplicación web Java, en los distintos servidores de servlets. Estos archivos WAR empaquetan servlets, contenido estático, librerías adicionales y un archivo con formato web.xml, al cual se le conoce como descriptor, que contiene cierta información de la aplicación web como por ejemplo el nombre de la aplicación, nombre de los servlets, mapeos, etc.).

¿Cómo generar el WAR?

Para crearlo, llamar al Deployment Wizard (Genexus Menu - Tools - Java Generator - Deployment Wizard). Seguir los pasos como cualquier deployment y en el último paso al dar Finish, se abrirá el WAR Deployment Wizard:

WarDeploymentWizard

Donde:

  • Location

Aquí se debe seleccionar el Location para el cual se quiera armar el .WAR. En caso de tratarse de un .WAR para una aplicación web se debe seleccionar el Location <Client>; el resto de los locations son para el caso de querer distribuir las clases necesarias para ejecutar el servidor de aplicaciones en un aplicación en 3 capas con protocolo HTTP.

  • Deploy this Location

Sirve para confirmar que se desea armar un .WAR para la Location actualmente seleccionado.

  • Descriptor Type

Aquí se debe seleccionar el motor de servlets que se va a utilizar y en función de ello se arma el descriptor correspondiente (se profundiza  más adelante).

  • Web Application Name

Este es el nombre que identifica a la aplicación web. Para algunos motores de servlets va a ser utilizado luego en la URL para invocar los servlets.

  • Additional Libraries

Aquí se deben agregar todos las librerías adicionales para ejecutar la aplicación; el caso más común es el de los drivers JDBC.

  • Additional Files

Esta es una estructura de directorios (que por defecto es vacía) en la cual se puede agregar todo el contenido estático que se necesite para ejecutar la aplicación.

  • Add Directory

Permite agregar un directorio a la estructura de directorios de Additional Files.

  • Remove Directory

Permite borrar un directorio a la estructura de directorios de Additional Files.

  • Add Files

Permite agregar un contenido estático a los Additional Files en el directorio seleccionado.

  • Remove Files

Permite borrar un contenido estático antes agregado en los Additional Files.

En el tab Deployment Descriptor se pueden setear los siguientes valores:

  • Use Custom Deployment Descriptor

Al chequear esta opción se permite modificar el descriptor por defecto

  • Get Default

Vuelve a obtener el descriptor por defecto

  • Validate

Valida el XML del descriptor en caso de haberlo modificado.

¿Cómo se instala el WAR en un Tomcat?

Automáticamente el Deployment Wizard copia el war generado a la ruta especificada en la propiedad "Target Directory" del paso 3. En el caso del Tomcat, este target es \tomcat\webapps. 

Con solo copiar el WAR en ese directorio y levantar el tomcat, se instalará la aplicación.

¿Cómo ejecutar la aplicacion instalada a partir del WAR?

Depende del servidor, puerto donde escucha, del package name de la aplicación y del nombre especificado en el war deployment wizard en "web application name"

Por ejemplo, si se tiene seteado el Java Package Name = com.kblabwebfinal, si el web application name = EventDayGx24, el objeto main se llama home, y se instala en un Tomcat en un localhost bajo el puerto 8080, entonces la URL para ejecutar la aplicacion sería:

http://localhost:8080/EventDayGx24/servlet/com.kblabwebfinal.home

Consideraciones

  • En caso de tener una aplicación con servicios REST, por ejemplo tener que armar el war de la parte de servicios de una aplicación SD, hay que tener en cuenta algunos puntos, que se describen en este documento
  • Si la aplicación usa Workflow, ver también Create the WAR file for an application using GXflow