Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

20
Venturas y Desventuras del Modelado de Workflows con GMF

description

Presentación acerca de la creación de una herramienta software para el modelado de procesos de negocio. La herramienta se realizó usando arquitectura GMF (Graphical Modeling Framework), de Eclipse, siguiendo el estándar BPMN. Cuenta los pros y contras de usar este framework, desde la experiencia.

Transcript of Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Page 1: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Venturas y Desventuras del Modelado de Workflows con GMF

Page 2: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

ÍÍNDICENDICE

1. Nosotros

2. El Proyecto: Modelado de Trámites de Negocio

3. Requisitos de nuestro Modelado de Workflows

4. Nuestra elección: Arquitectura GMF

5. Proceso de generación GMF

6. Construyendo el editor con GMF…

7. Resultado: Herramienta de modelado de trámites

8. El diablo habita en los detalles

Page 3: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

NosotrosNosotros

• Centro tecnológico y de investigación en Informática.

• Creado a medias entre la Universidad (UPV) y la empresa (IMPIVA)

• Así que nuestra misión es la de avanzar en I+D+I (a veces recoger esos avances) y transferirlos a las empresas locales para su innovación.

• iSOCO fue fundada en 1999 como un spin-off del Consejo Superior de Investigaciones Científicas (CSIC)

• Con el objetivo de transferir la investigación académica al mercado en dos líneas principales:

Page 4: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

El Proyecto: Modelado de TrEl Proyecto: Modelado de Tráámites de Negociomites de Negocio

• Empresas donde se realiza “un montón de papeleo”diariamente.

• Montones de procesos que se repiten una y otra vez, de forma ineficaz

• Formularios que hay que rellenar contínuamenteaunque sólo cambie una coma

• Procesos definidos en un post-it que se pierden o se quedan obsoletos

• Falta de estandarización y dependencia de “el empleado que todo lo sabe” (¿os suena?)

Solución:

• Modelado Gráfico de Negocio: identificación de procesos estándares, estandarización de formularios, definición del flujo de las tareas, etc…

• Automatización del proceso

• Interoperabilidad (incluyendo Internacionalización)

• Reutilización de trámites

Page 5: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Requisitos de nuestro Modelado de Requisitos de nuestro Modelado de WorkflowsWorkflows (I)(I)

Ejemplo : Trámite de protocolo de acceso a la Intranet

Page 6: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Requisitos de nuestro Modelado de Requisitos de nuestro Modelado de WorkflowsWorkflows (y II)(y II)

formularionota

operación

unión

inicio

fin

grupo

Sigue el estándar BPMN

Page 7: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Nuestra elecciNuestra eleccióón: Arquitectura GMF n: Arquitectura GMF

• GMF (Graphical Modeling Framework) está formado por un conjunto de frameworks que facilitan el desarrollo de editores de diagramas basados en modelos definidos por el usuario.

• GMF integra EMF y GEF, permitiendo especificar modelos para definir los elementos gráficos, las herramientas necesarias, y el mapeo de estos al dominio utilizado.– EMF (Eclipse Modeling Framework): framework para crear

aplicaciones basadas en un modelo estructurado (p.e. workflows), capaz de generar el código asociado necesario.

– GEF (Graphical Editing Framework): framework basado en la arquitectura MVC para crear editores gráficos basados en modelos ya existentes.

• GMF produce el código necesario para el funcionamiento del editor. Dicho código puede adaptarse a nuestras necesidades, añadiendo a la aplicación nuevas características y funcionalidades.

Page 8: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Proceso de generaciProceso de generacióón GMFn GMF

Page 9: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Construyendo el editor con GMF Construyendo el editor con GMF ……

• Diseñar metamodelo EMF

•Crear representación gráfica de los nodos y enlaces de un workflow

•Definición de herramientas del editor

•Definición del mapeo y de las restricciones del editor

•Generación de código y del editor

Page 10: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

DefiniciDefinicióón del metamodelo EMF: n del metamodelo EMF: *.*.ecoreecore

...

... ...

1

*

1

*

1target

0..*

1source

0..*

1

1..*

1

0..*

Diagram

Graphical Element Link

Association

Sequence

Start End Activity

Form FormItem

StaticItem DynamicItem

TextAreaTextFieldURL Label

