<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' gd:etag='W/&quot;A0UMSH44fCp7ImA9WhRUGUk.&quot;'><id>tag:blogger.com,1999:blog-7123741789921824194</id><updated>2012-01-30T10:48:09.034-08:00</updated><title>Programación Genexus</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://documentosprogramacion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7123741789921824194/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://documentosprogramacion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Francisco</name><uri>http://www.blogger.com/profile/10826943555404949156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;DEMCQ3o4eyp7ImA9WhRUGUk.&quot;'><id>tag:blogger.com,1999:blog-7123741789921824194.post-1896290413529904794</id><published>2012-01-30T06:07:00.000-08:00</published><updated>2012-01-30T10:01:02.433-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-01-30T10:01:02.433-08:00</app:edited><title>Hacer deploy una aplicación GX9+Java+Apache</title><content type='html'>Estos son los pasos para poder compilar una aplicación Genexus utilizando el generador de Java corriendo sobre Apache Tomcat utilizando una base de datos MySQL.&lt;br /&gt;
&lt;br /&gt;
Una vez que tengamos nuestro modelo pronto para ser compilado, presionamos la tecla F5, la cual nos lleva a la siguiente ventana:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-dgHelQkWDgM/TyZvno8ZbnI/AAAAAAAAACY/XS9XILtdbNM/s1600/paso_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://4.bp.blogspot.com/-dgHelQkWDgM/TyZvno8ZbnI/AAAAAAAAACY/XS9XILtdbNM/s320/paso_1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En esta ventana podemos ver una lista con varios items que corresponden a las diferentes opciones de nuestra aplicación.&lt;br /&gt;
En el primer item veremos "WinDeveloperMenu", lo seleccionamos y hacemos click en el botón Execute.&lt;br /&gt;
Inmediatamente se mostrará esta ventana:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Ct3WD7C67uY/TyZ1PlkQOpI/AAAAAAAAACg/MEQfBaEXslY/s1600/paso_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="274" src="http://1.bp.blogspot.com/-Ct3WD7C67uY/TyZ1PlkQOpI/AAAAAAAAACg/MEQfBaEXslY/s320/paso_2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Hacemos click en el menú Utilities y elegimos la opción "Deployment Wizard", nos saldrá otra ventana como esta:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-R_gSDqubq8M/TyZ2zs8_C8I/AAAAAAAAACo/clOQLfuH6Ec/s1600/paso_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="274" src="http://2.bp.blogspot.com/-R_gSDqubq8M/TyZ2zs8_C8I/AAAAAAAAACo/clOQLfuH6Ec/s320/paso_3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
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".&amp;nbsp; En nuestro caso tenemos el objeto Inicio que es un web panel.&amp;nbsp; 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.&lt;br /&gt;
Hecho esto seguimos a la siguiente ventana del asistente, nos volverá a salir una pantalla como esta:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-NIeDOUGZi2w/TyZ9vjvlnQI/AAAAAAAAACw/v6IuahqOoYA/s1600/paso_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" src="http://2.bp.blogspot.com/-NIeDOUGZi2w/TyZ9vjvlnQI/AAAAAAAAACw/v6IuahqOoYA/s320/paso_4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En este apso simplemente pasaremos a la siguiente pantalla sin modificar nada.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-1l101xP5wiQ/TyZ9wFwH8eI/AAAAAAAAAC4/4SQTLkgMLbc/s1600/paso_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" src="http://4.bp.blogspot.com/-1l101xP5wiQ/TyZ9wFwH8eI/AAAAAAAAAC4/4SQTLkgMLbc/s320/paso_5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
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.&amp;nbsp; 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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-1sfYLtBETN0/TyaBjgpjw5I/AAAAAAAAADA/W20wgG8fu14/s1600/paso_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-1sfYLtBETN0/TyaBjgpjw5I/AAAAAAAAADA/W20wgG8fu14/s320/paso_6.jpg" width="276" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span lang="ES"&gt;Los servlets pueden ser ejecutados por motores de
servlets (Tomcat, Resin, Jrun, etc.), o por servidores J2EE (WebSphere, BEA
Weblogic, etc.).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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 &lt;/span&gt;&lt;span lang="ES"&gt;el War Deployment, que es un ‘output
processor’ del Deployment
Wizard, que permite empaquetar &lt;/span&gt;&lt;span lang="ES"&gt;en un solo archivo,
todo lo necesario, para la instalación y ejecución de una aplicación web Java,
en los distintos &lt;/span&gt;&lt;span lang="ES"&gt;motores de servlets,&lt;/span&gt;&lt;span lang="ES"&gt;
o servidores J2EE, de forma sencilla.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;El War Deployment genera archivos con
extensión .WAR (Web Archive Resource), los cuales son &lt;/span&gt;&lt;span lang="ES"&gt;básicamente
archivos .JAR a los cuales se les cambia la extensión a .WAR. Estos archivos
empaquetan &lt;/span&gt;&lt;span lang="ES"&gt;servlets&lt;/span&gt;&lt;span lang="ES"&gt;, 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.).&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Las opciones son:&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
&lt;span lang="ES"&gt;Location&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-left: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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 &amp;lt;Client&amp;gt;; 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.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Deploy this Location&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Sirve para confirmar que se desea armar un
  .WAR para la Location actualmente seleccionado.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
