1.3.2 巡回部分を含むビジネスプロセス定義
複数の業務ステップ間で案件遷移の整合性を保つために,巡回部分を含むビジネスプロセス定義を指定する場合は,注意が必要です。
正しい利用例と誤った利用例を次に示します。
- 〈この項の構成〉
(1) 正しい利用例
次のような利用例であれば,業務ステップの実行中に巡回によって再度業務ステップが生成されるようなことはありません。
(2) 誤った利用例
次のような利用例は,業務ステップの実行中に巡回によって同一業務ステップが生成されるおそれがあります。
-
一組の分業と先着から成る巡回部分を含むビジネスプロセス定義の例
一組の分業と先着から成る巡回部分を含むビジネスプロセス定義の誤った利用例を次に2つ示します。これらの場合は,分業ノードと先着2ノードの間の業務ステップが実行中にもかかわらず,再度同一業務ステップが生成されるおそれがあります。
図1‒10 誤った利用例(巡回部分に含まれる制御ノードに一組の分業と先着が含まれる例)(パターン1) 図1‒11 誤った利用例(巡回部分に含まれる制御ノードに一組の分業と先着が含まれる例)(パターン2) -
閉じていない分業ノードを含む巡回部分を含むビジネスプロセス定義の例
閉じていない分業ノードを含む巡回部分を含むビジネスプロセス定義の誤った利用例を次に示します。この場合は,巡回するたびに同一の業務ステップ2が生成されます。
図1‒12 誤った利用例(巡回部分に閉じていない分業ノードが含まれている例)
(3) 正しく動作するための条件
正しく動作するかどうかの判断の指針となるパターンについて,次に条件と図を示します。正しく動作させるためには,最低限次に示すどちらかのパターンの検査項目を満たしている必要があります。
- パターン1
-
次に示すすべての条件を満たしているパターンです。
-
巡回部分(巡回部分の開始点となる先着ノードと,巡回部分の終了点となる分岐ノードの対で挟まれる部分)が,先着ノードからの入力遷移と分岐ノードへの出力遷移だけを持っていること
-
巡回部分の終了点となる分岐ノードへの遷移時は,必ず,巡回部分内のすべての待合ノードが待合状態ではないこと
-
巡回部分の終了点となる分岐ノードへの遷移時は,必ず,巡回部分内のすべての業務ステップが実行中ではないこと
-
巡回部分内のすべての先着ノードには,後続停止指定がないこと
-
巡回部分の開始点となる先着ノードには,後続停止指定がないこと
図1‒13 正しく動作するための条件を満たした例(パターン1)
-
- パターン2
-
巡回部分に,業務ステップ,または後続停止指定がない先着ノードしか存在しないパターンです。
図1‒14 正しく動作するための条件を満たした例(パターン2)