一連の操作を元に戻した後の補正の使用
補正は、BPELプロセス・サービス・コンポーネントが一部の操作を完了した後で一連の操作を完了できず、引き返して前に完了したトランザクションを取り消す必要がある場合に発生します。たとえば、レンタカー、ホテルおよび航空券を予約するようにBPELプロセス・サービス・コンポーネントが設計されている場合、車とホテルは予約でき、その日付の航空券を予約できない場合があります。この場合、BPELフローは戻って車とホテルをキャンセルすることによって、補正を実行します。
scopeアクティビティでは、補正ハンドラは以前に完了した処理ステップをリバースできます。補正ハンドラは、次のいずれかのアクティビティを使用して関連するスコープが正常に完了した後に呼び出すことができます。
-
compensateアクティビティ(BPELバージョン1.1および2.0プロジェクト)
このアクティビティにより、正常に完了したすべての子スコープ、およびまだ補正されていない子スコープの補正ハンドラが、デフォルトの順序で実行されます。
-
compensateScopeアクティビティ(BPELバージョン2.0プロジェクト)
このアクティビティにより、正常に完了した特定のスコープの補正ハンドラが実行されます。