martes, 7 de junio de 2011

"BPMN 2.0 by Example" – Diagramas y Modelos

Modelos y Diagramas
El propósito de este post es mostrar algunos ejemplos sobre las relaciones existentes entre modelos, diagramas y algunos tips. Veremos cómo diferentes diagramas pueden ser representados sobre diferentes escenarios de serializacion.

Lanes 
Un proceso puede ser representado en un diagrama con o sin lanes. Ambas representaciones del proceso tienen diferencias en el modelo y diagrama. La principal diferencia entre las dos serializaciones es que uno tiene un nodo Xml llamado Laneset, mientras que el otro no. Aquí un ejemplo:

lanes




Pool
Los pools están presentes en diagramas de colaboración (colaboración, coreografía, conversaciones).  La introducción de un pool en un diagrama lo convierte en una representación de colaboración. Sobre la anterior premisa, el diagrama está incompleto dado que la colaboración debe realizarse entre dos o más participantes.

SubProceso expandido
En este ejemplo, el proceso “Gestión de Órdenes" contiene un subproceso llamado “Aprobar Orden” el cual es representado mediante un rectángulo expandido. En este escenario de modelado, se trata de un proceso único representado en un solo diagrama. Aquí un ejemplo:

SubProceso





Sub Procesos e invocación de Procesos
En esta sección, exploramos  el uso de subprocesos (expandir y contraer), junto con el llamado de procesos, sus diferencias y como su contenido puede ser representado en diagramas.

En este ejemplo el proceso “Gestión de Ordenes" presenta un subproceso llamado “Aprobar Orden”.  Este subproceso esta contenido en un diagrama separado. En este ejemplo, el subproceso es representado en dos diagramas, el diagrama padre y el diagrama de subproceso. Es importante destacar que ambas representaciones expandir y contraer son variaciones visuales del mismo "Gestión de Órdenes".

SubProceso2





Aprobar Orden





Invocación de Proceso
En este ejemplo estamos introduciendo el concepto de re-uso de procesos (“Process re-use”). En este caso, "Aprobar Orden"no es un subproceso del proceso “Gestion de Ordenes”, sino un proceso separado e independiente que puede ser invocado (reutilizado) dentro del proceso. Tenemos así dos procesos independientes. Aqui un ejemplo:

InvocarProceso





En el próximo post, estaré compartiendo con la comunidad ejemplos completos de procesos modelados en BPMN 2.

2 comentarios: