construcción del proceso transaccional

Anuncio
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Bizagi Process Modeler
Copyright ©2011 - bizagi
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Contenido
1. INTRODUCCIÓN 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. CONSTRUCCIÓN 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. CONFIGURACIÓN DE CORREOS ELECTRONICOS ........................................................................... 19
www.bizagi.com
Confidential
2
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
1. INTRODUCCIÓN
Bizagi es una solución 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 más
sencillos hasta los más complejos. El presente documento describe cómo con Bizagi se ha
construido un proceso de alta complejidad manejando transacciones, el cual se presenta con un
ejemplo fácil de comprender y muy fácil de desarrollar.
Los procesos transaccionales son utilizados para coordinar múltiples 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 automáticas donde se necesite conexión con
sistemas externos.
De esta manera, en los procesos transaccionales se pueden tener tres escenarios.
1.
La ejecución de forma exitosa de todas las actividades dentro un sub-proceso. En este caso,
el subproceso transaccional termina y el proceso padre continúa con el flujo del proceso.
2.
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.
3.
Adicionalmente las transacciones incluyen un tercer escenario. Cuando se presenta un error
no esperado en el subproceso. La transacción debe ser cancelada, no se realizan
compensaciones y el proceso continúa 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
compensación, para cancelar las reservas que si fueron exitosas. Para los casos en los que las
actividades dentro del proceso transaccional sean automáticas, se contempla la posibilidad de
recibir errores no controlados, los cuales necesitan la toma de algunas correcciones especiales.
www.bizagi.com
Confidential
3
CONSTRUCCIÓN 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 automóvil.
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 través 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 continúa 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
4
CONSTRUCCIÓN 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
debería ser completada o cancelada.
Una transacción o subproceso transaccional es realizado satisfactoriamente cuando las tareas que
se deben ejecutar dentro del subproceso terminan de forma exitosa.
El sub-proceso termina y se
dice que la transacción ha terminado, en ese momento los resultados de las tareas ejecutadas son
salvados en la base de datos.
Los eventos de excepciones o cancelaciones son lanzadas sin afectar la información o integridad de
la base de datos cuando la transacción 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 país necesitará tiquetes de avión y un hotel
donde hospedarse. El empleado no podría viajar si tuviera el vuelo reservado pero no un sitio
donde alojarse, o al contrario tiene un hotel pero no los tiquetes aéreos que le permiten llegar a su
destino.
www.bizagi.com
Confidential
5
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Si todas las reservas son correctas, el empleado es notificado sobre los datos de las reservas y toda
la información de ellas queda guardada en la base de datos. Se continúa con el resto del flujo del
proceso.
Si en algún 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 compensación (en este caso sería la cancelación de las
reservas) de las tareas que ya fueron ejecutada se realiza mediante el envío de una señal con una
excepción de cancelación. El proceso ejecuta las actividades de cancelación requeridas para cada
tarea.
www.bizagi.com
Confidential
6
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Luego de realizar las compensaciones sale del subproceso ejecutando el flujo de cancelación. 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 aéreo se realiza mediante una interfaz que busca un vuelo de acuerdo
a los requerimientos del empleado. Es posible que en el transcurso de esta operación ocurra un
error inesperado. Debido a que es una tarea automática no se sabe cómo proceder, por tanto es
necesario interrumpir todas las actividades que se están 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.
www.bizagi.com
Confidential
7
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Para más información sobre construcción del subproceso transaccional:
http://help.bizagi.com/bpmsuite/es/index.html?entendiendo_procesos_transacci.htm
http://help.bizagi.com/bpmsuite/es/index.html?configuracion_del_sub_proceso_.htm
SUB PROCESO REPORTE DE GASTOS
Después 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 políticas de la compañía, 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
8
CONSTRUCCIÓN 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 información relacionada a la solicitud, por ejemplo, las fechas del viaje, ciudad y
país destino, requerimientos de reservas, etc.
La entidad está relacionada con las entidades
maestras hotel, tiquete aéreo y carro, donde se encuentra la información asociada a las reservas
como, fechas, nombre del hotel, nombre de la aerolínea, tarifas.
La información 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 información 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 cancelación o de error, la
información no se guarda.
Adicionalmente el modelo utiliza dos tablas paramétricas Ciudad y País.
Para más información sobre Scope de transacciones de larga duración:
http://help.bizagi.com/bpmsuite/es/index.html?scopes.htm
www.bizagi.com
Confidential
9
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
4. CONSTRUCCIÓN DE FORMAS
El proceso de solicitud de viajes utiliza varias formas que le ayuda en el manejo de la información,
facilitando el acceso a toda la información.
FORMA DE REGISTRAR SOLICITUD DE VIAJES
La forma utiliza combos dinámicos para la búsqueda de las ciudades, tanto de partida como la
ciudad destino.
www.bizagi.com
Confidential
10
CONSTRUCCIÓN 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
cancelación, y se procede a realizar la compensación de las tareas que fueron terminadas exitosas
dentro del subproceso.
Forma Reservar Hotel
Forma Reservar Carro
www.bizagi.com
Confidential
11
CONSTRUCCIÓN 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
cancelación de la reserva, ya sea del carro, o del hotel. La selección 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
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
FORMA RESERVAR VUELO
La forma de la actividad Reservar vuelo incluye un botón que busca con ayuda de una interfaz un
vuelo con los requerimientos solicitados. Si ocurre algún error, se muestra un mensaje que indica el
error y se ejecuta un evento de error.
www.bizagi.com
Confidential
13
CONSTRUCCIÓN 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
CONSTRUCCIÓN 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 información 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 cancelación 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 cancelación, para poder realizar la compensación de las
actividades que ya terminaron.
A la salida de la actividad Reservar Carro: Si el campo Carro no disponible fue seleccionado
se debe lanzar un evento de cancelación, para poder realizar la compensación de las
actividades que ya terminaron.
www.bizagi.com
Confidential
15
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
www.bizagi.com
Confidential
16
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
6. PARTICIPANTES
Para la definir quién 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
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Las actividades Reserva de Carro, Hotel y Vuelo la realiza el asistente de viajes
La actividad Registrar gastos la realiza la persona que solicitó el viaje.
www.bizagi.com
Confidential
18
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
7. CONFIGURACIÓN 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
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
En la actividad notificar error inesperado.
En la actividad notificar empleado sobre las reservas
Para que estos puedan ser enviados correctamente dentro de su empresa, es necesario que se
configure correctamente el servidor de correo (Servidor SMTP). El envío de correos en la proyecto
viene activado pero sin la configuración personalizada.
Ingrese en Bizagi Studio a la pestaña de Configuración. Allí de clic sobre Entorno y seleccione la
opción de Popular. En esta opción debe activar el envío de notificaciones y digitar el nombre del
www.bizagi.com
Confidential
20
CONSTRUCCIÓN DEL PROCESO
TRANSACCIONAL
Servidor SMTP, así como la cuenta de la que se enviarán los correos, como se muestra en la imagen
a continuación.
Para más información referirse a los siguientes artículos:
Configuración de ambiente:
http://help.bizagi.com/bpmsuite/es/index.html?configuracion_de_ambientes.htm
Servidor SMTP:
http://help.bizagi.com/bpmsuite/es/index.html?configuracion_smtp.htm
www.bizagi.com
Confidential
21
Descargar