miércoles, 29 de agosto de 2012

Deploy to cloud: ¿qué se transfiere?

En Genexus Evolution 2 existe la posibilidad de prototipar en la nube con un solo click con esa caracteristica se puede desarrollar una aplicación Web y/o SD y disponibilizarla inmediatamente a todo el mundo.



¿Qué y cómo se transfiere al server?

El esquema es bastante sencillo, una vez que se generan los objetos de la KB (.class, dlls, apk, imagenes, etc) se zipean en un archivo llamado "gx_last_transfer.zip", se transfiere en "chunks" ese ZIP al servidor lo cual se ve en el output del IDE como:


========== Execution started ==========
Building file gx_last_transfer.zip...
Uploading 3390 Kbytes
3135 Kbytes left
2880 Kbytes left
....
75 Kbytes left


Luego ese ZIP se descomprime en el servidor y la aplicación queda operativa.

En la medida que se vayan generando, compilando, etc nuevos objetos, todos los objetos que tengan fecha posterior a la del gx_last_transfer.zip (que contiene lo último que se transfirió) se incluirán en un nuevo gx_last_transfer.zip y se repetirá el proceso.


Tips:

1. En el caso de .NET: Cualquier archivo que se incluya bajo el directorio datax\web se incluirá en el ZIP y se descomprimirá en el servidor.

En el caso de Java, si se tiene TOMCAT, la aplicación de "despliega" en el mismo y el ZIP se arma desde ahí, por lo cual hay que copiar ahi aquellos archivos que se quieran incluir en el ZIP (ejemplo: "C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\MiAplicacion)

Si no se tiene TOMCAT se arma una estructura de directorios bajo el datax\web\webapps por lo cual copiando ahi los archivos, los mismos se incluyen en el zip en el siguiente Run (F5).

En Java entonces hay que considerar el valor de la propiedad "Servlet Directory" para chequear desde donde se arma el ZIP.

En cualquier caso puede ser de utilidad ese archivo incluirlo como un File en la base de conocimientos y configurarle la propiedad Extract

2. Si por algun motivo se quiere enviar toda la aplicación de nuevo, simplemente borrando el ZIP y dando F5 se arma el ZIP con todo y se envia al server.

6 comentarios:

  1. En el punto 2, ¿por qué el F5 no borra él mismo el ZIP?

    ResponderEliminar
    Respuestas
    1. Porque en general no se quiere enviar toda la aplicación de nuevo...

      Eliminar
  2. Existe alguna forma de no utilizar esa opción? Me refiero a... suponiendo que en algún momento no tenemos conexión a internet. No encuentro forma de modificar el valor de "Deploy to cloud" (en una versión trial)

    ResponderEliminar
    Respuestas
    1. Paula, la versión trial solo tiene deploy to cloud en .Net.
      No podemos modificar ese valor.
      En GeneXus full versión el ambiente donde se hace deploy es totalmente configurable.

      Eliminar
  3. Hay alguna información del costo que tiene usar la nube de gx?

    ResponderEliminar
    Respuestas
    1. Yacu, no tiene costo pero en con fines de prototipación nomás. No de producción.

      Eliminar