migrar vfp a asp.net

27
Migrando VFP a .NET Migrando VFP a .NET Tips y Sugerencias Tips y Sugerencias Experiencia de una migración en la Aduana de Costa Rica Enrique Almeida – Concepto [email protected] Gustavo Morales – Aduana de Costa Rica [email protected]

Upload: jabenavidesm

Post on 25-Dec-2015

54 views

Category:

Documents


2 download

DESCRIPTION

Tips para poder realizar migraciones de visual fox a asp.NET, recomendaciones y paso a ser considerados al momento de migrar una aplicacion a ambiente web

TRANSCRIPT

Page 1: migrar VFP a asp.net

Migrando VFP a .NETMigrando VFP a .NETTips y SugerenciasTips y Sugerencias

Experiencia de una migración en laAduana de Costa Rica

Enrique Almeida – [email protected]

Gustavo Morales – Aduana de Costa Rica [email protected]

Page 2: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

El proyectoEl 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

Page 3: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Quienes somos?.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-9001:2000

Page 4: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Quienes somos?Quienes somos?

ADUANA DE COSTA RICA.- 650 funcionarios.

- Recaudación U$S 1.029.000.000 6% PBI de Costa Rica.

Page 5: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Porque .NET y Tres Capas?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.

Page 6: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

sQue teníamos?Que teníamos?

WIN Visual Fox Pro

WEB C/SQL

Oracle

Un sistema funcionando, desarrollado con:

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)

Cliente/Servidor

WIN .NET

WEB .NET

Tres Capas

Y nos pedían….

SQLServer

Page 7: migrar VFP a asp.net

Etapas.Etapas.

3 GeneXus 8.0WIN .NET

WEB .NET

ADO.Net SQLServerCliente/Servidor

2 GeneXus 8.0WIN

.NET WEB .NET

ODBC SQLServerCliente/Servidor

1 GeneXus 7.5WIN

Visual Fox Pro WEB .NET

ODBC SQLServerCliente/Servidor

0 GeneXus 7.5WIN

Visual Fox Pro WEB C/SQL

ODBC OracleCliente/Servidor

4 GeneXus 8.0WIN .NET

WEB .NET

ADO.Net SQLServerTres

Capas

Acces

o a

datos

Arquite

ctura

Base

de dat

os

Page 8: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia Sugerencia I:I:Planificar la migración!!Planificar 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

Page 9: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia II:Sugerencia II:Grupo de trabajo focalizado en Grupo de trabajo focalizado en

la migraciónla 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.

Page 10: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia III: Sugerencia III: Estudiar la plataforma destinoEstudiar 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

Page 11: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia IV: Borrar todo lo Sugerencia IV: Borrar todo lo que no sea necesarioque no sea necesario

• Eliminar todo lo que no se use!!

• Buscar todos los objetos no alcanzables desde mains y borrarlos.

Page 12: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

TIP I: Como consigo el conjunto TIP I: Como consigo el conjunto de objetos usados en mi de objetos usados en mi

aplicación?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

Page 13: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Que me puede ocasionar Que me puede ocasionar problemas?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

Page 14: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Programas ExternosProgramas 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

Page 15: migrar VFP a asp.net

TIP II – Como ver programas TIP II – Como ver programas externos usados en mi KB?externos usados en mi KB?

Page 16: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Programas externosProgramas 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.

Page 17: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Stored ProceduresStored Procedures

• En ADO.NET la llamada a SP hay que hacerla con el nombre de variable del parámetro.

• Cambiar la programación.

Page 18: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Comandos “DBASE”Comandos “DBASE”

• Buscar todos los objetos que tienen DBASE en el código GeneXus.– Por ejemplo: DBASE wait window 'Presione <ESC> 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

Page 19: migrar VFP a asp.net

TIP III: Que objetos usan el TIP III: Que objetos usan el comando DBASE?comando DBASE?

Page 20: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia V:Sugerencia V:Usar los archivos XPZ Usar los archivos XPZ

(Distribute)(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

Page 21: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Funciones 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.

Page 22: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

sTIP IV: Como encontrar que objetos TIP IV: Como encontrar que objetos

usan funciones no standard?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

Page 23: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Sugerencia VI: Estudiar las Sugerencia VI: Estudiar las Releases Notes de los UpgradesReleases Notes de los Upgrades

• Buscar errores corregidos

• Funcionalidades nuevas

• Cambios en – Funciones– Propiedades– Comandos– Configuración

Page 24: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Controles ActiveXControles ActiveX

• No están soportados en el generador .NET

• Reprogramarlos con controles nativos.

• Mantener algunos programas en Visual FoxPro.

Page 25: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

Proceso propuestoProceso 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

Page 26: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s

ConclusionesConclusiones

• Migrar es inevitable

• Pero……– Da trabajo– Hay que planificar– Consume recursos

• Posibilita la incorporación de nuevas funcionalidades

Page 27: migrar VFP a asp.net

Mig

ran

do V

FP

a .

NET T

ips y

Su

gere

nci a

sM

igra

nd

o V

FP

a .

NET T

ips y

Su

gere

ncia

s Migrando VFP a .NETMigrando VFP a .NETTips y SugerenciasTips y Sugerencias

¿Preguntas?

Enrique Almeida – [email protected]

Gustavo Morales – Aduana de Costa [email protected]