133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para...

18
Nuevo pattern de PXTools - PXFlowController Ing. Juan Marcelo Bustamante Lamas [email protected] #GX2487

Upload: genexus

Post on 11-Jul-2015

346 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Nuevo pattern de

PXTools -

PXFlowControllerIng. Juan Marcelo Bustamante Lamas

[email protected]

#GX2487

Page 2: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Nuestra Empresa

• Conocemos GeneXus desde su versión 3.3

• Comenzamos el trabajo en Web con GeneXus desde 2002

• En el 2006 comenzamos a brindar soporte de migraciones de aplicaciones Win a Web y creamos nuestro producto PXTools.

• Tenemos Presencia en 8 países de América

• Tenemos más de 20 clientes que utilizan PXTools

• Superamos las 100 licencias otorgadas.

Page 3: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

El Contexto inicial

• Resolver el dialogo Modal en migraciones Win a Web.– El código posterior a una llamada de una IG se ejecuta antes de la IG.

– Múltiples invocaciones a IGs se pierden quedando solo la última.

• Posibles soluciones– Reingeniería de procesos.

– Programación manual basado en máquina de estados.

Page 4: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Características de la solución

• Definir el flujo de un proceso en una instancia de pattern.

• Facilitar el salvado de contexto de variables al pasar entre distintas interfaces.

• Integración con GXFlow.– Poder invocar a más de una IG en una sola tarea del WorkFlow.

– Precarga automática de ciertas variables del Flow.

• Control de Cierre de Ventana.

• Impresión de Texto en Cliente masivo.

• Confirms.

Page 5: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Ejemplo1 TClientes.Call(TrnMode.Update ,&CliNro )

2 Do 'Cargo Nombre Cliente'

3 &CountDirecciones = 0

4 For Each

5 Where CliNro = &CliNro

6 Defined By CDrNro

7 &CountDirecciones += 1

8 EndFor

9 If &CountDirecciones > 0

10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?"

11 Confirm(&Msg)

12 If Confirmed()

13 For Each

14 Where CliNro = &CliNro

15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro )

16 EndFor

17 EndIf

18 EndIf

19 Do 'Verifico Contactos‘

20

Page 6: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Ejemplo21 Sub 'Cargo Nombre Cliente'

22 For Each

23 Where CliNro = &CliNro

24 &CliNom = CliNom

25 EndFor

26 EndSub

27

28 Sub 'Verifico Contactos'

29 &CountContactos = 0

30 For Each

31 Where CliNro = &CliNro

32 &CountContactos += 1

33 EndFor

34 If &CountContactos

35 &Msg = "¿Desea Actualizar los Contactos de " + &CliNom.Trim() + "?"

36 Confirm(&Msg)

37 If Confirmed()

38 For Each

39 Where CliNro = &CliNro

40 Defined By CCtNro

41 TCliCon.Call(TrnMode.Update ,&CliNro ,CCtNro )

42 EndFor

43 EndIf

44 EndIf

45 EndSub

Page 7: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

¿ Cómo funciona?

• Declarar bloques de Código– Cada bloque terminará invocando a una IG.

– Cada IG puede ser un conjunto de pantallas.

• Solo una se ejecutará al finalizar el bloque

– Los bloques son definidos con código GeneXus.

Page 8: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

¿Cómo funciona?1 TClientes.Call(TrnMode.Update ,&CliNro )

2 Do 'Cargo Nombre Cliente'

3 &CountDirecciones = 0

4 For Each

5 Where CliNro = &CliNro

6 Defined By CDrNro

7 &CountDirecciones += 1

8 EndFor

9 If &CountDirecciones > 0

10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?"

11 Confirm(&Msg)

12 If Confirmed()

13 For Each

14 Where CliNro = &CliNro

15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro )

16 EndFor

17 EndIf

18 EndIf

19 Do 'Verifico Contactos‘

20

Page 9: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

¿ Cómo funciona?

• Declarar bloques de Código– Cada bloque terminará invocando a una IG.

– Cada IG puede ser un conjunto de pantallas.

• Solo una se ejecutará al finalizar el bloque

– Los bloques son definidos con código GeneXus

• Las IG son declaradas con Acciones especialmente consideradas en la instancia.– Las acciones se ejecutan en un Bloque con Comandos específicos del

PXFLowController. Los comandos pueden ser:

• ControllerAction <Action Name>

• ControllerConfirm <Confirm Name>

• ControllerGotoLine <Line Number>

• ControllerReturn

Page 10: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

¿Cómo funciona?

Page 11: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas features

• Integración con GXFlow.– Precarga de Variables.

– Control de Cola de Mensajes.

• Control de Cierre de Ventana.

• Impresión de Texto en Cliente masivo.

• Confirms.

Page 12: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas Features

Page 13: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas features

• Integración con GXFlow.– Precarga de Variables.

– Control de Cola de Mensajes.

• Control de Cierre de Ventana.

• Impresión de Texto en Cliente masivo.

• Confirms.

• Invocación a IG dentro de una iteración.

Page 14: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas Features

Page 15: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas features

• Integración con GXFlow.– Precarga de Variables.

– Control de Cola de Mensajes.

• Control de Cierre de Ventana.

• Impresión de Texto en Cliente masivo.

• Confirms.

• Invocación a IG dentro de una iteración.

• Soporte de Subrutinas con IGs.

Page 16: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Algunas Features

Page 17: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

Conclusión

• Ventajas– No es necesario realizar reingeniería de procesos.

– Bajo tiempo de implementación.

• Futuro– Automatizar la generación de la instancia en migraciones Win a Web.

– Parseo sintáctico del Lenguaje GeneXus.

Page 18: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web

¿Preguntas?