このページの内容

接続オブジェクト

接続オブジェクトとは

BPMN 2.0では、接続オブジェクトがプロセスモデル内の要素間の関係や情報の流れを定義します。アクティビティ、イベント、ゲートウェイをつなぎ、プロセスの流れを示したり、データやメッセージを伝えたりします。主な接続オブジェクトは、シーケンスフロー、メッセージフロー、関連付けです。

Sequence FlowSequence Flow
Message FlowMessage Flow
AssociationAssociation

Sequence Flow

シーケンスフローは、プロセス内でアクティビティ、イベント、ゲートウェイを実行する順序を定義します。ある手順から次の手順へとタスクが進む流れを示します。

プロセスの順序を示すProcessMindのBPMNシーケンスフロー矢印

タスクを実行する順序を表し、矢印の付いた実線で示します。条件付きの経路やデフォルトの経路を示すこともできます。

  • 例:「申請を提出」タスクから「申請を審査」タスクへシーケンスフローをつなぐと、提出後に審査が行われることを示せます。
  • シーケンスフローの種類:
    • 通常のシーケンスフロー:アクティビティ間の標準的なフローです。
    • 条件付きシーケンスフロー:特定の条件を満たした場合にのみ進むシーケンスフローです(小さなひし形で示します)。
    • デフォルトのシーケンスフロー:どの条件も満たさない場合に進む代替フローです(始点の斜線で示します)。
  • 使用例:シーケンスフローを使ってプロセスの手順を順に示し、アクティビティが正しい順序で実行されるようにします。

Message Flow

メッセージフローは、異なる参加者やプロセス間の通信を表します。通常、それぞれが別のプールに属する場合に使います。独立して動作するプロセス間で情報をやり取りする様子を示します。

プール間の通信を示すProcessMindのBPMNメッセージフロー

メッセージフローのコネクターは、異なるプール間や部門などの組織の境界を越えた通信を示します。同じプール内のイベントやアクティビティをつなぐ用途ではありません。円で始まり、先端が開いた矢印で終わる破線で表します。

  • 例:あるプール(仕入先)の「請求書を送信」タスクから、別のプール(顧客)の「請求書を受信」タスクへメッセージフローをつなぐと、請求書が両者の間で送られることを示せます。
  • 使用例:ある企業から別の企業へ注文依頼を送る場合など、異なる組織や業務参加者間の通信を示すには、メッセージフローを使います。

Association

関連付けは、アーティファクト(データオブジェクト、Text Annotation、グループなど)とフローオブジェクト(アクティビティ、イベント、ゲートウェイ)をつなぎ、コンテキストを補足したり、関係を明確にしたりします。プロセスの順序には影響せず、文書化や詳細情報の提示に使います。

アーティファクトとフローオブジェクトをつなぐProcessMindのBPMN関連付け線

この要素は、矢印や円のない点線で表します。イベント、アクティビティ、ゲートウェイをアーティファクトにつなぎます。

  • 例:「レポートを作成」タスクを「レポート文書」(データオブジェクト)に関連付けると、そのタスクが文書を作成することを示せます。
  • 関連付けの種類:
    • 通常の関連付け:タスクなどの要素をデータオブジェクトや注釈につなぎます。
    • 方向付き関連付け:タスクへの、またはタスクからのデータの流れを示します(矢印で表示)。
    • 双方向の関連付け:要素間の双方向の関係を示します(両端に矢印を表示)。
  • 使用例:プロセスの流れに影響を与えずに、データオブジェクトやText Annotationなどの補足情報をタスクやイベントにつなぐには、関連付けを使います。

エクスポートしたBPMNファイル内の関連付け

関連付けは、接続先のアーティファクトとともに標準のbpmn:association要素としてエクスポートされるため、エクスポートとインポートを経ても保持されます。ただし、アクティビティとデータオブジェクトまたはデータストアの間の接続は例外です。この接続は、そのアクティビティのbpmn:dataInputAssociationまたはbpmn:dataOutputAssociationとして記述されるため、方向が保持されます。ProcessMindでは通常の関連付けに方向を設定できません。インポートしたファイルに含まれる方向付きまたは双方向の関連付けは、通常の関連付けとして取り込まれます。

例

顧客注文を管理するプロセスを考えてみましょう。

  • Sequence Flow:注文を受け付けた後、システムが注文を処理し、納品に向けて送ります。受け付け、処理、納品の各手順は、シーケンスフローでつながれます。
  • Message Flow:注文の処理後、外部の配送会社にメッセージを送り、配送を依頼します。この通信は、2つの組織間のメッセージフローで表します。
  • Association:「顧客注文」データオブジェクトを「注文を受信」タスクに関連付けると、そのタスクで注文データを扱うことを示せます。

関連トピック