Creando Bantotal Web desarrollando 3000 Web Panels con
Creando Bantotal Web: desarrollando 3000 Web. Panels con la cuarta parte de esfuerzo Diego Rivero Marcos Begerez Nicolás Castagnet ncastagnet@dlya. com. uy mbegerez@dlya. com. uy drivero@dlya. com. uy De Larrobla & Asociados
Introducción • Problema: Migrar 3000 Web. Panels estimados y 30 programadores distribuidos en distintos países de Latinoamérica • Solución: Invertimos en un proyecto de investigación para mejorar nuestro modelo de desarrollo • Resultados: Hoy día tenemos mas del 80% de la migración realizada, y lo realizamos en la cuarta parte del tiempo estimado
Contenido Evaluación de los resultados Evolución del modelo Construcción de la herramienta Análisis de la situación
1 - Análisis Evaluación de los resultados Evolución del modelo Construcción de la herramienta Análisis de la situación
¿Por qué una versión Web? • Facilidad de propagación de cambios • Información centralizada accesible desde cualquier lado • Inversión de la industria • Los clientes lo piden
¿Cuál era el problema? • Nuestros productos consisten en: • 15199 Objetos • 4893 Work. Panels • 2235 Transacciones • 2002 Tablas • Bantotal Web: 3000 Web. Panels estimados
Luego de algunas pruebas… • Conclusiones: • Hay que hacer nuevas inversiones • La arquitectura es distinta • Hay que migrar desarrolladores • El costo de desarrollo es mayor • Nosotros tenemos que seguir siendo competitivos en este escenario
Experiencias de migración • Pasamos de una arquitecturas centralizada (RPG), a cliente/servidor (VFP) y 3 -capas (Java) • Sobrevivimos 10 años compitiendo a nivel internacional gracias a Gene. Xus • Logramos la primera instalación, que conocemos, de un sistema bancario en Java y plataforma Intel (dentro de Latinoamérica)
¿Por qué extender Gene. Xus? • Migrar los procedimientos es volver a generar • Con respecto a la interfaz: • • Demasiados grados de libertad Mucho código por Web. Panel La conversión de interfaces NO es volver a generar Por último, no había GXPatterns • Se necesita: • Ser homogéneos • Ser estables • Concentrarnos en dar valor • Costo proyecto = Costo lógica de negocio • Menos flexibilidad y más personalización
2 - Construcción Evaluación de los resultados Evolución del modelo Construcción de la herramienta Análisis de la situación
Una reseña de evolución Nuestras aplicaciones Conocimiento Organizacional Web. Services Servidores de aplicaciones Bibliotecas gráficas Bases de datos Datos Comunicación Escalabilidad Interfaz de usuario
Encapsulando el conocimiento Definición Esquema + Generador Diseñador Objeto Gene. Xus
Modelo Requerimientos Programador Definición de requerimientos de la interfaz Herramienta Gene. Xus Plataforma (Java, . Net, etc)
¿Qué hicimos? • Relevamos los distintos tipos de interfaces Win existentes • Identificamos los problemas más comunes del desarrollo Web • Buscamos soluciones • Las encapsulamos en la herramienta
Demostración DEMO 1 (Definición de interfaces)
Funcionalidades • Componentes de la interfaz: • Categorías y subcategorías • Campos, Combo. Box, Radio. Buttons, Dependencias, Grillas, etc. • Operaciones • Funcionalidades más importantes implementadas actualmente: • • • Navegación Filtrado de datos en grillas Grillas editables Carga de dependencias Actualización del estado de la interfaz según el modelo de datos • • • Reporte de errores/advertencias Confirmaciones Validación de datos Operaciones con “pop-ups” Control de usuario
3 - Evolución Evaluación de los resultados Evolución del modelo Construcción de la herramienta Análisis de la situación
Dinamismo La tecnología evoluciona, nuestras implementaciones también deberían hacerlo NUEVO: HTML + Código GX Cambiamos el generador y volvemos a generar HTML + Definición Se genera. . . Código GX Código Objeto Gene. Xus Beneficios: • No quedamos atados a las implementaciones • Acompañamos todo el ciclo de desarrollo generado
Nuestro ciclo evolutivo Primera versión: • Estructura de la definición estable • Implementaciones sencillas Evolución: • Cambios menores en el esquema de la definición • Mejoras en las implementaciones Estabilización: • Mayor robustez • Afinamiento con experiencia de uso real Herramienta Bantotal Migración de Bantotal Febrero ‘ 04 Implantación Julio ‘ 04 Tiempo
Demostración DEMO 2 (Adaptabilidad)
A futuro… • Evolucionar y mejorar • Áreas de interés: • Seguridad • Eficiencia • Interfaz de usuario • Nuevas tecnologías • Los avances realizados se impactan sin costos
4 - Evaluación de los resultados Evolución del modelo Construcción de la herramienta Análisis de la situación
Productividad Tiempo = Diseño de Interfaz + Lógica de Negocio + Pruebas Básicas
Proyectando 3000 Web. Panels… meses / hombre Proceso sin la herramienta Proceso con la herramienta Ganancia Migración 51 12 (23%) 39 Desarrollo 76 27 (35%) 49
Consecuencias • Estaremos preparados para instalar Bantotal Web desde el tercer trimestre de este año
Conclusiones • Web no es Win: • Es más sofisticada/complicada • Da más trabajo • Programación declarativa: • Nos ayudó a seguir estándares de trabajo • La atención se enfocó en la lógica de negocio • Mejoró la productividad y facilitó los cambios • Tenemos una gran tecnología con Gene. Xus, pero agregando nuestra experiencia pudimos mejorarla • ¿El modelo será efectivo más allá de las interfaces?
Gracias por su atención…. ¿Preguntas? Nicolás Castagnet – ncastagnet@dlya. com. uy Diego Rivero – drivero@dlya. com. uy Marcos Begerez – mbegerez@dlya. com. uy “Si piensas que puedes hacer algo o piensas que no puedes hacer algo, tú tienes razón” - Henry Ford -
- Slides: 29