5.6.17 分岐アクティビティ
条件の判定結果によるビジネスプロセスの処理の分岐を定義するアクティビティで,分岐開始アクティビティと分岐終了アクティビティの2つがあります。分岐の開始個所には分岐開始アクティビティを,終了個所には分岐終了アクティビティを配置します。
分岐アクティビティを利用した処理の分岐について,次の図に示します。
分岐開始アクティビティの下には幾つかの処理を用意して,分岐開始アクティビティに設定した条件と条件の判定結果によって分岐させます。分岐の終端には,分岐終了アクティビティを配置します。
分岐開始アクティビティから分岐した処理のうち,フォルト送出アクティビティまたは途中終了アクティビティで終了する処理は,分岐終了アクティビティに連結する必要はありません。また,分岐開始アクティビティから分岐したすべての処理がフォルト送出アクティビティまたは途中終了アクティビティで終了する場合,分岐終了アクティビティを配置する必要はありません。
- 〈この項の構成〉
(1) 分岐開始アクティビティの定義
分岐開始アクティビティの定義の手順を次に示します。
-
分岐アクティビティをキャンバスに配置します。
アクティビティを配置する方法については,「5.4.1 アクティビティを配置する」を参照してください。
-
分岐アクティビティの連結先となるアクティビティをキャンバスに配置します。
アクティビティを配置する方法については,「5.4.1 アクティビティを配置する」を参照してください。
-
分岐アクティビティと連結先のアクティビティを連結します。
アクティビティを連結する方法については,「5.4.2(2) 連結の設定方法」を参照してください。
-
次のどちらかの方法で[分岐アクティビティ]ダイアログを表示させます。
-
キャンバスの分岐アクティビティをダブルクリックする
-
キャンバスの分岐アクティビティを選択して右クリックし,[設定]を選択する
[分岐アクティビティ]ダイアログが表示されます。
-
-
[分岐アクティビティ]ダイアログに必要な情報を入力します。
[分岐アクティビティ]ダイアログの表示・入力内容の詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.26 分岐アクティビティダイアログ」を参照してください。
分岐条件を設定する場合,[条件設定]ボタンをクリックします。表示される[条件設定]ダイアログで,分岐条件を設定できます。連結先ごとに条件を設定します。分岐条件はXPath式で入力します。[条件設定]ダイアログの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.27 条件設定ダイアログ(分岐アクティビティ)」を参照してください。
-
[OK]ボタンをクリックします。
(2) 分岐終了アクティビティの定義
分岐終了アクティビティの定義の手順を次に示します。
-
分岐アクティビティをキャンバスに配置します。
アクティビティを配置する方法については,「5.4.1 アクティビティを配置する」を参照してください。
-
分岐アクティビティと連結元のアクティビティを連結します。
アクティビティを連結する方法については,「5.4.2(2) 連結の設定方法」を参照してください。
(3) 定義時の注意事項
-
アクティビティ名はビジネスプロセス(スコープ内も含む)内で一意になるように指定してください。
-
アクティビティ名は64バイト以内にしてください。
-
ダイアログの入力フィールドに制御文字は指定しないでください。
-
分岐条件を1つ以上設定してください。
-
遷移先を条件分岐またはデフォルトに割り当ててください。
-
必ず分岐の条件名を設定してください。
-
必ず分岐の条件を設定してください。
-
並列処理終了アクティビティに接続しないでください。
-
次に示すコネクションは接続しないでください。
-
開始アクティビティを元とするコネクション※1
-
あるアクティビティのあるフォルト処理の開始点を元とするコネクション※1
-
あるアクティビティのある補償処理の開始点を元とするコネクション※1
-
-
分岐開始アクティビティは,対応する1つの分岐終了アクティビティに接続してください。※2
-
対応する分岐処理を分岐終了アクティビティに接続してください。※2
-
分岐処理は必ず分岐終了アクティビティに接続してください。※2
-
分岐アクティビティと,対応する分岐終了アクティビティの間には,1つ以上のアクティビティを設定してください。
- 注※1
-
アクティビティを元とするコネクション,あるアクティビティのあるフォルト処理の開始点を元とするコネクション,およびあるアクティビティのある補償処理の開始点を元とするコネクションについては,「図5-37 コネクションの例」を参照してください。
- 注※2
-
すべての分岐処理の終端がフォルト送出アクティビティまたは途中終了アクティビティの場合を除きます。
(4) アクティビティ内でシステム例外が発生した場合の処理
アクティビティ内で発生したシステム例外を,汎用フォルトに変換して送出できます。詳細は,マニュアル「サービスプラットフォーム 解説」の「4.7 システム例外をフォルトに変換する汎用フォルト」を参照してください。
(5) 分岐処理中に例外が発生した場合の処理
例外が発生した場合の処理は,HCSCサーバランタイム定義ファイルのsyserr-to-fault-convertプロパティまたはsyserr-to-fault-convert-all-activityプロパティの設定によって次のように異なります。
- syserr-to-fault-convertプロパティまたはsyserr-to-fault-convert-all-activityプロパティの指定がONのとき
-
メッセージを出力したあと,フォルト電文に設定する項目を含むメッセージを出力し,フォルトを送出します。
送出するフォルトについては,マニュアル「サービスプラットフォーム 解説」の「4.7.1 システム例外をフォルトに変換する汎用フォルトの概要」を参照してください。
- syserr-to-fault-convertプロパティまたはsyserr-to-fault-convert-all-activityプロパティの指定がOFFのとき
-
システム例外をthrowします。
syserr-to-fault-convertプロパティおよびsyserr-to-fault-convert-all-activityプロパティの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。