maestro
latest
false
- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Maestro ユーザー ガイド
最終更新日時 2025年11月24日
サブプロセスは他のタスクとサブプロセスの集合です。複雑なプロセスを、管理しやすくナビゲートしやすい複数の部分に分割する際に効果的です。
注:
- 同じプロジェクトの中または他のプロジェクトから別のプロセスを使用する必要がある場合は、コール アクティビティを選択します。独自の値を持つこのようなエージェンティック プロセスを、自己完結型プロセスとして呼び出すか、他のプロセスで呼び出して、新しいインスタンスの作成を自動的にトリガーできます。
- 特定のロジックをカプセル化することによって親プロセスをより簡潔にする必要がある場合にサブプロセスを使用します。同じインスタンスを部分的に継承しているサブプロセスは、オーケストレーション全体の効率化で効果を上げます。
BPMN のサポートについて詳しくは、「Maestro モデリングキャンバスへのアクセス」をご覧ください。
サブプロセスは再利用可能なロジックをカプセル化しますが、多くの場合、親プロセスや他のサブプロセスとデータを交換する必要があります。Maestro では、変数のスコープと受け渡しの方法について明確なルールが提供されているため、レベル間でデータの一貫性が保たれます。
同じサブプロセス内の前のアクティビティの出力にアクセスするために、追加の設定を行う必要はありません。
例: アクティビティ
foo によって foo_op という出力変数が設定されていて、後続のアクティビティ bar が同じサブプロセスに存在する場合、bar は foo_op を直接参照できます。
重要なルール: アクティビティで定義された変数は、同じサブプロセス内の任意の下流のアクティビティ (入れ子になった要素を含む) からアクセスできます。サブプロセスの入力として明示的に渡す必要はありません。
親プロセスが、入れ子になったサブプロセス内のアクティビティからの出力データにアクセスする必要がある場合、次の 2 つのアプローチのいずれかを使用して、そのデータを公開できます。
- 内側のサブプロセスで、出力変数 (
inner_sp_opなど) を定義し、これに内部アクティビティの出力の値 (bar_op) を割り当てます。 - 外側のサブプロセス (または親プロセス) で、別の出力変数 (
outer_sp_opなど) を定義し、これに内側のサブプロセス出力の値 (inner_sp_op) を割り当てます。 - これで親プロセスの下流のアクティビティ (
quxなど) がouter_sp_opを参照できるようになります。
- 内側のサブプロセスで、終了イベントを設定して
ee_inner_opなどの出力変数を宣言し、これにbar_opの値を割り当てます。 - 外側のサブプロセスで、対応する終了イベントを設定して
ee_outer_opなどの出力変数を宣言し、これにee_inner_opの値を割り当てます。 - これで親プロセスのアクティビティ
quxがee_outer_opを参照できるようになります。
ヒント: 終了イベント変数は、個別に出力変数を設定することなく、親スコープに自動的に反映されます。
設計時 (デバッグ API 経由) または実行時 (インスタンス API 経由) に変数値を検査して、スコープとデータの反映を検証できます。
デバッグ API - 変数を
表示する
GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocessGET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess
利用可能な変数:
foo_opinner_subprocess_opee_outer_op
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocessGET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess
利用可能な変数:
bar_opee_inner_op
ランタイム API – 変数を
表示する
GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocessGET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess
利用可能な変数:
foo_opinner_subprocess_opee_outer_op
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocessGET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess
利用可能な変数:
bar_opee_inner_op
サブプロセスは、各要素が複数回実行されるマルチインスタンス マーカーをサポートします。マルチインスタンスとしてマークできる要素は、サブプロセスを除くすべての種類のタスクです。
ネストする反復子として、次の文字列変数がサポートされています。
| カテゴリ (Category) | 属性 | 利用方法/アクセス方法 |
|---|---|---|
| OuterSP - 各ユーザーの連絡先情報を取得 | InputCollection | var.GetUsers |
| OuterSP - 各ユーザーの連絡先情報を取得 | Iterator Item | iterator.item.gid |
| InnerSP - 各連絡先のすべてのメールを取得 | InputCollection | iterator[0].item.contactArray |
| InnerSP - 各連絡先のすべてのメールを取得 | Iterator Item | iterator[1].item.ContactId |
| メールを送信 | InputCollection | iterator[1].item.EmailArray |
| メールを送信 | Iterator Item | iterator[2]item.emailAddress |