Rule Engine: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:


==Definition==
==Definition==
Eine '''Rule Engine''' ist ein [[Framework]], dass Funktionen zur Automatisierung und Verwaltung von Geschäftsregeln zur Verfügung stellt. Die Regeln werden mithilfe des Frameworks in eine Anwendung integriert und steuern damit den Ablauf eines Programms. Die gleiche Software ist auch unter den Begriffen ''Business Logic Server'', ''Rule-Processing Server'' und ''Decision Management Platform'' bekannt.
Eine '''Rule Engine''' ist ein [[Framework]], dass Funktionen zur Automatisierung und Verwaltung von Geschäftsregeln zur Verfügung stellt. Diese Regeln werden mithilfe des Frameworks in eine Anwendung integriert und steuern damit den Ablauf eines Programms. Die gleiche Software ist auch unter den Begriffen ''Business Logic Server'', ''Rule-Processing Server'' und ''Decision Management Platform'' bekannt.


Eine Aufgabe einer Rule Engine ist es, Regeldefinitionen zu speichern. Die Regeln werden bei einer Vielzahl der Frameworks in herstellerspezifischen Formaten abgelegt. Es gibt jedoch Ansätze dies zu standardisieren. Eine Möglichkeit ist die [[Rule Markup Language]] (kurz RuleML). Neben dem Speichern der Regeln bieten Rule Engines die Möglichkeit, Regeln während der Laufzeit einer Anwendung zu pflegen. Dies bietet den Vorteil, dass das Verhalten einer Software ohne Programmierkenntnisse beeinflusst werden kann. Die Möglichkeiten zum Erstellen, Ändern und Löschen der Regeln unterscheiden sich je nach Framework stark voneinander. Die Lösungen bieten Regeldefinitionen beispielsweise in Textdateien, grafischen Werkzeugen oder Diagrammzeichnungen.
Eine Aufgabe einer Rule Engine ist es, Regeldefinitionen zu speichern. Die Regeln werden bei einer Vielzahl der Frameworks in herstellerspezifischen Formaten abgelegt. Es gibt jedoch Ansätze, dies zu standardisieren. Eine Möglichkeit ist die [[Rule Markup Language]] (kurz RuleML). Neben dem Speichern der Regeln bieten Rule Engines die Möglichkeit, Regeln während der Laufzeit einer Anwendung zu pflegen. Dies bietet den Vorteil, dass das Verhalten einer Software ohne Programmierkenntnisse beeinflusst werden kann. Die Möglichkeiten zum Erstellen, Ändern und Löschen der Regeln unterscheiden sich je nach Framework stark voneinander. Die Lösungen bieten Regeldefinitionen beispielsweise in Textdateien, grafischen Werkzeugen oder Diagrammzeichnungen.


Der Kern jeder Rule Engine ist die automatisierte Ausführung der Regeln. Eine Rule Engine interpretiert und/oder kompiliert die Regeln und stellt diese einer Anwendung zur Verfügung um Entscheidungen zu treffen.
Der Kern einer jeden Rule Engine ist die automatisierte Ausführung der Regeln. Eine Rule Engine interpretiert und/oder kompiliert die Regeln und stellt diese einer Anwendung zur Verfügung um Entscheidungen zu treffen.


==Regeln==
==Regeln==
Zeile 20: Zeile 20:
==Anbieter==
==Anbieter==


Es gibt eine Vielzahl von Anbietern, die Rule Engines und Frameworks mit ähnlichen Konzepten anbieten. Darunter auch Lösungen namhafter Hersteller wie [[Oracle]] und [[Microsoft]]. Eine Auswahl an frei verfügbaren Frameworks]oder für die Forschung kostenlosen sind:
Es gibt eine Vielzahl von Anbietern, die Rule Engines und Frameworks mit ähnlichen Konzepten anbieten. Eine Auswahl an Frameworks:


