Migrações com GeneXus
O objetivo era migrar um sistema de produção desenvolvido em GeneXus 8.0 para que funcionasse em plataformas Open Source. A metodologia consistia em uma migração de avaliação por passos para depois fazer uma definitiva. O resultado?
Partia-se de um sistema de produção que estava desenvolvido em GeneXus 8.0 e gerado em Visual FoxPro, com uma base de dados em SQL Server. A pedido de um novo cliente, ao que interessava investigar a possibilidade de utilizar produtos Open Source, se decidiu fazer a migração Java e MySQL.
“Dediquei um dia inteiro para ver como nos saia a migração. A idéia era avaliar quão custoso ia ser a migração definitiva, com o que decidi fazer uma migração multi-passos, mas descartável, de forma a poder solucionar problemas e depois voltar a fazer a migração definitiva”, comentou Enrique Almeida, Gerente do Departamento de Informática da Concepto S.R.L., a empresa encarregada de oferecer a solução.
O sistema original estava desenvolvido em Visual FoxPro/SQL Server 2000 e contava com 43 tabelas e 265 objetos com interface win, com alguns anos em produção. O sistema dispunha, por sua vez, de uma dezena de clientes e algumas dezenas de usuários. A idéia final, então, era chegar a Java/MySQL, mas se decidiu fazê-lo em vários passos.
1. Limpeza da KB original. Que incluía distribuir os objetos main e todos os chamados por estes; assim como identificar os objetos com sentenças DBASE.
2. Migrar para 9.0 .NET / SQL Server 2005. Devia ser criada uma KB em GeneXus 9.0 e consolidar o passo anterior, corrigindo os pequenos erros da consolidação. Também gerar um modelo em .NET/ SQL Server ao mesmo tempo em que se devia revisar todas as propriedades de Null em atributos que podiam ser nulos. Por último devia-se copiar os dados de SQL Server 2005 para SQL Server 2005.
3. Migrar dados de SQL Server para MySQL. Basicamente devia-se criar a base de dados em MySQL com GeneXus e depois copiar os dados de SQL Server para MySQL com DTS.
4. Provar a aplicação em .NET / SQL Server 2005.
5. Provar a aplicação em .NET / MySQL.
6. Gerar um modelo com Java / MySQL. Deviam ser reprogramadas as sentenças DBASE para Java.
7. Otimização e melhoras. O último passo consistia em habilitar o Caché, mudar os relatórios para PDF e provar com Aritmética Decimal.
“O que mais me chamou a atenção foram os poucos erros que apareceram na migração. Todos estes passos foram realizados em menos de 10 horas, incluindo aí, o que me dediquei em estudar: alguma ferramenta de migração de dados e a cópia de dados” assegurou Enrique Almeida.
“É realmente incrível que em tão pouco tempo possamos ter operativo um sistema em plataformas tão diferentes. Agora nos falta o sistema gerado em tecnologia Full Microsoft (.NET 2.0/SQLServer 2005) e Full Open Source (java/MySQL), o qual vai nos permitir fazer comparações e optar pela mais conveniente. O que ia ser uma migração de avaliação, terminou sendo a migração definitiva”, disse Almeida.
“Dediquei um dia inteiro para ver como nos saia a migração. A idéia era avaliar quão custoso ia ser a migração definitiva, com o que decidi fazer uma migração multi-passos, mas descartável, de forma a poder solucionar problemas e depois voltar a fazer a migração definitiva”, comentou Enrique Almeida, Gerente do Departamento de Informática da Concepto S.R.L., a empresa encarregada de oferecer a solução.
O sistema original estava desenvolvido em Visual FoxPro/SQL Server 2000 e contava com 43 tabelas e 265 objetos com interface win, com alguns anos em produção. O sistema dispunha, por sua vez, de uma dezena de clientes e algumas dezenas de usuários. A idéia final, então, era chegar a Java/MySQL, mas se decidiu fazê-lo em vários passos.
1. Limpeza da KB original. Que incluía distribuir os objetos main e todos os chamados por estes; assim como identificar os objetos com sentenças DBASE.
2. Migrar para 9.0 .NET / SQL Server 2005. Devia ser criada uma KB em GeneXus 9.0 e consolidar o passo anterior, corrigindo os pequenos erros da consolidação. Também gerar um modelo em .NET/ SQL Server ao mesmo tempo em que se devia revisar todas as propriedades de Null em atributos que podiam ser nulos. Por último devia-se copiar os dados de SQL Server 2005 para SQL Server 2005.
3. Migrar dados de SQL Server para MySQL. Basicamente devia-se criar a base de dados em MySQL com GeneXus e depois copiar os dados de SQL Server para MySQL com DTS.
4. Provar a aplicação em .NET / SQL Server 2005.
5. Provar a aplicação em .NET / MySQL.
6. Gerar um modelo com Java / MySQL. Deviam ser reprogramadas as sentenças DBASE para Java.
7. Otimização e melhoras. O último passo consistia em habilitar o Caché, mudar os relatórios para PDF e provar com Aritmética Decimal.
“O que mais me chamou a atenção foram os poucos erros que apareceram na migração. Todos estes passos foram realizados em menos de 10 horas, incluindo aí, o que me dediquei em estudar: alguma ferramenta de migração de dados e a cópia de dados” assegurou Enrique Almeida.
“É realmente incrível que em tão pouco tempo possamos ter operativo um sistema em plataformas tão diferentes. Agora nos falta o sistema gerado em tecnologia Full Microsoft (.NET 2.0/SQLServer 2005) e Full Open Source (java/MySQL), o qual vai nos permitir fazer comparações e optar pela mais conveniente. O que ia ser uma migração de avaliação, terminou sendo a migração definitiva”, disse Almeida.