Java CAPS ビジネスプロセスの構成

相関の例

この例では、ビジネスプロセスが、学生に以降の学習を許可するために 3 つのコース成績を受信することを予期しています。これらのコースは、数学、英語、およびコンピューター科学です。各メッセージには、コース成績、コースタイプ、およびメッセージの所属先を示す相関 ID が含まれています。

相関 ID である 101 を含む新しいメッセージが着信します。最初に、新しく到着したメッセージに関して一致が存在するかどうかを確認するために、BPM はこのメッセージの相関を取ります。これは最初のメッセージであるため、一致は検出されず、新しいインスタンスが作成されます。2 番目のメッセージには相関 ID である 101 が含まれています。BPM がこのメッセージの相関を取り、一致が検出されるため、このメッセージは最初のメッセージと同じビジネスインスタンスに転送されます。3 番目のメッセージには相関 ID である 102 が含まれています。相関の一致が存在しないため、このメッセージは新しいビジネスインスタンスに転送されます。この処理が、各コースタイプの成績が受信されるまで続きます。

このプロセスは、カウントまたは有効期限に基づいて設定された条件に応じて続行されます。メッセージの相関に関するビジネスプロセスのサンプルを次に示します。メインのビジネスプロセスは、File eWay を使用して DTD ベースのメッセージを読み取り、このメッセージをアンマーシャルしたあと、サブプロセスを呼び出してこのアンマーシャルされたメッセージを渡します。

このサブプロセスは、イベントベースの決定と while ループ内のタイマーイベントを使用して、アンマーシャルされたメッセージを受信します。while ループは、指定されたカウントに達するか、または期限切れになるまで続行されます。メッセージが受信されると、それらのメッセージは、要件が満たされるまでコンテナに格納されます。

タイマーイベントによって有効期限が設定されます。期限切れになった場合は、ループ条件が false に設定されてループが終了します。メッセージが受信された場合は、メッセージカウンタが増分され、メッセージの最大数が受信された場合は、ループが終了します。処理が完了すると、日付がファイルに書き込まれます。