Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Ing. Juan Marcelo Bustamante Lamas jmbl@puntoexe.com.uy
Migración Win a Web. Un caso de Outsourcing exprimiendo GXPatterns al máximo. Buenos días. Mi nombre es Marcelo Bustamante. Soy Director y Gerente de Proyectos de PuntoExe, empresa que en la modalidad de Outsourcing ha realizado la migración a Web del Sistema GCI de Insis y sobre esta experiencia es que les voy a hablar ahora. Allá por el mes de Febrero tuvimos una reunión en Artech con Gustavo Carriquiri quien se interesó por la nueva línea de negocios que habíamos decidido incorporar a PuntoExe: Outsourcing para la migración Win a Web de Sistemas GeneXus. Quedó claro que había allí un nicho de mercado, pero que no iba a ser fácil generar la confianza de los colegas como para que pusieran en nuestras manos toda su base de conocimiento, requisito indispensable en este tipo de alianzas. Hace unos días todos recibimos la invitación a este encuentro en palabrea del Presidente de Artech, Breogán Gonda, donde destaca: “Es cada vez más importante la aparición de alianzas entre casas de software Genexus para enfrentar grandes proyectos” y sentimos que somos un buen ejemplo de ello. El mundo está demandando aplicar la mejor tecnología a los desarrollos de software y hoy vamos a mostrar algunos recursos que ya están disponibles para actualizar los aplicativos GeneXus. Ing. Juan Marcelo Bustamante Lamas
2
GCI (Web) - Insis Build 3 Fecha 22/09/2006 Programadores 8 Testers 3
Objetos migrados 1939 GeneXus 9.0 Generador Java U2 Pasado mañana entregamos a nuestro aliado el Build 3 de su proyecto con más de un 90% del trabajo terminado.
3
8 de Marzo de 2006 Solicitud de la Propuesta
Esta presentación está organizada cronológicamente y pretende recrear el proceso continuo de diseño – implementación – desarrollo – rediseño que aplicamos a este proyecto en los últimos cuatro meses. En esta fecha recibimos de INSIS la solicitud de una propuesta para la migración de su sistema GCI (Gestión Contable Integral) en un plazo muy exiguo.
4
El planteo inicial Objetivo Requerimientos
Migración en 4 meses. 2 Programadores de Insis. Requerimientos Diseño gráfico establecido. Entrega de Builds programada. Infraestructura y Arquitectura Desarrollo en PuntoExe. Auditoría a Distancia. Objetivo de la Propuesta – La migración, en un plazo de cuatro meses, del Sistema GCI (más de 2000 objetos programados en GX 8.0 Java tres capas) a web ( a GX 9.0 Java sobre Linux) integrando al equipo de desarrollo (que debería instalarse en nuestra sede) a 2 programadores de Insis. Requerimientos – Ajustarse a un muy riguroso diseño gráfico, forma de implementar la navegación y la interfase de usuario. Si bien en este caso estos requerimientos no fueron establecidos por nosotros, PuntoExe ofrece como parte de su servicio el desarrollo de estos modelos. Infraestructura y Arquitectura – Todo el proceso debía poder ser auditado en forma remota y atender los requerimientos de seguridad para mantener protegida la base de conocimiento.
5
Metodología Seguridad Seguimiento Local y Remoto Objetos Privados
AdminG SVT Seguimiento Local y Remoto eGroupWare Uno de los temas que debíamos resolver definitivamente era el relativo a la seguridad y para esto contamos con el apoyo formidable de nuestro aliado estratégico en esta línea de negocios: InterGroup Consultores.
6
Metodología Combinando la funcionalidad de GeneXus de Objetos Privados con el AdminG logramos generar un ambiente de seguridad en el cual el programador solo tendrá acceso a los programas solicitados por el AdminG. A propósito, ya les paso el aviso: el amigo Ney Benavides tiene hoy a las 11:00, en la Sala Renoir una charla sobre su producto AdminG SVT: Gestión de Requerimientos, Control de Versiones y Auditoría con GeneXus.
7
Para el seguimiento de la ejecución del proyecto recurrimos a otra herramienta: eGroupWare. eGroupWare es una aplicación OpenSource basada en servidor web e integrado por una serie de aplicaciones (módulos) independientes que ayudan a la organización, seguimiento y gestión diaria del desarrollo de un Proyecto. SCREEN SHOT Aquí estamos viendo el Módulo de Gestión Documental con manejo de versiones
8
Aquí, el módulo de manejo de Proyectos y SubProyectos.
9
Aquí estamos viendo el Diagrama de Gantt con los porcentajes de realización del Proyecto. Esta era la situación al 11/09/06.
10
Relevamiento Cantidad de Objetos: 2000 aprox.
Complejidad de diverso grado. Tiempos de desarrollo. 9.000 horas. líneas de código GeneXus. Una rápida estimación de tiempos nos haría concluir que si se fueran a programar “a mano” cada uno de los web panels necesarios para poder operar este sistema en Web serían necesarias unas horas/hombre para generar unas líneas de código GeneXus. Esto excedía largamente el plazo establecido. Pero teníamos un as en la manga: GXPatterns.
11
¿Que logramos con GXPattern?
Aumenta la productividad de un programador Web en un 300%. No requiere programadores GeneXus expertos en Web. Estandarización en el Diseño Gráfico y en el Código generado. Gran facilidad ante cambios de Diseño o cambios Funcionales. Una rápida estimación de tiempos nos haría concluir que si se fueran a programar “a mano” cada uno de los web panels necesarios para poder operar este sistema en Web serían necesarias unas horas/hombre para generar unas líneas de código GeneXus. Esto excedía largamente el plazo establecido. Pero teníamos un as en la manga: GXPatterns.
12
¿Qué es GXPattern? “Lenguaje de 5ª Generación” Patrón Instancia
Generador Simplificar el concepto viéndolo como un lenguaje de 5ª Generación. GxPattern consta de 3 grandes conceptos: El Patrón que determina un comportamiento común de un conjunto de objetos. La Instancia que determina los elementos diferenciales de un objeto en particular. El generador de un Patrón que tomando la Instancia definida genera el Objeto GeneXus.
13
Patterns GXPublic ¿Cómo Genera? Instancia Dkt (C#) (XPZ)
Aquí estamos viendo un diagrama que muestra como a partir de una instancia, el generador (programado en C#) genera, en un ambiente controlado por la herramienta GXPattern, el código GeneXus a través de un archivo XPZ. Este es consolidado dentro de GeneXus generando los objetos correspondientes. Eso es posible ya que el propio GXPattern utiliza la librería de GXPublic para realizar la consolidación, especificación y generación de los objetos generados. Nuestra misión fue actuar sobre la redefinición de la instancia de cada patrón y la modificacón de los generadores para tomar en cuenta las nuevas parametrizaciones que requería esta migración. Estas parametrizaciones debían contemplar no solo nuevas funcionalidades sino la adaptación de la interface web ajustandose a los requerimientos de diseño gráfico.
14
Aquí estamos viendo en el área central una de las instancias cargadas, de todas las que tenemos a la izquierda.
15
Esta es la forma en que GXPattern estructura gráficamente los elementos de la instancia para que sean definidos por el programador.
16
Análisis Funcional Trabajar Con
Invocadores de Reportes o Procedimientos Consultas en Pantalla En el análisis funcional fueron determinados estos tres tipos de interfase con el usuario: Trabajar Con Invocadores de Reportes o Procedimientos Consultas en Pantalla
17
Análisis Funcional Aquí estamos viendo una pantalla de Trabajar con.
18
Análisis Funcional Esta es una pantalla de solicitud de datos para invocar a un reporte.
19
Análisis Funcional Esta es una consulta de Saldos por Rubro.
20
15 de Marzo de 2006 Entrega de la Propuesta
Esta es la fecha en que entregamos nuestra propuesta. Habían sido clasificados de acuerdo con el análisis funcional más de 600 Work Panels y estimado los tiempos de desarrollo de todo el proceso de migración.
21
Curva de Aprendizaje (I) Enfoque del Desarrollo
Tres Patterns para complejidad baja (70% del sistema) Work With (potenciado) Parameter Request Query Programación “a mano” para complejidad alta A ese momento se había previsto el desarrollo de tres Patterns para complejidad baja: Work With Parameter Request (Relacionarlo con el análisis funcional) Query (Relacionarlo con el análisis funcional) Los objetos de complejidad alta se iban a programar a mano a partir de generaciones primarias con el Pattern.
22
1º de Junio de 2006 Aceptación de la Propuesta
Montaje de infraestructura Formación de un equipo inicial de 4 programadores
23
Filosofía del Pattern Work With
Selector de línea por hipervínculo Visualizador del Registro. Tabs para acceder a elementos subordinados. Vamos a hablar algo acerca de la filosofía del Work With desarrollado con Patterns en web. Con este pattern fue que empezamos a trabajar.
24
Work With en Win Vamos a ver la lógica de navegación de los trabajar con en Win.
25
La pantalla inicial. Luego seleccionando una línea se pueden acceder a elementos subordinados.
26
Luego para acceder a algún otro elemento subordinado de la pantalla anterior simplemente se cierra esta ventana.
27
Y se accede a otro elemento a través de otro botón.
29
Work With en Web Ahora vamos a ver como sería este comportamiento en la web desarrollada por Pattern.
30
Aquí estoy mostrando un ejempo de People & Organization que se encuentra accesible desde el GXOpen.
Partimos de la pantalla principal y podemos observar hipervínculos que se encuentran en el Name de la organización. Seleccionando “Artech” pasaremos a...
31
El View del Registro seleccionado en donde se puede observar en el Tab “General” los atributos del registro y podemos acceder directamente desde aquí a cualquiera de las...
32
...estructuras subordinadas...
34
12 de Julio de 2006 Entrega Build 0
Entrega del Build 0 Navegación Tipo Plan de Cuenta -> Capítulos -> Plan de Cuentas.
35
Curva de aprendizaje (II) Enfoque del Desarrollo
Sólo dos Patterns Work With y Query resueltos con un mismo pattern. Parameter Request. Desarrollo “a mano” para complejidad alta En este momento y con la incorporación de Patterns versión 1.1 habíamos decidido resolver los Trabajar con y las Consultas con el mismo patrón. El Parameter Request se mantenía como Patrón independiente. Para los objetos de complejidad alta se mantenía el concepto de programar a mano a partir de generaciones primarias con el Pattern.
36
Curva de aprendizaje (II) Nuevos Desarrollos
Form en Transacciones. Tabs en Transacciones. Parameter Request. Work With sin tabla base. Durante este período desarrollamos: Form en Transacciones Tabs en Transacciones. Parameter Request. Work With sin tabla base.
37
Acá estamos viendo una instancia con la definición del Form de una Transacción.
Se trata de una transacción de 2 niveles que más adelante vamos a ver en la web.
38
Acá estamos viendo una instancia del form de una transaccion con tabs que también vamos a ver en la web.
39
Acá estamos viendo la definición de una instancia de un parameter request.
40
Aquí estamos viendo la definición de una instancia de un trabajar con la grilla solo variables.
Ese es un caso de Objeto sin tabla Base y por lo tanto tuvimos que incorporar a la instancia los elementos necesarios para poder realizar la programación de la navegación de la tabla en forma manual. Para eso se incorporó el soporte de código GeneXus para el “Event Load”.
41
3 de Agosto de 2006 Entrega Build 1
Navegación de Transaccion de Plan de Cuenta. Impresión de Plan de Cuenta. Transacción de Distribuciones (2 niveles)
42
Curva de aprendizaje (III) Enfoque del Desarrollo
Sólo dos Patterns Full Pattern Complejidad alta incluida. A este momento quedaba claramente definido que solo se iban a requerir los dos patterns previamente definidos y que la migración de todo el sistema iba a ser resuelta full pattern.
43
Curva de aprendizaje (III) Nuevos Desarrollos
Controlador de salto programable Gráficos Tabs en Filtros Seguridad en Acciones. Para ello fue necesario implementar el Controlador de salto programable que permitía definir el comportamiento de la salida de la tranasacción sin restricciones. También se implementó: Gráficos. Tabs en Filtros. Seguridad en Acciones. Ente otras.
44
Para ello fue necesario implementar el Controlador de salto programable que permitía definir el comportamiento de la salida de la tranasacción sin restricciones. También se implementó: Gráficos. Tabs en Filtros. Seguridad en Acciones. Ente otras.
45
Para ello fue necesario implementar el Controlador de salto programable que permitía definir el comportamiento de la salida de la tranasacción sin restricciones. También se implementó: Gráficos. Tabs en Filtros. Seguridad en Acciones. Ente otras.
46
1º de Setiembre de 2006 Entrega Build 2
Muestra de Consulta de Esteban (Filtro Autorizar) Muestra de Consulta de Auxiliares: CC Gráfica
47
Curva de aprendizaje (IV) Otros Desarrollos
Scroll en Grillas. Soporte de Radio Button. Soporte de Combo Box. Variables en Grilla de Trn. Acciones en Trn. Conditions en Acciones. Variables en Fixed Data. Prompts Forzados. Soporte de Subrutinas. Variables en Tabs. Acciones con Link Target. Conditions en View. Declaración de Variables. Data Type en Variables. Acciones con Combo en Grillas. Fixed Data en Selection. Botones con imagen a los Lados. Category: despliegue horizontal. Autoajustar ventanas de Prompt. Comptaibilidad Full Firefox. No se asusten. No los vamos detallar, sería interminable esta charla pero estas fueron algunas de las otras funcionalidades que incorporamos al pattern.
48
Testing Testers Requerimientos del SVT Externos. Internos.
320 Incidentes reportados. 200 Cerrados. 70 en el Cliente. 20 mejoras para futura versión. 30 en Soporte. Una de las tareas más importantes del proyecto. Insis nos ha proporcionado un número creciente de testers que están trabajando coordinadamente para revisar todas y cada una de las opciones del sistema. Se trata de gente que domina ampliamente la operación del mismo en ambiente win y eso nos ha facilitado las cosas. Aquí hay que destacar lo importante que ha sido para este proyecto el sumo cuidado que hemos tenido cada vez que se tuvo que modificar el código del generador GXPattern, porque un mínimo error al insertar una nueva funcionalidad puede ocasionar que algo que antes andaba bien deje de hacerlo. Sobre esto la gente de desarrollo de GeneXus tiene bastante experiencia... De todas maneras contamos con testers internos que son nuestros propios programadores para reportar cualquier incidente respecto a mal funcionamiento de lo generado. En cuanto a la metodología de reporte de incidentes también contamos con el apoyo de nuestro aliado estratégico InterGroup Consultores y su sistema de Requerimientos del SVT. Y les vuelvo a pasar el aviso: Ney Benavides tiene hoy a las 11:00, en la Sala Renoir una charla sobre su producto AdminG SVT. En la actualidad tenemos....
49
Testing Testers Sistema Externos Internos SVT
Esta es la Bandeja de incidentes con el detalle del estado de cada uno visto anteriormente.
50
Testing Testers Sistema Externos Internos SVT
Aquí estamos viendo los eventos generados para un incidente en particular. “Uno, como administrador de Incidentes, a veces tiene ganas de ahorcar al tester pero hay que contenerse porque lo que hay en el fondo son distintas visiones de un mismo problema. En estos casos de migración, los testers están muy acostumbrados al funcionamiento Win y es necesario hacerles entender que la Web tiene sus propias reglas. Pero del otro lado hay que destacar la importancia de contar en Testing con expertos en la instalación, acostumbrados a ver la operación del sistema del lado del cliente final. Aprovecho para hacer un reconocimiento a la excelente contribución que han hecho los testers de Insis para hacer de esta versión Web un producto amigable.”
51
22 de Setiembre de 2006 Entrega Build 3
Pasado mañana tenemos la entrega del Build 3. Más del 90% de la migración terminada. (Abrir rápidamente el resto de las opciones del menú y entrar en una que tenga una navegación extensa) Aquí hay más de 130 entradas principales de Menú, cada una de las cuales tiene resueltas (y testeadas por expertos) todas las alternativas que ofrece el sistema para su procesamiento. Por otra parte este menú es personalizable para cada instalación. Esperamos estar aquí el año que viene presentando otros casos de éxito: Algunos de los sistemas GeneXus que precisamente ustedes han desarrollado.
52
¿Preguntas?
53
Más Información Conferencias relacionadas:
GeneXus Consulting Software Factory: Proyecto RJSCRM, definiendo nuevos patterns - Ballroom A, hoy, hora: 9:45 Gestión de Requerimientos, Control de Versiones y Auditoría con GeneXus - Sala Renoir, hoy, hora: 11:00 Ing. Juan Marcelo Bustamante Lamas,
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.