中間イベント
中間イベントとは
BPMN 2.0の中間イベントは、開始イベントと終了イベントの間、プロセスフローの途中で発生するイベントを表します。プロセスを開始または終了させるものではなく、進行中のプロセスに変化を与えたり、影響を及ぼしたりします。中間イベントは、業務プロセスのフローに影響する中断、遅延、トリガーをモデル化するために使用します。
中間イベントの要点
- 視覚表現:二重線の円です。
- 中間イベントの種類:
- メッセージ中間イベント:プロセスの途中でメッセージを待機または送信します。
- タイマー中間イベント:指定した時間、または特定の日付までプロセスを待機させます。
- 条件中間イベント:条件が満たされるまで待機してから、プロセスを続行します。
- シグナル中間イベント:プロセスや他のプロセスに影響するシグナルを受信または送信します。
- エラー中間イベント:プロセス内で発生したエラーを処理します。
- エスカレーション中間イベント:プロセスを続行する前に対応が必要なエスカレーションを表します。
配置
- キャッチイベント:メッセージやシグナルなど、何かが発生するまで待機する中間イベントです。
- Throw Event:メッセージやシグナルの送信など、何かを発生させる中間イベントです。
中間イベントは、プロセスの通常のフロー内に配置できます。また、アクティビティの境界に取り付ける(境界イベント)ことも、ワークフロー中の特定の条件を監視または発生させる位置に配置することもできます。
中間イベントは、プロセスの開始点と終了点の間に配置します。情報を受信(待機)するか、送信するかを、円の中の記号で見分けられます。
図では、メッセージを受信するとプロセスが開始します。次のTaskで商品が在庫にあるかを確認し、在庫があれば確認リンクを送信します。この確認リンクの送信は、リンクを送る中間イベントで処理します。確認リンクが正常に受信されてから注文処理に進み、注文が完了すると終了イベントに到達します。
プロセス内の中間イベントに描かれた記号は、フローを変化させるさまざまなトリガーを表します。トリガーには、メッセージ、タイマー、エラー、補償、条件付きフロー、シグナル、複数イベント、エスカレーション、並列プロセスがあります。それぞれ、プロセス内の特定のやり取りや条件を示します。
イベントと対応する記号の一覧
| 開始 | 中間 | 終了 | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | 通常 | イベントサブプロセス | 中断しないイベントサブプロセス | キャッチ | 境界 | 中断しない境界 | スロー | |
| なし | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| 終了 | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| 並列マルチプル | | | | | | | ||