Upload
lola-marco
View
223
Download
1
Embed Size (px)
Citation preview
Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de
esfuerzo
Nicolás [email protected]
Diego [email protected]
Marcos Begerez [email protected]
De Larrobla & Asociados
IntroducciónIntroducción
• Problema: Migrar 3000 WebPanels 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
• Problema: Migrar 3000 WebPanels 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
Análisis
de la situación
Análisis
de la situación
Construcción de
la herramienta
Construcción de
la herramienta
Evolución del
modelo
Evolución del
modelo
Evaluación de los
resultados
Evaluación de los
resultados
ContenidoContenido
Análisis
de la situación
Análisis
de la situación
Construcción de
la herramienta
Construcción de
la herramienta
Evolución del
modelo
Evolución del
modelo
Evaluación de los
resultados
Evaluación de los
resultados
1 - Análisis1 - Análisis
• Facilidad de propagación de cambios
• Información centralizada accesible desde cualquier lado
• Inversión de la industria
• Los clientes lo piden
• Facilidad de propagación de cambios
• Información centralizada accesible desde cualquier lado
• Inversión de la industria
• Los clientes lo piden
¿Por qué una versión Web?¿Por qué una versión Web?
¿Cuál era el problema?¿Cuál era el problema?
• Nuestros productos consisten en:• 15199 Objetos
• 4893 WorkPanels
• 2235 Transacciones
• 2002 Tablas
• Bantotal Web: 3000 WebPanels estimados
• Nuestros productos consisten en:• 15199 Objetos
• 4893 WorkPanels
• 2235 Transacciones
• 2002 Tablas
• Bantotal Web: 3000 WebPanels estimados
• 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
• 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
Luego de algunas pruebas…Luego de algunas pruebas…
Experiencias de migraciónExperiencias 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 GeneXus
• Logramos la primera instalación, que conocemos, de un sistema bancario en Java y plataforma Intel (dentro de Latinoamérica)
• Pasamos de una arquitecturas centralizada (RPG), a cliente/servidor (VFP) y 3-capas (Java)
• Sobrevivimos 10 años compitiendo a nivel internacional gracias a GeneXus
• Logramos la primera instalación, que conocemos, de un sistema bancario en Java y plataforma Intel (dentro de Latinoamérica)
¿Por qué extender GeneXus?¿Por qué extender GeneXus?
• Migrar los procedimientos es volver a generar
• Con respecto a la interfaz:• Demasiados grados de libertad
• Mucho código por WebPanel
• 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
• Migrar los procedimientos es volver a generar
• Con respecto a la interfaz:• Demasiados grados de libertad
• Mucho código por WebPanel
• 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
Evolución del
modelo
Evolución del
modelo
Evaluación de los
resultados
Evaluación de los
resultados
Análisis
de la situación
Análisis
de la situación
Construcción de
la herramienta
Construcción de
la herramienta
2 - Construcción2 - Construcción
Bases de datos Datos Datos
Bibliotecas gráficas Interfaz de usuario Interfaz de usuario
Servidores de aplicaciones Escalabilidad Escalabilidad
WebServices Comunicación Comunicación
Nuestras aplicacionesNuestras aplicacionesConocimiento OrganizacionalConocimiento Organizacional
Una reseña de evoluciónUna reseña de evolución
DiseñadorDiseñador
Generador
Esquema
++Objeto
GeneXus
Objeto
GeneXus
DefiniciónDefinición
Encapsulando el conocimientoEncapsulando el conocimiento
RequerimientosRequerimientos
GeneXusGeneXus
Definición de requerimientos
de la interfaz
Definición de requerimientos
de la interfaz
Plataforma (Java, .Net, etc)Plataforma (Java, .Net, etc)
Programador
Herramienta
GeneXus
ModeloModelo
¿Qué hicimos?¿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
• Relevamos los distintos tipos de interfaces Win existentes
• Identificamos los problemas más comunes del desarrollo Web
• Buscamos soluciones
• Las encapsulamos en la herramienta
DEMO 1(Definición de interfaces)
DEMO 1(Definición de interfaces)
DemostraciónDemostración
• Componentes de la interfaz:• Categorías y subcategorías• Campos, ComboBox, RadioButtons, Dependencias, Grillas, etc.• Operaciones
• Funcionalidades más importantes implementadas actualmente:
• Componentes de la interfaz:• Categorías y subcategorías• Campos, ComboBox, RadioButtons, 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
FuncionalidadesFuncionalidades
Construcción de
la herramienta
Construcción de
la herramienta
Evolución del
modelo
Evolución del
modelo
Evaluación de los
resultados
Evaluación de los
resultados
Análisis
de la situación
Análisis
de la situación
3 - Evolución3 - Evolución
Beneficios: • No quedamos atados a las implementaciones• Acompañamos todo el ciclo de desarrollo
CódigoCódigo
DefiniciónDefiniciónNUEVO:
HTML +
Código GX
NUEVO:
HTML +
Código GX
HTML +
Código GX
generado
HTML +
Código GX
generado
Se genera...Cambiamos el generador y volvemos a generar
Objeto GeneXus
DinamismoDinamismo
La tecnología evoluciona, nuestras implementaciones también deberían hacerloLa tecnología evoluciona, nuestras implementaciones también deberían hacerlo
Primera versión:
• Estructura de la definición estable
• Implementaciones sencillas
TiempoFebrero ‘04 Julio ‘04
Migración de Bantotal
Evolución:
• Cambios menores en el esquema de la definición
• Mejoras en las implementaciones
Bantotal
Herramienta
Estabilización:
• Mayor robustez
• Afinamiento con experiencia de uso real
Implantación
Nuestro ciclo evolutivoNuestro ciclo evolutivo
DEMO 2(Adaptabilidad)
DemostraciónDemostración
A futuro…A futuro…
• Evolucionar y mejorar
• Áreas de interés:• Seguridad
• Eficiencia
• Interfaz de usuario
• Nuevas tecnologías
• Los avances realizados se impactan sin costos
• Evolucionar y mejorar
• Áreas de interés:• Seguridad
• Eficiencia
• Interfaz de usuario
• Nuevas tecnologías
• Los avances realizados se impactan sin costos
Construcción de
la herramienta
Construcción de
la herramienta
Evaluación de los
resultados
Evaluación de los
resultados
Evolución del
modelo
Evolución del
modelo
Análisis
de la situación
Análisis
de la situación
4 - Evaluación4 - Evaluación
3
4,51,6
0,7
0 1 2 3 4 5
Desarrollo
Migración
Horas promedio por WebPanel
Proceso con laherramienta
Proceso sin laherramienta
Tiempo = Diseño de Interfaz + Lógica de Interfaz +
Lógica de Negocio + Pruebas Básicas
ProductividadProductividad
meses / hombre
Proceso sin la herramienta
Proceso con la herramienta
Ganancia
Migración 51 12 (23%) 39
Desarrollo 76 27 (35%) 49
Proyectando 3000 WebPanels…Proyectando 3000 WebPanels…
ConsecuenciasConsecuencias
• Estaremos preparados para instalar Bantotal Web desde el tercer trimestre de este año
• Estaremos preparados para instalar Bantotal Web desde el tercer trimestre de este año
ConclusionesConclusiones
• 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 GeneXus, pero agregando nuestra experiencia pudimos mejorarla
• ¿El modelo será efectivo más allá de las interfaces?
• 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 GeneXus, pero agregando nuestra experiencia pudimos mejorarla
• ¿El modelo será efectivo más allá de las interfaces?
¿Preguntas?Nicolás Castagnet – [email protected]
Diego Rivero – [email protected]
Marcos Begerez – [email protected]
¿Preguntas?Nicolás Castagnet – [email protected]
Diego Rivero – [email protected]
Marcos Begerez – [email protected]
“Si piensas que puedes hacer algo o piensas que no puedes hacer algo, tú tienes razón”
- Henry Ford -
Gracias por su atención….Gracias por su atención….