アクティビティとは
はじめに
BPMN 2.0では、Activityは業務プロセス内で行われるタスクや一連のタスクを表します。アクティビティはプロセスモデルの基本構成要素で、プロセスを進めるために必要な具体的アクションを定義します。BPMN図では、角が丸い長方形で表現されます。
アクティビティの種類
Task:
- 実施すべき基本業務単位を表す単一・アトミックなアクティビティです。
- 例:「Send Invoice」「Approve Request」など。
Sub-Process:
- 複数のタスクやプロセスがまとまった複合アクティビティです。
- 内部タスクを展開・折り畳み表示できます。
- 例:採用プロセスは、従業員オンボーディング全体のサブプロセスとなります。
Call Activity:
- 他プロセスによって呼び出される再利用プロセスまたはサブプロセスです。
- 例:複数ワークフローで使われる「Customer Verification」プロセス。
タスクの専門タイプ
タスクは関与する担当者やプロセスで利用・生成されるオブジェクトにより分類されます。
Generic Task
汎用タスクはプロセスモデル作成の出発点となり、すぐに実装でき後から必要に応じて他サブタイプへ細分化できます。
Manual Task
マニュアルタスクは人が手動で行い、プロセスエンジンと直接やり取りしません。例:ドキュメントの仕分け、電話による請求書照合、窓口での顧客対応など。
User Task
ユーザータスクは人が行い、プロセスエンジンが個々のユーザーに割り当てます。完了後は入力やボタン操作等で確認が必要です。ヒューマンワークフロー管理で重要なタスクです。
例:請求書の確認、休暇申請の承認、サポートチケット処理など。
Receive Task
レシーブタスクはメッセージ受信専用タスクです。BPMN 2.0のメッセージキャッチイベント(封筒アイコン)の代替になります。
Receive Task (Instantiating)
レシーブタスクをプロセス開始用に設定すると、メッセージスタートイベントの代用になります。この場合、左上にイベントアイコンが表示されます。
Send Task
センドタスクはプロセスエンジンで実行する技術的タスクで、主にメッセージキュー経由でWebサービスを非同期で呼び出します。
Script Task
スクリプトタスクはプロセスエンジン内で直接実行され、エンジンが対応する言語で記述します。
Service Task
サービスタスクはソフトウェアが自動実行する処理です。一般的にWebサービス連携を想定しますが、他の手段も利用可能です。プロセス連携の要であり、SOA(サービス指向アーキテクチャ)にも合致します。
Business Rule Task
BPMN 2.0で追加されたビジネスルールタスクは、業務ルールの適用を行う専用タスクです。
主な特徴
- Sequence Flows: アクティビティ同士は矢印(シーケンスフロー)でつなげて、作業の実行順序を決めます。
- LoopとMulti-instance: 一部のアクティビティは繰り返し(ループ)や、複数担当者で同時実行(マルチインスタンス)も可能です。
例
- 「Review Application」アクティビティは、マネージャーが申請内容を確認するユーザータスクを表します。このタスクは「Application Processing」という大きなサブプロセスの一部になることもあります。
アクティビティはBPMNモデルにおいて業務プロセスの具体的な手順や作業内容、成果への流れを定義する中心的要素です。単純なタスクだけでなく、複数アクティビティや条件を含む複雑なサブプロセスも表現できます。
次に読む
折り畳みサブプロセス、マルチインスタンスタスク、アドホックサブタスクなどの追加アクティビティタイプもあります。