Tutorial de Drools: Motor de reglas Archiarquitectura y diagrama
โก Resumen inteligente
Drools es un sistema de gestiรณn de reglas de negocio de cรณdigo abierto escrito en Java que separa la lรณgica de negocio del cรณdigo de la aplicaciรณn. Este recurso explica las reglas, el algoritmo Rete, la arquitectura y los componentes de Drools, Eclipse Configuraciรณn del plugin y un ejemplo de regla "Hola Mundo".

ยฟQuรฉ son las babas?
Babea es un software de gestiรณn de reglas comerciales (BRMS) de cรณdigo abierto escrito en Java que proporciona a los usuarios una variedad de funciones como motor de reglas comerciales, creaciรณn web, aplicaciรณn de administraciรณn de reglas y soporte de tiempo de ejecuciรณn para modelos de decisiรณn y modelos de notaciรณn. Utiliza un sistema de implementaciรณn avanzado del algoritmo de coincidencia de patrones rete.
Drools se lanzรณ bajo la licencia Apache 2.0 y es compatible con cualquier JVM y tambiรฉn estรก disponible en el repositorio central de Maven.
La herramienta Drools le ayuda a separar y razonar la lรณgica y los datos que se encuentran en los procesos de negocio. Admite el motor de reglas de babeo basado en inferencias de encadenamiento hacia adelante y hacia atrรกs.
Las babas se dividen en dos partes:
- Autorรญa โ Implica el desarrollo de archivos de reglas.
- Runtime โ Implica la creaciรณn de memoria de trabajo y el manejo de la activaciรณn.
ยฟQuรฉ es la regla?
Las reglas son partes del conocimiento que a menudo se expresan como: "Cuando ocurren condiciones especรญficas, entonces realiza algunas tareas".
La parte mรกs crucial de una regla es su cuรกndo parte. Una vez cuรกndo parte estรก satisfecha, y luego en la pieza se activa.
Sintaxis:
When <Condition is true> Then <Take desired Action>
Mรฉtodo de coincidencia de patrones
El mรฉtodo de coincidencia de patrones le ayuda a comparar hechos nuevos o antiguos con las reglas de producciรณn. Lo completa el motor de inferencia.
Algorithms utilizados para la coincidencia de patrones son:
- Algoritmo Rete
- Algoritmo de saltos
- Algoritmo lineal
- Tratar algoritmo
Sin embargo, el algoritmo mรกs utilizado por Drools es el algoritmo Rete.
Algoritmo Rete
El algoritmo Rete es un algoritmo de coincidencia de patrones รบtil que le permite implementar sistemas de reglas de producciรณn. Le ayuda a sacrificar memoria para aumentar la velocidad. Tambiรฉn reduce o elimina tipos especรญficos de redundancia con la ayuda de compartir nodos. Almacena coincidencias parciales mientras realiza uniones entre diferentes tipos de hechos.
Motor de reglas de babeo
Motor de reglas de babeo es un enfoque basado en reglas para implementar un sistema experto en el software Drools. El motor de reglas proporciona sistemas expertos, que son sistemas basados โโen conocimientos que le ayudan a tomar decisiones como quรฉ hacer y cรณmo hacerlo. Reรบne conocimientos en una base de conocimientos que puede utilizarse para razonar.
Suite de herramientas Drools
Ahora, en este tutorial de Drools Rule Engine, aprenderemos sobre Drools Tool Suite. Aquรญ hay cinco tipos de herramientas que forman parte de la suite Drools:
- babea jefe: Es un repositorio centralizado para Drools KnowledgeBase.
- Flujo de babas: Ofrece flujo de trabajo y procesos de negocio.
- Fusiรณn de babeos:Herramienta utilizada para el procesamiento de eventos complejos
- Drools Expert o motor de reglas: Una herramienta รบtil para realizar razonamientos.
- Planificador de babas: Ofrece planificaciรณn automatizada, que incluye problemas de planificaciรณn NP-hard.
Componentes importantes en Drools
Ahora, en este tutorial de Drools, aprendamos sobre los componentes importantes de Drools.
Estos son los tรฉrminos esenciales utilizados en Drools:
- Informaciรณn โ Los hechos representan los datos que sirven como entrada para las reglas.
- Memoria de Trabajo โ Almacenamiento con hechos, donde se utilizan para comparar patrones. Se puede modificar, insertar y eliminar.
- Sesiรณn de conocimiento โ Este componente contiene todos los recursos necesarios para la regla de disparo. Aquรญ, todos los hechos se insertan en una sesiรณn รบnica y luego se activan las reglas coincidentes.
- Base de Conocimientos โ Representa el conocimiento en el ecosistema Drools. Almacena la formaciรณn de los recursos donde se encuentran las reglas.
- Mรณdulo โ Este es un mรณdulo que almacena mรบltiples bases de conocimientos que pueden albergar diferentes sesiones.
Architectura de babas

