Drools: Introducción

  • Tiempo de lectura:8 minutos de lectura
  • Autor de la entrada:
  • Última modificación de la entrada:14/07/2024

En esta entrada realizamos una introducción a la herramienta Drools repasando sus aspectos clave. En qué consiste este motor de reglas, cómo encaja en el Big Data y su arquitectura.

Drools Rule Engine

Aspectos clave de Drools Rule Engine

En su origen, Bob McWhirter y Mark Proctor crearon Drools en 2001 y se publicó en SourceForge. Más adelante, en el 2005, JBoss lo adquirió y por último fue comprado por Red Hat en el año 2006.

Desde su adquisición por parte de Red Hat existe una versión enterprise (también denominada Downstream) y una versión Community (Upstream).

El grupo KIE Group (siglas de Knowledge Is Everything) fue creado para integrar reglas y planificación automatizada en procesos de negocio. Es un proyecto paragüas introducido para unificar tecnologías relacionadas.

El proyecto está compuesto por los siguientes componentes:

  • Drools: Business Rule Management System
  • JBPM: Business Process Management Suite (anterior Drools Flow)
  • Optaplanner: Constraint Solver System (anterior Drools Planner)
  • AppFormer: UI Development Environment

Glosario de Términos

Business Rule Management System (BRMS)

BRMS es un sistema usado para capturar la lógica de decisión como reglas de negocio. Las reglas se externalizan y se gestionan aparte del código de la aplicación.

Componentes:

  1. Repositorio para externalizar las reglas del código
  2. Herramientas que permiten definir y gestionar la lógica de decisión
  3. Motor de ejecución que permite acceder y ejecutar lógica de decisión gestionada por BRMS

Sistema experto

Este paradigma de la inteligencia artificial se centra en las herramientas basadas en conocimiento. Consiste en un programa que contiene reglas codificadas para emular el proceso de toma de decisión humano.

Base de conocimiento

La base de conocimiento es el conjunto de conocimiento del dominio formalizado en forma de reglas.

Artefactos

  • Drools Engine: Drools Expert es el motor de reglas y Drools Fusion realiza procesamiento de eventos complejo (CEP). Contiene librerías de tipo JAR.
  • Business Central Workbench (KWB): Es una aplicación web y un repositorio para manejar todo el software y los activos jBPM. Consiste en un fichero WAR para desplegar en el servidor de aplicaciones.
  • Herramientas jBPM: Son plugins de Eclipse y que aportan soporte para Drools, jBPM y Guvnor. Contiene librerías de tipo JAR.
  • KIE Execution Server (KES): Es un servidor de ejecución independiente para ejecutar reglas utilizando REST y JMS. Consiste en un fichero WAR para desplegar en el servidor de aplicaciones.

Estructura de una Regla en Drools

Package
Import
Declare

Rule "nombre de la regla"
    <atributo>
When
    <Condición> <Evento 1, Evento 2, Evento 3...>
Then
    <Acción> <Mensaje, Alerta, Datos generados...>
End

En una regla, una condición representa una restricción o filtro. Estos filtros analizarán la información del dominio para encontrar datos que cumplan con los criterios. Cuando se obtiene un grupo de datos que coinciden con la condición, se programa una acción.

Las reglas de negocio se basan en la programación declarativa, que puede expresar la lógica de un programa sin tener que describir explícitamente el flujo de instrucciones.

Siguientes Pasos y Formación

Curso de Drools

Curso de Drools: Convierte lógica compleja en reglas fáciles de leer

Puedes profundizar más con este curso, en el que aprenderás a implementar reglas fácilmente y desde cero con este motor.

  1. Desacoplar árboles de decisiones complejos en reglas fáciles de leer
  2. Cuándo usar Drools y DDL

Preguntas Frecuentes Drools – FAQ

¿Para qué se usa Drools?

Drools es un motor de reglas que permite implementar sistemas expertos basados en reglas. De esta forma representa una base de conocimiento sobre la que especificar condiciones y acciones (Reglas de Negocio).

¿Qué es un fichero DRL?

Son ficheros de texto que representan reglas de negocio escritas con DRL (Drools Rules Language). Estos ficheros los usa el motor para evaluar las acciones.

¿Qué es KIE Workbench?

KIE (Knowledge Is Everything) es el nombre de Drools, jBPM y otras tecnologías relacionadas. El Workbench es una aplicación web para manejar la herramienta y los activos jBPM.


A continuación el vídeo-resumen. ¡No te lo pierdas!


Deja una respuesta