Rule Engine: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{In Bearbeitung}}
{{Qualität
|correctness      = 3
|extent              = 4
|numberOfReferences  = 2
|qualityOfReferences = 5
|conformance        = 4
}}


=Definition=
==Definition==
Eine ''Rule Engine'' ist ein [[Wikipedia:Framework|Framework]], dass Funktionen zur Automatisierung und Verwaltung von Geschäftsregeln zur Verfügung stellt. Die Regeln werden mithilfe des [[Wikipedia:Framework|Framework]] 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 eingine'' 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 [[GlossaryWiki:RuleML|Rule Markup Language]] (kurz [[GlossaryWiki:RuleML|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 [[Wikipedia:Framework|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==
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'' ist der Kunde
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 Darstellungsform für Regeln ist eine [[Wikipedia:Entscheidungstabelle|Entscheidungstabelle]].
bevorzugt.“ lauten. Eine weitere mögliche Darstellungsform für Regeln ist eine [[Entscheidungstabelle]].


=Anbieter=
==Anbieter==


Es gibt eine Vielzahl von Anbietern, die ''Rule Engines'' und [[Wikipedia:Framework|Frameworks]] mit ähnlichen Konzepten Anbieten. Darunter auch Lösungen namhafter Hersteller wie [[Wikipedia:Oracle|Oracle]] und [[Wikipedia:Microsoft|Microsoft]]. Eine Auswahl an frei verfügbaren [[Wikipedia:Framework|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:


*[http://www.dools.org Drools] ‒ Drools ist ein Projekt von [http://labs.jboss.com/ jboss.org], ist auch unter dem Namen ''JBoss Rule'' bekannt und ist eine auf [[Wikipedia:Java_%28Programmiersprache%29|Java]] basierende Lösung.
*[https://www.amzi.com/ Amzi] ‒ Amzi! Prolog
*[http://www.agilepartner.net/oss/nxbre/ NxBRE] ‒ [[Wikipedia:Opensource|Opensource]] ''Rule Engine'', die auf der [[Wikipedia:Dotnet|.NET]]-Plattform beruht.
*[https://jessrules.com/ Jess]
*[http://www.jessrules.com/ Jess] ‒ Eine auf Java basierende Software, die für den wissenschaftlichen Gebrauch kostenlos zur Verfügung steht.
*[http://www.lpa.co.uk/vsr.htm Logic Programming Associates] ‒ VisiRule, Prolog
*[http://www.visual-rules.de/ Visual Rules] ‒ Eine prinzipiell kommerzielle Lösung, für die jedoch für Bildungseinrichtungen eine kostenfreie Lizenz beantragt werden kann.
*[https://www.actico.com/de/platform/business-rules-engine/ ACTICO GmbH] ‒ ACTICO Rules
*[http://www.visual-rules.de/ Bosch Software Innovations GmbH] ‒ Visual Rules
*[https://www.progress.com/corticon Corticon] ‒ Progress® Corticon®
*[http://www.idiomsoftware.com/ Idiom Ltd.] ‒ IDIOM Decision Manager
*[https://www.pega.com/business-rules-engine Pega] ‒ Business rules engine
*[https://www.sapiens.com/solutions/sapiens-emerge/ Sapiens Software] ‒ Sapiens eMerge
*[https://www.usoft.com/ USoft]


Eine Auswahl von kommerziellen Anbietern ist unter [http://www.brportal.org/German/Anbieter/Anbieter.htm brportal.org] zu finden:
==Quellen und weiterführende Literatur==
 
*[http://www.amzi.com/ Amzi (USA)] ‒ Amzi! Prolog
*[http://www.ca.com/ Computer Associates (USA)] ‒ CleverPath Aion Business Rules Expert
*[http://www.corticon.com/ Corticon (USA)] ‒ Corticon Studio
*[http://www.esi-knowledge.com/ Expert Solutions International (Israel)] ‒ Logist
*[http://www.fairisaac.com/ Fair Isaac (USA)] ‒ Blaze Advisor
*[http://www.haley.com/ Haley (USA)] ‒ Authorêté
*[http://www.hks.at/ HKS Software GmbH] ‒ Business Rules Workbench
*[http://www.idiomsoftware.com/ Idiom Ltd. (New Zealand)] ‒ Idiom Decision Suite
*[http://www.ilog.com/ ILOG SA (France)] ‒ JRules
*[http://www.visual-rules.de/ Innovations Softwaretechnologie GmbH (D)] ‒ visual rules
*[http://www.lpa.co.uk/ Logic Programming Associates (UK)] ‒ VisiRule, Flex & Prolog
*[http://www.microsoft.com/biztalk Microsoft] ‒ Biztalk Server 2004
*[http://www.ness-europe.com/ NESS/USoft (The Netherlands)] ‒ USoft
*[http://www.pegasystems.com/ Pegasystems (USA)] ‒ PegaRULES Process Commander
*[http://www.sapiens.com/ Sapiens Software (Israel)] ‒ Sapiens Emerge
*[http://www.versata.com/ Versata Inc. (USA)] ‒ Logic Suite
*[http://www.yasutech.com/ Yasu Technologies (India)] ‒ Quickrules
 
=Quellen und weiterführende Literatur=


*[[Ross, R. G. (2003): Principles of the Business Rule Approach]]
*[[Ross, R. G. (2003): Principles of the Business Rule Approach]]
*[[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