Aquรญ estรก el sistema de trabajo de la arquitectura Drools:
Paso 1) Las reglas se cargan en Rule Base, que estรก disponible en todo momento.
Paso 2) Los hechos se afirman en la memoria de trabajo, donde luego pueden ser modificados o reeditados.tracted
Paso 3) El proceso de comparar los hechos nuevos o existentes con las reglas de producciรณn se denomina coincidencia de patrones y lo realiza el motor de reglas.
Paso 4) La agenda le permite gestionar el orden de ejecuciรณn de las reglas en conflicto con la ayuda de una estrategia de resoluciรณn de conflictos.
Caracterรญsticas de la baba
Estas son las caracterรญsticas importantes de Drool:
- Le ayuda a separar la aplicaciรณn de la lรณgica dinรกmica.
- Programaciรณn declarativa
- Centralizaciรณn del Conocimiento
- Velocidad y escalabilidad
- Separar la lรณgica de la aplicaciรณn
- Reglas comprensibles
Cรณmo agregar complementos de Drools en Eclipse
Ahora, en este tutorial de Drools, aprendamos cรณmo agregar el complemento Drools en Eclipse.
Paso 1) Haga clic en "ZIP de distribuciรณn" para la integraciรณn de jBPM
Vaya al https://www.drools.org/download/download.html y haga clic en โDistribution ZIPโ para la integraciรณn de jBPM. Una vez descargado, extracguรกrdalo en tu disco duro.
Paso 2) Instalar nuevo software
In Eclipse, seleccione Instalar nuevo software.
Paso 3) Haga clic en el botรณn Agregar
Haga clic en el botรณn Agregar para agregar un software.
Paso 4) Examinar carpeta
En la siguiente pantalla, haga clic en Local y seleccione la carpeta โorg.drools.updatesite/โ y luego haga clic en Aceptar.
Paso 5) Haga clic en el botรณn Siguiente
En la pรกgina de instalaciรณn de correcciรณn, haga clic en el botรณn Siguiente.
Paso 6) Acepta el acuerdo de licencia
Acepte el acuerdo de licencia y haga clic en siguiente.
Paso 7) reiniciar Eclipse
El software se descargarรก y se le pedirรก que reinicie Eclipse.
Paso 8) Proceso de instalaciรณn completo
In Windows > Menรบ Preferencias, verรกs la opciรณn Drools indicando que estรก instalada.
Programa Drools Ejemplo Hola Mundo
A continuaciรณn se muestra un ejemplo de Drools para el programa 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รฉ es el encadenamiento hacia atrรกs y hacia adelante?
Un motor de encadenamiento directo comprueba los hechos y llega a una conclusiรณn concreta.
Consideremos un escenario del sistema de diagnรณstico mรฉdico. Si los sรญntomas del paciente se ponen como hechos en la memoria de trabajo, entonces es fรกcil diagnosticarle una dolencia.
Motor de cadena delantera
Un motor encadenado hacia atrรกs tiene el objetivo fijado y el motor intenta satisfacerlo.
Consideremos el mismo escenario de diagnรณstico mรฉdico. Supongamos que se trata de una epidemia de una determinada enfermedad. Esta IA podrรญa suponer que un individuo determinado tenรญa la enfermedad e intentar determinar si su diagnรณstico es correcto basรกndose en la informaciรณn disponible.
Motor de encadenamiento hacia atrรกs
ยฟPor quรฉ utilizar Drools Rule Engine?
Estas son las principales razones para utilizar el motor de reglas Drools:
- Las reglas son fรกciles de entender para los desarrolladores y analistas de negocios.
- Las reglas son fรกciles de mantener.
- Rule Engine utiliza un algoritmo Rete que establece que el rendimiento del motor nunca depende de la cantidad de reglas.
- Las reglas se pueden modificar e implementar sin cerrar la aplicaciรณn.
- Externaliza la lรณgica empresarial a partir de una base de cรณdigo comparativamente estรกtica.
- Las reglas se desarrollan en formatos menos complicados para que el analista de negocios pueda leer y verificar fรกcilmente un grupo de reglas.
- Las reglas le permiten crear un almacรฉn de conocimientos cuyo formato es ejecutable.
- Herramientas como Eclipse ayudarle a administrar reglas, obtener una respuesta instantรกnea, autenticaciรณn y soporte de contenido.
Desventajas del motor de reglas
A continuaciรณn se detallan las desventajas/desventajas de utilizar el motor de reglas:
- Se requiere mucho esfuerzo de aprendizaje por parte de los desarrolladores para conocer este mรฉtodo de programaciรณn.
- El motor de reglas no es un mรฉtodo seguro para solucionar problemas.
- Necesita comprender el funcionamiento del motor de reglas para consumir mรกs memoria.
- Existe un amplio conjunto de reglas para una ramificaciรณn compleja.
Las reglas pueden cambiar con el tiempo y entrarรกn en vigencia con los cambios de cรณdigo.









