Tutoriel Drools : Moteur de règles Drools Architecture et exemples
Qu'est-ce que Bave ?
Bave est un logiciel de gestion de règles métier (BRMS) open source écrit en Java qui offre aux utilisateurs une variété de fonctionnalités telles que le moteur de règles métier, la création Web, l'application de gestion de règles et la prise en charge d'exécution pour les modèles de modèle de décision et de notation. Il utilise un système de mise en œuvre avancé de l'algorithme de correspondance de modèles rete.
Drools a été publié sous la licence Apache 2.0 et il est compatible avec n'importe quelle JVM et également disponible dans le référentiel central Maven.
L'outil Drools vous aide à séparer et à raisonner sur la logique et les données trouvées dans les processus métier. Il prend en charge le moteur de règles de bave basé sur l'inférence de chaînage avant et arrière.
Les bave sont divisées en deux parties :
- Rédaction – Cela implique l’élaboration de fichiers de règles.
- Runtime – Cela implique la création de mémoire de travail et la gestion de l’activation.
Qu’est-ce que la règle ?
Les règles sont des éléments de connaissances souvent exprimés par la formule : « Lorsque des conditions spécifiques se produisent, effectuez certaines tâches. »
La partie la plus cruciale d'une règle est qu'elle quand partie. Une fois quand une partie est satisfaite, puis la pièce est déclenchée.
syntaxe:
When <Condition is true> Then <Take desired Action>
Méthode de correspondance de modèles
La méthode de correspondance de modèles vous aide à comparer des faits nouveaux ou anciens avec les règles de production. Elle est complétée par le moteur d'inférence.
Algorithms utilisés pour la correspondance de modèles sont :
- Algorithme de Rete
- Algorithme de sauts
- Algorithme linéaire
- Traiter l'algorithme
Cependant, l’algorithme le plus utilisé par Drools est l’algorithme Rete.
Algorithme de Rete
L'algorithme Rete est un algorithme de correspondance de modèles utile qui vous permet d'implémenter des systèmes de règles de production. Cela vous aide à sacrifier la mémoire pour augmenter la vitesse. Il réduit ou élimine également des types spécifiques de redondance grâce au partage de nœuds. Il stocke les correspondances partielles tout en effectuant des jointures entre différents types de faits.
Moteur de règles Drools
Moteur de règles Drools est une approche basée sur des règles pour implémenter un système expert dans le logiciel Drools. Le moteur de règles fournit des systèmes experts qui sont des systèmes basés sur la connaissance qui vous aident à prendre des décisions telles que quoi faire et comment le faire. Il rassemble des connaissances dans une base de connaissances qui peut être utilisée pour le raisonnement.
Suite d'outils Drools
Maintenant, dans ce didacticiel Drools Rule Engine, nous allons en apprendre davantage sur Drools Tool Suite. Voici cinq types d’outils faisant partie de la suite Drools :
- Bave Guvnor: Il s'agit d'un référentiel centralisé pour la base de connaissances Drools.
- Flux de bave: Il offre des flux de travail et des processus métier.
- Bave Fusion: Outil utilisé pour le traitement d'événements complexes
- Drools Expert ou moteur de règles: Un outil utile pour effectuer un raisonnement.
- Planificateur de bave : To propose une planification automatisée, qui inclut des problèmes de planification NP-difficiles.
Composants importants dans Drools
Maintenant, dans ce didacticiel Drools, découvrons les composants importants de Drools.
Voici les termes essentiels utilisés dans Drools :
- Les faits – Les faits représentent les données qui servent d’entrée aux règles
- Mémoire de travail – Stockage avec des faits, où ils sont utilisés pour la correspondance de modèles. Il peut être modifié, inséré et supprimé.
- Séance de connaissances – Ce composant contient toutes les ressources nécessaires à la règle de tir. Ici, tous les faits sont insérés dans une seule session, puis les règles de correspondance sont déclenchées.
- – Il représente la connaissance de l’écosystème Drools. Il stocke la formation des ressources où se trouvent les règles.
- Module – Il s’agit d’un module qui stocke plusieurs bases de connaissances pouvant accueillir différentes sessions
Architecture de Bave

