creando bantotal web: desarrollando 3000 webpanels con la cuarta parte de esfuerzo nicolás...

Post on 28-Jan-2016

233 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de

esfuerzo

Nicolás Castagnetncastagnet@dlya.com.uy

Diego Riverodrivero@dlya.com.uy

Marcos Begerez mbegerez@dlya.com.uy

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 – ncastagnet@dlya.com.uy

Diego Rivero – drivero@dlya.com.uy

Marcos Begerez – mbegerez@dlya.com.uy

¿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 -

Gracias por su atención….Gracias por su atención….

top related