Migrando VFP a .NET Tips y Sugerencias - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Migrando VFP a .NET Tips y Sugerencias

Description:

Migrando VFP a .NET Tips y Sugerencias Experiencia de una migraci n en la Aduana de Costa Rica Enrique Almeida Concepto ealmeida_at_concepto.com.uy – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 28
Provided by: Enrique153
Category:

less

Transcript and Presenter's Notes

Title: Migrando VFP a .NET Tips y Sugerencias


1
Migrando VFP a .NETTips y Sugerencias
  • Experiencia de una migración en la
  • Aduana de Costa Rica
  • Enrique Almeida Concepto
  • ealmeida_at_concepto.com.uy
  • Gustavo Morales Aduana de Costa Rica
    moralescg_at_hacienda.go.cr

2
El proyecto
  • Adaptación del sistema a la realidad de Costa
    Rica.
  • Transferencia tecnológica de Concepto al grupo de
    desarrollo de la Aduana de Costa Rica.
  • Migración de GeneXus 7.5 generando Visual FoxPro
    (Windows) y C/SQL (Web y WebServices) a GeneXus
    8.0 y full .NET
  • 400 Tablas y 3200 objetos

3
Quienes somos?.
  • CONCEPTO
  • 12 años trabajando con GeneXus.
  • Pertenecientes a la GxAlliance.
  • 2001 y 2002 Mejor BetaTester
  • 2001 Early adopter of new tecnologies .NET
  • Sistema de Calidad ISO-90012000

4
Quienes somos?
  • ADUANA DE COSTA RICA.
  • - 650 funcionarios.
  • - Recaudación
  • US 1.029.000.000
  • 6 PBI de Costa Rica.

5
Porque .NET y Tres Capas?
  • Directiva de Ministerio de Hacienda de Costa
    Rica.
  • Seguridad
  • Escalabilidad
  • Necesidad de integración con otros organismos
  • Pensado para mantener la misma tecnología por los
    próximos 5 años.

6
Que teníamos?
Cliente/ Servidor
  • Cambios en
  • En generador WIN y WEB
  • La arquitectura de la aplicación
  • La base de datos
  • Lo cual implicaba además
  • La versión de GeneXus (7.5 a 8.0)
  • La forma de Acceso a datos (ODBC ADO.NET)

7
Etapas.
8
Sugerencia IPlanificar la migración!!
  • Etapas
  • Pasos simples y comprobables
  • Si se presenta un problema, siempre es fácil
    detectarlo y compararlo con algo que funcione
    bien.
  • Recursos
  • Definir los recursos necesarios para cada etapa

9
Sugerencia IIGrupo de trabajo focalizado en la
migración
  • Equipo dedicado a la migración
  • Se adelanta a los problemas
  • Evalúa nuevas versiones
  • Encontrar soluciones a problemas tipo
  • Comunicar soluciones al resto del grupo de
    trabajo
  • Resto del equipo dedicado a programar nuevas
    funcionalidades.

10
Sugerencia III Estudiar la plataforma destino
  • Si vamos a generar C, que alguien en el grupo
    sepa programar en C.
  • Armar un laboratorio con la plataforma destino
    para poder hacer pruebas y poder aprender

11
Sugerencia IV Borrar todo lo que no sea necesario
  • Eliminar todo lo que no se use!!
  • Buscar todos los objetos no alcanzables desde
    mains y borrarlos.

12
TIP I Como consigo el conjunto de objetos usados
en mi aplicación?
  • Distribuir
  • Todas las transacciones y Data Views
  • Todos los mains usados (Facil en 8.0)
  • Todos los objetos referenciados por esos main
    (ADD CALLED)
  • Objetos invocados en forma dinámica

13
Que me puede ocasionar problemas?
  • Estudiar la KB buscando cosas raras
  • Programas Externos y Stored Procedures
  • Comandos SQL, JAVA, DBASE, CSHARP, VB
  • Funciones NO STANDARD
  • DataViews con otras bases de datos
  • Imágenes/Archivos leídos
  • Componentes ActiveX, DLL, etc.
  • Calls entre objetos que no son del mismo
    generador/environment.
  • Tablas DBF

