Noticias

Migraciones con GeneXus

El objetivo era migrar un sistema de producción desarrollado en GeneXus 8.0 para que funcionara en plataformas Open Source. La metodología consistía en una migración de evaluación por pasos para luego hacer una definitiva. ¿El resultado?

Se partía de un sistema en producción que estaba desarrollado en GeneXus 8.0 y generado en Visual FoxPro, con una base de datos en SQL Server. A pedido de un cliente nuevo, al que le interesaba investigar la posibilidad de utilizar productos Open Source, se decidió hacer la migración Java y MySQL.

“Dediqué un día entero, a ver cómo nos iba con la migración. La idea era evaluar cuán costoso iba a ser la migración definitiva, por lo que decidí hacer una migración multi-pasos pero desechable, de forma de poder solucionar problemas y luego volver a hacer la migración definitiva” comentó Enrique Almeida, Gerente del Departamento de Informática de Concepto S.R.L, la empresa encargada de brindar la solución.

El sistema original estaba desarrollado en Visual FoxPro/SQL Server 2000 y contaba con 43 tablas y 265 objetos con interfaz win, con algunos años en producción. El sistema contaba, a su vez, con una decena de clientes y algunas decenas de usuarios. La idea final, entonces, era llegar a Java/MySQL, pero se decidió hacerlo en varios pasos.

1. Limpieza del KB original. Que incluía distribuir los objetos main y todos los llamados por estos; así como identificar los objetos con sentencias DBASE.

2. Migrar a 9.0 .NET / SQL Server 2005. Se debía crear una KB en GeneXus 9.0 y consolidar el paso anterior, corrigiendo los pequeños errores de la consolidación. También generar un modelo en .NET / SQL Server al mismo tiempo que se debía revisar todas las propiedades de Null en atributos que podían ser nulos. Por último se debía copiar los datos de SQL Server 2005 a SQL Server 2005.

3. Migrar datos de SQL Server a MySQL. Básicamente se debía crear la base de datos en MySQL con GeneXus y luego copiar los datos de SQL Server a MySQL con DTS.

4. Probar la aplicación en .NET / SQL Server 2005.

5. Probar la aplicación en .NET / MySQL.

6. Generar un modelo con Java / MySQL. Se debían reprogramar las sentencias DBASE a Java.

7. Optimización y mejoras. El último paso consistía en habilitar el Caché, cambiar los reportes a PDF y probar con Aritmética Decimal.

“Lo que mas me llamó la atención fueron los pocos errores que aparecieron en la migración. Todos estos pasos fueron realizados en menos de 10 horas, incluyendo ahí, lo que dediqué a estudiar alguna herramienta de migración de datos y la copia de los datos” aseguró Enrique Almeida.

“Es realmente increíble que en tan poco tiempo podamos tener operativo un sistema en plataformas tan diferentes. Ahora nos quedó el sistema generado en tecnología Full Microsoft (.NET 2.0/SQLServer 2005) y Full Open Source (java/MySQL), lo cual nos va a permitir hacer comparaciones y optar por la más conveniente. Lo que iba a ser una migración de evaluación, terminó siendo la migración definitiva” dijo Almeida.