1.8.3 サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合の処理の流れ
アプリケーション呼び出しサービスの処理対象のBPMN要素がサービスタスク,ビジネスルールタスク,メッセージイベント,またはエラーイベントの場合の,アプリケーション呼び出しが実施されるまでの処理の流れを説明します。
ここでは,アプリケーション呼び出しサービスの処理対象のBPMN要素が次のどれかである場合の,処理の流れを説明します。
-
サービスタスク
-
ビジネスルールタスク
-
スロー(メッセージ)
-
終了(メッセージ)
-
終了(エラー)
BPMN連携ライブラリの処理の流れ
アプリケーション呼び出しサービスの処理対象のBPMN要素に対応する作業が,作業テーブルに追加されるまでのBPMN連携ライブラリの処理の流れを,次の図で示します。
- [説明]
-
業務アプリケーションまたはアプリケーション呼び出しサービスが,アプリケーション呼び出しサービスの処理対象のBPMN要素の1つ前のBPMN要素に対して遷移要求すると,BPMN連携ライブラリは案件を遷移させます(図中の「案件遷移」)。
その際,BPMN連携ライブラリは,アプリケーション呼び出しサービスの処理対象のBPMN要素に対応する作業(図では作業ID=101の作業)を作業テーブルに追加します。また,作業の作業者IDに「IWTXXX_ref1」※を設定します。
- 注※
-
ref識別子が「ref1」の場合の例です。また,「XXX」にはBPMN要素ごとに異なる値が入ります。
アプリケーション呼び出しサービスの処理の流れ
アプリケーション呼び出しサービスの処理の流れを,次の図で示します。
- [説明]
-
アプリケーション呼び出しサービスは,定期的に次の1.~3.の処理を行います。
-
処理対象のref識別子を決め,そのref識別子を持つ作業を作業テーブルから検索します。図の例では,次の条件で検索しています。
・ref識別子:ref1
・状態:「実行開始可能」
・作業者ID:IWTXXX_ref1(「XXX」はBPMN要素ごとに異なる文字列)
-
作業(図の例では作業ID=101の作業)が見つかった場合,ref識別子に対応するアプリケーション呼び出し情報ファイルに従い,BPMN要素ごとの呼び出し処理を行います。
BPMN要素ごとの呼び出し処理の詳細については,「(1) BPMN要素ごとの呼び出し処理」の説明を参照してください。
-
BPMN要素ごとの呼び出し処理が成功すると,アプリケーション呼び出しサービスは,作業の状態を「実行開始可能」から「実行済」に変更します。
-
- 〈この項の構成〉
(1) BPMN要素ごとの呼び出し処理
BPMN要素(サービスタスク,ビジネスルールタスク,メッセージイベント,またはエラーイベント)ごとのアプリケーション呼び出しサービスの呼び出し処理の流れについて説明します。
「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「2. 呼び出し処理」で,アプリケーション呼び出しサービスはBPMN要素ごとに次の処理をします。
サービスタスクまたはビジネスルールタスクの場合
サービスタスクまたはビジネスルールタスクの場合,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「2. 呼び出し処理」で,アプリケーション呼び出しサービスはRESTアプリケーション,またはJavaオブジェクトを呼び出します。
メッセージイベントの場合
メッセージイベントの場合,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「2. 呼び出し処理」で,アプリケーション呼び出しサービスはメッセージを送信します。
CSCIWでは,メッセージの送信は,メッセージ送信先のビジネスプロセス定義に対する案件投入,またはメッセージ送信先の作業に対する遷移要求として行われます。
メッセージの送信元が終了(メッセージ)イベントで,送信先がキャッチ(メッセージ)イベントの場合の,メッセージ送信の処理を次の図で示します。
メッセージの送信元および送信先になるBPMN要素を次に示します。
- メッセージの送信元※1になるBPMN要素
-
スロー(メッセージ)
終了(メッセージ)
- メッセージの送信先※2になるBPMN要素
-
開始(メッセージ)
イベント・サブプロセス中断開始(メッセージ)
イベント・サブプロセス非中断開始(メッセージ)
キャッチ(メッセージ)
境界中断(メッセージ)
境界非中断(メッセージ)
- 注※1
-
メッセージの送信元は,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「処理対象のBPMN要素」に対応しています。
- 注※2
-
メッセージの送信先は,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「呼び出し先」に対応しています。
各BPMN要素の動作については,「1.3.4 BPMN要素のCSCIWビジネスプロセス定義への変換の詳細」の,各BPMN要素の説明を参照してください。
なお,メッセージイベントの場合,RESTアプリケーションを呼び出すこともできます。
エラーイベントの場合
エラーイベントの場合,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「2. 呼び出し処理」で,アプリケーション呼び出しサービスはエラーをスローします。
CSCIWでは,エラーのスローは,エラーのスロー先の作業に対する遷移要求として実行されます。
エラーのスロー元が終了(エラー),エラーのスロー先が境界中断(エラー)の場合の,エラースローの処理を次の図で示します。
エラーのスロー元またはスロー先になるBPMN要素を次に示します。
- エラーのスロー元※1になるBPMN要素
-
終了(エラー)
- エラーのスロー先※2になるBPMN要素
-
イベント・サブプロセス中断開始(エラー)
境界中断(エラー)
- 注※1
-
エラーのスロー元は,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「処理対象のBPMN要素」に対応しています。
- 注※2
-
エラーのスロー先は,「図1‒94 アプリケーション呼び出しサービスの処理の流れ(サービスタスク・ビジネスルールタスク・メッセージイベント・エラーイベントの場合)」の「呼び出し先」に対応しています。
各BPMN要素の動作については,「1.3.4 BPMN要素のCSCIWビジネスプロセス定義への変換の詳細」の,各BPMN要素の説明を参照してください。