Estrategias de Migración a GX X Ev 1<br />Ing. Marcela Corbo, MBA<br />Project Director - GeneXus Consulting<br />
Planear el viaje<br />Origen<br />Destino<br />Fechas<br />Hotel<br />Medio de transporte<br />Que queremos hacer en el de...
Migrando una kb<br />
Migración sin cambio de plataforma a la Ev 1<br />Win a win<br />Web a web<br />Sin cambio de plataforma<br />
Migración sin cambio de plataforma a la Ev 1<br />Migrar la kb en GeneXus 9<br />Migrar la kb en GeneXus Ev 1<br />Compara...
Mucho más ajax<br />Cuando se ejecuta un evento en el server<br />Llamada a objeto<br />Variables en condiciones<br />Util...
Mejoras en la determinaciónde order<br />Antes de GeneXus 9.0<br />Lo que el desarrollador escribió en la cláusula order y...
Ejemplos<br />
Banco República<br />
Win a win<br />Web a Web<br />Green a Web<br />Win a Web <br />Con cambio de plataforma<br />
Casos posibles<br />Mantengo el diálogo<br />Cambiar el diálogo<br />
Que me voy a encontrar<br />Hacer las pantallas web<br />
Maquilas Tetakawi<br />
Banco República del Uruguay<br />
FUCAC<br />
Fertilizantes Tepeyac<br />
Migrar + Funcionalidad   <br />Green -> Web<br />Win -> Web<br />Web-> Web<br />Win -> Win<br />Funcionalidad<br />Nuevo P...
GXflow<br />
Patterns<br />Patrones estándares migran sin problemas<br />Patrones propios:<br />Crear el patrón en la evolution<br />Cr...
Upcoming SlideShare
Loading in …5
×

Migración evolution evento mx

