Está en la página 1de 21

CONSTRUCCIN DEL PROCESO TRANSACCIONAL BizAgi Process Modeler

Copyright 2011 - bizagi

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

Contenido
1. INTRODUCCIN A LAS TRANSACCIONES ................................................... 3 2. DIAGRAMA DEL PROCESO .................................................................................. 4
SUB PROCESO TRANSACCIONAL RESERVA .................................................................................... 5 SUB PROCESO REPORTE DE GASTOS ................................................................................................ 8

3. MODELO DE DATOS .............................................................................................. 9 4. CONSTRUCCIN DE FORMAS.........................................................................10


FORMA DE REGISTRAR SOLICITUD DE VIAJES ....................................................................... 10 FORMA RESERVAR HOTEL Y RESERVAR CARRO ................................................................... 11 FORMA CANCELAR HOTEL, CANCELAR CARRO Y CANCELAR VUELO ......................... 12 FORMA RESERVAR VUELO ............................................................................................................. 13

5. REGLAS DE NEGOCIO..........................................................................................14
DEFINIR EXPRESIONES ........................................................................................................................... 14 ACCIONES DE LA ACTIVIDAD .............................................................................................................. 15

6. PARTICIPANTES .....................................................................................................17 7. CONFIGURACIN DE CORREOS ELECTRONICOS ...................................19

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

1. INTRODUCCIN
Bizagi es una solucin BPM (Business Process Management) muy poderosa y al mismo tiempo muy sencilla de usar. Con bizagi se puede automatizar cualquier clase de proceso, desde los ms sencillos hasta los ms complejos. El presente documento describe cmo con bizagi se ha construido un proceso de alta complejidad manejando transacciones, el cual se presenta con un ejemplo fcil de comprender y muy fcil de desarrollar. Los procesos transaccionales son utilizados para coordinar mltiples actividades que necesitan ser realizadas de forma exitosa para que el flujo del proceso pueda continuar. Si las tareas no son exitosas y fueron terminadas, es necesario regresarlas a su estado inicial. Las actividades dentro del sub-proceso transaccional pueden ser manuales o automticas donde se necesite conexin con sistemas externos. De esta manera, en los procesos transaccionales se pueden tener tres escenarios. 1. 2. La ejecucin de forma exitosa de todas las actividades dentro un sub-proceso. En este caso, el subproceso transaccional termina y el proceso padre contina 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 compensacin asociada a dicha tarea. Las compensaciones slo se realizan en actividades que ya fueron terminadas. 3. Adicionalmente las transacciones incluyen un tercer escenario. Cuando se presenta un error no esperado en el subproceso. La transaccin debe ser cancelada, no se realizan compensaciones y el proceso contina por el flujo de manejo de error. Un proceso de solicitud de viajes se presta para ejemplificar un sub-proceso transaccional. En una solicitud de viajes se deben realizar reservas, si todas las reservas no son exitosas, no es posible realizar el viaje. Por otro lado si solo algunas de ellas son exitosas es necesario realizar una compensacin, para cancelar las reservas que si fueron exitosas. Para los casos en los que las actividades dentro del proceso transaccional sean automticas, se contempla la posibilidad de recibir errores no controlados, los cuales necesitan la toma de algunas correcciones especiales.

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

2. DIAGRAMA DEL PROCESO

El proceso de solicitud de viajes empieza cuando un empleado registra una solicitud de viaje, en ella el empleado indica si es necesario realizar reservas de hotel, vuelos y/o la renta de un automvil. El jefe del empleado puede aprobar, rechazar o pedir cambios en la solicitud. Si el viaje es

aprobado, el Asistente de viajes debe realizar las reservas de los tems especificados a travs del sub-proceso transaccional Reserva. Para que la solicitud del viaje pueda continuar, es necesario que todas las reservas sean exitosas. Si se solicit anticipo se contina con esta actividad. Finalmente al regreso del viaje el empleado debe realizar un reporte de todos sus gastos durante el viaje.

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

SUB PROCESO TRANSACCIONAL RESERVA

