Compensazione nei processi aziendali

La compensazione è il mezzo con il quale le operazioni in un processo completato correttamente possono essere rimosse.

L'elaborazione della compensazione è avviata perché si verifica un errore nell'istanza di un processo in esecuzione per la quale è definita la compensazione nel modello del processo. La compensazione annulla gli effetti dell'operazioni di cui è stato effettuato il commit quando si veridica un errore per ritornare a uno stato coerente.

È possibile definire la compensazione per i processi di lunga esecuzione e i microflussi nel modello di processo.

Compensazione per i processi di lunga esecuzione

La compensazione per i processi di lunga esecuzione è conosciuta anche come compensazione di livello aziendale. Questo tipo di compensazione è definito a livello di ambito. Significa che parte del processo o l'intero processo possono essere compensati.

La compensazione viene fatta scattare dai programmi di gestione degli errori, o dal programma di gestione della compensazione di un ambito o di un processo; la compensazione è un altro percorso di navigazione del processo.

Un processo di lunga esecuzione compensa automaticamente i processi child completati correttamente quando l'ambito parent accluso viene compensato. In un processo, solo le attività invoke e scope completate correttamente vengono compensate.

Compensazione per microflussi

La compensazione per i microflussi è anche conosciuta come compensazione tecnica. Il tipo di compensazione viene fatto scattare quando l'unità di lavoro (la transazione o la sessione dell'attività) che contiene il microflusso riceve un rollback. Quindi, le azioni di annullamento sono in genere specificate per le attività che non possono essere annullate effettuando il rollback dell'unità di lavoro. Quando viene eseguita un'istanza di processo, le azioni di annullamento per le attività compensabili vengono registrate con l'unità di lavoro acclusa. In base al risultato di questa unità di lavoro (rollback o commit), la compensazione viene avviata.

Se il microflusso è un child di un processo di lunga esecuzione compensabile, le azioni di annullamento del microflusso sono rese disponibili al processo parent al completamento del microflusso. Può, quindi, potenzialmente partecipare alla compensazione del processo parent. Per questi tipi di microflussi, sarebbe utile specificare le azioni di annullamento per tutte le attività nel processo quando si definisce il modello di processo.

Se si verifica un errore durante l'elaborazione della compensazione, l'azione di compensazione richiede risoluzione manuale per risolvere l'errore. È possibile utilizzare Business Process Choreographer Explorer per ripristinare le attività di compensazione.


(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)