Configuración del Subproceso transaccional

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Modelar Procesos > Modelado para ejecución > Subprocesos > Entendiendo Subprocesos transaccionales >

Configuración del Subproceso transaccional

Para ilustrar cómo se configura un Subproceso transaccional vamos a utilizar el siguiente diagrama:

 

Configurind Transactional8

 

El diagrama hace referencia a un proceso de Solicitud de Viajes.

 

El proceso de Solicitud de Viajes incluye todas las actividades necesarias para recibir y manejar las solicitudes de viajes realizadas por un empleado de la compañía. Necesitamos transformas la tarea Reservar en un Subproceso Transaccional para poder tener en cuenta situaciones que necesitan tratamiento especial.

 

Para configurar un Subproceso transaccional realice los siguientes pasos:

 

1. Vaya al paso 1 (Modelar Proceso) del Asistente de proceso y dé clic en Editar Proceso.

 

Edit a process1

 

2. Haga clic derecho en la tarea que desea convertir a un Subproceso transaccional, en este caso la tarea Reservar, y seleccione la opción Transformar en Subproceso.

 

Configurind Transactional9

 

3. El asistente es lanzado. Una nueva ventana será mostrada con los tipos de Subprocesos. Seleccione la opción Transaccional y dé clic en Siguiente.

 

 

Configurind Transactional1

 

4. Ingrese un Nuevo nombre o seleccione un proceso existente de la lista desplegable, clic en Finalizar.  

 

 

Configurind Transactional10

 

5. Una vez el Subproceso ha sido creado, usted puede empezar a editarlo.

Clic derecho en el Subproceso recién creado (Reservar) y seleccione la opción Editar Subproceso.

 

Configurind Transactional11

 

6. La ventana muestra el diagrama del Subproceso.

Cuando usted crea un subproceso por primera vez, aparece un diagrama en blanco con un contenedor que incluye una fase. Usted puede modelar el proceso basado en el siguiente diagrama.

 

En el Subproceso Reservar, el Departamento Administrativo maneja las solicitudes de reservas de carro, hotel y vuelos realizadas por el empleado. Cuando las reservas se realizan, el Subproceso termina. El flujo del proceso se muestra en el siguiente diagrama.

 

Configurind Transactional12

 

En este escenario, muchas situaciones pueden suceder mientras se desarrolla el proceso.

 

Por ejemplo, el Departamento Administrativo puede confirmar de forma satisfactoria la reserva del carro y del hotel. Sin embargo cuando se va a realizar la reserva del vuelo, no hay asientos disponibles en ninguna aerolínea en la fecha solicitada. Ya que las reservas del carro y del hotel fueron realizadas en las fechas dadas se necesita realizar la cancelación y notificar al empleado sobre ella. Este escenario puede ser modelado de la siguiente forma:

 

Configurind Transactional13

 

Un evento de compensación es adjunto a los límites de cada actividad de reserva. Este evento es utilizado para activar el flujo de cancelación una vez se ha lanzado. En este caso, el flujo de cancelación representa las actividades que deben ser realizadas de forma manual para resolver la situación inesperada.

 

En el siguiente escenario, el Evento de Compensación adjunto a la actividad Reservar carro y Reservar Hotel es activado. Por lo que las actividades de compensación de Cancelar Carro y Cancelar Hotel serán ejecutadas, permitiendo al Departamento Administrativo manejar la compensación en cada una de las actividades.

Para asociar un Evento de Compensación, dé clic derecho en la actividad a compensar y seleccione la opción Adjuntar Evento. Seleccione el evento de compensación.

Configurind Transactional14

La tarea de compensación es creada automáticamente. Realice la misma operación para las otras dos actividades.

 

Configurind Transactional15

7. Ahora necesitamos modelar el flujo de cancelación del proceso Padre.

Si las actividades son compensadas, el token del caso no continúa a través del flujo de proceso. Como resultado y el empleado no será notificado sobre las reservas exitosas ya que fueron canceladas. Teniendo en cuenta lo sucedido necesitamos crear un Evento de Cancelación para el Subproceso transaccional.

 

En el Proceso padre, dé clic derecho en Subproceso Reservar, selecciones la opción Ajuntar Evento y seleccione el Evento de Cancelación.

 

Configurind Transactional16

 

El flujo de cancelación enviará una notificación al empleado para informarle que las reservas no pudieron ser realizadas. Por esta razón, hemos agregado una tarea de Script al flujo.

 

Configurind Transactional17

 

Un evento de Finalización es utilizado para terminar el Proceso.

 

8. El diagrama todavía necesita manejar errores inesperados. Un error es lanzado cuando algo inesperado ocurre y no existe un procedimiento para manejar el error. Vamos ha convertir la actividad Reservar Vuelo en una tarea automática y adicionar una interfaz. Si durante la ejecución de la tarea automática Reservar Vuelo se presenta un error (error de conexión, etc.), el Subproceso terminará y lanzará el flujo de excepción en el Proceso principal.

 

Configurind Transactional18

9. Finalmente, vamos a incluir el flujo de excepción en el Proceso padre para atender errores inesperados en el Subproceso.

 

Para capturar un error, se debe adjuntar un Evento de Error a los límites del Subproceso Reservar. Clic sobre el Subproceso, seleccione la opción Adjuntar Evento y seleccione Error.

 

Configurind Transactional19

 

El flujo de excepción notificará a la persona asignada, en el Departamento Administrativo sobre el error.

 

Configurind Transactional20

 

Nuestro Subproceso transaccional ha sido configurado de forma exitosa.