Modernização
Sistemas desktop e cliente-servidor: para a web sem parar a operação
Visual Basic 6, PowerBuilder, Delphi, Oracle Forms, Access ou FoxPro: sistemas que continuam sustentando processos críticos, mas que a cada ano custam mais para instalar, manter e conectar. Nós os levamos para uma aplicação web, módulo a módulo.
O problema
Funciona, mas fica mais frágil a cada ano
Algumas dessas ferramentas já não têm suporte do fabricante e outras dependem de versões específicas do Windows ou de licenças que encarecem cada atualização. Restam poucas pessoas que sabem alterá-las, e a lógica de negócio costuma viver misturada às telas ou em procedimentos armazenados. Reescrever tudo de uma vez é o risco que ninguém quer correr.
Como fazemos
Da tela desktop para a web
Inventário de telas e regras
Cada formulário, relatório e procedimento armazenado é inventariado e relacionado às tabelas que utiliza.
Lógica separada da tela
As regras que hoje vivem nos eventos de botões ou no código dos formulários são extraídas para uma especificação verificável.
Mesmo banco de dados no início
O sistema novo pode começar sobre o banco de dados atual, para que ambos convivam enquanto se comuta módulo a módulo.
Paridade antes de comutar
Cada módulo é comparado com o sistema desktop com testes por regra antes que os usuários mudem.
Cenário ilustrativo
Uma distribuidora com seu sistema em Visual Basic 6 e SQL Server
Imagine um sistema de pedidos, estoque e faturamento feito em Visual Basic 6, instalado em cada computador e conectado ao SQL Server.
- A amostra medida pega algumas telas de pedidos e as transforma em especificação com testes.
- O diagnóstico organiza os módulos em ondas: primeiro consultas e relatórios, depois a entrada de pedidos e por último o faturamento.
- A versão web de cada módulo convive com a versão desktop sobre o mesmo banco de dados até que sua paridade seja assinada.
- Quando o último módulo comuta, o instalador é retirado dos computadores.
Cenário ilustrativo: Exemplo hipotético para explicar o método: não descreve um cliente nem um resultado medido.
O que fica com você
Uma aplicação web que sua equipe consegue manter
Código em tecnologias atuais, especificação e testes por regra. Mesmo que você não siga com a migração, fica com a especificação do seu sistema.
Perguntas frequentes
Meus usuários precisam aprender tudo de novo?
Não necessariamente. É possível manter o fluxo de trabalho e a ordem de digitação que eles já conhecem; as mudanças de interface são combinadas módulo a módulo.
É preciso migrar o banco de dados ao mesmo tempo?
Não. O habitual é mantê-lo no início e decidir depois se convém trocar de motor. Veja migração de banco de dados.
Vocês têm um caso próprio com essas tecnologias?
Nosso caso próprio documentado é uma migração a partir do GeneXus. O método parte do esquema e do comportamento do sistema, não da linguagem; a amostra medida é a forma de comprovar isso no seu antes de assumir um compromisso.
Próximo passo
Comece por uma amostra medida: de 5 a 10 telas do seu sistema transformadas em especificação verificável, com testes e um inventário de diferenças.