パラレル・アクションを使用したタスクのパラレル処理
パラレル・アクションを使用してタスクを並行して処理し、統合のパフォーマンスとレスポンス時間を向上させることができます。 パラレル・アクションを使用すると、統合のパスを複数のブランチに分割できます。 各分岐は互いに独立しているため、並行して処理されます。 メッセージは、各サービス・エンドポイントにパラレルに送信されます。
すべてのタスクが完了すると、すべてのブランチはパラレル・アクションの終了ポイントで自動的に同期およびマージされ、統合のメイン・パスが再開されます。 パラレル・ブランチ内に作成された変数(レスポンスの起動など)は、メイン・パスで使用できます。
パラレル・アクションのビデオ・デモをご覧いただけますか。
ユースケース
- オーダー処理統合には、在庫、顧客与信および法的制約をチェックするための個別のタスクが含まれます。 これらのタスクは並行して処理されるため、レスポンス時間が短縮されます。
- 統合により、サプライヤから品目の最低価格が取得されます。 統合では、3つのサプライヤの価格がチェックされ、最適なオファーが提示されます。 3つの価格チェックは互いに独立しているため、並行して実行されます。 3つのサプライヤが応答すると、ブランチは終了します。 3つの価格が最低価格と比べられます。 次に、統合は、そのサプライヤとオーダーすることでメイン・パスを続けます。
- 統合では、在庫と法的なパースペクティブの両方から着信オーダーが処理されます(たとえば、製品を顧客の国に出荷できます)。 両方のチェックが並行して実行されます。
ガイドラインと制限
- パラレル・アクションに対して最大5つのブランチを作成できます。 「アクション」
を選択し、パラレル・アクションで「追加」を選択して6番目のブランチを作成しようとすると、選択が無効になります。
- 統合に含めることができるパラレル・アクションの数に制限はありません。
- 同期および非同期の統合がサポートされています。
- 別のパラレル・アクション内にパラレル・アクションを追加することはできません。
- パラレル・アクションは、アプリケーション統合およびスケジュール統合で使用できます。
- パラレル・アクション・ブランチでは、マップ、スコープ、スイッチ、ロガー、JavaScript、B2Bおよび通知アクションと呼出し接続のみがサポートされます。
- ピック処理の分岐にパラレル処理を追加できます。
- パラレル・アクションをスコープ内に追加し、アクションを切り替えることができます。
- for-eachアクションでのパラレル・アクションのネストはサポートされていませんが、アクションまたはチャンクを含むステージング・ファイル・アクションはサポートされていません。
- 独立したブランチ固有の障害処理はサポートされません。 グローバル・フォルト・ハンドラを使用して、統合レベルでフォルトを捕捉できます。
- グローバル変数の同期はサポートされていません。
- ブランチ固有のタイムアウトはサポートされていません。
設計時の動作
次の例は、特定のパラレル・アクションの設計方法の概要を示しています。 これは、パラレル・アクションの使用例にすぎません。
- 次のいずれかの方法で、統合にパラレル・アクションを追加します:
- キャンバスの横にある「アクション」
をクリックし、「パラレル」アクションを適切なロケーションにドラッグします。
- パラレル・アクションを追加するロケーションの
をクリックし、「パラレル」を選択します。
2つのブランチを持つパラレル・アクションが作成されます。

- キャンバスの横にある「アクション」
- 「アクション」
を選択して、次のタスクを実行します。
- 編集: パラレル・アクションの名前を変更します。
- 追加: ブランチをさらに追加します。 最大5つのブランチを追加できます。
- 削除: パラレル・アクションを削除します。
- 縮小/展開: パラレル・アクションを縮小または展開します。
- 切取り: パラレル・アクションを切り取って、統合の他の場所に貼り付けます。 既存のマップ/呼出しを新しいパラレル・ブランチにカット・アンド・ペーストして、それらをパラレルに処理することもできます。 パラレル・アクションの個々のブランチを切り取って、別のパラレル・アクションに貼り付けることはできません。
「統合キャンバスでの要素の切取りと貼付け」を参照してください。
この例では、3番目のブランチが追加されています。

この例では、3つのブランチは、3つのサービス・エンドポイントからローン・オファーを取得し、最適なものを選択するように設計されています。
- 3つのRESTアダプタ接続を追加して構成し、次のサービス・エンドポイントを起動します。 実行時に、3つのローン・サービス・エンドポイントすべてが並行して起動され、特定のローン・オファーが識別されます。
- アメリカン・ローン
- ユナイテッド・ローン
- スター・ローン
- 各起動アクションのマッパーで、SSNをそのサービス・エンドポイントのローン・アプリケーションにマップします。

下部にある3つのブランチは終了ポイントで同期され、パラレル・アクションは統合のメイン・ブランチに再結合されます。 メイン統合は、すべてのブランチが完了するまで続行されません
- ローン・サービス・エンドポイントから返された最善オファーをチェックするルーティング・ルールを定義する切替えアクションを追加します。

- 各スイッチ・ブランチのログ・アクションでメッセージを定義します。


完了後、統合は次のようになります。

これで、統合をアクティブ化および起動する準備ができました。
ランタイム動作
- 2つのブランチを持つ1つのパラレル・アクション
- 3つのブランチを持つ2番目のパラレル・アクション

- 統合のインスタンスを起動し、Instancesページに移動します。
実行中、アクティビティ・ストリームには、パラレル・アクションとブランチ数の両方が表示されます。 この例では、両方のパラレル・アクションが正常に処理されました。

- 各ブランチを展開して、より具体的な詳細を表示します。