- はじめに
- スタート アップ ガイド
- 任意のキャンバスで構築する
- 大文字と小文字で構築
- フローを利用した構築
- BPMN で構築する
- オペレーティング
- 監視
- 最適化中
- 参考情報
サブプロセスとモジュール性
Build modular Maestro Orchestrate processes using subprocesses to group related activities, reduce diagram complexity, isolate business logic, and enable reuse across inline and reusable models.
サブプロセスは、関連するアクティビティを再利用可能な 1 つの構造にグループ化することで、モデルをわかりやすくするのに役立ちます。ダイアグラムの複雑さを軽減し、ビジネス ロジックを分離して、再利用を促進します。
BPMN では、サブプロセスはインラインで (同じダイアグラム内の折りたたみまたは展開)、または再利用可能なコール アクティビティとしてモデリングできます。
In Maestro Orchestrate:
- インラインのサブプロセス (折りたたみまたは展開) は、同じダイアグラム内でロジックをグループ化および構造化する場合にサポートされます。
- コール アクティビティは、別個のエージェンティック プロセス (プロジェクト) を呼び出す場合にサポートされます。
- 同じプロジェクトからの別の BPMN ファイルの呼び出しはサポートされません。複数のプロセスにわたる再利用可能なロジックの場合は、別個のエージェンティック プロセスを作成し、コール アクティビティを使用してそのプロセスを呼び出します。
- コール アクティビティを使用する場合、呼び出し元のプロセスは、明示的に定義されたパラメーターを介して入力を渡し、出力を受け取ります。
コール アクティビティを使用する理由
コール アクティビティは、プロジェクトまたは環境内の別の場所で定義されたサブプロセスを参照します。このアクティビティは再利用可能な関数のように動作し、以下の方法でプロセス モデリングを改善します。
- ダイアグラム間の重複の削減
- 再利用可能なロジックの分離 (承認、検証、送信など)
- 主要なダイアグラムの簡潔さの維持
- プロセス バリアント間で一貫した動作をサポート
サブプロセスのモデル化方法
In Maestro Orchestrate, you can model subprocesses in two ways:
- インラインのサブプロセス (同じダイアグラム内の折りたたみまたは展開)
- 再利用可能なサブプロセス (コール アクティビティを使用)
インラインのサブプロセスをモデリングする
インラインのサブプロセスは、同じプロセス インスタンス内の関連するステップをグループ化する場合に使用します。
-
BPMN ダイアグラムにサブプロセス要素を挿入します。
-
折りたたみビューまたは展開ビューのどちらでプロセスを表示するかを選択します。
-
内部ロジックをサブプロセス内に直接モデリングします。
-
サブプロセスを使用して、関連するステップをグループ化しながら、メイン ダイアグラムの可読性を維持します。
結果: サブプロセスが挿入され、その中で内部ロジックをモデリングできるようになります。
インラインのサブプロセスは、同じプロセス インスタンス内で実行され、同じ実行コンテキストを共有します。
サブプロセス内の変数
Variables behave the same way in collapsed and expanded subprocesses. The view only changes how the subprocess is displayed on the canvas.
A variable created inside a subprocess is scoped to that subprocess. Elements after the subprocess can't reference it directly. A value becomes available outside the subprocess only after it's exposed as an output, in one of these ways:
- Adding an output on the subprocess element and mapping it to the inner variable.
- Declaring an output variable on the subprocess end event.
For step-by-step instructions, see Exposing outputs from a subprocess.
If an element outside the subprocess references an inner variable that isn't exposed, Studio Web shows the validation warning Variable '<name>' is not set at this point in the flow.
When you move a node containing outputs into or out of a subprocess, Maestro Orchestrate preserves variable IDs and manages scope transitions automatically. Variable references remain valid across scope boundaries, and orphaned entries are automatically removed.
ノードをスコープ間で移動した後に検証エラーが発生する場合は、[変数を修正] ダイアログを使用し、破損した参照を特定して更新します。
コール アクティビティを使用して再利用可能なサブプロセスをモデリングする
コール アクティビティは、複数のプロセスでロジックを再利用する場合に使用します。
-
再利用可能なロジックを含む別個のエージェンティック プロセス (プロジェクト) を作成します。
-
親ダイアグラムで、コール アクティビティを挿入します。
-
呼び出す対象のエージェンティック プロセスを選択します。
-
親プロセスと呼び出されるプロセスとの間でデータを交換するための入力変数と出力変数を設定します。
結果: マッピングされた入力変数と出力変数を使用して別個のエージェンティック プロセスを呼び出すようにコール アクティビティが設定されます。
コール アクティビティは、別のエージェンティック プロセス インスタンスを呼び出します。親プロセスと呼び出されるプロセスとの間で明示的にデータをマッピングする必要があります。
モデリングの例
ユース ケース: オンボーディング ワークフローでは、従業員とベンダーの両方のオンボーディング プロセスで同じ Collect Documents サブプロセスを使用します。ステップを複製する代わりに、同じサブプロセスを参照する各親プロセスにコール アクティビティが追加されます。
Use case: This subprocess example shows a conditional file download and upload workflow in Maestro Orchestrate. The process begins with a message start event and branches using an exclusive gateway.
条件に応じて、メールの添付ファイルまたはレコード フィールドのファイルをダウンロードします。両方のパスが「ファイルをアップロード」タスクで合流し、その後に「Sub-Process1」という名前のサブプロセス要素が続きます。このサブプロセスは、ワークフローを完了する前に、アップロード後のアクションをカプセル化します。
命名規則
サブプロセスとコール アクティビティの名前を付ける際は、以下の点に留意してください。
- 専門用語ではなく、ビジネス用語を使用する
- 結果を説明する (例: 「
Form Step 2」ではなく「Collect Customer Data」) - サブプロセスがタスクを実行する方法ではなく、実行する対象を反映する。
- 参加者レーンはサブプロセス内ではサポートされない
サポート対象外
- 同じプロジェクト内での別個の BPMN ファイルの呼び出しはサポートされません。
- 複数のプロセスにわたる再利用可能なロジックの場合は、別個のエージェンティック プロセス (プロジェクト) を作成し、コール アクティビティを使用してそのプロセスを呼び出します。
- アドホックなサブプロセスはサポートされていません。
- プロセスの境界を越える暗黙的な変数の共有はサポートされていません。データは、入力/出力バインディングを使用して明示的にマッピングする必要があります。
- 参加者レーンはサブプロセス内ではサポートされない
マルチインスタンス マーカー
インラインのサブプロセスはマルチインスタンス実行をサポートします。
コール アクティビティも、別個のエージェンティック プロセスを呼び出す場合にマルチインスタンス実行をサポートします。
アドホックなサブプロセスとイベント サブプロセスはサポートされていません。
Maestro Orchestrate でサポートされる BPMN 要素について詳しくは、「 BPMN でサポートされている要素」をご覧ください。