- はじめに
- Maestro のランディング ページ
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- ライセンス
- 参考情報

Maestro ユーザー ガイド
ゲートウェイ
linkゲートウェイは、プロセスのフローを制御します。実行するパスを決定するための条件ロジックを設定できます。パスを描画した状態で、パス線を使用するかゲートウェイ上に直接記述することで条件ロジックを設定できます。ゲートウェイについて詳しくは、こちらをご覧ください。
排他的ゲートウェイ
linktrue
と評価された条件に従います。
- どの条件も
true
と評価されず、既定のパスが定義されている場合、プロセスは既定のパスをたどります。 - どの条件も
true
にならず、既定のパスも定義されていない場合、プロセスの実行は失敗します。
既定のパスを定義する
<exclusiveGateway>
要素の default
属性を使用して指定します。
マージ動作
排他的ゲートウェイでは、1 件の入力実行を待機したうえで実行を続行します。このゲートウェイは判断ポイントとして機能し、いくつかの可能なパスのうち、1 つのみで実行を続行できるようにします。
セクション | フィールド | 説明 |
---|---|---|
全般 | 名前 | ダイアグラムでゲートウェイを識別するためのラベル。任意ですが、モデルのわかりやすさが向上します。 |
全般 | 説明 | ゲートウェイの背後にある目的またはロジックをドキュメント化するためのフリー テキスト フィールド。デザインのレビューや共同作業に役立ちます。 |
条件 | (ラベル グループ) | [条件] の下にある各グループは、ゲートウェイからの 1 つの出力パスを表します。各パスには独自のロジックがあります。 |
条件 | ラベル | 条件パスの表示名。これはダイアグラム上に表示され、ユーザーが分岐ロジックを理解するのに役立ちます。 |
条件 | 既定のパスにする | 他のどの条件も true と評価されない場合にフォールバックとしてこのパスを定義するトグル。既定としてマークできるパスは 1 つだけです。 |
条件 | 条件 | このパスを使用するかどうかを決定する式。例: vars.error_1 != null && vars.retryCount < 3 。条件は順番に評価されます。
|
- たどる条件パスは 1 つだけです。条件が
true
に評価されるとすぐに、他のすべての条件は無視されます。 - 順序が重要です。条件は順番に評価され、最初に一致した条件によって、パスが決まります。
- 既定のパスは任意ですが、推奨します。
true
と評価される条件がなく、既定値が設定されていない場合、プロセス インスタンスは実行時に失敗します。 - 式の構文: Maestro では JavaScript に似た構文が使用されます。プロセス変数は
vars.
を使用して参照できます (例:).vars.status == "error"
vars.status == "error"
包括的ゲートウェイ
linktrue
と評価された条件に応じて、複数の出力パスを並行してたどることができます。
- 条件が
true
と評価されたすべての出力パスをプロセスが並行してたどります。 - 選択したパスごとに 1 件の同時実行が作成されます。
- 包括的ゲートウェイは、アップストリームでアクティブ化されたすべての入力シーケンス フローから実行が到着するまで待機します。
- 想定されたすべてのトークンが到着すると、それらを結合したうえでプロセスを続行します。
包括的ゲートウェイのプロパティ
Maestro の包括的ゲートウェイを使用すると、プロセスは複数の出力条件を評価し、どの条件が true であるかに応じて 1 つ以上のパスを同時にたどることができます。
セクション | フィールド | 説明 |
---|---|---|
全般 | 名前 | ダイアグラム上でゲートウェイを識別するために使用されるラベル。これは任意ですが、複雑なモデルをわかりやすくするために指定することを推奨します。 |
全般 | 説明 | ゲートウェイの目的またはロジックを記述するための任意のメタデータ。これは、設計やレビューに役立ちます。 |
条件 | (ラベル グループ) | [条件] の下にある各グループは、出力シーケンス フローを表します。複数のシーケンス・フローを独自の条件で定義できます。 |
条件 | ラベル | 特定の条件またはパスのユーザー定義名。このラベルはダイアグラム上に表示され、分岐の背後にあるロジックを説明するのに役立ちます。 |
条件 | 条件 | このパスを使用するかどうかを判断するために実行時に評価される実際の式。Maestro では、vars.error_1 == null などの式を使用してプロセス変数をチェックします。
|
- 複数のパスをたどることができます。2 つ以上の条件が
true
に評価された場合、包括的ゲートウェイによって、一致するすべてのパスが並行してアクティブ化されます。 - 条件は省略可能です。条件が定義されていない場合は、すべての出力フローが実行されます。
- 少なくとも 1 つのパスが一致する必要があります。条件が考えられるすべてのケースをカバーしていることを確認するか、無条件フローを使用して既定のパスを定義する必要があります。
- 構文: 条件は Maestro の式構文を使用して記述されます。
Maestro の式構文では、
==
、!=
、比較、論理演算子がサポートされています。 以下に例を示します。vars.amount > 1000 && vars.region == "EU"
vars.amount > 1000 && vars.region == "EU"
並列ゲートウェイ
link並列ゲートウェイは次のいずれかに使用します。
- フォーク: プロセスを複数の並列パスに分割します。何の条件も必要とせずに、すべての出力パスがたどられます。
- 結合: 複数の並列パスを 1 つのフローに結合します。ゲートウェイでは、すべての入力実行を待機したうえで以降の処理を続行します。
並列ゲートウェイのプロパティ
Maestro の包括的ゲートウェイを使用すると、プロセスは複数の出力条件を評価し、どの条件が true であるかに応じて 1 つ以上のパスを同時にたどることができます。
セクション | フィールド | 説明 |
---|---|---|
全般 | 名前 | ゲートウェイを識別するためにダイアグラムに表示される名前。これは任意ですが、複雑なフローをわかりやすくするのに役立ちます。 |
全般 | 説明 | ゲートウェイの目的または動作をドキュメント化するための任意のフリーテキスト フィールド。[プロパティ] パネルにのみ表示されます。 |
- 並列ゲートウェイは、フローを同時に実行される複数のブランチに分割したり、複数の入力パスを同期したりするために使用されます。
- 条件は必要ありません。すべての出力パスが同時にトリガーされます。
- 結合時に、ゲートウェイはすべての入力フローが完了するのを待ってから続行します。
- 一般的なユース ケースとしては、複数のタスクを並列で開始する場合や、完了後に並列ブランチを同期する場合などがあります。
イベント ベースのゲートウェイ
linkイベント ゲートウェイでは、複数の可能なイベントの 1 つを待機したうえで以降の処理を続行します。いずれかのイベントがトリガーされるまで、実行は一時停止します。各パスは、次のような中間キャッチ イベントで開始する必要があります。
- タイマー イベント
- メッセージ イベント
Maestro のアクションの種類: コネクタ イベントを待機
ユースケース: 結果が最初に到着したイベント (外部コールバックやタイムアウトなど) に依存するリアクティブ プロセス。
イベント ベースのゲートウェイのプロパティ
Maestro の包括的ゲートウェイを使用すると、プロセスは複数の出力条件を評価し、どの条件が true であるかに応じて 1 つ以上のパスを同時にたどることができます。
セクション | フィールド | 説明 |
---|---|---|
全般 | 名前 | ゲートウェイの表示名。これはダイアグラム上に表示され、ユーザーが分岐ロジックを識別するのに役立ちます。任意ですが、わかりやすくするのに役立ちます。 |
全般 | 説明 | イベント ベースのゲートウェイの目的または動作をドキュメント化するための任意のテキスト フィールド。共同作業や保守に役立ちます。 |
- イベント ベースのゲートウェイは、可能性のある複数のイベントのうちのいずれかが発生するまで待機します。
- 通常、その後にタイマー イベント、メッセージ イベント、シグナル イベントなどの中間キャッチ イベントが続きます。
- いずれかのイベントがトリガーされると、他のすべてのパスはキャンセルされます。
- 一般的に、次のステップが、どのイベントが最初に発生するか (ユーザーがフォームを送信する、タイムアウトが発生するなど) に依存するシナリオをモデリングするために使用されます。