2011-09-22 18 views
5

Esto es más una pregunta genérica. Pero estoy tratando de entender el concepto de usar una herramienta y por qué uno necesitaría esta herramienta. Sigo dando vueltas y vueltas.Razonamiento detrás del uso de un motor de reglas

q) ¿Por qué necesitamos motores de reglas?

He estado leyendo sobre los motores de reglas Drools y ILOG y aún no tengo claro el concepto de qué beneficio puede tener una organización al usar estas herramientas.

q) ¿Es solo para dar a los usuarios de negocios una forma de disparar las consultas (que se conocen como reglas) a la base de datos (repositorio)?

¿No es esta pieza extra de s/w el resultado de más dinero gastado en licencias y soporte en comparación con el beneficio logrado?

De todos modos tenemos todas las aplicaciones haciendo lo mismo.

Ejemplo: Si las ventas < $ 5000000 continuación, envío de la orden = No se

anterior es un ejemplo de la lógica de negocio. Esto se implementa fácilmente en el programa. Entonces, ¿cuál es el beneficio de pasar por un motor de reglas?

¡Cualquier entrada sería genial! Gracias.

Respuesta

2

¿Tuvo un vistazo a este documento: Why should I use a rule engine ?

Está bastante claro cuándo usar y no usar un motor de reglas.

Tener un vistazo más de cerca a estos 2 paragrpahs:

1.2.5. Acoplamiento fuerte y flojo

Sin duda ha escuchado términos como "acoplamiento apretado" y "acoplamiento flojo " en el diseño de sistemas. En general, las personas afirman que el acoplamiento "flojo" o "débil" es preferible en términos de diseño, debido a la flexibilidad adicional que ofrece . Del mismo modo, puede tener reglas "fuertemente acopladas" y "débilmente acopladas". Fuertemente acoplado en este sentido significa que una regla "disparo" dará lugar claramente a otra regla disparando, y así sucesivamente; en otras palabras, hay una cadena de lógica clara (probablemente obvia). Si sus reglas están fuertemente acopladas, lo más probable es que la voluntad resulte inflexible, y, más significativamente, que una regla de motor sea una exageración. Una cadena transparente puede ser codificada o implementada usando un Árbol de Decisión. Esto no quiere decir que el acoplamiento fuerte sea inherentemente malo, pero es un punto a tener en cuenta cuando se considera un motor de reglas y la forma en que se capturan las reglas. Las reglas acopladas "flojamente" deberían dar como resultado un sistema que permite cambiar, eliminar y agregar reglas sin requerir cambios a otras reglas no relacionadas.

y

Me parece que en la emoción de trabajar con motores de reglas, que la gente olvida que un motor de reglas es sólo una pieza de un complejo aplicación o solución.Los motores de reglas en realidad no están destinados a manejar el flujo de trabajo o las ejecuciones de procesos, ni tampoco los motores de flujo de trabajo o las herramientas de administración de procesos diseñadas para hacer reglas. Use la herramienta adecuada para el trabajo . Claro, un par de alicates se puede utilizar como una herramienta de martilleo en un pellizco , pero eso no es lo que está diseñado. --Dave Hamu

creo que sirve

+0

gracias por toda la información :) – JJunior

+0

Un motor de reglas es que ciertos tipos de lógica de negocio lo que es una base de datos a los datos. – Marco

1

Hay muchas ventajas de utilizar un motor de reglas de negocios o una suite de gestión de reglas de negocio. Cuando empiezas a desacoplar la lógica comercial de tu aplicación mediante un enfoque declarativo, terminas teniendo el conocimiento de tu negocio expresado en esas reglas. Este hecho es extremadamente valioso para una empresa que puede tener todo su conocimiento en un repositorio centralizado y todas sus aplicaciones pueden reutilizarse.

El poder declarativo es también un concepto clave en mi perspectiva. La idea de dejar que el motor elija las reglas que se necesitan para una situación específica es excelente. Los motores de reglas están optimizados para ese propósito y hacen un muy buen trabajo cuando tienes toneladas de reglas que deben ser evaluadas.

espero que ayude :)

+1

¡gracias! fue muy útil :) – JJunior

Cuestiones relacionadas