Migrando de GeneXus Evolution 2 a GeneXus Evolution 3.

Estamos realizando una migración de version de GeneXus, a la última liberada.



Algunas de las tareas involucradas fueron las siguientes

Comparación de Navegaciones. 

Use el KBDoctor para comparar las navegaciones de la Evolution 2 con la Evolution 3.
Unos cuantos objetos cambiaron su navegación, pues ahora cambia el ORDER de algunas sentencias.
En general, el criterio que vi es que toma en cuenta las condiciones del WHERE para considerar el orden. Parece mejor en casi todos los casos, pero igual hay que chequear contra la base de datos para ver si alguna sentencia que estaba optimizada no tiene problemas de performance.


Comparación de WSDL de servicios publicados. 

Tuvimos diferencias en algunos pocos WSDL publicado, pero era por habíamos dejado el Namespace de la KB en su valor por default y como la KB toma el nombre de la KB como Namespace, al cambiar de KB cambiaba la definición del WSDL. Detectamos el problema y lo solucionamos rapido.

Objetos con  código nativo.

Tenemos algunos programas externos, que tuvieron que cambiar porque usabamos el metodo cleanup() que paso de ser private a public override.

Shell, SQL, Stored Procedure

Las llamadas al Shell, SQL y Stored Procedures, funcionaron sin problemas.

Excel, PDF, XMLWriter, XMLReader, Envio de Mail

No tuvimos diferencias en el funcionamiento.

GXFlow

Tuvimos inconvenientes en la creación de tablas de Workflow y en la ejecución de la actualización de la base de datos. Con el cliente Oracle de 32 bits, los programas daban error, diciendo que el cliente oracle no era compatible con el data provider.
Tuvimos que cambiar los exes que están bajo Packages/gxpm/platfom y ejecutarlo con el comando

corflags  /32BITREQ+

y marcarlos para forzar la ejecución de 32bits.

Cliente Oracle. 

En versiones anteriores  de aplicaciones GeneXus teníamos restricciones con cual version del dataprovider teniamos que usar, pues tenia que ser la misma con la que había sido compilado.
Ahora no tuvimos problemas en usar el dataprovider que estábamos usando.

Scripts de Build y Deploy. 

Hicimos varios cambios, porque estamos aprovechando la migración para dejar únicamente el generador WEB. Tenemos muchos procesos batch que se generan con el generador WIN en Evolucion 2 y ahora pasan a generarse todo con el generador WEB.
Hice un programa que cambia los generadores y eso facilito la tarea.


Cosas que nos falta probar

  • Data Type.WebSession, Data Type.WebWrapper, Data Type.Cookie, Data Type.Directory, Data Type.File
  • Data Type.HttpClient, Data Type.HttpRequest, Data Type.HttpResponse, Data Type.Location
  • Data Type.Queue, Data Type.QueueMessage, Data Type.RegExMatch, Data Type.Window
  • Todos los User Controls. (son 17!!)
Vamos bien, ya estamos haciendo pruebas manuales y vamos a seguir con las pruebas automatizadas. 


Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.