
ルールレゾリューションプロセス
ルールレゾリューションプロセス
Pega Platform™は、最も適切な実行ルールを特定するために、ルールレゾリューションを使用します。
Pega Platformアプリケーションでルールが参照されると、ルールレゾリューションはルールキャッシュに存在するルールの適切なインスタンスを探します。 Pega Platformは、特定の目的に対して、特定のユーザーのニーズを満たすために最も適切なルールを選択するため、多段階プロセスを使用します。
下図の+アイコンをクリックすると、ルールレゾリューションプロセスの詳細が表示されます。
ルールキャッシュ内のルール候補
ルールに対してルールレゾリューションがすでに実行されている場合、ルールキャッシュにはすべてのルール候補のリストがあります。 例えば、参照されているルールは、Purchase RequestケースのCreateRequestというセクションルールです。 リクエスター(当該ケースを担当しているユーザー)のルールセットスタックには、Purchasing:02-01-05ルールセットがあります。
Pega PlatformはRules Cacheを検索して、対象となるルールのすべてのルール候補のリストを探します。
ルールキャッシュには3つのルール候補があります。
ルール候補のベストマッチ
このステップでは、ルールレゾリューションアルゴリズムが、どのルール候補が最初にベストマッチするかを決定します。 最初のベストマッチは、プロパティや日付の状況が完全に一致した場合、または状況が完全に一致しない場合のデフォルトルールによって決定されます。
これらの条件のいずれかに一致するルールが見つかった場合、ルールレゾリューションアルゴリズムは、リスト内の次のルールが同様に正しいかどうかを確認します。 その後も一致するものがあれば、Pega Platformは重複したルールがあるというメッセージを送信し、処理を停止します。 他にマッチするものがない場合、Pega Platformはリストされた条件にマッチしたルールの使用を準備します。
この例では、Purchase Requestケースの.Supplierの値がOpenに設定されています。 最初の条件である「.Supplier=Restricted」が満たされていないため、ルール候補はスキップされ、Pega Platformはリストの次のルールに移動します。
下図の中央にある縦線をドラッグすると、スキップされたルール候補が表示されます。
次のルール候補には日付範囲が定義されているので、Pega Platformはこの日付範囲を現在のシステムの日付と比較します。
例では、次の条件は、Before 01 June, 2019と指定された日付範囲です。 現在のシステムの日付が2019年8月15日と仮定します。
日付範囲の条件が満たされていないので、そのルールの候補はスキップされ、Pega Platformはリストの次のルールに移動します。 次のルール候補には修飾子がないため、システムはこのルールを選択します。
下図の中央にある縦線をドラッグすると、スキップされたルール候補が表示されます。
ルールの可用性
この手順では、ルールレゾリューションアルゴリズムは、ルールのAvailabilityが「Blocked」に設定されているかどうかを確認します。 ルールがブロックされている場合は、実行が停止され、ログファイルにエラーメッセージが追加されます。
この例では、ルール候補の可用性が「Available」に設定されているため、ルールの実行が可能であると考えられます。
ユーザー認証
この最後のステップでは、ルールレゾリューションアルゴリズムは、ユーザーが選択されたルールにアクセスする権限を持っているかどうかを検証します。 選択されたルールで必要とされるすべての権限をユーザーが持っている場合、そのルールが実行されます。 ユーザーがルールに必要な権限を持っていない場合、Pega Platformはルールの実行が許可されていないというメッセージを送信します。
このルールには必要な権限が記載されていないため、ルールが選択されて実行されます。
次の問題に答えて、理解度をチェックしましょう。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。