ページの先頭行へ戻る
Interstage Business Application Server アプリケーション開発ガイド
FUJITSU Software

2.4.3 補償ルート制御機能

補償ルート制御機能とは、業務処理の開始から終了までが複数のトランザクションで構成されている場合の、データの一貫性を保証するための機能です。業務処理の通常時に実行するアプリケーションに加え、異常時に実行する取消し用アプリケーションをフロー定義に指定します。特定のアプリケーションで異常が発生した場合、非同期アプリケーション連携実行基盤が、通常処理に実行したアプリケーションの順番と逆の順番で、異常時に実行する取消し用アプリケーションを呼び出します。取消し用アプリケーションは、アプリケーションと同様に開発者が用意する必要があります。

非同期アプリケーション連携実行基盤が経路管理を行うため、アプリケーションでは、通常処理を行ったアプリケーションの処理の順序を記録して異常発生時に呼び戻す処理の開発が不要となります。

補償ルート適用範囲

フロー定義ツール上で、補償処理メッセージを送信する範囲を指定することができます。補償ルートは、以下のルートの逆戻りするルートとして指定することができます。

  実行ルート

  条件ルート

  代行ルート

補償処理メッセージを送信する範囲内で異常が発生すると、その範囲の通過点を逆戻りする補償処理メッセージが送信されます。
補償処理メッセージで受け渡される情報もフロー定義上で詳細に指定することができます。

補償処理メッセージ発行契機

どのような異常の場合に補償処理メッセージを発行するかを、フロー定義ツール上で定義することができます。指定された異常が発生した場合だけ補償処理メッセージが発行されます。補償処理メッセージを発行する異常は、最大で256個まで複数指定することができます。

補償ルート用のメッセージのルーティング中に異常が発生した場合、FSP_INTS-BAS_AP1023のエラーメッセージが出力されます。この場合、補償ルート用のメッセージはシリアライズファイルに退避されますが、apfwrecovfileコマンドを用いて当該メッセージを復旧し、補償ルートの処理を再開することはできません。以下の手順で復旧してください。

  1. apfwconvfileコマンドでシリアライズファイルをXML形式に変換します。apfwconvfileコマンドの詳細は、“Interstage Business Application Server リファレンス”を参照してください。

  2. アプリケーションでXMLファイルを読み込み、修正するメッセージをコリレーションIDなどの一意なキーを元に決定します。

  3. アプリケーションでは、XMLファイル内のメッセージ情報を元に、更新済みの業務用データベースの内容を更新前や取消し状態とすることで業務の整合性をとるようにします。

以下に旅行業務を例にした本機能の動作概要図を示します。