Transacciones de larga duración

<< Click to Display Table of Contents >>

Navigation:  Tópicos avanzados >

Transacciones de larga duración

Introducción

Bizagi Modeler es una poderosa herramienta que le permite modelar desde los procesos de negocios más simples hasta los más complejos y robustos. El proceso transaccional es un proceso complejo que puede ser modelado fácilmente con el Bizagi Modeler.

 

Los procesos transaccionales son utilizados  para coordinar múltiples actividades que necesitan ser realizadas de forma exitosa. Si alguna de las tareas no fueron exitosas es necesario que estas regresen a su estado inicial (estado antes de que la actividad es realizada). BPMN utiliza la siguiente figura para representar los sub procesos Transaccionales.

 

LongLasting1

 

Las transacciones de larga duración de BPMN tienen tres posibles salidas:

 

La primera salida se presenta con la ejecución de forma exitosa de todas las actividades dentro un sub-proceso. En este caso, el sub proceso transaccional termina y el proceso padre continúa con el flujo del proceso.

 

El segundo resultado es la falla de alguna de las actividades dentro del sub-proceso transaccional. Si se presenta, cada una de las actividades que ya fueron completadas deben ser reversadas, ejecutando la actividad de compensación asociada a dicha tarea. Las compensaciones sólo se realizan en actividades que ya fueron terminadas.

 

La última posibilidad se da cuando se presenta un error no esperado en el sub proceso. La transacción debe ser cancelada, no se realizan compensaciones y el proceso continúa por el flujo de manejo de error.

 

Para modelar un proceso transaccional es necesario adjuntar un evento de Error y un evento de Cancelación al sub proceso. De tal forma que cuando ocurra cualquiera de estás dos salidas el proceso tendrá un flujo por donde continuar:

 

LongLasting6

 

Ejemplo de Transacción

El proceso de solicitud de viajes se presta para ejemplificar los sub-procesos transaccionales.

Cuando se realiza una solicitud de viajes es necesario reservar un carro, un hotel y el vuelo.  Si alguna de las reservas no se puede efectuar, no es posible realizar el viaje y se debe realizar un compensación sobre aquellas reservaciones que fueron exitosas.

Las siguientes imágenes ilustran  los tres posibles resultados:

LongLasting2

LongLasting3

 

LongLasting4

El proceso completo debe lucir de esta forma

LongLasting5

Para modelar el sub proceso debe incluir las actividades que se necesiten. En este caso se van a incluir tres actividades: Reservar Carro, Reservar Hotel, Reservar Vuelo.  

LongLasting7

 

Incluya los eventos de compensación para cada actividad. De esta forma si alguna de las actividades falla, aquellas que ya fueron completadas pueden ser compensadas.

 

LongLasting8 LongLasting9

 

Ahora su proceso está completo: El proceso padre contiene el flujo de secuencia que permite tomar las acciones necesarias si el sub proceso falla y el sub proceso contiene las acciones necesarias para compensar aquellas reservaciones que fueron realizadas de forma correcta cuando se presente algún problema.