Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Business Rules Framework bietet ein hocheffizientes Ableitungsmodul, das Regeln mit .NET-Objekten, XML-Dokumenten oder Datenbanktabellen verknüpfen kann.
Das Geschäftsregelmodul verwendet einen dreistufigen Algorithmus für die Richtlinienausführung. Diese Phasen lauten:
Spiel. In der Abgleichsphase werden Fakten mit den Prädikaten verknüpft, die den Faktentyp nutzen (Objektverweise, die im Arbeitsspeicher der Regelmaschine verwaltet werden), indem die in den Regelbedingungen definierten Prädikate verwendet werden. Aus Effizienzgründen erfolgt der Musterabgleich über alle Regeln in der Richtlinie, und Bedingungen, die über Regeln hinweg geteilt werden, werden nur einmal abgeglichen. Partielle Bedingungsvergleiche können im Arbeitsspeicher gespeichert werden, um nachfolgende Musterabgleichsvorgänge zu beschleunigen. Die Ausgabe der Musterabgleichsphase besteht aus Aktualisierungen der Regelmodulagenda.
Konfliktlösung. In der Konfliktlösungsphase werden die Regeln, die Kandidaten für die Ausführung sind, untersucht, um den nächsten Satz von Regelaktionen zu ermitteln, die basierend auf einem vordefinierten Lösungsschema ausgeführt werden sollen. Alle Kandidatenregeln, die während der Abgleichsphase gefunden wurden, werden der Agenda des Regelmoduls hinzugefügt.
Das Standardmäßige Konfliktlösungsschema basiert auf Regelprioritäten innerhalb einer Richtlinie. Die Priorität ist eine konfigurierbare Eigenschaft einer Regel im Business Rule Composer. Je größer die Zahl, desto höher ist die Priorität; Wenn daher mehrere Regeln ausgelöst werden, werden zuerst die Aktionen mit höherer Priorität ausgeführt.
Aktion: In der Aktionsphase werden die Aktionen in der aufgelösten Regel ausgeführt. Beachten Sie, dass Regelaktionen neue Fakten im Regelmodul geltend machen können, wodurch der Zyklus fortgesetzt wird. Dies wird auch als Weiterleitungskette bezeichnet. Es ist wichtig zu beachten, dass der Algorithmus die derzeit ausgeführte Regel niemals unterbricht. Alle Aktionen für die Regel, die derzeit ausgelöst wird, werden ausgeführt, bevor die Erkennungsphase wiederholt wird. Andere Regeln auf der Tagesordnung werden jedoch nicht angewendet, bevor die Spielphase erneut beginnt. Die Abgleichsphase kann dazu führen, dass diese Regeln von der Tagesordnung gestrichen werden, bevor sie jemals ausgelöst werden.
Das folgende Beispiel zeigt den dreistufigen Algorithmus aus Übereinstimmung, Konfliktlösung und Aktion.
Regel 1: Auswerten des Einkommens
Deklarative Darstellung:
Die Bonität eines Antragstellers sollte nur dann eingeholt werden, wenn die Einkommens-zu-Kredit-Quote des Antragstellers kleiner als 0,2 ist.
WENN – DANN Darstellung mit Geschäftsobjekten:
IF Application.Income / Property.Price < 0.2 THEN Assert new CreditRating( Application)Regel 2: Bewerten der Bonität
Deklarative Darstellung:
Ein Antragsteller sollte nur genehmigt werden, wenn die Bonität des Antragstellers mehr als 725 beträgt.
IF—THEN-Darstellung unter Verwendung von Geschäftsobjekten:
IF Application.SSN = CreditRating.SSN AND CreditRating.Value > 725 THEN SendApprovalLetter(Application)Die Fakten sind in der folgenden Tabelle zusammengefasst.
| Tatsache | Felder |
|---|---|
| Application – Ein XML-Dokument, das eine Kreditantragsanwendung für Privatkredite darstellt | - Einkommen = $ 65,000 - SSN = XXX-XX-XXXX |
| Eigenschaft – Ein XML-Dokument, das die erworbene Eigenschaft darstellt | - Preis = $ 225,000 |
| CreditRating – Ein XML-Dokument, das die Kreditwürdigkeit des Kreditantragstellers enthält | - Wert = 0 – 800 - SSN = XXX-XX-XXXX |
Anfangs sind der Arbeitsspeicher und die Agenda des Regelmoduls leer. Nachdem die Anwendung die Fakten zu Anwendung und Eigenschaft hinzugefügt hat, werden der Arbeitsspeicher und die Agenda des Regelmoduls wie folgt aktualisiert.
| Arbeitsspeicher | Tagesordnung |
|---|---|
| -Anwendung - Grundstück |
Regel 1 |
Regel 1 wird zur Tagesordnung hinzugefügt, da ihre Bedingung (Application.Income / Property.Price < 0.2) während der Übereinstimmungsphase auf true ausgewertet wurde. Es gibt keine CreditRating-Tatsache im Arbeitsspeicher, daher wurde die Bedingung für Regel 2 nicht ausgewertet. Da es sich bei der einzigen Regel in der Tagesordnung um Regel 1 handelt, wird die Regel ausgeführt und verschwindet dann von der Tagesordnung. Die für Regel 1 definierte Einzelaktion führt zu einer neuen Tatsache (CreditRating-Dokument für den Antragsteller), die dem Arbeitsspeicher hinzugefügt wird. Nach Abschluss der Ausführung von Regel 1 kehrt die Kontrolle in die Match-Phase zurück. Da das einzige Objekt, das abgeglichen werden muss, der Kreditbewertung-Fakt ist, sind die Ergebnisse der Abgleichphase wie folgt.
| Arbeitsspeicher | Tagesordnung |
|---|---|
| -Anwendung - Grundstück - Kreditbewertung |
Regel 2 |
Zu diesem Zeitpunkt wird Regel 2 ausgeführt, was dazu führt, dass eine Funktion aufgerufen wird, die dem Antragsteller ein Genehmigungsschreiben sendet. Nach Abschluss von Regel 2 wird die Ausführung des Vorwärtsverkettungsalgorithmus an die Übereinstimmungsphase zurückgegeben. Da es keine neuen Fakten mehr gibt und die Agenda leer ist, endet die Vorwärtsverkettung, und die Richtlinienausführung ist abgeschlossen.