BPELプロセスでのイベントとタイムアウトの使用
非同期Webサービスは通常、応答を返すのに長い時間がかかるため、BPELプロセスサービスコンポーネントはタイムアウトするか、待機をあきらめて、一定時間後に残りのフローを続行できる必要があります。ピックアクティビティを使用して、BPELフローを設定し、指定された時間待機するか、その職務を継続することができます。時間の有効期限を設定するには、待機アクティビティを使用できます。メッセージを管理するために、特にビジネスプロセスがパートナーWebサービスからのコールバックを待機しているときにイベントを使用できます。
イベント
BPELは2種類のイベントをサポートしています-
メッセージイベント
これらのイベントは、ポートタイプでの操作呼び出しを介した着信メッセージによってトリガーされます。
アラームイベント
これらのイベントは時間に関連しており、特定の期間の後または特定の時間にトリガーされます。
ただし、多くの場合、1つだけが発生する複数のメッセージを待つ方が便利です。
アラームイベントは、プロセスが15分などの特定の期間コールバックを待機する場合に役立ちます。
コールバックが受信されない場合、プロセスフローは設計どおりに続行されます。
疎結合のサービス指向アーキテクチャーで役立ちます。このアーキテクチャーでは、Webサービスが常に利用可能であるとは限りません。
アクティビティを選択
ピックアクティビティには2つのブランチがあります-
onMessage −このブランチのコードは、タイムアウトが追加される前に応答を受信するためのコードと同じです。
onAlarm −この条件には、1分のタイムアウトのコードがあります。
アクティビティを待つ
待機アクティビティを使用すると、プロセスは特定の期間、または制限時間に達するまで待機できます。有効期限基準の1つを正確に指定する必要があります。