Entradas

Mostrando las entradas de diciembre, 2018

Aplicaciones GeneXus Multi-KB

Imagen
Cada vez mas a menudo me encuentro con aplicaciones GeneXus que son generadas en múltiples bases de conocimiento.  Para clarificarlo un poco, se tienen diferentes KB que generan programas que están pensandos para ser usados como si fueran una única aplicación. 
Estudie un poco los motivos que llevan a esto y vi que son por demás diversos. Los principales motivos son: 
Seguridad.  Se necesita tener una parte de de la aplicación con determinada seguridad y se prefiere dividir la KB en la parte "mas segura" y "la no tan segura". 
Tecnología. Se necesita una funcionalidad extra que viene en la nueva versión de GeneXus, pero no se esta en condiciones de migrar toda la KB, por lo que se decide hacer el nuevo desarrollo en una nueva KB con la nueva versión y lograr que ambas aplicaciones conversen. Esto pasa a veces con aplicaciones mobile, sobre una aplicación WEB que ya existe.
También puede pasar que se tenga una aplicaciones que aun genera aplicaciones con winforms (por…

Bajar el tiempo de build all en una KB GeneXus

Imagen
Desde hace un par de días, estamos trabajando con Nicolás, para lograr bajar el tiempo de build all de una KB.

Baseline.  Partimos de una KB que tiene 1557 objetos main. (muchos reportes y web services).

Tomamos como ejemplo a mejorar, el caso en que la KB no tenga ningún objeto modificado, ni tenga nada para compilar, pues ese caso nos permite ver donde estamos haciendo tareas que realmente no agregan valor al proceso.  En este caso (que no había nada para compilar) todo el proceso demora unos 65 minutos.

El proceso hace:

* Actualiza la KB desde GXServer
* Especifica y Genera los fuentes
* Compila todo los main.

Todas estas tareas están automatizadas con tareas MSBuild y Jenkins.

Estudiando los tiempos que llevan estas etapas, vimos que tenían un tiempo en promedio, en caso de no tener nada para actualizar ni generar:

* Arranque y seteos iniciales (2 minutos)
* Actualización desde el server (5 minutos)
* Especificación y Generación (8 minutos)
* Compilación de main (50 minutos).

Por…