La compensación es el medio por el que se pueden deshacer operaciones que se han realizado satisfactoriamente en un proceso.
El proceso de compensación se inicia porque se produce un error en una instancia de proceso en ejecución para la que se ha definido una compensación en el modelo de proceso. La compensación invierte el efecto de las operaciones que estuvieron comprometidas hasta que se produjo el error, para volver a un estado coherente.
Puede definir una compensación para procesos de larga duración y para microflujos en el modelo de proceso.
La compensación para procesos de larga duración también se conoce como compensación a nivel de empresa. Este tipo de compensación se define a nivel de ámbito. Esto significa que se puede compensar parte del proceso o el proceso completo.
Los manejadores de errores o los manejadores de compensación desencadenan la compensación de ámbitos o procesos; la compensación es otra secuencia de navegación del proceso.
Los procesos de larga duración compensan automáticamente los proceso hijo que se han completado satisfactoriamente cuando se compensa el ámbito padre que lo contiene. Dentro de un proceso, sólo se compensan las actividades de invocación y ámbito que se realizan satisfactoriamente.
La compensación de microflujos también se conoce como compensación técnica. Este tipo de compensación se desencadena cuando se retrotrae la unidad de trabajo (la sesión de transacción o de actividad) que contiene el microflujo. Por lo tanto, las acciones de deshacer se suelen especificar para actividades que no se pueden invertir retrotrayendo la unidad de trabajo. Cuando se ejecuta una instancia de proceso, las acciones de deshacer para actividades compensables se registran con la unidad de trabajo asociada. La compensación se inicia en función del resultado de esta unidad de trabajo (retrotracción o compromiso)
Si el proceso de microflujo es un elemento hijo de un proceso de larga duración compensable, las acciones de deshacer del microflujo están disponibles para el proceso padre cuando finaliza el microflujo. Por lo tanto, puede participar potencialmente en la compensación del proceso padre. Para estos tipos de microflujos, se recomienda especificar acciones de deshacer para todas las actividades del proceso cuando se define el modelo de proceso.
Si se produce un error durante el proceso de compensación, la acción de compensación exige una resolución manual para superar el error. Puede utilizar el Explorador de Business Process Choreographer para reparar estas acciones de compensación.
(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)