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

6.1 概要

業務処理開始アプリケーションは、フローとして構築された一連のアプリケーション群の処理を開始させる役割をもったアプリケーションです。業務処理開始アプリケーションによるフローの処理開始をフローの起動と呼びます。

フローの起動には、以下の2種類のパターンがあります。

業務処理開始アプリケーションには、初期状態の業務データの作成と非同期アプリケーション連携実行基盤のAPIの組込みを行う必要があります。

■突き放し型フロー起動と待ち合わせ型フロー起動の使い分け

突き放し型と待ち合わせ型では、主に以下のような違いがあります。要件に応じて使い分けてください。

  

突き放し型

待ち合わせ型

使用するAPI

sendMessageメソッド

sendMessageSyncメソッド

復帰タイミング

最初のキューにメッセージを格納した時点

フロー定義に設定された終了点まで処理が完了した時点(注)

結果受信キューの定義

処理結果のメッセージを受信する場合は必要
受信しない場合は不要

必要

処理結果の受信方法

sendMessageメソッドの復帰後、receiveMessageメソッドを実行する必要がある

sendMessageSyncメソッドの復帰値が処理結果になる

フローの起動と処理結果のメッセージの受信を別のアプリケーションで実行

sendMessage実行時と同一のコリレーションIDを用いてreceiveMessageを実行することで可能

必ず同一のアプリケーションで受信する

注)処理の遅延、業務処理実行アプリケーションが処理を返さない場合などの原因により、設定したAPIのタイムアウト値に達した場合、処理結果を取得できずにnullが返却されます。
その後、処理結果のメッセージが結果受信キューに格納された場合、その処理結果を再取得するためには、receiveMessageメソッドの再発行が必要です。
APIのタイムアウトによりnullが返却された場合に自動採番されたコリレーションIDを取得する方法については、“Interstage Business Application Server リファレンス”で、“アプリケーションインタフェース(Java)”の“sendMessageSync”を参照してください。

注意

  • フローの処理が終了する前に処理結果の取得APIを実行した場合、復帰値はnullになります。また、結果受信キューを定義しないフロー定義に対し、待ち合わせ型フロー起動APIまたは処理結果の取得APIを発行した場合、結果受信キューが定義されていないことを示すエラー情報が返却されAPIが異常処理します。

  • タイムアウトなどの理由により待ち合わせ型フロー起動APIでの処理結果の受信が失敗した場合、処理結果の取得APIを実行することで非同期に結果を受信することができます。

  • 結果受信キューに処理結果のメッセージを多数ため込むと、処理結果の取得性能が劣化しますので、結果受信キューのメッセージは必ず取得してください。タイムアウトなどで処理結果の取得に失敗した場合は、処理結果の取得APIで再度、処理結果の取得を行ってください。また、フロー定義ツールの結果受信キュー定義において、結果受信キューに格納するメッセージの有効期間を設定することで、指定時間経過後にメッセージを自動的に削除することもできます。
    結果受信キューに格納するメッセージの有効期間の設定方法については、“5.2.4.8 終了の設定”を参照してください。

  • 待ち合わせ型において、フロー起動時と同一のコリレーションIDを用いて処理結果の受信を別アプリケーションで実行できますが、待ち合わせ型フロー起動APIでの受信と競合するため、どちらのアプリケーションで処理結果のメッセージが受信されるかは不定となります。

  • フローの開始から終了までの時間が徐々に遅くなる場合、“Interstage Business Application Server トラブルシューティング”の“フローの開始から終了までの時間が徐々に遅くなる”を参照して対処してください。