Eclipse Day 2008: Venturas y Desventuras del modelado con GMF
-
Upload
francisco-cid -
Category
Technology
-
view
299 -
download
1
description
Transcript of Eclipse Day 2008: Venturas y Desventuras del modelado con GMF
Venturas y Desventuras del Modelado de Workflows 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
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:
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
Requisitos de nuestro Modelado de Requisitos de nuestro Modelado de WorkflowsWorkflows (I)(I)
Ejemplo : Trámite de protocolo de acceso a la Intranet
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
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.
Proceso de generaciProceso de generacióón GMFn 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
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
DefiniciDefinicióón de los elementos grn de los elementos grááficos: ficos: *.*.gmfgraphgmfgraph
DefiniciDefinicióón de la paleta de elementos: n de la paleta de elementos: *.*.gmftoolgmftool
DefiniciDefinicióón del mapeo : n del mapeo : *.*.gmfmapgmfmap
Elemento (EMF)
Figura (GMF)Herramienta
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
Resultado: Resultado: Herramienta de modelado de trHerramienta de modelado de tráámitesmites
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
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
……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.
…… 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.