Drools-Tutorial: Regel-Engine ArchiArchitektur & Diagramm
โก Intelligente Zusammenfassung
Drools ist ein Open-Source-Business-Rules-Management-System, das in โฆ geschrieben ist. Java Diese Ressource trennt die Geschรคftslogik vom Anwendungscode. Sie erlรคutert Regeln, den Rete-Algorithmus, die Drools-Architektur und -Komponenten. Eclipse Plugin-Einrichtung und ein Beispiel fรผr eine Hello-World-Regel.

Was sind Drools?
Drools ist eine Open-Source Business Rules Management Software (BRMS) geschrieben in Java das Benutzern eine Vielzahl von Funktionen bietet, wie z. B. Business Rule Engine, Web-Authoring, Rules Management Application und Laufzeitunterstรผtzung fรผr Decision Model und Notation-Modelle. Es verwendet ein erweitertes Implementierungssystem fรผr einen Rete-Pattern-Matching-Algorithmus.
Drools wurde unter der Apache-Lizenz 2.0 verรถffentlicht und ist mit jeder JVM kompatibel und auch im Maven Central Repository verfรผgbar.
Das Drools-Tool hilft Ihnen, Logik und Daten in Geschรคftsprozessen zu trennen und zu analysieren. Es unterstรผtzt die Vorwรคrts- und Rรผckwรคrtsverkettung einer inferenzbasierten Drools-Regel-Engine.
Drools sind in zwei Teile geteilt:
- Authoring โ Es beinhaltet die Entwicklung von Regeldateien.
- Laufzeit โ Dabei geht es um den Aufbau des Arbeitsgedรคchtnisses und die Handhabung der Aktivierung.
Was ist Regel?
Regeln sind Teile des Wissens, die oft ausgedrรผckt werden als: โWenn bestimmte Bedingungen eintreten, dann erledigen Sie einige Aufgaben.โ
Der wichtigste Teil einer Regel ist sie wann Teil. Einmal wann Teil ist zufrieden, dann Das Teil wird ausgelรถst.
Syntax:
When <Condition is true> Then <Take desired Action>
Mustervergleichsmethode
Mithilfe der Mustervergleichsmethode kรถnnen Sie neue oder alte Fakten mit den Produktionsregeln vergleichen. Es wird durch die Inference Engine vervollstรคndigt.
Algorithms Fรผr den Mustervergleich werden verwendet:
- Rete-Algorithmus
- Sprungalgorithmus
- Linearer Algorithmus
- Behandeln Sie den Algorithmus
Der von Drools am hรคufigsten verwendete Algorithmus ist jedoch der Rete-Algorithmus.
Rete-Algorithmus
Der Rete-Algorithmus ist ein nรผtzlicher Mustervergleichsalgorithmus, mit dem Sie Produktionsregelsysteme implementieren kรถnnen. Es hilft Ihnen, Speicher fรผr hรถhere Geschwindigkeit zu opfern. Mithilfe der Knotenfreigabe werden auรerdem bestimmte Arten von Redundanz reduziert oder eliminiert. Es speichert Teilรผbereinstimmungen, wรคhrend Verknรผpfungen zwischen verschiedenen Faktentypen durchgefรผhrt werden.
Drools-Regel-Engine
Drools-Regel-Engine ist ein regelbasierter Ansatz zur Implementierung eines Expertensystems in der Drools-Software. Die Regel-Engine stellt Expertensysteme bereit, bei denen es sich um wissensbasierte Systeme handelt, die Ihnen dabei helfen, Entscheidungen zu treffen, z. B. darรผber, was zu tun ist und wie es zu tun ist. Es sammelt Wissen in einer Wissensdatenbank, die fรผr รberlegungen verwendet werden kann.
Drools Tools Suite
In diesem Tutorial zur Drools Rule Engine lernen wir nun die Drools Tool Suite kennen. Hier sind fรผnf Arten von Tools, die Teil der Drools-Suite sind:
- Drools Guvnor: Es handelt sich um ein zentrales Repository fรผr die Drools KnowledgeBase.
- Sabber flieรen: Es bietet Workflow- und Geschรคftsprozesse.
- Sabber Fusion: Tool zur komplexen Ereignisverarbeitung
- Drools Expert oder Rules Engine: Ein nรผtzliches Werkzeug fรผr die Argumentation.
- Drools-Planer: Bietet automatisierte Planung, die NP-schwere Planungsprobleme umfasst.
Wichtige Bestandteile in Drools
In diesem Drools-Tutorial lernen wir nun die wichtigen Komponenten von Drools kennen.
Hier sind wesentliche Begriffe, die in Drools verwendet werden:
- Fakten โ Fakten reprรคsentieren die Daten, die als Eingabe fรผr Regeln dienen
- Arbeitsspeicher โ Speicherung mit Fakten, wo diese zum Mustervergleich verwendet werden. Es kann geรคndert, eingefรผgt und entfernt werden.
- Wissenssitzung โ Diese Komponente enthรคlt alle fรผr die Auslรถsungsregel erforderlichen Ressourcen. Hier werden alle Fakten in die einzelne Sitzung eingefรผgt und dann werden entsprechende Regeln ausgelรถst.
- Knowledge Base โ Es stellt das Wissen im Drools-รkosystem dar. Es speichert die Bildung der Ressourcen, in denen Regeln zu finden sind.
- Modul โ Dies ist ein Modul, das mehrere Wissensdatenbanken speichert, die verschiedene Sitzungen abhalten kรถnnen
ArchiTextur von Drools

