2012-10-03 34 views
26

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

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 Mi empresa nunca usarían un lenguaje de scripts (Drools) para modificar nada. 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.

+0

cuenta de esto es una pregunta muy antigua, pero sólo quiero señalar que Drools tiene algo de interfaces de usuario para modificar las reglas de una manera "agradable", sin tener que preocuparse por la sintaxis de comandos. –

Respuesta

17

Los fanáticos de todos los tipos deben ser interrogados, 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 tuviera un motivo convincente. Tomaría mucho más que el 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 acerca de esto antes:

Rules Engine - pros and cons

ACTUALIZACIÓN: Si se trata de su jefe, y no se puede descartar, a continuación, hacer que la interfaz basada e intentar una implementación 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.

+1

¿Cómo sonreír a tu jefe? :) – Jasper

+5

Sonriendo es fácil; es ignorar esa es la parte difícil. – duffymo

+0

Duffymo Estoy interesado en comenzar con Drools, ¿me pueden indicar algún tutorial, por favor? –

2
  • Drools es de código abierto.
  • Proporciona hacia adelante y el encadenamiento hacia atrás de la ejecución de reglas
  • Proporciona regla de base de definiciones de plantilla
  • Se implementa utilizando JSR-94
  • Ha instalación tabla de decisión
  • Sus reglas son legible por humanos
  • Está integrado con Spring
0

Considere un ejemplo simple de una tienda de joyería que necesita mantener la lógica comercial para calcular d basado en el 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, 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.

JBoss Drools Tutorial

+0

Ponga esa relación simple entre el tipo de joyería y el descuento para aplicar, en una tabla de base de datos o una configuración. archivo. Mucho más simple y fácil. ¿Por qué drools? – Jasper

+0

Para personas no técnicas es difícil. La principal ventaja de Drools es que las reglas se pueden escribir en inglés simple – Rameez