Sabber - Einführung

Jede Java-Anwendung auf Unternehmensebene kann in drei Teile unterteilt werden:

  • Benutzeroberfläche - Benutzeroberfläche (Frontend)
  • Serviceschicht, die wiederum mit einer Datenbank verbunden ist
  • Geschäftsschicht

Wir haben eine Reihe von Frameworks, die die Benutzeroberfläche und die Service-Schicht gemeinsam verwalten, z. B. Spring und Struts. Wir hatten jedoch keine Standardmethode, um mit der Geschäftslogik umzugehen, bis Drools ins Leben gerufen wurde.

Was ist Drools?

Drools ist ein Business Logic integration Platform (BLiP). Es ist in Java geschrieben. Es ist ein Open-Source-Projekt, das von JBoss und Red Hat, Inc. unterstützt wird. Es erweitert und implementiert den Rete-Pattern-Matching-Algorithmus.

Für Laien ist Drools eine Sammlung von Tools, mit denen wir Logik und Daten in Geschäftsprozessen trennen und überlegen können. Die zwei wichtigen Schlüsselwörter, die wir beachten müssen, sindLogic und Data.

Drools ist in zwei Hauptteile unterteilt: Authoring und Runtime.

  • Authoring - Der Authoring-Prozess umfasst die Erstellung von Regeldateien (DRL-Dateien).

  • Runtime - Es beinhaltet die Erstellung eines Arbeitsspeichers und die Handhabung der Aktivierung.

Was ist eine Regelengine?

Drools ist eine Regelengine oder ein Produktionsregelsystem, das den regelbasierten Ansatz zur Implementierung und zum Expertensystem verwendet. Expertensysteme sind wissensbasierte Systeme, die mithilfe der Wissensrepräsentation erworbenes Wissen zu einer Wissensbasis verarbeiten, die zum Denken verwendet werden kann.

Ein Produktionsregelsystem ist vollständig mit einem Fokus auf Wissensrepräsentation, um Aussagenlogik und Logik erster Ordnung in einer prägnanten, nicht mehrdeutigen und deklarativen Weise auszudrücken.

Das Gehirn eines Produktionsregelsystems ist ein Inference Enginedas kann auf eine große Anzahl von Regeln und Fakten skaliert werden. Die Inference Engine vergleicht Fakten und Daten mit Produktionsregeln - auch genanntProductions oder nur Rules - Schlussfolgerungen zu ziehen, die zu Handlungen führen.

Eine Produktionsregel ist eine zweiteilige Struktur, die Logik erster Ordnung verwendet, um über die Wissensrepräsentation nachzudenken. Eine Geschäftsregel-Engine ist ein Softwaresystem, das eine oder mehrere Geschäftsregeln in einer Laufzeitproduktionsumgebung ausführt.

Mit einer Regel-Engine können Sie „What to Do" und nicht "How to do it. ”

Was ist eine Regel?

Die Regeln werden Stücke von Wissen oft ausgedrückt als „ Wenn einige Bedingungen auftreten, dann tun einige Aufgaben.“

When
   <Condition is true>
Then
   <Take desired Action>

Der wichtigste Teil einer Regel ist ihre whenTeil. Wenn diewhen Teil ist zufrieden, die then Teil wird ausgelöst.

rule  <rule_name>
   <attribute> <value>
      
   when
      <conditions>
      
   then
      <actions>
end

Mustervergleich

Der Prozess des Abgleichs der neuen oder vorhandenen Fakten mit den Produktionsregeln wird als Pattern Matching bezeichnet und von der Inference Engine durchgeführt. Es gibt eine Reihe von Algorithmen für die Mustererkennung, darunter -

  • Linear
  • Rete
  • Treat
  • Leaps

Drools Implementiert und erweitert den Rete-Algorithmus. Die Drools Rete-Implementierung heißt ReteOO, was bedeutet, dass Drools eine verbesserte und optimierte Implementierung des Rete-Algorithmus für objektorientierte Systeme hat.

Vorteile einer Regelengine

Deklarative Programmierung

Regeln machen es einfach, Lösungen für schwierige Probleme auszudrücken und die Lösungen zu überprüfen. Im Gegensatz zu Codes werden Regeln in einer weniger komplexen Sprache geschrieben. Business Analysten können eine Reihe von Regeln leicht lesen und überprüfen.

Logik- und Datentrennung

Die Daten befinden sich in den Domänenobjekten und die Geschäftslogik in den Regeln. Je nach Art des Projekts kann diese Art der Trennung sehr vorteilhaft sein.

Geschwindigkeit und Skalierbarkeit

Der Rete OO-Algorithmus, auf dem Drools geschrieben ist, ist bereits ein bewährter Algorithmus. Mit Hilfe von Drools wird Ihre Anwendung sehr skalierbar. Bei häufigen Änderungsanforderungen können neue Regeln hinzugefügt werden, ohne dass die vorhandenen Regeln geändert werden müssen.

Zentralisierung des Wissens

Mithilfe von Regeln erstellen Sie ein Wissensrepository (eine Wissensbasis), das ausführbar ist. Es ist ein einziger Punkt der Wahrheit für die Geschäftspolitik. Im Idealfall sind Regeln so lesbar, dass sie auch als Dokumentation dienen können.

Werkzeugintegration

Tools wie Eclipse bieten Möglichkeiten zum Bearbeiten und Verwalten von Regeln sowie zum sofortigen Feedback, zur Validierung und zur Unterstützung von Inhalten. Prüf- und Debugging-Tools sind ebenfalls verfügbar.