Pregunta

Cuando se utiliza un motor de reglas de negocio?

¿Cuál es la diferencia entre los motores de reglas de negocio y de secuencias de comandos / configuración / personalización

¿Fue útil?

Solución

motores

Las reglas pueden hacer hacia adelante y hacia atrás, así como el encadenamiento de inferencia. Echa un vistazo a Fair Isaac Blaze, Drools o iLog para las implementaciones.

Otros consejos

Un motor de reglas de negocio, o un sistema de gestión de reglas de negocio, se deben utilizar cuando se está tratando de implementar una decisión en el código. Pero no cualquier decisión. Una decisión que:

  • implica un montón de reglas
  • tiene reglas que cambian a menudo
  • tiene reglas que son complejas o interactúan de manera compleja (piensa un montón de FI anidados lo contrario)
  • tiene reglas que sólo alguien con conocimiento del dominio puede entender / verificar
  • ¿Es que los hombres de negocios realmente desea ser capaz de cambiar sin su ayuda
  • Implica el uso de análisis / predictivo resultados como parte de la toma de decisiones

Estos son los tipos de decisiones que pagar el uso de un sistema de gestión de reglas de negocio. No comenzar con las reglas, se inicia con las decisiones.

Las reglas de negocio son prolijo (para que la gente de negocios encuentran más fáciles de leer), no declarativo y procedimental atómica (para que puedan ser almacenados, manejados y volver a utilizar como datos de una base de datos).

Más información sobre por qué utilizar las reglas de negocio aquí en esta pieza sobre por qué creo en las reglas de negocio .

Los motores de reglas de negocio se utilizan normalmente para proporcionar personalizable "si algunos-condidtion luego hacer algo" tipo de lógica para las aplicaciones. Estos tipos de reglas de negocio pueden desencadenar ciertos flujos de trabajo para ejecutar o burbujear conocimientos caso a las normas de más alto nivel, haciendo que estos sean evaluados.

El uso de un motor de reglas también permite la fácil separación de intereses mediante la eliminación de la lógica de negocio desde el código. motores de reglas de hoy por lo general también ofrecen un front-end, donde los usuarios pueden añadir nuevas reglas sin tener que modificar las secuencias de comandos dentro de la aplicación.

motores de reglas implementan los algoritmos, como Rete (hablando de la experiencia Drools) que hacen que la tarea de evaluar las reglas más rápido. El motor de reglas también proporciona encadenamiento hacia adelante, el encadenamiento hacia atrás, el encadenamiento de híbridos, etc., de las reglas. Sin embargo, estos podrían ser implementadas en un lenguaje de script también. Puede alcanzar algunos de los mismos tipos de cosas con ambos enfoques, pero yo creo que depende de la complejidad y el número de reglas en cuanto a qué camino que debe elegir.

Tome un vistazo a este enlace desde el proyecto Jess: http://www.jessrules.com/guidelines .shtml

Se ofrece un paso a paso a pie a través de las preguntas que debe hacerse con el fin de determinar si un motor de reglas se adapte a sus necesidades, o es una exageración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top