749 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
749
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Vamos a imaginarnos que decidimos y queremos viajar a una isla.
  • Si tenemoslasuerte que eso nos pase, no agarramosunflotadorlas patas de rana y nos tiramos alagua a nadar. Sino que empezamos a planear el viaje
  • Lo que vamos a planearesdesde dónde vamos a iniciar el viaje, a quéislaesla que queremos llegar, enqué fechas queremos viajar, endónde nos vamos a quedar, tenemos que comprar lospasajes y lo más importante es definir que queremos hacercuandollegamos. Por que llegar para no hacer nada no nos sirve, ahí esta el motivo del viaje.
  • Cuando migramos una kb de versión pasa lo mismo, tenemos que saber desde qué versión partimos.A que versión queremos llegar. Cuando queremos migrar. Como vamos hacer esta migración. Con que herramientas vamos a migrarnos si es que vamos a usar alguna. Y lo que nos motiva es la razón a migrar
  • Las migraciones que caen dentro de esta categoría son todas las migraciones que están en una vieja versión de genexus en un ambiente win y que quieren migrarse a un ambiente win en genexusevolution, o que están en un ambiente web y quieren ir a un ambiente web en la evolution. En estas migraciones no hay cambio de plataforma, o sea continuamos en el mismo tipo de plataforma.
  • ¿Qué implica este cambio? ¿Qué es lo que tengo que hacer yo cuando quiero migrar de esta forma?Básicamente lo que tenemos que hacer es comparar el funcionamiento de la aplicación anterior con el funcionamiento de la aplicación actual. Si estamos en una versión anterior a Genexus 9 es un requisito pasar por esta versión, por lo cual vamos a tener que abrir la kb en esta versión y luego pasarnos a la versión Evolution. No implica hacer todo un proceso de conversión a GeneXus 9, simplemente es un paso logístico. Una de las cosas que vamos a necesitar hacer es comparar las navegaciones entre las diferentes versiones. Tenemos los diagramas de navegación de la aplicación actual, y una vez que obtengamos la kb en GxXEv1 vamos a obtener los diagramas de navegación nuevos. En &lt;URL&gt; se explica los pasos para realizar la comparación de navegaciones, lo que nos va a permitir ir encontrando puntos con posibles cambios a revisar.Entonces resumiendo, lo que tengo que hacer es migrar a genexus 9, luego migrar a genexusevolution, comparar las navegaciones entre las diferentes versiones para ver las diferencias, y luego testear y realizar los ajustes necesarios ¿y por que tenemos que ajustar cosas? Y que fue lo que cambio entre las versiones anteriores de genexus y la evolution que tengamos que ajustar cosas.
  • Una de las cosas que se mejoraron en la evolution 1 es disminuir la cantidad de idas al servidor y disminuir la cantidad de tránsito que va al servidor, se hacen más validaciones del lado del cliente a través de javascript. Antes de genexus 9 toda la aplicación se validaba a pantalla completa en el servidor. En genexus 9, se agregó la funcionalidad de que las validaciones en la transacción se hagan del lado del cliente y ahora en esta versión se agrego que los eventos de usuario se ejecuten del lado del cliente. Para poner en contexto, el orden de ejecución de los eventos de usuario hasta genexus 9 era start, lectura del formulario que se había sometido, evento de usuario, refresh y load y ¿Qué más cambio?En esta versión los eventos de usuario que se ejecutan en el cliente, salvo aquellos que caen en estos 3 casos:1- tienen llamadas a otro objeto2- modifican variables que están las condiciones del objeto3- utilizan alguna función alguna función que necesita ir al servidor¿y por que este cambio me afecta?El hecho que solo se ejecute en el cliente, hace que no se someta el formulario, y por lo tanto ya no se ejecuta el evento start, refresh y load. Un caso de ejemplo sería el botón buscar, en GeneXus 9 este evento que no tenía código, posteaba el formulario y luego ejecutaba el evento start, refresh y load y recargaba la pantalla. Ahora como el evento no tiene código, no caen en ninguna de las 3 condiciones por eso se ejecuta en el cliente y por eso no se refresca la pantalla. O sea lo que tengo que hacer es revisar que los eventos que necesitan que se ejecute el start, refresh y load para que vayan al servidor.
  • GeneXus siempre intentara encontrar el mejor orden posible para un foreach o grid. Entonces para determinar el order se toma en cuenta: Lo que se escriba en la clausula order Los wheres por igualdad atributos instanciadosMientras que antes de genexus 9 lo que se hacía era utilizar lo que el desarrollador escribió en la clausula order o en caso que no haya puesto nada la primarykey de la tabla base. Y en que nos puede afectar esto?En caso que el desarrollador haya puesto la clausula order no nos afecta en nada, en caso que no la haya puesto si nos puede afectar. Porque antes me recorría por la primarykey y si la recorrida optimizada no es por la primarykey el orden podría cambiar.¿Y como determino estos casos?A través del comparador de navegacionesEntonces lo que tengo que hacer es cuando comparo las navegaciones, ver como cambian los ordenes y en caso que cambien de una forma que no quiero, los tengo que escribir a los ordenes.
  • Caro: Algunas empresas que hicieron este proceso son por ejemplo UTE que partió de una base de conocimiento en GeneXus 8.0 y la migraron a GeneXus Ev1, una base de conocimiento de unos …. objetos
  • Este es el caso que tengo
  • Caro = ¿Qué implica este tipo de migraciones?Gonza = a) Adaptarse la realidad, modificando la funcionalidad de la aplicación b) Forzar la realidad para mantener el dialogoCaro= ¿Qué implican estos dos casos? Gonza = En una aplicación win podría tener un procedimiento que en la mitad de la ejecución llama a un workpanel para pedirle un dato al usuario y luego continua ejecutando el procedimiento. Esto en web no lo puedo hacer por que luego de llamar a un objeto con pantalla no puedo volver a continuar ejecutando el procedimiento. Acá es donde se me presentan dos alternativas, o programo guardar el estado del procedimiento para cuando luego del webpanel llamo nuevamente al procedimiento y continuar ejecutando donde estaba o cambio el dialogo para que luego pido el dato y luego llamo al procedimiento con el dato instanciado. Como este caso hay varios. Caro = Entonces lo primero que tengo que elegir es definir que tipo de enfoque tengo que realizar para mantener esta migración. E independientemente del dialogo que otras cosas me puedo encontrar?
  • Gonza= Tengo que hacer las pantallas web y el webform de las transacciones. O lo hago a mano uno a uno o utilizo una herrramienta para construirlas. Caro = Entonces acá lo que toca es ponerse a trabajar. Hay muchos clientes que han realizado este cambio, algunos lo han hecho en etapas, algunos usaron herramientas, otros lo hicieron en por pedazos. Por ejemplo en maquilas tetakawi, intentaron mantener las pantallas desarrolladas en win igual en web, entonces importaron las transacciones y los procedimientos y los consolidaron en la evolution y programaron a mano los webpanels a mano imitando los workpanels.En el banco republica utilizaron las k2btools para desarrollar todos los webpanels, por lo cual automatizaron un poco el proceso de construcción de los webpanels.En Fucac por ejemplo migraron de a módulos y no toda la aplicación de una, sino que empezaron con el módulo de contabilidad y trataron de imitar las pantallas win en web, salvo cuando encontraron casos en los que podían mejorar la pantalla con pequeños cambios Y por último en fertilizantes tepeyac repensaron las pantallas a desarrollar tratando de mejorar su funcionalidad.
  • Ahora que vimos todos estos casos yo me animo a presentar esta migración sola.
  • En este caso lo que tenemos es simple vamos a migrar y a su vez queremos agregarle funcionalidad aprovechar lo que estamos migrando para incorporar nuevas funcionalidades a la aplicación o simplemente agregarle más módulos. En este caso tenemos la migración por un lado y agregarle funcionalidad por otro lado. Lo que tenemos que hacer para la primera parte es definir que tipo de migración es, si es una migración plana o una migración con cambio de plataforma. Y para el agregado de funcionalidad es un proyecto en sí.
  • “Se integra a gxflow ya no esta más en una kb que consolidamos, esto nos da mil ventajas en cuanto a la integración de nuestras aplicaciones con genexus, ¿pero este cambio que nos implica a la hora de migrar”Gonza: “no puedo tocar al flow, no es más parte de mi kb, ni los objetos, ni las tablas. Por lo cual si hacía llamadas a objetos directos de gxflow los voy a tener que cambiar y usar el customclient o el user control gxentrypoint y a su vez las apis ya no hacen commit por lo cual tengo que poner el commit en el código”
  • Lo que nos queda esinvitarlos a que empiecen armar lasvalijas para realizar este viaje.
  • Migración evolution evento mx

    1. 1. Estrategias de Migración a GX X Ev 1<br />Ing. Marcela Corbo, MBA<br />Project Director - GeneXus Consulting<br />
    2. 2.
    3. 3.
    4. 4. Planear el viaje<br />Origen<br />Destino<br />Fechas<br />Hotel<br />Medio de transporte<br />Que queremos hacer en el destino<br />
    5. 5. Migrando una kb<br />
    6. 6.
    7. 7.
    8. 8. Migración sin cambio de plataforma a la Ev 1<br />Win a win<br />Web a web<br />Sin cambio de plataforma<br />
    9. 9. Migración sin cambio de plataforma a la Ev 1<br />Migrar la kb en GeneXus 9<br />Migrar la kb en GeneXus Ev 1<br />Comparar las navegaciones<br />Testear aplicación<br />Realizar ajustes<br />
    10. 10. Mucho más ajax<br />Cuando se ejecuta un evento en el server<br />Llamada a objeto<br />Variables en condiciones<br />Utilizo función que necesita ejecutarse en el server<br />
    11. 11. Mejoras en la determinaciónde order<br />Antes de GeneXus 9.0<br />Lo que el desarrollador escribió en la cláusula order y si no puso nada la PK <br />A partir de GeneXus 9.0<br />Lo que el desarrollador defina en la cláusula order<br />Y Los filtros en los wheres por igualdad<br />Y Atributos instanciados<br />
    12. 12. Ejemplos<br />
    13. 13. Banco República<br />
    14. 14.
    15. 15. Win a win<br />Web a Web<br />Green a Web<br />Win a Web <br />Con cambio de plataforma<br />
    16. 16. Casos posibles<br />Mantengo el diálogo<br />Cambiar el diálogo<br />
    17. 17. Que me voy a encontrar<br />Hacer las pantallas web<br />
    18. 18. Maquilas Tetakawi<br />
    19. 19. Banco República del Uruguay<br />
    20. 20. FUCAC<br />
    21. 21. Fertilizantes Tepeyac<br />
    22. 22.
    23. 23. Migrar + Funcionalidad <br />Green -> Web<br />Win -> Web<br />Web-> Web<br />Win -> Win<br />Funcionalidad<br />Nuevo Proyecto<br />
    24. 24.
    25. 25. GXflow<br />
    26. 26. Patterns<br />Patrones estándares migran sin problemas<br />Patrones propios:<br />Crear el patrón en la evolution<br />Crear procedimiento de migración<br />Migrar las instancias<br />
    27. 27.
    28. 28. Ing. Marcela Corbo, MBA<br />Project Director - GeneXus Consulting<br />mcorbo@genexusconsulting.com<br />

    ×