Hier ist das Arbeitssystem der Drools-Architektur:
Schritt 1) Die Regeln werden in die Regelbasis geladen, die jederzeit verfรผgbar ist.
Schritt 2) Fakten werden im Arbeitsgedรคchtnis gespeichert, wo sie dann modifiziert oder neu formuliert werden kรถnnen.tracted.
Schritt 3) Der Prozess des Abgleichs der neuen oder vorhandenen Fakten mit Produktionsregeln wird als Mustervergleich bezeichnet und von der Regel-Engine durchgefรผhrt.
Schritt 4) Mit der Agenda kรถnnen Sie mithilfe einer Konfliktlรถsungsstrategie die Ausfรผhrungsreihenfolge der widersprรผchlichen Regeln verwalten.
Eigenschaften von Drool
Hier sind wichtige Funktionen von Drool:
- Hilft Ihnen, Anwendungen von dynamischer Logik zu trennen
- Deklarative Programmierung
- Zentralisierung des Wissens
- Geschwindigkeit und Skalierbarkeit
- Trennen Sie Logik von Anwendung
- Verstรคndliche Regeln
So fรผgen Sie Drools-Plugins hinzu Eclipse
In diesem Drools-Tutorial lernen wir nun, wie man das Drools-Plugin hinzufรผgt Eclipse.
Schritt 1) Klicken Sie auf โDistribution ZIPโ fรผr die jBPM-Integration
Zurรผck Nach https://www.drools.org/download/download.html und klicken Sie auf โDistribution ZIPโ fรผr die jBPM-Integration. Nach dem Herunterladen, z. B.tracFรผge es deiner Festplatte hinzu.
Schritt 2) Neue Software installieren
In Eclipse, wรคhlen Sie โNeue Software installierenโ.
Schritt 3) Klicken Sie auf die Schaltflรคche โHinzufรผgenโ.
Klicken Sie auf die Schaltflรคche โHinzufรผgenโ, um eine Software hinzuzufรผgen.
Schritt 4) Ordner durchsuchen
Klicken Sie im nรคchsten Bildschirm auf โLokalโ, wรคhlen Sie den Ordner โorg.drools.updatesite/โ aus und klicken Sie dann auf โOKโ.
Schritt 5) Klicken Sie auf die Schaltflรคche Weiter
Klicken Sie auf der Seite โInstallationskorrekturโ auf die Schaltflรคche โWeiterโ.
Schritt 6) Akzeptieren Sie die Lizenzvereinbarung
Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter.
Schritt 7) rebooten Eclipse
Die Software wird heruntergeladen und Sie werden aufgefordert, Eclipse neu zu starten.
Schritt 8) Installationsvorgang abgeschlossen
In Windows Im Menรผ โEinstellungenโ sehen Sie die Option Drools, die anzeigt, dass sie installiert ist.
Beispiel fรผr das Drools-Programm โHello Worldโ.
Unten finden Sie ein Drools-Beispiel fรผr das Hello World-Programm:
package com.sample import com.sample.DroolsTest.Message; rule "Hello World" when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m ); end rule "GoodBye" when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end
Was ist Rรผckwรคrts- oder Vorwรคrtsverkettung?
Eine Vorwรคrtsverkettungsmaschine prรผft die Fakten und leitet daraus eine konkrete Schlussfolgerung ab.
Betrachten wir ein Szenario des medizinischen Diagnosesystems. Wenn die Symptome des Patienten als Fakten im Arbeitsgedรคchtnis gespeichert werden, ist es einfach, bei ihm eine Krankheit zu diagnostizieren.
Vorwรคrtsverkettender Motor
Eine Rรผckwรคrtsverkettungsmaschine hat das gesetzte Ziel und die Maschine versucht, dieses zu erreichen.
Stellen Sie sich das gleiche Szenario einer medizinischen Diagnose vor. Gehen Sie von einer Epidemie einer bestimmten Krankheit aus. Diese KI kรถnnte davon ausgehen, dass eine bestimmte Person an der Krankheit leidet, und anhand der verfรผgbaren Informationen versuchen, festzustellen, ob die Diagnose korrekt ist.
Rรผckwรคrtsverkettender Motor
Warum Drools Rule Engine verwenden?
Hier sind die Hauptgrรผnde fรผr die Verwendung der Drools-Regel-Engine:
- Regeln sind fรผr Entwickler leicht verstรคndlich und Wirtschaftsanalytiker.
- Regeln sind leicht zu pflegen.
- Rule Engine verwendet einen Rete-Algorithmus, der besagt, dass die Leistung der Engine niemals von der Anzahl der Regeln abhรคngt.
- Regeln kรถnnen geรคndert und bereitgestellt werden, ohne dass die Anwendung zum Absturz gebracht wird.
- Externalisiert die Geschรคftslogik aus der vergleichsweise statischen Codebasis.
- Regeln werden in weniger komplizierten Formaten entwickelt, sodass der Geschรคftsanalyst eine Gruppe von Regeln leicht lesen und รผberprรผfen kann.
- Mit Regeln kรถnnen Sie ein Wissenslager erstellen, das in einer ausfรผhrbaren Form vorliegt.
- Tools wie Eclipse helfen Ihnen bei der Verwaltung von Regeln, erhalten eine sofortige Antwort, Authentifizierung und Inhaltsunterstรผtzung.
Nachteile der Rules Engine
Hier sind die Nachteile/Nachteile der Verwendung der Regel-Engine:
- Fรผr Entwickler ist ein groรer Lernaufwand erforderlich, um diese Programmiermethode zu kennen
- Die Regel-Engine ist keine sichere Methode zur Fehlerbehebung.
- Um mehr Speicherplatz zu verbrauchen, muss die Funktionsweise der Regel-Engine verstanden werden.
- Fรผr eine komplexe Verzweigung gibt es zahlreiche Regeln.
Regeln kรถnnen sich im Laufe der Zeit รคndern und werden mit Codeรคnderungen wirksam









