dos estándres OMG para desarrollar tus aplicaciones BPM human centric IFML y BPMN
Dec 02, 2014
dos estándres OMG para desarrollartus aplicaciones BPM human centric
IFML y BPMN
Resumen: ¿porqué utilizar el modelado?
Abstracción = reducción de la complejidad
Más fácil de transmitir Siempre y cuando el lenguaje sea conocido
Desde el modelo hasta la ejecución Siempre y cuando el modelo sea lo suficientemente
explícito
Hablamos de una BPM human centric
En la práctica BPM
Aplicación
Human Centric
User Task en BPMN
Pregunta Con una herramienta BPMS¿ cómo especifico aquello que
sucede dentro de una User Task?• Formulario• Lista• Detalles• Eventos• … «interacción»
Dificultad del enfoque MD de la UI
Porque modelar la UI no es simple La complejidad de la UI ha crecido con el tiempo
• Nuevos eventos, dispositivos, casos de uso, tipos de interacción
El enfoque hacia la UI de muchas herramientas de programación esta muy ligado al entorno de ejecución ejecución
Varios lenguajes de programación y enfoques disponibles (por ejemplo el mundo javascript)
Ninguna intención de abordar este tema por parte de los proveedores y las compañías de software (con excepción del lenguaje propietario WebML de WebRatio)
Una “brecha” en la estandarización
El comité de estandarización ha percibido una “brecha” El tema de la “Interacción con el Usuario” ha sido pasada
por alto por los “clásicos estándares de ingeniería del software “• Por el contrario, éstos están enfocados a la arquitectura del
software (UML), a la orquestación de los servicios (SoaML), al diseño de los sistemas (SysML) o a la definición de los procesos de negocio (BPMN)
Los escasos intentos anteriores han fallado porque:• Proponían el uso de un lenguaje genérico• La poca usabilidad y expresividad de la notación propuesta• Falta de implementaciones “sólidas” por parte de los
proveedores
Interaction Flow Modeling Language
Las razonas por las que ha nacido
Inspirado en WebML, y de hecho, desde la generalización del dominio Web a cualquier dominio aplicativo
Interaction Flow Modeling Language
Interaction Flow Modeling Language
Un lenguaje de modelado para “ definir” Los contenidos que se visualizan
Las posibles rutas de navegación
Los eventos y interacciones generados por los
Las conexiones con la Business logic
Las conexiones con los datos
De aplicaciones front-end Independientemente del dominio aplicativo
Ventajas
Especificación formal de las distintas “perspectivas” en el front-end
Evitar tener problemas ligados con la implementación
Una clara separación de la UI de la business logic
Lenguaje común y compartido entre los técnicos y los negocios para diseñar la UI conjuntamente
Permite la generación automática del código también para las aplicaciones front-end
Campo de expresión
Distinguir User Interaction de la User Interface
IFML define La estructura lógica de los componentes de visualización
(ventanas y/o páginas) y sus contenidos
La organización de los componentes en jerarquías y/o módulos
Los puntos de interacción entre usuario y aplicación (eventos)
La interacción entre los componentes
El enlace entre los componentes de visualización y datos, lógica, procesos de negocio
Por el contrario, NO define La posición de los objetos
Propiedades gráficas como colores y fuentes
El rendering de los objetos
Conceptos básicos de IFML
Container
ViewComponent
Event
Action
Conceptos básicos de IFML
Navigation flow
Data flow
Parameter binding
Ejemplo de la notación IFML
Flujo Básico de Navegación entre ViewComponents
Ejemplo de la notación IFML
Jerarquización deViewContainers
Tagged ViewContainers (XOR, L, D, Modal, Modeless)
Ejemplo de la notación IFML
Actions
IFML – especificación de los detalles de un View Component
ViewComponentParts:
• Data binding
• Parameters
Types of ViewComponents (<<List>>)
IFML – especificación de tipos de eventos
Selection event
Submit event
… y es posible especificar cualquier
tipo de evento “custom”
Ejemplo de notación IFML
ActivationExpression, SubmitEvent, Event generation
18
Un ejemplo real: el diagrama IFML de gmail
19
Resultados prácticos de la estandarización de IFML
Un metamodelo oficial del lenguaje que describe los elementos básicos del modelo y de sus relaciones
Un perfil UML consistente con el metamodelo
Una sintaxis gráfica de la notación que permite una visión y definición mucho mas intuitiva
Un formato de intercambio basado en XMI
20
Cómo usar conjuntamente BPMN y IFML
Preguntas