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

12.1.3 業務共通制御

業務共通制御とは、同期アプリケーション連携実行基盤の提供する振分け制御、トランザクション制御、リトライ制御といった実行制御をカスタマイズするための制御ロジックです。業務共通制御を開発することにより、制御ロジックと業務ロジックを分離して、業務ロジックの独立性を高めることが可能となります。

注意

業務共通制御を使用できるのは、同期アプリケーション連携実行基盤だけです。

業務共通制御の呼び出し契機とカスタマイズ可能な制御を以下に示します。これらの制御を実装することにより、同期アプリケーション連携実行基盤の提供する振分け制御、トランザクション制御、リトライ制御といった実行制御をカスタマイズすることが可能となります。

振分け制御、業務前制御、業務後制御、および結果編集制御を総称して業務共通制御と呼びます。業務共通制御は、C言語で作成することができます。

以下に、各制御の呼出しシーケンスを示します。

注意

  • データベースのトランザクションは、トランザクション完了時に業務後制御の処理結果情報に応じて、コミット、またはロールバックされます。そのため、振分け制御から業務後制御の範囲でデータベースアクセスを完了するようにしてください。結果編集制御において、データベースアクセスを行った場合は、リトライまたはリクエスト返却時にトランザクションがロールバックされます。

  • コミットが成功した場合は、結果編集制御においてリトライを指定しないでください。リトライを指定しても、データベースのトランザクションはロールバックされません。

  • コミット異常が発生し、かつ結果編集制御が定義されている場合は、結果編集制御の処理結果によりシステムエラーが上書きされるため、システムエラーがクライアントへ返却されません。また、結果編集制御により制御エラーが設定された場合は、そのままクライアントへ制御エラーがスローされるため、トランザクション後メッセージ編集処理は呼び出されません。

  • 1回のリクエストで複数の異なるサーバアプリケーションが呼ばれるような制御を行なわないでください。複数の異なるサーバアプリケーションが呼ばれるような処理を行なった場合、動作は不定になります。

  • リトライが指定された場合、制御データおよびサーバアプリケーション名は、リクエスト受信直後のデータに初期化されます。