Bave
( Apprenez comment et quand supprimer ce message ) Drools est un système de gestion des règles métier (BRMS) doté d'un moteur de règles basé sur l'inférence par chaînage avant e...
Drools est un système de gestion des règles métier (BRMS) doté d'un moteur de règles basé sur l'inférence par chaînage avant et arrière , plus précisément appelé système de règles de production , utilisant une implémentation améliorée de l' algorithme Rete .
Drools prend en charge la norme Java Rules Engine API (Java Specification Request 94) pour son moteur de règles métier et son cadre d'entreprise pour la construction, la maintenance et l'application des politiques métier dans une organisation, une application ou un service.
Bave dans Apache Kie
Drools, en tant que membre de la communauté Kie est entré dans l'incubateur Apache en janvier 2023.
Gestionnaire de décisions Red Hat
Red Hat Decision Manager (anciennement Red Hat JBoss BRMS ) est un système de gestion des règles métier et un moteur de raisonnement pour le développement, la gestion des accès et le traitement des modifications des politiques et règles métier. JBoss Enterprise BRMS est une version commercialisée de Drools avec un support adapté aux entreprises. JBoss Rules est également une version commercialisée de Drools, mais JBoss Enterprise BRMS est le produit phare.
Composants de la version entreprise :
- Plateforme Web JBoss Enterprise – l'infrastructure logicielle prise en charge pour exécuter uniquement les composants BRMS
- Plateforme d'applications d'entreprise JBoss ou plateforme SOA d'entreprise JBoss – l'infrastructure logicielle prise en charge pour exécuter uniquement les composants BRMS
- Moteur de règles métier – Drools Expert utilisant l' algorithme Rete et le langage de règles Drools (DRL)
- Gestionnaire de règles métier – Drools Guvnor – Guvnor est un référentiel centralisé pour les bases de connaissances Drools, avec des interfaces graphiques Web riches, des éditeurs et des outils pour faciliter la gestion d'un grand nombre de règles.
- Référentiel des règles métier – Drools Guvnor
Drools et Guvnor sont des projets open source de la communauté JBoss. À mesure qu'ils atteignent leur maturité, ils sont intégrés au produit destiné aux entreprises, JBoss Enterprise BRMS.
Composants de la version JBoss Community :
- Drools Guvnor (Gestionnaire des règles métier) – un référentiel centralisé pour les bases de connaissances Drools
- Drools Expert (moteur de règles) – utilise les règles pour effectuer un raisonnement
- Drools Flow (processus/flux de travail), ou jBPM 5, permet de gérer les flux de travail et les processus métier.
- Drools Fusion (traitement d'événements/raisonnement temporel) – permet le traitement d'événements complexes
- Drools Planner/OptaPlanner (planification automatisée) – optimise la planification automatisée, y compris les problèmes de planification NP-difficiles
Exemple
Cet exemple illustre une règle simple permettant d'afficher des informations sur un jour férié en juillet. Il vérifie une condition sur une instance de la Holidayclasse et exécute du code Java si cette condition est vraie.
Le but du dialecte «mvel » est d'indiquer les accesseurs (getters et setters) des variables de vos classes POJO ( Plain Old Java Object ). Prenons l'exemple ci-dessus, où une Holidayclasse est utilisée et où « » est placé entre parenthèses month. Grâce au dialecte «mvel », les accesseurs (getters et setters) de la variable «month » sont accessibles.
Le dialecte «java » nous aide à écrire notre code Java dans nos règles. Il existe une restriction : nous ne pouvons pas utiliser de code Java à l’intérieur de la partie « when » de la règle, mais nous pouvons en utiliser dans la partie « then ».
On peut également déclarer une variable de référence $h1sans le $symbole. Il n'y a aucune restriction à ce sujet. L'intérêt principal de ce $symbole est de distinguer les variables des classes POJO des variables des règles.