
Este esquema se basa en el principio transaccional basado en el modelo “todo o nada”, ofreciendo flujos o rutas (paths) alternativos cuando se producen excepciones, las cuales pueden desencadenar acciones compensatorias para deshacer las operaciones fallidas.
Transacciones: Una transacción, es una secuencia de operaciones agrupadas en una unidad indivisible, en la cual se ejecutan todas las tareas o ninguna. Si una tarea, se encuentra dentro de una transacción y esta no puede ser ejecutada, todas las tareas anteriores que ya han sido ejecutadas deben ser devueltas a su estado original. En un diagrama del proceso (notación BPMN), se utiliza el sub-proceso para agrupar las actividades dentro de una transacción.
Manejo de Excepciones: Una excepciones de negocio reorienta el flujo o ruta del proceso cuando se detecta una excepción. Por ejemplo, una tarea que debe realizar una operación de debito, pero la cuenta carece de fondos suficientes. Como resultado de ello, una excepción puede ser lanzada, y el flujo del proceso es afectado. En un diagrama del proceso, el manejo de excepciones se realiza adjuntado una excepción a un sub-proceso, conectándola con una actividad que la manejara, para luego retornar a su ruta normal, sino finaliza el proceso antes esta condición.
Compensaciones: Las compensaciones establecen reglas para deshacer tareas si una tarea falla. Por ejemplo, una tarea recibe una transacción y es completada. Posteriormente, sin embargo, una tarea relacionada no se ejecuta. La tarea de compensación asociada a la primera actividad se ejecuta, restituyendo la transacción. La compensación no se ejecuta si la tarea no tiene asignada una excepción.
Este es un ejemplo donde podemos ver la secuencia o ruta del proceso ante diversos escenarios:
Descripción de Secuencia
Sin Excepcion



Descripción de Secuencia
Sin Excepcion
- La Tarea A se ejecuta y completa.
- La Tarea B Falla, debido a una excepcion de negocio.
- El proceso de negocio falla porque no hay un manejo de excepciones configurado para el subproceso AB.
- La Tarea A se ejecuta y completa.
- La Tarea B se ejecuta y completa.
- La Tarea C se ejecuta y completa.
- La Tarea D Falla, debido a una excepcion de negocio.
- Se ejecuta la Excepcion 1, y luego el proceso de negocio, sigue su ruta (no falla el proceso, porque se considero una excepcion).
- La Tarea A se ejecuta y completa.
- La Tarea B se ejecuta y completa.
- La Tarea C se ejecuta y completa.
- La Tarea D se ejecuta y completa.
- La Tarea E se ejecuta y completa.
- La Tarea F se ejecuta y completa.
- La Tarea G Falla, debido a una excepcion de negocio.
- Se ejecuta la actividad de Compensacion 1.
- A pesar que la tarea de compensacion 1 se ejecuta, el proceso de negocio falla. Para evitar este comportamiento, podemos incluir todas estas actividades dentro de un subproceso.