UiPath Documentation
maestro
2.2510
true
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

サブプロセスとモジュール性

BPMN サブプロセスを使用すると、関連するアクティビティをグループ化して、ダイアグラムの複雑さを軽減し、Maestro で再利用可能なモジュール式のプロセス構造を構築できます。

サブプロセスは、関連するアクティビティを再利用可能な 1 つの構造にグループ化することで、モデルをわかりやすくするのに役立ちます。ダイアグラムの複雑さを軽減し、ビジネス ロジックを分離して、再利用を促進します。

BPMN では、サブプロセスはインラインで (同じダイアグラム内の折りたたみまたは展開)、または再利用可能なコール アクティビティとしてモデリングできます。

Maestro では、サブプロセスについて以下の点に留意してください。

  • インラインのサブプロセス (折りたたみまたは展開) は、同じダイアグラム内でロジックをグループ化および構造化する場合にサポートされます。
  • コール アクティビティは、別個のエージェンティック プロセス (プロジェクト) を呼び出す場合にサポートされます。
  • 同じプロジェクトからの別の BPMN ファイルの呼び出しはサポートされません。複数のプロセスにわたる再利用可能なロジックの場合は、別個のエージェンティック プロセスを作成し、コール アクティビティを使用してそのプロセスを呼び出します。
  • コール アクティビティを使用する場合、呼び出し元のプロセスは、明示的に定義されたパラメーターを介して入力を渡し、出力を受け取ります。

コール アクティビティを使用する理由​

コール アクティビティは、プロジェクトまたは環境内の別の場所で定義されたサブプロセスを参照します。このアクティビティは再利用可能な関数のように動作し、以下の方法でプロセス モデリングを改善します。

  • ダイアグラム間の重複の削減
  • 再利用可能なロジックの分離 (承認、検証、送信など)
  • 主要なダイアグラムの簡潔さの維持
  • プロセス バリアント間で一貫した動作をサポート

サブプロセスのモデル化方法​

Maestro では、次の 2 つの方法でサブプロセスをモデリングできます。

  • インラインのサブプロセス (同じダイアグラム内の折りたたみまたは展開)
  • 再利用可能なサブプロセス (コール アクティビティを使用)

インラインのサブプロセスをモデリングする​

インラインのサブプロセスは、同じプロセス インスタンス内の関連するステップをグループ化する場合に使用します。

  1. BPMN ダイアグラムにサブプロセス要素を挿入します。
  2. 折りたたみビューまたは展開ビューのどちらでプロセスを表示するかを選択します。
  3. 内部ロジックをサブプロセス内に直接モデリングします。
  4. サブプロセスを使用して、関連するステップをグループ化しながら、メイン ダイアグラムの可読性を維持します。

インラインのサブプロセスは、同じプロセス インスタンス内で実行され、同じ実行コンテキストを共有します。

コール アクティビティを使用して再利用可能なサブプロセスをモデリングする​

コール アクティビティは、複数のプロセスでロジックを再利用する場合に使用します。

  1. 再利用可能なロジックを含む別個のエージェンティック プロセス (プロジェクト) を作成します。
  2. 親ダイアグラムで、コール アクティビティを挿入します。
  3. 呼び出す対象のエージェンティック プロセスを選択します。
  4. 親プロセスと呼び出されるプロセスとの間でデータを交換するための入力変数と出力変数を設定します。

コール アクティビティは、別のエージェンティック プロセス インスタンスを呼び出します。親プロセスと呼び出されるプロセスとの間で明示的にデータをマッピングする必要があります。

モデリングの例​

ユース ケース: オンボーディング ワークフローでは、従業員とベンダーの両方のオンボーディング プロセスで同じ Collect Documents サブプロセスを使用します。ステップを複製する代わりに、同じサブプロセスを参照する各親プロセスにコール アクティビティが追加されます。

ユース ケース: このサブプロセスの例は、Maestro での条件付きファイルのダウンロードとアップロードのワークフローを示しています。プロセスはメッセージ開始イベントで始まり、排他的ゲートウェイを使用して分岐します。

条件に応じて、メールの添付ファイルまたはレコード フィールドのファイルをダウンロードします。両方のパスが「ファイルをアップロード」タスクで合流し、その後に「Sub-Process1」という名前のサブプロセス要素が続きます。このサブプロセスは、ワークフローを完了する前に、アップロード後のアクションをカプセル化します。

命名規則​

サブプロセスとコール アクティビティの名前を付ける際は、以下の点に留意してください。

  • 専門用語ではなく、ビジネス用語を使用する
  • 結果を説明する (例: 「Form Step 2」ではなく「Collect Customer Data」)
  • サブプロセスがタスクを実行する方法ではなく、実行する対象を反映する。
  • 参加者レーンはサブプロセス内ではサポートされない

サポート対象外​

  • 同じプロジェクト内での別個の BPMN ファイルの呼び出しはサポートされません。
  • 複数のプロセスにわたる再利用可能なロジックの場合は、別個のエージェンティック プロセス (プロジェクト) を作成し、コール アクティビティを使用してそのプロセスを呼び出します。
  • アドホックなサブプロセスはサポートされていません。
  • プロセスの境界を越える暗黙的な変数の共有はサポートされていません。データは、入力/出力バインディングを使用して明示的にマッピングする必要があります。
  • 参加者レーンはサブプロセス内ではサポートされない

マルチインスタンス マーカー​

インラインのサブプロセスはマルチインスタンス実行をサポートします。

コール アクティビティも、別個のエージェンティック プロセスを呼び出す場合にマルチインスタンス実行をサポートします。

アドホックなサブプロセスとイベント サブプロセスはサポートされていません。

ネストしたマーカー​

ネストする反復子として、次の文字列変数がサポートされています。

カテゴリ (Category)属性利用方法/アクセス方法
OuterSP - 各ユーザーの連絡先情報を取得InputCollectionvar.GetUsers
OuterSP - 各ユーザーの連絡先情報を取得Iterator Itemiterator.item.gid
InnerSP - 各連絡先のすべてのメールを取得InputCollectioniterator[0].item.contactArray
InnerSP - 各連絡先のすべてのメールを取得Iterator Itemiterator[1].item.ContactId
メールを送信InputCollectioniterator[1].item.EmailArray
メールを送信Iterator Itemiterator[2]item.emailAddress

Maestro でサポートされる BPMN 要素について詳しくは、「BPMN でサポートされている要素」をご覧ください。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得