jueves, 21 de febrero de 2013

Compensación en BPMN 2.0


Uno de los aspectos menos tratados cuando automatizamos procesos son las estrategias que podemos desarrollar cuando se presentan fallas durante la invocación de servicios o el manejo de transacciones. En los próximos post, describiré las estrategias y acciones que podemos desarrollar para gestionar estos aspectos. Hoy hablaremos sobre la compensación.

En BPMN 2.0 un evento de compensación se describe como la acción a una falla parcial de operación, la cual puede ser vinculada a una actividad que compense mediante una alternativa de solución a la falla. En el siguiente diagrama veremos un ejemplo para facilitar la comprensión de este concepto.

compensacion



Compensación
En este diagrama, se describe el proceso de empaquetado de un cereal marca ACME. La máquina seleccione un paquete de cereal, luego inserta una bolsa dentro del paquete, introduce las hojuelas de maíz en la bolsa y para finalizar cierre el paquete para su almacenado posterior. Durante este proceso, puede que el dispensador de hojuelas no funcione por fallas técnicas o que no existan hojuelas en el dispensador principal. 

Si se detecta durante la actividad “Introducir bolsa en paquete de cereal” que no existen hojuelas de maíz en el dispensador, se debe proceder a utilizar un dispensador manual mientras se surte de hojuelas el dispensador principal. Esta condición puede modelarse en BPMN 2.0 mediante la utilización de compensaciones.  Se puede observar que en la actividad se incluye un evento intermedio de compensación que dispara un evento hacia una actividad que utiliza una bandera o flag que indica que la actividad está destinada para propósitos de compensación. Otra condición que puede presentarse en una falla técnica del dispensador principal, en este escenario se dispara un evento de error y se lanza un evento de compensación para la utilización del dispensador manual de igual forma que en el caso anterior. 

Lo importante de este ejemplo es la clara diferenciación de un evento de compensación y error y como pueden ser modelados en un diagrama.

Saludos;

6 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Julio, parecen interesantes tus ejemplos. Pero veo que utilizas SIGNAVIO para subirlos. Pues no se ven en quienes no tienen cuenta habilitada. ¿Puedes colocar imágenes en lugar de links a Signavio? En mi caso se venció el trial y es tedioso estar utilizando constantemente otras cuentas. Recomiendo utilizar ADONIS Community Edition que es gratuita y a su vez es más completo que SIGNAVIO como BPA. Un saludo y gracias por tus aportes

    ResponderEliminar