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