14
Programas Externos
  • Racionalizar su uso
  • Unificar lo que hacen cosas parecidas
  • Ver si no hay alguna función de GeneXus para
    hacerlo.
  • Reprogramarlos en el nuevo lenguaje (C)
  • Probarlos en el nuevo lenguaje y plataformas

15
TIP II Como ver programas externos usados en mi
KB?
16
Programas externos
  • En la migración a C tuvimos que agregar
    parámetros utilizado por GeneXus pero no por la
    aplicación.
  • Versiones diferentes para Windows/WEB, por los
    parámetros.

17
Stored Procedures
  • En ADO.NET la llamada a SP hay que hacerla con el
    nombre de variable del parámetro.
  • Cambiar la programación.

18
Comandos DBASE
  • Buscar todos los objetos que tienen DBASE en el
    código GeneXus.
  • Por ejemplo
  • DBASE wait window 'Presione ltESCgt para
    cancelar' TIMEOUT 5
  • if lastkey()27
  • SALGO'S'
  • return
  • Endif
  • Tratar de evitar esta forma de programar.
  • Sustituir DBASE por CSHARP, y programar código
    equivalente

19
TIP III Que objetos usan el comando DBASE?
20
Sugerencia VUsar los archivos XPZ (Distribute)
  • Estudiar el formato de los archivos XML de
    distribución (dentro del XPZ)
  • Herramienta de Search and Replace con
    expresiones regulares
  • Grep
  • (SR) www.funduc.com.
  • Usarlas para buscar que objetos que contienen un
    string determinado

21
Funciones
  • Conocer la lista de funciones soportadas en la
    plataforma destino.
  • Detectar cuales son las funciones no soportadas o
    que cambiaron su significado en la plataforma
    destino.
  • Buscar funciones NO STANDARD, o no nativas de
    GeneXus, para buscarle una alternativa.

22
TIP IV Como encontrar que objetos usan funciones
no standard?
  • Consolidarlo en una KB vacía, con la propiedad
    Function para que no acepte funciones no standard

DISEÑO
PROTOTIPO
  • Revisar todo lo que da errores y warnings
  • Arreglarlo

23
Sugerencia VI Estudiar las Releases Notes de los
Upgrades
  • Buscar errores corregidos
  • Funcionalidades nuevas
  • Cambios en
  • Funciones
  • Propiedades
  • Comandos
  • Configuración

24
Controles ActiveX
  • No están soportados en el generador .NET
  • Reprogramarlos con controles nativos.
  • Mantener algunos programas en Visual FoxPro.

25
Proceso propuesto
  • Borrar todo lo que no se necesite migrar
  • Distribuir modelo original.
  • Consolidar en una KB vacía y arreglar problemas
  • Especificar y arreglar problemas
  • Generar, Compilar y arreglar problemas
  • Comparar ejecución con modelo anterior y arreglar
    diferencias
  • Documentar errores y reportarlos

26
Conclusiones
  • Migrar es inevitable
  • Pero
  • Da trabajo
  • Hay que planificar
  • Consume recursos
  • Posibilita la incorporación de nuevas
    funcionalidades

27
Migrando VFP a .NETTips y Sugerencias
  • Preguntas?
  • Enrique Almeida Concepto
  • ealmeida_at_concepto.com.uy
  • Gustavo Morales Aduana de Costa Rica
  • Moralescg_at_hacienda.go.cr

28
Pedidos a Artech
  • Incorporar a los programas externos como objetos
    genexus
  • Search and Replace Global
  • Comparador de navegaciones
  • Comparador de LOGs de performance

29
Funciones no standard
  • En el código VFP había funciones no standard,
    como son ADIR() que devuelve el contenido de un
    directorio en un array.
  • Esas fueron migradas y utilizadas con programas
    externos.

30
Tablas DBF.
  • En el modelo Visual FoxPro teníamos algunas
    tablas marcadas como locales que generaban DBF
  • Estas tablas fueron migradas a utilizar tablas
    temporales en la base de datos.
Write a Comment
User Comments (0)
About PowerShow.com