religion meaning example engine business java scripting drools rules rule-engine

java - meaning - drools vs



¿Por qué debería usar Drools? (3)

Los fanáticos de todas las tendencias deberían ser cuestionados, sin importar de qué tema estén hablando.

Las tablas de decisión basadas en datos son una forma perfectamente buena de implementar un comportamiento complejo. El día en que no se escale o no cumpla con sus requisitos, tal vez deba considerar algo más.

No me gustaría hacer un cambio de tecnología en el código de producción de trabajo a menos que tenga un motivo convincente. Tomaría mucho más que un cabildeo fan fan.

Si realmente está interesado, haga un PoC y obtenga datos reales. Si no, aprenda a sonreír educadamente e ignórelos.

He respondido sobre esto antes:

Motor de reglas: pros y contras

ACTUALIZACIÓN: si es su jefe, y no puede descartarlo, haga que esté basado en la interfaz y pruebe una implementación de Drools en un PoC. Si está utilizando Spring, inyecte uno y luego el otro, midiendo el rendimiento bajo una carga nominal significativa de producción. Obtenga datos reales: tal vez ambos aprenderán algo.

No soy un experto en Drools. Sin embargo, estoy familiarizado con esto experimentando con él. No puedo apreciar, ¿por qué lo necesitaría?

Mis aplicaciones típicas son aplicaciones web empresariales. Sí, sí tienen cierta cantidad de Reglas. Pero esos se implementan utilizando tablas de bases de datos, consultas SQL y una interfaz de usuario agradable para que los usuarios comerciales modifiquen las reglas. Las reglas no son arbitrarias, sino cuidadosamente pensadas antes de ponerlas en producción.

Los usuarios de My Business nunca usarían un lenguaje de scripting (Drools) para modificar cualquier cosa. Deje Alone Modify Rules. Están muy contentos de usar las pantallas de interfaz de usuario para modificar las reglas. Además, pueden hacer un trillón de errores de sintaxis en los archivos de Drools, si los dejo cerca de él.

De nuevo
- ¿Por qué debería usar Drools en este escenario?
- Hay fanáticos de Drools que he conocido que insisten en que debería cambiar todo mi código para hacer uso de Drools.

Entonces, ¿es útil Drools? No estoy seguro.


Considere un ejemplo simple de una tienda de joyería que necesita mantener la lógica comercial del cálculo del descuento en función del tipo de joyería. Esto se puede hacer en nuestro código de Java. Pero tales reglas pueden cambiar diariamente y deben actualizarse regularmente en nuestro código, lo que no es bueno . También siempre necesitaremos un Desarrollador para realizar dichos cambios. Por lo tanto, es una buena práctica definir esta lógica como reglas en un Sistema de gestión de reglas empresariales. Si mañana se va a cambiar el descuento, esto puede hacerlo incluso una persona no técnica .

Tutorial de JBoss Drools


  • Drools es de código abierto.
  • Proporciona encadenamiento hacia adelante y hacia atrás de la ejecución de reglas
  • Proporciona definiciones de reglas de base de plantilla
  • Se implementa utilizando JSR-94
  • Tiene una instalación de mesa de decisión
  • Sus reglas son legibles por humanos
  • Está integrado con Spring