アクティビティ
アクティビティとは
BPMN 2.0では、アクティビティは業務プロセス内で実行される1つのタスクまたは一連のタスクを表します。アクティビティはプロセスモデルの基本要素であり、プロセスを前に進めるために必要な具体的なアクションを示します。BPMN図では、角の丸い長方形で表示されます。
アクティビティの種類
-
Task:
- 実行が必要な基本的な作業単位を表す、単一のアトミックなアクティビティです。
- 例:「請求書を送信」または「申請を承認」。
-
サブプロセス:
- 内部に複数のタスクやプロセスを含む複合アクティビティです。
- 展開して内部のすべてのタスクを表示することも、折りたたんで1つのアクティビティとして表示することもできます。
- 例:採用プロセスを、より大きな従業員オンボーディングプロセス内のサブプロセスにできます。
-
Call Activity:
- 別のプロセスから呼び出される、再利用可能なプロセスまたはサブプロセスです。
- 例:複数のワークフローで共有する「顧客確認」プロセス。
特殊なタスクタイプ
タスクは、関与する参加者や、プロセス全体で使用、消費、生成されるオブジェクトに基づいて分類できます。
汎用タスク
汎用タスクは、プロセスモデル作成の出発点になります。すばやく実装でき、必要に応じて後から特定のサブタイプへ詳細化できます。
Manual Task
Manual Taskは個人が実行し、プロセスエンジンとは直接やり取りしません。フォルダーへの文書整理、電話による請求書の不一致の解消、サービスカウンターでの顧客対応などが例です。
User Task
User Taskは個人が実行し、プロセスエンジンによって明示的に割り当てられます。エンジンは各ユーザーのタスクキューにタスクを直接割り当てます。完了時には、データ入力やボタンのクリックなどによる確認を求めます。User TaskはHuman Workflow Managementシステムの重要な要素です。
請求書の確認、休暇申請の承認、サポートチケットへの対応などが一般的な例です。
Receive Task
Receive Taskは、プロセスフロー内でメッセージを受信する処理を独立したタスクとしてモデル化します。このタスクタイプは、空の封筒で表されるBPMN 2.0のメッセージキャッチイベントの代替として機能します。
Receive Task(インスタンス化)
Receive Taskをプロセス開始用に指定し、メッセージ開始イベントの代替として使う場合は、左上隅に小さなイベントアイコンが表示されます。
Send Task
Send Taskは、プロセスエンジンによって実行される技術的なTaskです。主に、メッセージキューを介してWebサービスを非同期で呼び出すために使用します。
Script Task
Script Taskはプロセスエンジン内で直接実行され、エンジンが解釈できる言語で記述する必要があります。
Service Task
Service Taskは、ソフトウェアアプリケーションが実行する処理を指し、通常はプロセスのワークフローの一部として自動的に実行されます。BPMNでは、一般にこれらの機能はWebサービスを介して提供されますが、別の実装方法も可能です。Service Taskは、サービス指向アーキテクチャ(SOA)の原則に沿った、プロセス指向の統合における中心的な要素です。
Business Rule Task
BPMN 2.0では、プロセス内でビジネスルールを適用するためのBusiness Rule Taskが導入されています。
主な特徴
- Sequence Flow:アクティビティは矢印(Sequence Flow)で接続され、Taskを実行する順序を定めます。
- LoopとMulti-instance:一部のアクティビティは繰り返し実行でき、複数の参加者が同時に実行することもできます。
例
- 「Review Application」アクティビティは、マネージャーが申請を確認するUser Taskを表します。このTaskは、「Application Processing」という大きなサブプロセスの一部にできます。
アクティビティは、BPMNモデルでプロセスの具体的な手順と、目的の結果を達成するための作業方法を定義する中心的な要素です。単純なTaskから、複数のアクティビティとフロー条件を含む複雑なサブプロセスまで、さまざまな形で表現できます。
次のステップ
折りたたまれたサブプロセス、Multi-instance Task、AdHoc Subprocessなど、追加のアクティビティタイプがあります。