
はじめに
アクティビティは、ビジネスプロセスモデルと表記法(BPMN)の基本的な構成要素です。すべてのビジネスプロセスは、組織内で実行される作業を表す、さまざまな種類のBPMNアクティビティを使って構築されます。このガイドは、BPMNアクティビティタイプ、その表記法、要素、および重要なモデリングコンセプトを理解するための包括的なリファレンスを提供します。
BPMNとは何ですか?

BPMN(ビジネスプロセスモデルと表記法)は、ビジネスプロセスのモデリングにおける世界的に認識された標準です。ビジネスユーザーにとって直感的でありながら、技術的実装にも十分な表現力を備えたグラフィカルな表記法を提供します。主な特徴は以下の通りです:
- 普遍的な理解:ビジネスアナリスト、開発者、アーキテクト、ステークホルダー間のコミュニケーションを橋渡しする
- 標準化された記号:プロセスフロー、イベント、ゲートウェイ、アクティビティを一貫した視覚的要素で表現する
- 実行可能なモデル:BPMN準拠のエンジンと組み合わせることで、プロセスの自動化をサポートする
- スケーラブルな詳細:高レベルの概要から詳細な実装仕様まで、モデル化を可能にする
BPMNアクティビティとは何ですか?
A BPMNアクティビティは、ビジネスプロセス内で実行される「作業」を表します。アクティビティには以下の種類があります:
| 種類 | 説明 | 使用例 |
|---|---|---|
| タスク | 原子的で分解不可能な作業単位 | 「リクエスト承認」のような単一のアクション |
| サブプロセス | ネストされたタスク/サブプロセスを含む複合アクティビティ | 明確化のための関連するステップのグループ化 |
| コールアクティビティ | グローバルに定義された再利用可能なプロセスへの参照 | 図の間で共有プロセスを呼び出す |

BPMNタスクタイプ
タスクは、さらに分解できない原子的な活動です。BPMN 2.0は、作業の実行方法を明確にするために7つの専門的なタスクタイプを定義しています。どのように作業が行われるかを。
🔧 サービスタスク

定義: 人間の介入なしに自動化されたサービス、ウェブサービス、またはアプリケーションを呼び出すタスク。
表記法: タスクの長方形の左上にギア/レンチのアイコンがあるもの。
使用例: API経由でフォーラムの回答をツイッターに投稿する。
重要な概念: 完全に自動化されている;外部システム呼び出しをトリガーする。
📤 送信タスク

定義: 他の参加者(プール)にメッセージを送信し、送信と同時に完了するタスク。
表記法: 外向きの封筒アイコンのあるタスク長方形。
使用例: モデレーターが記事の著者に却下通知を送信する。
重要な概念: ファイア・アンド・フォーゲットメッセージング;応答を待たない。
📥 受信タスク

定義: 次の処理に進む前に着信メッセージを待つタスク;メッセージ受信時に完了する。
表記法: 入力の封筒アイコンのあるタスク長方形。
使用例: ピックアップ依頼メッセージを待つ配送システム。
重要な概念: ブロッキング待機状態。プロセスはメッセージが到着するまで一時停止する。
👤 ユーザータスク

定義: ユーザーがソフトウェアアプリケーションと対話して行うタスク。
表記法: 人物アイコンを備えたタスク矩形。
使用例: インターネット通販インターフェースを通じて購入者が注文を承認する。
重要な概念: ヒューマンインザループ。ユーザーインターフェースとの相互作用を必要とする。
✋ マニュアルタスク

定義: ソフトウェアの支援やプロセスエンジンのサポートなしに完全に実行されるタスク。
表記法: 手のアイコンを備えたタスク矩形。
使用例: 物理的なカート点検および紙の署名手続き。
重要な概念: 完全に人間が実行する。デジタルシステムの関与はない。
⚖️ ビジネスルールタスク

定義: 入力をビジネスルールエンジンと照合して判断または出力を返すタスク。
表記法: 表/グリッドアイコンを備えたタスク矩形。
使用例: ルールエンジンを用いてアンケートデータを分析し、洞察を生成する。
重要な概念: 宣言的論理評価。ルールをプロセスフローから分離する。
💻 スクリプトタスク

定義: プロセスエンジンによって解釈される事前に定義されたスクリプトを実行するタスク。
表記法: スクリプト/ドキュメントのアイコンを備えたタスクの長方形。
使用例: 貸付申請処理中にクレジットチェックスクリプトを実行する。
重要な概念: エンジンが実行するコード;軽量な自動化ロジックに最適。
BPMNサブプロセス

A サブプロセスは、単一のアクティビティ記号内に詳細なプロセスをカプセル化する複合アクティビティである。サブプロセスは以下の機能を可能にする:
- 抽象化: 高レベルの図において複雑さを隠す
- 再利用性: 一度定義し、複数回参照可能
- モジュール性: プロセスを論理的なコンポーネントに整理する
- 協働: チームが別々のサブプロセスに取り組めるようにする

サブプロセスのマーカー
| マーカー | 名前 | 動作 | 視覚的インジケーター |
|---|---|---|---|
| 🔁 | ループ | : 条件を満たすまで、サブプロセスを順次繰り返す | タスク内の円形矢印 |
| ≣ | マルチインスタンス | サブプロセスの複数の並列インスタンスを実行する | タスク内の3本の垂直線 |
| ↺ | 補償 | トランザクショナルプロセスの元に戻す/ロールバックロジックを定義する | 曲がった矢印(反時計回り) |
| ✦ | アドホック | タスクは、ケースの要件に応じて、任意の順序で実行される(オプション) | タスク内のチルダ(~)または星印 |
ループサブプロセス

