ルール評価の最適化

ビジネス・ルールには、様々なオブジェクトの属性間の複雑な相互作用が含まれます。これらの相互作用は、反復的な性質のものもあります。このようなルールによって多数のオブジェクト(または子ファクト)が作成される際には、直積条件が発生します。これにより、ルールの評価中にパフォーマンスの問題が発生します。

親属性と子属性が同じルール内で使用される場合に、ルール評価を最適化することにより、これらの問題を回避します。子属性と孫属性を使用してルールを構成する場合は、属性間の関係を確立する必要があります。明細属性と配分属性の両方を使用してルールを構成する場合は、親属性と子属性の関係を確立してください。これにより、明細条件を満たす明細の配分のみが評価されます。このような関係が確立されていない場合は、ルール条件に一致するすべての明細について、請求書全体のすべての配分が評価されます。

資産支出が5000ドルを超える請求書が購買オーダーと一致する場合に、それらすべての請求書を財務部門が承認することを承認ポリシーで義務づけているような組織を考えてみます。資本支出は特定の勘定科目に請求されます。そのような請求書については、次の条件を確認するルールをワークフロー管理者が構成する必要があります:

  • 請求書金額が5000を超えている。

  • 請求書明細が購買オーダーと一致する。

  • 関連明細の請求書配分勘定が資産支出勘定番号を参照している。

基本モードでは、関係を確立する追加の条件がなくても、親(請求書明細)属性と子(請求書明細配分)属性の両方が同じルール内に存在できます。

基本ルールが検証される際には、親属性と子属性の間に結合条件が存在するかどうかがBPMによりチェックされます。関係が存在しないと、ルール構成が非効率的なルール評価で終了したというメッセージがビジネス・ルール検証で表示されます。メッセージ・リンクをクリックして、欠落している結合条件を追加できます。

メッセージ・リンクをクリックすると、「ルール推奨事項」ダイアログ・ボックスに2つのオプションが表示されます。次の表は、オプションとそれらを選択したときの影響を示しています:

オプション

影響

親ファクトと子ファクトの間に「次を含む」条件を自動的に追加して、ルール定義を最適化します

このオプションを選択すると、親属性と子属性の間に結合条件が自動的に追加されます。

親ファクトと子ファクトの間に結合条件を追加して、基本モードでルールを編集してルール定義を最適化します。または、ルールを拡張モードに変更して、ルール定義を最適化します。

このオプションを選択すると、問題のあるルールおよび条件が表示されます。結合条件を手動で追加するか、ルールを拡張モードに変更できます。

いずれかのオプションを選択して、親属性と子属性の関係を確立できます。その後、BPMがルールを検証して保存します。