2.5.1 案件の基本的な進み方
ビジネスプロセス定義に従って生成された案件は,定義に記述された手順で処理されていきます。
案件の基本的な進み方を次の図に示します。
- <説明>
-
-
ユーザまたは業務プログラムによって生成された案件は,ソースノードから開始されます。このとき,ソースノードとアローで結び付けられている最初の業務ステップが実行可能になります。
-
業務ステップが実行されると,業務ステップ内の作業が実行可能になります。ユーザまたは業務プログラムは,定義内容に従って作業を処理します。
-
作業が完了した際に,属する業務ステップ内のすべての作業が完了していると,属する業務ステップも完了します。これで,次の業務ステップが実行可能になります。
定義内容に従って2.と3.の手順が繰り返され,案件の処理が進んでいきます。
-
制御ノードでは,その種類や条件設定によって案件の流れが制御されます。
-
シンクノードに遷移した時点で案件が終了します。
-
上記に示したように,案件の処理は,業務ステップや作業の状態が変化していくことで推進されます。つまり,「案件の推進」とは,「業務ステップや作業の状態を順次,変化させていくこと」と考えることができます。
また,通常,業務ステップは,案件が推進することで,新たに生成されていきますが,ビジネスプロセス定義で業務ステップの事前生成を指定した場合は,案件が開始された時点で,指定した業務ステップが初期状態で生成されます。事前生成された業務ステップは,案件が推進するときには,実行可能になります。業務ステップの事前生成は,業務ステップの属性(処理期限や優先度など)をあらかじめ決定しておきたい場合に使用します。
案件の開始から終了までの,業務ステップおよび作業の状態変化について次に説明します。また,制御ノードでの案件の遷移についてもあわせて説明します。
(1) 案件の開始
案件は,ビジネスプロセスの入り口であるソースノードから開始されます。ソースノードとは,案件の開始を意味するノード(案件の流れを制御する情報)のことです。
ユーザまたは業務プログラムが案件を投入すると,ビジネスプロセス定義上のソースノードと結び付いている最初の業務ステップが開始されます。
(2) 業務ステップの状態遷移
業務ステップは,現在の案件がビジネスプロセス定義のどこまで進んでいるかを表現し,また業務ステップに含まれる作業を管理しています。
作業が生成されるまでの業務ステップの処理の流れ,および業務ステップが完了するまでの処理の流れを次に説明します。
(a) 作業が生成されるまでの業務ステップの処理の流れ
業務ステップが生成され業務ステップ内の作業が生成されるまでの基本的な処理の流れを次の図に示します。
- <説明>
-
-
遷移元の完了によって業務ステップに遷移してきます。
-
業務ステップを生成し,その状態は「初期」となります。
-
「初期」から自動的に状態が遷移して,「実行中」となります。
-
「実行中」になると業務ステップの完了条件を評価します。
完了条件が成立した場合は,業務ステップが完了し,案件は次に遷移します。
完了条件が成立しない場合は,5.の処理に進みます。
-
業務ステップ内の作業の発生条件を評価します。
発生条件が成立した場合は,作業の生成処理を実行します。
発生条件が成立しない場合は,何もしません。
-
(b) 業務ステップが完了するまでの処理の流れ
業務ステップが完了するまでの基本的な処理の流れを次の図に示します。
- <説明>
-
-
業務ステップの完了タイミングとなります。
-
「実行中」から自動的に状態が遷移して,「遷移済」となり,業務ステップが完了します。
-
業務ステップが完了するタイミング,および業務ステップの完了条件が評価されるタイミングを次に示します。
(3) 作業の状態遷移
作業は,ある業務ステップで実行する具体的な作業内容を表現し,その作業を実行する作業者などの情報を管理しています。
「実行開始可能」状態に遷移するまでの処理の流れ,および作業が完了するまでの処理の流れを次に説明します。
(a) 「実行開始可能」状態に遷移するまでの処理の流れ
作業が生成され「実行開始可能」状態に遷移するまでの基本的な処理の流れを次の図に示します。
- <説明>
-
-
作業の発生のタイミングとなります。
-
作業を生成し,その状態は「初期」となります。
-
「初期」から「実行開始可能」に自動的に遷移する際に,振り分けルールを評価し,作業者を決定します。作業者が決定すると「実行開始可能」となります。
-
「実行開始可能」になると作業の完了条件を評価します。
完了条件が成立した場合,作業は「実行省略」状態となり完了します。そして,作業が属する業務ステップの評価要求処理を実行します。業務ステップの評価要求については,「2.5.2(2) 業務ステップおよび作業の評価要求」を参照してください。
完了条件が成立しない場合,一般作業のときは,作業アプリケーションが定義されていれば作業アプリケーションを呼び出し,作業アプリケーションが定義されていなければ何もしません。組み込み作業のときは5.の処理に進みます。
-
組み込み作業の場合は「自動実行」状態となります。そのあと,組み込み作業の処理を実行します。組み込み作業の処理については,「2.5.3 組み込み作業での案件の進み方」を参照してください。
-
(b) 作業が完了するまでの処理の流れ
作業が完了するまでの基本的な処理の流れを次の図に示します。
- <説明>
-
-
作業の完了タイミングとなります。
-
「自動実行」または「作業者実行」から「実行済」となり,作業が完了します。作業が完了すると,作業が属する業務ステップの評価要求処理を実行します。業務ステップの評価要求については,「2.5.2(2) 業務ステップおよび作業の評価要求」を参照してください。
-
作業が完了するタイミング,作業の発生条件および完了条件が評価されるタイミングを次に示します。
- ●作業が完了するタイミング
-
-
設定されている完了条件が真になった時点
ただし,完了条件の設定を省略した場合,完了条件は常に偽(FALSE)として評価されます。
-
APIによる完了要求があった時点
-
作業に含まれる業務ステップが完了した時点
-
- ●作業の発生条件が評価されるタイミング
-
-
業務ステップを開始した時点
-
同一業務ステップ内のほかの作業が完了した時点
-
業務ステップの条件を評価するAPIが発行された時点
-
「中断」状態の業務ステップに対する再開要求があった時点
-
- ●作業の完了条件が評価されるタイミング
-
-
作業を生成した時点
-
作業の条件を評価するAPIが発行された時点
-
「中断」状態の作業に対する再開要求があった時点
-
(4) 制御ノードでの案件遷移
案件は,制御ノードによってそのあとの遷移を制御されます。制御ノードには,分岐ノード,分業ノード,先着ノードおよび待合ノードの4種類があります。
それぞれの制御ノードで,案件の遷移がどのように制御されるかを次に説明します。
(a) 分岐ノードでの案件遷移
分岐ノードは,次の遷移先としてあらかじめ定義された複数のアローから,条件に従って1つのアローを選択し,遷移します。
分岐ノードでの案件遷移を次の図に示します。
- <説明>
-
-
アロー0の遷移元が完了すると,分岐ノード1が実行されます。
-
分岐ノード1が実行されると,あらかじめ定義されている分岐条件(1〜n)が案件の内容で順次,評価されます。
-
例えば,分岐条件5が成立したことで,それに対応するアロー5に遷移します。遷移先の業務ステップが開始された時点で分岐ノード1は終了します。
-
分岐ノードは,定義されている条件を順次評価していき,最初に成立した条件に対応したアローに遷移します。それ以降の条件は評価しません。
記述されている条件をすべて評価し,成立した条件がなかった場合は,デフォルトの分岐先として設定されているアローに遷移します。
(b) 分業ノードでの案件遷移
分業ノードは,次の遷移先としてあらかじめ定義された複数のアローすべてに遷移します。
分業ノードでの案件遷移を次の図に示します。
- <説明>
-
-
アロー0の遷移元が完了すると,分業ノード1が実行されます。
-
分業ノード1が実行されると,それに続くすべてのアロー(アロー1〜n)へ同時に遷移します。遷移先のすべての業務ステップが開始された時点で分業ノード1は終了します。
-
(c) 先着ノードでの案件遷移
先着ノードは,直前の遷移元としてあらかじめ定義された複数のアローのうち,どれか1つが遷移してきた時点で次のアローに遷移します。
先着ノードでの案件遷移を次の図に示します。
- <説明>
-
-
直前のアロー(アロー1〜n)のうち,1つのアロー(例えば,アロー2)が完了すると,先着ノード1が実行されます。
-
先着ノード1が実行されると,それに続くアロー(アローn+1)に遷移します。遷移先の業務ステップが開始された時点で先着ノード1は終了します。
-
後続停止を設定した場合は,一度後続のアローに遷移したあとは,2回目以降が実行されません。これによって,後続のアローに同一の案件が再び遷移することを抑止できます。
- 重要
-
ソースノードの直後には後続停止を定義しないでください。ソースノードの直後に後続停止を定義した場合,ソースノードからのアローが遷移したあとにほかのアローからの遷移が抑止されます。
後続停止を設定しない場合は,一度後続のアローに遷移しても,直前の2つ目以降のアローからの遷移があったときに,再度,後続のアローに遷移します。
後続停止を設定した場合と設定しない場合での,先着ノードでの案件遷移の違いについて次の図に示します。
(d) 待合ノードでの案件遷移
待合ノードは,直前の遷移元としてあらかじめ定義された複数のアローのうち,すべてのアローから遷移してきた時点で次のアローに遷移します。
待合ノードでの案件遷移を次の図に示します。
- <説明>
-
-
直前のアロー(アロー1〜n)のすべてから遷移してくると,待合ノード1が実行されます。
-
待合ノード1が実行されると,それに続くアロー(アローn+1)に遷移します。遷移先の業務ステップが開始された時点で待合ノード1は終了します。
- 重要
-
ソースノードの直後には待合ノードを定義しないでください。ソースノードの直後に待合ノードを定義した場合,ソースノードから遷移した直後に,別のアローからの遷移を待つ状態となり,次のアローに遷移できなくなります。
-