Voici le système de fonctionnement de l'architecture Drools :
Étape 1) Les règles sont chargées dans Rule Base, qui sont disponibles à tout moment.
Étape 2) Les faits sont affirmés dans la mémoire de travail où ils peuvent ensuite être modifiés ou rétractés.
Étape 3) Le processus de mise en correspondance des faits nouveaux ou existants avec les règles de production est appelé correspondance de modèles et est effectué par le moteur de règles.
Étape 4) L'agenda permet de gérer l'ordre d'exécution des règles conflictuelles à l'aide d'une stratégie de résolution des conflits.
Caractéristiques de la bave
Voici les fonctionnalités importantes de Drool :
- Vous aide à séparer l'application de la logique dynamique
- Programmation déclarative
- Centralisation des connaissances
- Rapidité et évolutivité
- Séparer la logique de l'application
- Des règles compréhensibles
Comment ajouter des plugins Drools dans Eclipse
Maintenant, dans ce didacticiel Drools, apprenons comment ajouter le plugin Drools dans Eclipse.
Étape 1) Cliquez sur « Distribution ZIP » pour l'intégration de jBPM
Allez dans https://www.drools.org/download/download.html et cliquez sur « Distribution ZIP » pour l'intégration de jBPM. Une fois téléchargé, extrayez-le sur votre disque dur.
Étape 2) Installer un nouveau logiciel
In Eclipse, sélectionnez Installer un nouveau logiciel.
Étape 3) Cliquez sur le bouton Ajouter
Cliquez sur le bouton Ajouter pour ajouter un logiciel.
Étape 4) Parcourir le dossier
Dans l'écran suivant, cliquez sur Local et sélectionnez le dossier « org.drools.updatesite/ », puis cliquez sur OK.
Étape 5) Cliquez sur le bouton Suivant
Sur la page de correction d'installation, cliquez sur le bouton Suivant.
Étape 6) Acceptez le contrat de licence
Acceptez le contrat de licence et cliquez sur suivant.
Étape 7) Redémarrez Eclipse
Le logiciel sera téléchargé et il vous sera demandé de redémarrer Eclipse.
Étape 8) Processus d'installation terminé
In Windows > Menu Préférences, vous verrez l'option Drools indiquant qu'il est installé.
Exemple de programme Hello World de Drools
Vous trouverez ci-dessous un exemple Drools pour le programme Hello World :
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
Qu’est-ce que le chaînage arrière ou avant ?
Un moteur de chaîne avant vérifie les faits et tire une conclusion spécifique.
Considérons un scénario du système de diagnostic médical. Si les symptômes du patient sont enregistrés comme des faits dans la mémoire de travail, il est alors facile de diagnostiquer une maladie.
Moteur à chaîne avant
Un moteur à chaînage arrière a un objectif fixé et le moteur essaie de le satisfaire.
Considérons le même scénario de diagnostic médical. Supposons qu'il s'agisse d'une épidémie d'une certaine maladie. Cette IA pourrait présumer qu’un individu donné était atteint de la maladie et tenter de déterminer si son diagnostic est correct sur la base des informations disponibles.
Moteur de chaînage arrière
Pourquoi utiliser le moteur de règles Drools ?
Voici les principales raisons d’utiliser le moteur de règles Drools :
- Les règles sont faciles à comprendre pour les développeurs et analystes d'affaires.
- Les règles sont faciles à maintenir.
- Rule Engine utilise un algorithme Rete qui stipule que les performances du moteur ne dépendent jamais du nombre de règles.
- Les règles peuvent être modifiées et déployées sans faire tomber l'application.
- Externalise la logique métier à partir de la base de code relativement statique.
- Les règles sont développées dans des formats moins compliqués afin que l'analyste commercial puisse facilement lire et vérifier un groupe de règles.
- Les règles vous permettent de créer un entrepôt de connaissances sous forme exécutable.
- Des outils comme Eclipse vous aider à gérer les règles, à obtenir une réponse instantanée, une authentification et une prise en charge du contenu.
Inconvénients du moteur de règles
Voici les inconvénients/inconvénients de l’utilisation du moteur de règles :
- Beaucoup d'efforts d'apprentissage nécessitent de la part des développeurs pour connaître cette méthode de programmation
- Le moteur de règles n’est pas une méthode sécurisée pour résoudre les problèmes.
- Doit comprendre le fonctionnement du moteur de règles pour consommer plus de mémoire
- Il existe un large éventail de règles pour un branchement complexe.
Les règles peuvent changer avec le temps et entreront en vigueur avec les modifications du code
Résumé
- JBoss Drools est une plateforme d'intégration de logique métier (BLiP)
- Les types d'outils Drool sont : 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
- Drool vous aide à séparer l'application de la logique dynamique.
- Les faits ont représenté les données qui servent d'entrée aux règles.
- La mémoire de travail est un stockage de faits, où ils sont utilisés pour la correspondance de modèles. Il peut être modifié, inséré et supprimé.
- La base de connaissances est un composant qui contient toutes les ressources nécessaires à la règle de tir.
- La session de connaissances représente les connaissances de l'écosystème Drools.
- La base de connaissances représente les connaissances de l'écosystème Drools.
- Le module stocke plusieurs bases de connaissances, qui peuvent contenir différentes sessions.
- Les règles sont des éléments de connaissances souvent exprimés par la formule : « Lorsque des conditions spécifiques se produisent, effectuez certaines tâches. »
- Drools est un moteur de règles qui utilise une approche basée sur des règles pour implémenter un système expert.
- Un moteur de chaîne avant vérifie les faits et tire une conclusion spécifique.
- Un moteur à chaînage arrière a un objectif fixé et le moteur essaie de le satisfaire.
- L'algorithme Rete est un algorithme de correspondance de modèles utile qui vous permet d'implémenter des systèmes de règles de production.
- Les règles sont faciles à comprendre pour les développeurs et les analystes commerciaux.
- L'inconvénient majeur de l'utilisation d'un moteur de règles comme Drool est qu'il nécessite beaucoup d'efforts d'apprentissage de la part des développeurs pour connaître cette méthode de programmation.