一連のアクティビティを繰り返す必要がある場合に使用する(例:「承認されるまでレビュー」)
マルチインスタンスサブプロセス

並列処理に使用する(例:「すべての部門長に同時に通知」)
補償サブプロセス

ロールバックのシナリオに使用する(例:「支払い失敗時に予約をキャンセル」)
アドホックサブプロセス

柔軟でケース駆動のワークフローに使用する(例:「任意のステップを含む顧客苦情の対応」)
BPMNコールアクティビティ

A コールアクティビティは、現在の図外のグローバルに定義されたプロセスまたはタスクを参照する
主な利点:
- ✅ 標準化されたプロセスの再利用を促進する
- ✅ 共通のワークフローを抽象化することで、図の混雑を軽減する
- ✅ 複数のプロセスモデル間での一貫性を確保する
- ✅ メンテナンスを簡素化する(一度更新すれば、すべての場所に反映)
表記法: 太い枠線と「+」または参照インジケーターを備えたタスクの長方形
例: オンボーディング、チェックアウト、サポートワークフロー全体で使用される共有登録プロセスを呼び出す「ユーザー登録」のコールアクティビティ。
重要なモデル化のコンセプトとベストプラクティス
🎯 アクティビティ選択のガイドライン
- タスクから始めましょう: 原子的な作業を最初にモデル化する;複雑さが増した時点でサブプロセスに再構成する
- タスクの種類を正確に選択する: アイコンを実行メカニズム(人間 vs. 自動化 vs. メッセージ駆動)に合わせる
- 階層構造のためにサブプロセスを使用する: 詳細なフローを折りたたんで、高レベルでの可読性を維持する
- 再利用のためにコールアクティビティを活用する: 共通のパターン(例:「承認」、「通知」、「検証」)をグローバルプロセスに抽出する
🔗 フローと接続性
- アクティビティは以下を通じて接続されるシーケンスフロー(実線の矢印)実行順序を示す
- メッセージフロー(破線の矢印)参加者プール間のアクティビティをリンクする
- 関連線(点線)データオブジェクトや注釈などのアーティファクトを関連付ける
📐 表記の一貫性
| 要素 | 記号 | 目的 |
|---|---|---|
| タスク | 角丸長方形 | 原子的な作業単位 |
| サブプロセス | +/マーカー付きの角丸長方形 | 折りたたみ/展開されたプロセス |
| コールアクティビティ | 太い枠線のラウンド矩形 | 外部プロセス参照 |
| ゲートウェイ | ダイアモンド | 意思決定/マージポイント |
| イベント | 円 | トリガーまたは結果 |
参照リスト
- BPMNアクティビティタイプの説明: BPMN 2.0のアクティビティタイプについて、タスク、サブプロセス、コールアクティビティを視覚的な例とともに包括的に解説。
- BPMNとは何か: ビジネスプロセスモデルと表記法(BPMN)の概要、目的、対象読者、および多機能間コミュニケーションにおける利点。
- BPMNアクティビティとは何か: BPMNアクティビティを、ビジネスプロセス内の原子的または複合的な作業単位として基礎的な説明。
- BPMNタスク: 原子的タスク要素と、正確な動作モデル化に用いる7つの専門的なBPMN 2.0タスクタイプの概要。
- サービスタスク: 人間の介入なしに自動化されたサービス、Web API、またはアプリケーションを呼び出すタスクの詳細。
- 送信タスク: 他のプロセス参加者に送信された時点で完了するメッセージ送信タスクの説明。
- 受信タスク: 入力メッセージを受信するまでプロセスの流れをブロックするメッセージ待機タスクの説明。
- ユーザータスク: ソフトウェアアプリケーションとの人間の相互作用を必要とするタスクの実行ガイド。
- マニュアルタスク: ソフトウェアやプロセスエンジンの支援なしに完全に手作業で実行されるタスクの説明。
- ビジネスルールタスク: 宣言的決定のため、ビジネスルールエンジンと連携するタスクの概要。
- スクリプトタスク: エンジンが解釈するスクリプトを実行して、軽量な自動化ロジックを実現するタスクの説明。
- BPMNサブプロセス: 抽象化とモジュール化のためにネストされたプロセスロジックをカプセル化する複合活動のガイド。
- ループ: 囲まれた活動の順次繰り返しを示すサブプロセスマーカーの説明。
- マルチインスタンス: 複数の同一サブプロセスインスタンスの並列実行を可能にするマーカーの説明。
- 補償: トランザクショナルワークフローにおける元に戻す/ロールバックロジックを目的としたサブプロセスの詳細。
- アドホック: タスクがオプションで、順序に関係なく実行される柔軟なサブプロセスの概要。
- BPMNコール活動: 一貫性と保守性を確保するための外部で再利用可能なプロセス定義への参照のガイド。
- 追加リソース: BPMNソフトウェアツールおよび基礎的な学習ガイドへの選別されたリンク。
💡 プロのヒント: 作業を正確に表現できる最も単純な活動タイプからモデル化を開始するように心がけましょう。複雑なサブプロセスやマーカーを早々に過剰に設計すると、図の明確性が低下し、ステークホルダーの採用率も下がる可能性があります。