&lt;span lang="ES"&gt;Descriptor
  Type&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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&amp;nbsp; más adelante), en mi caso utilizo Generic Servlet v2.2&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Web Application Name&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Additional Libraries&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Additional Files&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Add Directory&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Permite agregar un directorio a la
  estructura de directorios de Additional Files.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
&lt;span lang="ES"&gt;Remove
  Directory&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Permite borrar un directorio a la estructura
  de directorios de Additional Files.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Add Files&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Permite agregar un contenido estático a los Additional
  Files en el directorio seleccionado.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.2in;" valign="top" width="211"&gt;&lt;div align="left" class="MsoNormal" style="text-align: left;"&gt;
Remove Files&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 441.0pt;" valign="top" width="588"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Permite borrar un contenido estático antes
  agregado en los Additional Files.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;En la otra pestaña (Deployment descriptor), &lt;/span&gt;&lt;span lang="ES"&gt;se edita el
descriptor del .WAR a generarse, en formato XML.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-wUeg9SAGem4/TyadMUykQKI/AAAAAAAAADI/DmLtUPoMcgA/s1600/paso_7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-wUeg9SAGem4/TyadMUykQKI/AAAAAAAAADI/DmLtUPoMcgA/s320/paso_7.jpg" width="276" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Las opciones son:&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"&gt;&lt;tbody&gt;
&lt;tr style="height: 23.85pt;"&gt;&lt;td style="border: solid windowtext 1.0pt; height: 23.85pt; padding: 0in 5.4pt 0in 5.4pt; width: 173.05pt;" valign="top" width="231"&gt;&lt;div class="MsoNormal"&gt;
&lt;b&gt;Use Custom Deployment Descriptor&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-left: none; border: solid windowtext 1.0pt; height: 23.85pt; padding: 0in 5.4pt 0in 5.4pt; width: 274.2pt;" valign="top" width="366"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Al chequear esta opción se permite modificar
  el descriptor por defecto&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style="height: 11.9pt;"&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; height: 11.9pt; padding: 0in 5.4pt 0in 5.4pt; width: 173.05pt;" valign="top" width="231"&gt;&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span lang="ES"&gt;Get Default&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 11.9pt; padding: 0in 5.4pt 0in 5.4pt; width: 274.2pt;" valign="top" width="366"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Vuelve a obtener el descriptor por defecto&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style="height: 3.5pt;"&gt;
  &lt;td style="border-top: none; border: solid windowtext 1.0pt; height: 3.5pt; padding: 0in 5.4pt 0in 5.4pt; width: 173.05pt;" valign="top" width="231"&gt;&lt;div class="MsoNormal"&gt;
&lt;b&gt;Validate&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 3.5pt; padding: 0in 5.4pt 0in 5.4pt; width: 274.2pt;" valign="top" width="366"&gt;&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Valida el XML del descriptor en caso de
  haberlo modificado.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;&lt;/span&gt;&lt;span lang="ES"&gt;Eso es todo lo necesario para realizar un deploy de la aplicación que desarrollamos.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;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.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="ES"&gt;Espero que este tutorial haya servido de ayuda.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7123741789921824194-1896290413529904794?l=documentosprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://documentosprogramacion.blogspot.com/feeds/1896290413529904794/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://documentosprogramacion.blogspot.com/2012/01/hacer-deploy-una-aplicacion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7123741789921824194/posts/default/1896290413529904794?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7123741789921824194/posts/default/1896290413529904794?v=2'/><link rel='alternate' type='text/html' href='http://documentosprogramacion.blogspot.com/2012/01/hacer-deploy-una-aplicacion.html' title='Hacer deploy una aplicación GX9+Java+Apache'/><author><name>Francisco</name><uri>http://www.blogger.com/profile/10826943555404949156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-dgHelQkWDgM/TyZvno8ZbnI/AAAAAAAAACY/XS9XILtdbNM/s72-c/paso_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cFQn06fyp7ImA9WhRUF0s.&quot;'><id>tag:blogger.com,1999:blog-7123741789921824194.post-3802430599474861453</id><published>2012-01-28T07:36:00.000-08:00</published><updated>2012-01-28T07:36:53.317-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-01-28T07:36:53.317-08:00</app:edited><title>Programar con Genexus 9+MySql+Java+Apache</title><content type='html'>Todo el que alguna vez programó con genexus sabe que es un herramienta bastante potente que permite desarrollar aplicaciones de manera profesional, reduciendo el tiempo al simplificar muchos procesos que siempre nos pueden dar mas de un dolor de cabeza, y sobre todo si programamos en ambiente web.&lt;br /&gt;
