Una vez que tengamos nuestro modelo pronto para ser compilado, presionamos la tecla F5, la cual nos lleva a la siguiente ventana:
En esta ventana podemos ver una lista con varios items que corresponden a las diferentes opciones de nuestra aplicación.
En el primer item veremos "WinDeveloperMenu", lo seleccionamos y hacemos click en el botón Execute.
Inmediatamente se mostrará esta ventana:
Hacemos click en el menú Utilities y elegimos la opción "Deployment Wizard", nos saldrá otra ventana como esta:
En esta ventana podemos ver dos listas, en la lista de la izquierda, se encuentran todos los objetos de nuestra aplicación que tienen la propiedad "Main Program = True". En nuestro caso tenemos el objeto Inicio que es un web panel. Entonces debemos seleccionar nuestro objeto main, y hacer click en la flecha que apunta hacia la derecha para poder realizar el deploy del resto de la aplicación.
Hecho esto seguimos a la siguiente ventana del asistente, nos volverá a salir una pantalla como esta:
En este apso simplemente pasaremos a la siguiente pantalla sin modificar nada.
En esta otra pantalla del asistente debemos activar la opción "Transfer location files", ya que se deben copiar los archivos compilados por genexus a la carpeta de la aplicación. En modo de transferencia tenemos dos opciones, la primera es la copia por FTP, simplemente hay que escribir la ruta de la carpeta donde vamos a hacer deploy, el nombre del host, el usuario y la contraseña.
La segunda opción es la copia en el equipo local, es decir, hay que indicarle al asistente la ruta donde se guardan las aplicaciones, en este caso en la carpeta "webapps" dentro del directorio de instalación de Apache Tomcat.
Este es el último paso antes de realizar el deploy, hacemos click en Finish, al finalizar el asistente se nos abrirá otra ventana donde se nos pedirá configurar la aplicación para hacer War Deployment.
Los servlets pueden ser ejecutados por motores de servlets (Tomcat, Resin, Jrun, etc.), o por servidores J2EE (WebSphere, BEA Weblogic, etc.).
Configurar en forma adecuada los distintos
motores de servlets o servidores J2EE, para ejecutar las aplicaciones web Java,
tiene cierta complejidad, se necesita conocer en cual directorio deben ir los
servlets, en cual directorio deben ir los archivos adicionales (driver JDBC,
classes adicionales, etc.) y dónde colocar el contenido estático. Además, una
vez que se hace funcionar todo en un ambiente de prototipo hay que llevarlo a
producción, es decir, configurar todo esto en el cliente. Entonces, el
generador Java provee el War Deployment, que es un ‘output
processor’ del Deployment
Wizard, que permite empaquetar en un solo archivo,
todo lo necesario, para la instalación y ejecución de una aplicación web Java,
en los distintos motores de servlets,
o servidores J2EE, de forma sencilla.
El War Deployment genera archivos con
extensión .WAR (Web Archive Resource), los cuales son básicamente
archivos .JAR a los cuales se les cambia la extensión a .WAR. Estos archivos
empaquetan servlets, contenido
estático, librerías adicionales y un archivo con formato xml, al cual se le
llama 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.).
Las opciones son:
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), en mi caso utilizo Generic Servlet v2.2
|
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 la otra pestaña (Deployment descriptor), se edita el
descriptor del .WAR a generarse, en formato XML.
Las opciones son:
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.
|
Eso es todo lo necesario para realizar un deploy de la aplicación que desarrollamos.
Notar que cuando se haga algún cambio en genexus en algún objeto, no es necesario realizar el deploy, ya que cuando se compila, genexus reemplaza todos los archivos que están dentro de la carpeta de servlets de java; solamente cuando se agrega un nuevo objeto en genexus sí es necesario que se realize un nuevo deploy, o en su defecto, que se modifique el archivo web.xml y se agregen las líneas correspondientes.
Espero que este tutorial haya servido de ayuda.