機械翻訳について

パラレル・アクションを使用したタスクのパラレル処理

パラレル・アクションを使用してタスクを並行して処理し、統合のパフォーマンスとレスポンス時間を向上させることができます。 パラレル・アクションを使用すると、統合のパスを複数のブランチに分割できます。 各分岐は互いに独立しているため、並行して処理されます。 メッセージは、各サービス・エンドポイントにパラレルに送信されます。

すべてのタスクが完了すると、すべてのブランチはパラレル・アクションの終了ポイントで自動的に同期およびマージされ、統合のメイン・パスが再開されます。 パラレル・ブランチ内に作成された変数(レスポンスの起動など)は、メイン・パスで使用できます。

パラレル・アクションのビデオ・デモをご覧いただけますか。

ユースケース

パラレル・アクションは、次のようなユースケースに役立ちます:
  • オーダー処理統合には、在庫、顧客与信および法的制約をチェックするための個別のタスクが含まれます。 これらのタスクは並行して処理されるため、レスポンス時間が短縮されます。
  • 統合により、サプライヤから品目の最低価格が取得されます。 統合では、3つのサプライヤの価格がチェックされ、最適なオファーが提示されます。 3つの価格チェックは互いに独立しているため、並行して実行されます。 3つのサプライヤが応答すると、ブランチは終了します。 3つの価格が最低価格と比べられます。 次に、統合は、そのサプライヤとオーダーすることでメイン・パスを続けます。
  • 統合では、在庫と法的なパースペクティブの両方から着信オーダーが処理されます(たとえば、製品を顧客の国に出荷できます)。 両方のチェックが並行して実行されます。

ガイドラインと制限

  • パラレル・アクションに対して最大5つのブランチを作成できます。 「アクション」 「アクション」アイコンを選択し、パラレル・アクションで「追加」を選択して6番目のブランチを作成しようとすると、選択が無効になります。
  • 統合に含めることができるパラレル・アクションの数に制限はありません。
  • 同期および非同期の統合がサポートされています。
  • 別のパラレル・アクション内にパラレル・アクションを追加することはできません。
  • パラレル・アクションは、アプリケーション統合およびスケジュール統合で使用できます。
  • パラレル・アクション・ブランチでは、マップ、スコープ、スイッチ、ロガー、JavaScript、B2Bおよび通知アクションと呼出し接続のみがサポートされます。
  • ピック処理の分岐にパラレル処理を追加できます。
  • パラレル・アクションをスコープ内に追加し、アクションを切り替えることができます。
  • for-eachアクションでのパラレル・アクションのネストはサポートされていませんが、アクションまたはチャンクを含むステージング・ファイル・アクションはサポートされていません。
  • 独立したブランチ固有の障害処理はサポートされません。 グローバル・フォルト・ハンドラを使用して、統合レベルでフォルトを捕捉できます。
  • グローバル変数の同期はサポートされていません。
  • ブランチ固有のタイムアウトはサポートされていません。

設計時の動作

次の例は、特定のパラレル・アクションの設計方法の概要を示しています。 これは、パラレル・アクションの使用例にすぎません。

  1. 次のいずれかの方法で、統合にパラレル・アクションを追加します:
    • キャンバスの横にある「アクション」 統合アクション・アイコンをクリックし、「パラレル」アクションを適切なロケーションにドラッグします。
    • パラレル・アクションを追加するロケーションの「追加」アイコンをクリックし、「パラレル」を選択します。

    2つのブランチを持つパラレル・アクションが作成されます。


    この図は、2つのブランチを持つトリガー、マップ、起動、パラレル・アクションを示しています。

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

      「統合キャンバスでの要素の切取りと貼付け」を参照してください。

    この例では、3番目のブランチが追加されています。


    パラレル・ブランチには、ブランチ1、ブランチ2、およびブランチ3が含まれます。 各ブランチには、他のタスクを実行するためのアクション(…)メニューがあります。

    この例では、3つのブランチは、3つのサービス・エンドポイントからローン・オファーを取得し、最適なものを選択するように設計されています。

  3. 3つのRESTアダプタ接続を追加して構成し、次のサービス・エンドポイントを起動します。 実行時に、3つのローン・サービス・エンドポイントすべてが並行して起動され、特定のローン・オファーが識別されます。
    • アメリカン・ローン
    • ユナイテッド・ローン
    • スター・ローン
  4. 各起動アクションのマッパーで、SSNをそのサービス・エンドポイントのローン・アプリケーションにマップします。


    パラレル・ブランチには、ブランチ1、ブランチ2、およびブランチ3が含まれます。 各ブランチ内には、マップ・アクションと起動アクションがあります。 3つの枝が底に集まる。

    下部にある3つのブランチは終了ポイントで同期され、パラレル・アクションは統合のメイン・ブランチに再結合されます。 メイン統合は、すべてのブランチが完了するまで続行されません

  5. ローン・サービス・エンドポイントから返された最善オファーをチェックするルーティング・ルールを定義する切替えアクションを追加します。


    切替えアクションのルーティング・ルールが表示されます: 4月< 4月および4月< 4月。

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


    ロガー・メッセージが表示されます: concat(string('loanOffer-providerName='),providerName)


    この図は、3つのブランチ(ルート1、ルート2およびその他ブランチ)があるスイッチを示しています。 各スイッチにはロガー・アクションが含まれています。 統合の最後に終了アイコンが表示されます。

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

    この図は、完成した統合を示しています。 これは、トリガー、マップ、起動、3つのブランチ(マップと起動で構成される各ブランチ)を持つパラレル・アクション、および3つのブランチ(ルート1、ルート2、その他ブランチ)を持つスイッチで構成されます。 各スイッチにはロガー・アクションが含まれています。 統合の最後に終了アイコンが表示されます。

    これで、統合をアクティブ化および起動する準備ができました。

ランタイム動作

実行中にアクティビティ・ストリームのパラレル分岐のステータスを表示できます。 たとえば、統合が次のように設計されているとします:
  • 2つのブランチを持つ1つのパラレル・アクション
  • 3つのブランチを持つ2番目のパラレル・アクション


このイメージは、トリガー、マップ、起動、2つのブランチ(マップと起動で構成される各ブランチ)を持つパラレル・アクション、および3つのブランチ(起動で構成される各ブランチ)を持つ2番目のパラレル・アクションとの統合を示しています。 この下にはマップがあります。

  1. 統合のインスタンスを起動し、Instancesページに移動します。

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


    アクティビティ・ストリームには、トレース・レベルが本番に設定されています。 右側に3つのアイコンが表示されます。 ストリームには、2つのブランチを持つパラレル・アクションの拡張可能なエントリと3つのブランチを持つパラレル・アクションを含む、主要なマイルストンが表示されます。

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