El subproceso de Reserva fue modelado como un subproceso transaccional ya que este tipo de subprocesos soporta un protocolo especial que asegura que todas las partes involucradas tengan acuerdo completo: el sub-proceso como un todo se comporta como una sola actividad la cual debera ser completada o cancelada. Una transaccin o subproceso transaccional es realizado satisfactoriamente cuando las tareas que se deben ejecutar dentro del subproceso terminan de forma exitosa. salvados en la base de datos. Los eventos de excepciones o cancelaciones son lanzadas sin afectar la informacin o integridad de la base de datos cuando la transaccin no se complet satisfactoriamente. Teniendo en cuanta lo anterior en el proceso de viajes el subproceso transaccional se aplica de la siguiente forma: Para que un empleado pueda realizar su viaje es necesario que el Asistente de Viajes realice todas las reservas solicitadas de forma correcta. Por ejemplo si un empleado solicita un viaje fuera del pas necesitar tiquetes de avin y un hotel donde hospedarse. El empleado no podra viajar si tuviera el vuelo reservado pero no un sitio donde alojarse, o al contrario tiene un hotel pero no los tiquetes areos que le permiten llegar a su destino. El sub-proceso termina y se dice que la transaccin ha terminado, en ese momento los resultados de las tareas ejecutadas son

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

Si todas las reservas son correctas, el empleado es notificado sobre los datos de las reservas y toda la informacin de ellas queda guardada en la base de datos. Se contina con el resto del flujo del proceso. Si en algn momento falla alguna de las actividades, es necesario compensar o llevar a su estado original las actividades que ya fueron realizadas. Es decir se tiene una reserva de vuelo exitosa pero no hay disponibilidad del hotel, en definitiva el empleado no puedo realizar el viaje. Sin embargo el subproceso no puede terminar hasta que no se haya cancelado la reserva del vuelo. Con un subproceso transaccional, la compensacin (en este caso sera la cancelacin de las

reservas) de las tareas que ya fueron ejecutada se realiza mediante el envo de una seal con una excepcin de cancelacin. El proceso ejecuta las actividades de cancelacin requeridas para cada tarea.

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

Luego de realizar las compensaciones sale del subproceso ejecutando el flujo de cancelacin. Los datos que fueron modificados dentro del subproceso no son almacenados en la base de datos y por tanto el proceso quedar en el estado que se encontraba antes de iniciarse dicho subproceso.

Ahora, la reserva del tiquete areo se realiza mediante una interfaz que busca un vuelo de acuerdo a los requerimientos del empleado. Es posible que en el transcurso de esta operacin ocurra un error inesperado. Debido a que es una tarea automtica no se sabe cmo proceder, por tanto es necesario interrumpir todas las actividades que se estn ejecutando y/o aquellas que no han empezado. Se debe asignar el caso a una persona, la cual ser la encargada de realizar las acciones correctivas necesarias.

Para ms informacin sobre construccin del subproceso transaccional: http://wiki.bizagi.com/es/index.php?title=Transaccional http://wiki.bizagi.com/es/index.php?title=Como_Modelar_Transacciones

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

SUB PROCESO REPORTE DE GASTOS

Despus de que el empleado llega de su viaje, debe reportar todos los gastos realizados durante el viaje, el reporte de gastos debe ser aprobado por el jefe. Es necesario revisar que el reporte de gastos concuerde con las polticas de la compaa, si este es el caso se procede con el registro de los gastos, de lo contrario el proceso regresa al empleado con la actividad Reportar Gastos.

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

3. MODELO DE DATOS
El proceso de transacciones utiliza la tabla maestra Solicitud de Viajes como entidad principal. En ella se encuentra la informacin relacionada a la solicitud, por ejemplo, las fechas del viaje, ciudad y pas destino, requerimientos de reservas, etc. La entidad est relacionada con las entidades maestras hotel, tiquete areo y carro, donde se encuentra la informacin asociada a las reservas como, fechas, nombre del hotel, nombre de la aerolnea, tarifas. La informacin de las reservas solo queda en la base de datos una vez se hayan completado de forma exitosa todas las reservas solicitadas por el empleado. Mientras en el proceso se ejecuta las actividades que se encuentran dentro del subproceso transaccional, la informacin ingresada se mantiene en memoria del sub-proceso sin ir a la base de datos (en bizagi se conoce como scope) y van a la base de datos nicamente cuando todas las actividades del subproceso han terminado correctamente. Si el subproceso termina porque se lanza un evento de cancelacin o de error, la informacin no se guarda. Adicionalmente el modelo utiliza dos tablas paramtricas Ciudad y Pas. Para ms informacin sobre Scope de transacciones de larga duracin: http://wiki.bizagi.com/es/index.php?title=Scopes

www.bizagi.com

Confidential

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

4. CONSTRUCCIN DE FORMAS
El proceso de solicitud de viajes utiliza varias formas que le ayuda en el manejo de la informacin, facilitando el acceso a toda la informacin.

FORMA DE REGISTRAR SOLICITUD DE VIAJES


La forma utiliza combos dinmicos para la bsqueda de las ciudades, tanto de partida como la ciudad destino.

