Pegaアプリケーションの並列処理
1つのステージで複数のプロセスが並行して実行されるよう構成できます。 この構成により、ユーザーは個別に作業を行い、ステージのワークを完了させることができます。 たとえば、Recruitmentステージでは、候補者を面接するためのプロセスを含めることができます。 同じステージで、候補者の職歴を検証するプロセスを含めることができます。 どちらのプロセスも個別に開始して完了できます。 面接と職歴の検証が完了すると、ケースは次のステージに移行します。
より複雑な並列処理の要件については、Pegaでは「Split Join」シェープ、「Split For Each」シェープ、および「Subprocess」シェープのspinoffオプションを用意しています。
シェープを追加するプロセスをメインプロセスと呼びます。 シェープは、並行して進行する1つ以上のサブプロセスを呼び出します。
補足: ロック戦略を見直し、複数ユーザーのロック戦略への切り替えを検討しましょう。同時アクセスが発生した場合、他のユーザーが同時に変更を加えると、ユーザーは割り当てを更新する必要があるかもしれません。ケースロックについては、このミッションの後の方で詳しく説明します。
Split Join
「Split Join」シェープを使用すると、並行処理され、後で再結合される複数の独立したプロセスを呼び出せます。 次の画像は、「Split Join」シェープのプロセスフローを示します。
たとえば、住宅ローンの申請プロセスでは、ユーザーが住宅購入者の信用履歴を検証する必要があります。 同時に、別のユーザーが所有権検索を行う必要があります。 この2つのプロセスは関連しておらず、個別に並行して進行するサブプロセスで実行できます。 サブプロセスが完了すると、メインの住宅ローン申請プロセスを続行できます。 これは、ケースライフサイクルにおける並列処理と同様に、あるステージのすべてのプロセスが完了すると、ケースは次のステージに移行するか、または完了します。
しかし、「Split Join」シェープでは、プライマリプロセスがいつ続行できるかを決定する結合条件を柔軟に使用できます。 結合条件は、When条件やカウントがフローを再開するタイミングを決定するために、繰り返し実行できます。 たとえば、「Split Join」に、3つの別々の承認サブプロセスが含まれているとします。 3つの承認のうち2つだけが完了すればメインフローを再開するように指定できます。
Split For Each
「Split For Each」シェープでは、ページリストやページグループに格納されている一連のレコードを反復して処理することで、1つのサブプロセスを複数回実行できます。 リストのアイテムがプロセスされると、メインのフローが続行されます。 次の画像は、「Split For Each」シェープを持つプロセスフローを示しています。
たとえば、ベンダーのリストを繰り返し処理し、リスト上の各ベンダーに見積もりのリクエストを送信するためにSplit For Eachを使用できます。 Split Joinと同様に、結合条件を使用して、プライマリプロセスが再開するタイミングをコントロールできます。 Iterate結合条件を使用すると、ページグループまたはページリストプロパティの要素のフローを1つずつ開始し、テスト条件を構成して、続行するかどうかを判定できます。
Spinoff
「Subprocess」シェープのspinoffオプションでは、メインフローと並行してサブプロセスを実行できます。 メインプロセスは、サブプロセスが完了するのを待たずに先に進みます。 サブプロセスがメインプロセスに再結合されることはありません。 次の画像は、Spinoffオプションを有効にした「Subprocess」シェープを持つプロセスフローを示します。
たとえば、顧客が注文したときに商品の在庫が少ない場合、サプライヤーに再注文するサブプロセスをスピンオフします。 メインプロセスはサブプロセスの影響を受けずに継続します。 spinoffオプションは、「Subprocess」シェープの高度な機能であり、フロー図でアクセスします。
次の問題に答えて、理解度をチェックしましょう。
このトピックは、下記のモジュールにも含まれています。
- 並列処理 v6
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。