1 / 27

Migrando VFP a .NET Tips y Sugerencias

Migrando VFP a .NET Tips y Sugerencias. Experiencia de una migración en la Aduana de Costa Rica Enrique Almeida – Concepto ealmeida@concepto.com.uy Gustavo Morales – Aduana de Costa Rica m oralescg@hacienda.go.cr. El proyecto. Adaptación del sistema a la realidad de Costa Rica.

jovan
Télécharger la présentation

Migrando VFP a .NET Tips y Sugerencias

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migrando VFP a .NETTips y Sugerencias Experiencia de una migración en la Aduana de Costa Rica Enrique Almeida – Concepto ealmeida@concepto.com.uy Gustavo Morales – Aduana de Costa Rica moralescg@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-9001:2000

  4. Quienes somos? ADUANA DE COSTA RICA. - 650 funcionarios. - Recaudación U$S 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? Un sistema funcionando, desarrollado con: WIN Visual Fox Pro WEB C/SQL Oracle Y nos pedían…. WIN .NET WEB .NET Tres Capas SQLServer 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. Acceso a datos Arquitectura Base de datos 4 GeneXus 8.0 WIN .NET WEB .NET ADO.Net Tres Capas SQLServer 3 GeneXus 8.0 WIN .NET WEB .NET ADO.Net Cliente/ Servidor SQLServer 2 GeneXus 8.0 WIN .NET WEB .NET ODBC Cliente/ Servidor SQLServer 1 GeneXus 7.5 WIN Visual Fox Pro WEB .NET ODBC Cliente/ Servidor SQLServer 0 GeneXus 7.5 WIN Visual Fox Pro WEB C/SQL ODBC Cliente/ Servidor Oracle

  8. Sugerencia I: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

  9. Sugerencia II:Grupo 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 <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

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

  20. Sugerencia V:Usar 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@concepto.com.uy Gustavo Morales – Aduana de Costa Rica Moralescg@hacienda.go.cr

More Related