Page 11: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

DefiniciDefinicióón de los elementos grn de los elementos grááficos: ficos: *.*.gmfgraphgmfgraph

Page 12: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

DefiniciDefinicióón de la paleta de elementos: n de la paleta de elementos: *.*.gmftoolgmftool

Page 13: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

DefiniciDefinicióón del mapeo : n del mapeo : *.*.gmfmapgmfmap

Elemento (EMF)

Figura (GMF)Herramienta

Page 14: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

DefiniciDefinicióón del mapeo: asociacin del mapeo: asociacióón elementon elemento--figura figura

...

... ...

1

*

1

*

1target

0..*

1source

0..*

1

1..*

1

0..*

Diagram

Graphical Element Link

Association

Sequence

Start End Activity

Form FormItem

StaticItem DynamicItem

TextAreaTextFieldURL Label

...

1

*

1

*

1target

0..*

1source

0..*

Diagram

Graphical Element Link

Association

Sequence

Start End Activity

Page 15: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

Resultado: Resultado: Herramienta de modelado de trHerramienta de modelado de tráámitesmites

Page 16: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

No todo el monte es orNo todo el monte es orééganogano……

……ni GMF es la panaceani GMF es la panacea……

…… pero puede resolver MUCHOS de tus problemaspero puede resolver MUCHOS de tus problemas

El diablo habita en los detallesEl diablo habita en los detalles

Page 17: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

No todo el monte es orNo todo el monte es orééganogano……

• Un comienzo desalentador. Algunos comentarios de compañeros, tras saber que trabajaríamos con GMF:– “¡Madre mía! ¿A qué Jefe de Proyecto has faltado gravemente?”– “¿Te han mandado trabajar con GMF? Mejor te paso una imagen

completa de mi Eclipse con sus plugins instalados…”

• Los siguientes días son duros: – Sólo la instalación y configuración de los plugins necesarios nos

llevó muchas horas: EMF 2.3.0 RC4, UML2 RC3, EMF Query RC4…

– Alta dependencia del SO: probad a instalarlo en Ubuntu 64Bits…

• Si algo funciona, piénsalo bien antes de cambiar:– “Si funciona el plugin RC3. No cambies a RC4”. GMF está en

evolución, así que es posible que algunas funciones cambien o desaparezcan de una versión a otra.

– Actualización muy lenta de los paquetes de idiomas

Page 18: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

……ni GMF es la panaceani GMF es la panacea……

• Creo que a esto se le llama: “la curva de aprendizaje es muy pronunciada”:– GMF es muy joven aún (nació en 2006), y sigue en crecimiento.– La documentación al respecto está muy dispersa y es

relativamente escasa: los newsgroup, FAQs y listas de correo oficiales… y poco más.

– Es mejor que revises el metamodelo: entérate de qué es …. Asísabrás dónde tocar (¡y dónde no!)

• Por supuesto, puedes ajustar el código a tu gusto pero …– Si retocas el metamodelo hay que tener cuidado al re-generar la

herramienta: puede sobrescribirte alguna de tus clases ya “remozadas” (utilizar etiqueta ‘generated’ )

– Aconsejable usar control de versiones para poder recuperar versiones anteriores del código.

Page 19: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF

…… pero puede resolver MUCHOS de tus problemaspero puede resolver MUCHOS de tus problemas

• Es un gran ahorro de tiempo y recursos:– Necesita mucho tiempo para su aprendizaje, pero se trata de una

inversión de futuro: el conocimiento adquirido queda ahí para un proyecto y otro, y otro, y otro…

– Puedes generar una completa herramienta de edición de diagramas en cuestión de unas horas.

– No nos tenemos que preocupar del código que se ocupa de:• Los eventos de la herramienta (drag& drop…) y• gestión de los elementos gráficos (disposición en la vista, etc…)

– Al tener tu herramienta asociada a un metamodelo, puedes realizar cambios a alto nivel, que se verán automáticamente reflejados en tu código.

• La magia del GMF: Importando trámites– Tras un análisis inicial, se estimó 1PM para generar el modelo

gráfico desde trámites que no contenían dicha información.

– El coste final fue de 0 PM.

Page 20: Eclipse Day 2008: Venturas y Desventuras del modelado con GMF