2.1.2.1.1. ワークフロー定義例¶
一般的な「申請」「確認」「承認」のステップからなるワークフローを、 ワークフローライブラリ ではどのような ワークフロー定義として実現するかの例を記載する。
2.1.2.1.1.1. 通常経路(申請・確認・承認)¶
- ワークフロー概要
ワークフローインスタンスを生成し、ワークフローを開始・進行・終了させる。
確認や承認の タスク の タスク担当ユーザ/タスク担当グループ を指定してワークフローを進行させる。
- 実現方法
- 各フローノードについて、それに続くフローノードを定義する。
- ワークフロー定義の例
2.1.2.1.1.2. 条件分岐¶
2.1.2.1.1.3. 差戻¶
- ワークフロー概要
確認などを行う タスク で、確認結果がNGだった場合に申請者に差戻しを行う。
このとき、差戻し後の タスク の タスク担当ユーザ/タスク担当グループ は、 その タスク を直前に実行したユーザとなる。
- 実現方法
確認結果がOKかどうかで進行先となるフローノードを切り替える XORゲートウェイ を利用し、 OKの場合には承認タスクへ、NGの場合は前の申請タスクにワークフローを進行させる。
一般に、既に一度実行されている タスク へワークフローを進行させる必要がある場合には、 XORゲートウェイ を利用することで要件を実現できる。 その場合の タスク担当ユーザ/タスク担当グループ には、その タスク に最後に割り当てられていたユーザが設定される。
- ワークフロー定義の例
2.1.2.1.1.4. 再申請¶
- ワークフロー概要
差し戻された申請を修正し、再申請を行う。
上記の単純な差戻しフローとは異なり、初回の申請と再申請を明確に区別する。
- 実現方法
差戻しと同様に、確認結果がOKかどうかで進行先となるフローノードを切り替える XORゲートウェイ を利用する。 ただし、NGの場合には、申請タスクではなく、再申請タスクにワークフローを進行させる。
なお、申請者は申請タスクを実施後に必ずしも再申請を行うわけではないため、 申請タスクと再申請タスクを結ぶシーケンスフローは作成しないこと。
- ワークフロー定義の例
2.1.2.1.1.5. 取消¶
2.1.2.1.1.6. 却下¶
2.1.2.1.1.7. 引戻¶
2.1.2.1.1.8. 後閲¶
- ワークフロー概要
- タスク が代理ユーザによって処理された場合には、代理元ユーザ本人が対象を確認して、ワークフローが完了する。
- 実現方法
後閲の可能性があるフローに入る際には、必ずユーザを選択してからワークフローを進行させるものとし、 選択されたユーザが代理ユーザであるかどうかで、ワークフローを分岐する。
なお、要件上、確認後にユーザ選択を強制することができない場合には、フロー進行条件をアプリケーションで実装し、 直前の タスク の実行ユーザが代理ユーザであったかどうかをゲートウェイで判定することで、 下記例の確認後の「承認者選択タスク」は不要となり、確認後にユーザ選択を強制する必要はなくなる。
- ワークフロー定義の例
2.1.2.1.1.9. 合議(回覧)¶
- ワークフロー概要
複数人で承認を行い、全員の承認が完了した時点でワークフローを進行させる。
一人でも差戻しなどを行った場合には、合議を中断して差戻し先にワークフローを進行させる。
- 実現方法
合議に対応する タスク には、担当ユーザを複数人割り当てることのできる マルチインスタンス・タスク を利用する。
なお、合議に参加する人数は動的に決定できる。
- ワークフロー定義の例