BPELプロセスでのイベントとタイムアウトの使用

非同期Webサービスは通常、応答を返すのに長い時間がかかるため、BPELプロセスサービスコンポーネントはタイムアウトするか、待機をあきらめて、一定時間後に残りのフローを続行できる必要があります。ピックアクティビティを使用して、BPELフローを設定し、指定された時間待機するか、その職務を継続することができます。時間の有効期限を設定するには、待機アクティビティを使用できます。メッセージを管理するために、特にビジネスプロセスがパートナーWebサービスからのコールバックを待機しているときにイベントを使用できます。

イベント

BPELは2種類のイベントをサポートしています-

メッセージイベント

これらのイベントは、ポートタイプでの操作呼び出しを介した着信メッセージによってトリガーされます。

アラームイベント

これらのイベントは時間に関連しており、特定の期間の後または特定の時間にトリガーされます。

  • ただし、多くの場合、1つだけが発生する複数のメッセージを待つ方が便利です。

  • アラームイベントは、プロセスが15分などの特定の期間コールバックを待機する場合に役立ちます。

    • コールバックが受信されない場合、プロセスフローは設計どおりに続行されます。

    • 疎結合のサービス指向アーキテクチャーで役立ちます。このアーキテクチャーでは、Webサービスが常に利用可能であるとは限りません。

アクティビティを選択

ピックアクティビティには2つのブランチがあります-

  • onMessage −このブランチのコードは、タイムアウトが追加される前に応答を受信するためのコードと同じです。

  • onAlarm −この条件には、1分のタイムアウトのコードがあります。

アクティビティを待つ

待機アクティビティを使用すると、プロセスは特定の期間、または制限時間に達するまで待機できます。有効期限基準の1つを正確に指定する必要があります。