www.bizagi.com

Confidential

10

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

FORMA RESERVAR HOTEL Y RESERVAR CARRO


Las dos formas cuentan con un campo Check que se debe seleccionar si no hay disponibilidad de reserva ya sea del carro o del hotel. Si se selecciona el campo, el proceso ejecuta el evento de cancelacin, y se procede a realizar la compensacin de las tareas que fueron terminadas exitosas dentro del subproceso.

Forma Reservar Hotel

Forma Reservar Carro

www.bizagi.com

Confidential

11

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

FORMA CANCELAR HOTEL, CANCELAR CARRO Y CANCELAR VUELO


Las formas cuentan con un campo Check que debe ser seleccionado una vez se realice la cancelacin de la reserva, ya sea del carro, o del hotel. La seleccin del campo es obligatoria ya que estas actividades son las compensaciones de Reservar hotel y Reservar carro.

Forma Cancelar Carro

Forma Cancelar Vuelo

Forma Cancelar Hotel

www.bizagi.com

Confidential

12

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

FORMA RESERVAR VUELO


La forma de la actividad Reservar vuelo incluye un botn que busca con ayuda de una interfaz un vuelo con los requerimientos solicitados. Si ocurre algn error, se muestra un mensaje que indica el error y se ejecuta un evento de error.

www.bizagi.com

Confidential

13

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

5. REGLAS DE NEGOCIO
DEFINIR EXPRESIONES
El subproceso transaccional Reserva incluye una compuerta inclusiva. La compuerta activa las actividades en forma paralela de todas las reservas que fueron seleccionadas por el empleado que realizo la solicitud de viajes.

www.bizagi.com

Confidential

14

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

ACCIONES DE LA ACTIVIDAD
El proceso tiene varias reglas de negocio, las principales son:

Totalizar al final de las actividades Registrar Solicitud de Viaje y Aprobar Solicitud la cantidad solicitada y aprobada de anticipo por concepto de comidas, transporte y hospedaje. Cargar a la entrada de cada reserva la informacin de la solicitud, fechas de salida y de regreso, ciudad de origen y ciudad destino.
Ya que el subproceso Reserva es modelado como un proceso transaccional es necesario incluir a la salida de cada actividad el lanzamiento de los eventos de cancelacin y de error, dependiendo del caso.

A la salida de la actividad Reservar Hotel: Si el campo Hotel no disponible fue seleccionado se debe lanzar un evento de cancelacin, para poder realizar la compensacin de las actividades que ya terminaron.

www.bizagi.com

Confidential

15

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

A la salida de la actividad Reservar Carro: Si el campo Carro no disponible fue seleccionado se debe lanzar un evento de cancelacin, para poder realizar la compensacin de las actividades que ya terminaron.

www.bizagi.com

Confidential

16

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

6. PARTICIPANTES
Para la definir quin debe realizar cada tarea se utilizan roles. En el quinto paso del asistente, de clic en definir participantes.

La actividad Aprobar Solicitud de Viajes es realizada por el jefe del solicitante.

www.bizagi.com

Confidential

17

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

Las actividades Reserva de Carro, Hotel y Avin la realiza el asistente de viajes

La actividad Registrar gastos la realiza la persona que solicit el viaje.

www.bizagi.com

Confidential

18

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

7. CONFIGURACIN DE CORREOS ELECTRONICOS


El proceso incluye varios correos:

En la actividad Enviar Mensaje de Rechazo.

En la actividad Notificar Reserva Fallida.

www.bizagi.com

Confidential

19

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

En la actividad notificar error inesperado.

En la actividad notificar empleado sobre las reservas

www.bizagi.com

Confidential

20

CONSTRUCCIN DEL PROCESO TRANSACCIONAL

Para que estos puedan ser enviados correctamente dentro de su empresa, es necesario que se configure correctamente el servidor de correo (Servidor SMTP). El envo de correos en la proyecto viene activado pero sin la configuracin personalizada. Ingrese en Bizagi Studio a la pestaa de Configuracin. All de clic sobre Entorno y seleccione la opcin de Popular. En esta opcin debe activar el envo de notificaciones y digitar el nombre del Servidor SMTP, as como la cuenta de la que se enviarn los correos, como se muestra en la imagen a continuacin. Para ms informacin referirse a los siguientes artculos: Configuracin de ambiente: http://wiki.bizagi.com/es/index.php?title=Configuracion_de_Ambiente Servidor SMTP: http://wiki.bizagi.com/es/index.php?title=Encontrar_el_Servidor_SMTP_en_Outlook

www.bizagi.com

Confidential

21