&lt;br /&gt;
Primero que nada necesitamos que genexus esté con todas las actualizaciones y parches disponibles hasta el momento, tanto para el ide como para los generadores, con sus respectivas licencias.&lt;br /&gt;
&lt;br /&gt;
Tambien necesitamos todas estas herramientas:&lt;br /&gt;
&lt;br /&gt;
1 - Servidor mysql. &lt;a href="http://dev.mysql.com/downloads/installer/" target="_blank"&gt;Aquí&lt;/a&gt;&lt;br /&gt;
2 - Apache tomcat en su última versión. &lt;a href="http://tomcat.apache.org/download-70.cgi" target="_blank"&gt;Aquí&lt;/a&gt;&lt;br /&gt;
3 - Maquina virtual de java (JDK). &lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html" target="_blank"&gt;Aquí&lt;/a&gt;&lt;br /&gt;
4 -&amp;nbsp;Librerías necesarias para compilar y ejecutar. &lt;a href="http://www.gigasize.com/get/yt3bh3k8w0b" target="_blank"&gt;Aquí&lt;/a&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez que tengamos el servidor mysql instalado, el apache tomcat y la maquina virtual, vamos a descomprimir las librerías, dentro veremos que contiene el conector mysql para java, y diversas librerías propias de genexus.&lt;br /&gt;
&lt;br /&gt;
Ahora cuando estemos en genexus y quieramos pasar a prototipo, nos saltara una ventana para configurar el modelo.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Paso 1 - Se configuran las opciones generales:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Nombre del modelo&lt;/li&gt;
&lt;li&gt;Lenguaje, en este caso seleccionamos &lt;span style="color: red;"&gt;Java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Tipo de interfaz, seleccionamos &lt;span style="color: red;"&gt;Web&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Motor de base de datos, elegimos &lt;span style="color: red;"&gt;MySQL&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-pQlCLaDROnQ/TyQFKSTsnSI/AAAAAAAAABg/aQeUzZQ72n0/s1600/paso_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://3.bp.blogspot.com/-pQlCLaDROnQ/TyQFKSTsnSI/AAAAAAAAABg/aQeUzZQ72n0/s320/paso_1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Paso 2 - Se configura el motor de base de datos&lt;/b&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;El driver a utilizar, seleccionamos &lt;span style="color: red;"&gt;mySQL JDBC Driver&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Usar un JDBC personalizado, le damos que &lt;span style="color: red;"&gt;no&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Escribimos el nombre de la base de datos, previo a este paso crear el schema en mysql&lt;/li&gt;
&lt;li&gt;Nombre del servidor, escribimos &lt;span style="color: red;"&gt;localhost&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Escribir el puerto utilizado en la conexión, en este caso &lt;span style="color: red;"&gt;3306&lt;/span&gt; que es por defecto, si cuando instalamos mysql habilitamos otro puerto, entonces cambiarlo&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-by5_BC-PEbs/TyQGEPJaUvI/AAAAAAAAABo/KU9Kbzk-wTk/s1600/paso_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://1.bp.blogspot.com/-by5_BC-PEbs/TyQGEPJaUvI/AAAAAAAAABo/KU9Kbzk-wTk/s320/paso_2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;Paso 3 - Configurar el usuario para la conexión&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt; En este paso podemos utilizar el usuario root que elegimos 
durante la instalación de la base de datos, o simplemente usar algún 
otro&lt;/li&gt;
&lt;li&gt;Contraseña del usuario&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-8CQd-P4HSg0/TyQHBc_W-BI/AAAAAAAAABw/ZWEYyJnbdHw/s1600/paso_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://4.bp.blogspot.com/-8CQd-P4HSg0/TyQHBc_W-BI/AAAAAAAAABw/ZWEYyJnbdHw/s320/paso_3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;Paso 4 - Configuración de las carpetas de la aplicación&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;En este paso necesitaremos crear ciertas carpetas, para ello nos iremos a la carpeta de instalación de Apache, dentro veremos una carpeta de nombre &lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;webapps que contendra las aplicaciones&lt;/span&gt;&lt;span style="color: black;"&gt;, luego crearemos una carpeta con el nombre de nuestra aplicación, ej. prueba.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;Dentro de la carpeta de nuestra aplicación, debemos crear otras dos carpetas, un de nombre images y otra con el nombre WEB-INF (en mayuscula), y dentro de WEB-INF crearemos otras dos carpetas mas de nombre classes y lib&lt;/span&gt;&lt;span style="font-size: small;"&gt; (dentro de esta carpeta descomprimiremos el archivo que descargamos previamente que contenía las librerías necesarias para la ejecución).&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;Una vez que tengamos todas las carpetas de nuestra aplicación creadas, pasamos al paso 4 en genexus.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-ZuOxtOO_ZPU/TyQHmr2XaZI/AAAAAAAAAB4/XmA4ARqgfk0/s1600/paso_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://4.bp.blogspot.com/-ZuOxtOO_ZPU/TyQHmr2XaZI/AAAAAAAAAB4/XmA4ARqgfk0/s320/paso_4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;En servlet directory ubicaremos la carpeta "classes" dentro de WEB-INF&lt;/li&gt;
&lt;li&gt;En static content base URL escribiremos /images&lt;/li&gt;
&lt;li&gt;Y en static content directory ubicaremos la carpeta "images" dentro de la carpeta raiz de nuestra aplicación&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Paso 5 - Configuración de Java &lt;/b&gt;&lt;br /&gt;
Este paso es muy importante, sobre todo si escribimos mal algún parámetro, que nos podría dar dolores de cabeza mas adelante cuando compilemos.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-zYNTgVs7L6A/TyQUgR5PZFI/AAAAAAAAACI/Fw2sA2-f3wM/s1600/paso_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://3.bp.blogspot.com/-zYNTgVs7L6A/TyQUgR5PZFI/AAAAAAAAACI/Fw2sA2-f3wM/s320/paso_5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Primero elegimos la plataforma para trabajar, seleccionamos Java&lt;/li&gt;
&lt;li&gt;Aquí debemos ubicar el compilador de java, es decir el javac.exe, para ello buscamos en la carpeta de instalación de java jdk.&lt;/li&gt;
&lt;li&gt;Como 3er paso debemos ubicar el archivo nmake.exe, que se encontraba dentro del archivo de librerías que descargamos.&lt;/li&gt;
&lt;li&gt;Ubicamos el interprete java.exe.&lt;/li&gt;
&lt;li&gt;En classpath debemos ir ubicando cada una de las librerías que se encuentran en el archivo que descargamos.&lt;br /&gt;Recordar que cada línea se va a separar por ";" y que al final debe llevar doble ";".&lt;br /&gt;Debería quedar algo así: &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;C:\Librerias\gxclassd.jar;C:\Librerias\gxclassp.jar;C:\Librerias\gxclassr.jar;C:\Librerias\GxUtils.jar;C:\Librerias\iText.jar;C:\Librerias\mysql-connector-java-5.0.4-bin.jar;C:\Librerias\servlet-api.jar;;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Aquí escribimos la ruta URL de nuestra aplicación:&lt;br /&gt;En este caso http://localhost:8080/prueba/servlet/&lt;/li&gt;
&lt;/ol&gt;
Luego de este paso, finalizamos el asistente, y ya tendremos pronta la aplicación para compilarla y ejecutarla.&lt;br /&gt;
&lt;br /&gt;Espero que les haya servido! &lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7123741789921824194-3802430599474861453?l=documentosprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://documentosprogramacion.blogspot.com/feeds/3802430599474861453/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://documentosprogramacion.blogspot.com/2012/01/programar-con-genexus-9mysqljavaapache.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7123741789921824194/posts/default/3802430599474861453?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7123741789921824194/posts/default/3802430599474861453?v=2'/><link rel='alternate' type='text/html' href='http://documentosprogramacion.blogspot.com/2012/01/programar-con-genexus-9mysqljavaapache.html' title='Programar con Genexus 9+MySql+Java+Apache'/><author><name>Francisco</name><uri>http://www.blogger.com/profile/10826943555404949156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-pQlCLaDROnQ/TyQFKSTsnSI/AAAAAAAAABg/aQeUzZQ72n0/s72-c/paso_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>