*[https://www.amzi.com/ Amzi] ‒ Amzi! Prolog
*[https://www.amzi.com/ Amzi] ‒ Amzi! Prolog
*[https://jessrules.com/ Jess] ‒ Eine auf Java basierende Software, die für den wissenschaftlichen Gebrauch kostenlos zur Verfügung steht.
*[https://jessrules.com/ Jess]  
*[http://www.lpa.co.uk/vsr.htm Logic Programming Associates] ‒ VisiRule, Prolog
*[http://www.lpa.co.uk/vsr.htm Logic Programming Associates] ‒ VisiRule, Prolog
*[https://www.actico.com/de/platform/business-rules-engine/ ACTICO GmbH] ‒ ACTICO Rules  
*[https://www.actico.com/de/platform/business-rules-engine/ ACTICO GmbH] ‒ ACTICO Rules  
Zeile 29: Zeile 29:
*[https://www.progress.com/corticon Corticon] ‒ Progress® Corticon®
*[https://www.progress.com/corticon Corticon] ‒ Progress® Corticon®
*[http://www.idiomsoftware.com/ Idiom Ltd.] ‒ IDIOM Decision Manager
*[http://www.idiomsoftware.com/ Idiom Ltd.] ‒ IDIOM Decision Manager
*[http://www.idiomsoftware.com/ Microsoft] ‒ Biztalk Server
*[https://www.pega.com/business-rules-engine Pega] ‒ Business rules engine  
*[https://www.pega.com/business-rules-engine Pega] ‒ Business rules engine  
*[https://www.sapiens.com/solutions/sapiens-emerge/ Sapiens Software] ‒ Sapiens eMerge
*[https://www.sapiens.com/solutions/sapiens-emerge/ Sapiens Software] ‒ Sapiens eMerge
Zeile 39: Zeile 38:
*[[Schacher, M.; Grässle, P. (2006): Agile Unternehmen durch Business Rules]]
*[[Schacher, M.; Grässle, P. (2006): Agile Unternehmen durch Business Rules]]


[[Kategorie:Logikprogrammierung]]
[[Kategorie:IDE]]
[[Kategorie:Glossar]]
[[Kategorie:Glossar]]
[[Kategorie:Programmierung]]

Aktuelle Version vom 3. August 2019, 15:15 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 3
(zu größeren Teilen überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 2
(wichtige Quellen fehlen)
Quellenarten: 5
(ausgezeichnet)
Konformität: 4
(sehr gut)

Definition

Eine Rule Engine ist ein Framework, dass Funktionen zur Automatisierung und Verwaltung von Geschäftsregeln zur Verfügung stellt. Diese Regeln werden mithilfe des Frameworks in eine Anwendung integriert und steuern damit den Ablauf eines Programms. Die gleiche Software ist auch unter den Begriffen Business Logic Server, Rule-Processing Server und Decision Management Platform bekannt.

Eine Aufgabe einer Rule Engine ist es, Regeldefinitionen zu speichern. Die Regeln werden bei einer Vielzahl der Frameworks in herstellerspezifischen Formaten abgelegt. Es gibt jedoch Ansätze, dies zu standardisieren. Eine Möglichkeit ist die Rule Markup Language (kurz RuleML). Neben dem Speichern der Regeln bieten Rule Engines die Möglichkeit, Regeln während der Laufzeit einer Anwendung zu pflegen. Dies bietet den Vorteil, dass das Verhalten einer Software ohne Programmierkenntnisse beeinflusst werden kann. Die Möglichkeiten zum Erstellen, Ändern und Löschen der Regeln unterscheiden sich je nach Framework stark voneinander. Die Lösungen bieten Regeldefinitionen beispielsweise in Textdateien, grafischen Werkzeugen oder Diagrammzeichnungen.

Der Kern einer jeden Rule Engine ist die automatisierte Ausführung der Regeln. Eine Rule Engine interpretiert und/oder kompiliert die Regeln und stellt diese einer Anwendung zur Verfügung um Entscheidungen zu treffen.

Regeln

Das einfachste Beispiel für eine Regel ist das, aus der Programmierung bekannte, Wenn-Dann- oder If-Then-Prinzip. Eine frei formulierte Regel könnte zum Beispiel „Wenn der Umsatz dieses Jahr über 10.000 Euro betrug, dann wird der Kunde bevorzugt.“ lauten. Eine weitere mögliche Darstellungsform für Regeln ist eine Entscheidungstabelle.

Anbieter

Es gibt eine Vielzahl von Anbietern, die Rule Engines und Frameworks mit ähnlichen Konzepten anbieten. Eine Auswahl an Frameworks:

Quellen und weiterführende Literatur