BPELプロセスでのパラレル・フローの概要

BPELプロセスでは、複数の非同期ソースからの情報の収集が必要になる場合があります。各コールバックに要する時間(時間数または日数)は明らかでないため、各サービスを一度に1つずつコールするのでは時間がかかりすぎることがあります。複数のコールを1つのパラレル・フローに分解することにより、BPELプロセス・サービス・コンポーネントは複数のWebサービスを同時に起動し、レスポンスが到着するたびに受信できます。この方法は時間の節約に効果的です。

図10-1は、名前がRetrieve_QuotesFromSuppliersであるflowアクティビティを示します。「Retrieve_QuotesFromSuppliers」flowアクティビティは、次の2つのサプライヤに注文情報をパラレルで送信します。

  • 社内倉庫(InternalWarehouseService)

  • 外部パートナ倉庫(PartnerSupplierMediator)

2つの倉庫は、注文に対する入札をflowアクティビティに返します。ここでは、2つの非同期コールバックがパラレルで実行されます。一方のコールバックは、もう一方のコールバックが先に完了するまで待機する必要がありません。各レスポンスは異なるグローバル変数に格納されます。

図10-1 パラレル・フローの起動

図10-1の説明が続きます
「図10-1 パラレル・フローの起動」の説明