Pergunta

Quando é um Business Rules Engine usado?

Qual é a diferença entre os motores de regras de negócios e scripting / configuração / personalização

Foi útil?

Solução

mecanismos de regras pode fazer para a frente e encadeamento para trás, bem como inferência. Confira Fair Isaac Blaze, Drools ou iLog para implementações.

Outras dicas

Um motor de regras de negócio, ou um sistema de gerenciamento de regras de negócios, deve ser usado quando você está tentando implementar uma decisão em seu código. Mas não apenas qualquer decisão. Uma decisão que:

  • Envolve muitas regras
  • Tem regras que a mudança muitas vezes
  • Tem regras que são complexos ou interagem de forma complexa (acho que muita IFs aninhados outra forma)
  • Tem regras que só alguém com conhecimento de domínio pode entender / verificar
  • É aquele que os empresários realmente quero ser capaz de mudar sem a sua ajuda
  • envolve o uso de análise preditiva / pontuação como parte da tomada de decisão

Estes são os tipos de decisões que pagar o uso de um negócio regras do sistema de gestão. Não comece com as regras, começar com as decisões.

As regras de negócios são detalhado (para que as pessoas de negócios encontrá-los mais fáceis de ler), não declarativo processual e atômica (para que eles possam ser armazenados, gerenciados e reutilizados como dados em um banco de dados).

Mais sobre o porquê de usar regras de negócios aqui neste pedaço sobre o porquê de Eu acredito em regras de negócio .

As regras de negócios motores são normalmente utilizados para fornecer personalizada "Se algumas-condidtion em seguida, fazer-alguma coisa" tipos de lógica para aplicações. Estes tipos de regras de negócio podem desencadear certos fluxos de trabalho para executar ou conhecimento evento bolha até regras de nível superior, levando-os a ser avaliada.

Usando um motor de regra também permite a separação mais fácil de preocupações, removendo a lógica de negócios do seu código. Regras motores de hoje normalmente também oferecem um front-end, onde os usuários podem adicionar novas regras sem ter que modificar scripts de dentro do aplicativo.

motores

Regras implementar algoritmos como Rete (falando por experiência Drools) que tornam a tarefa de avaliar as regras mais rápido. O mecanismo de regras também fornece encadeamento para a frente, encadeamento para trás, o encadeamento híbrido, etc. de regras. No entanto, estes podem ser implementados em uma linguagem de script também. Você pode conseguir alguns dos mesmos tipos de coisas com ambas as abordagens, mas acredito que isso depende da complexidade e número de regras a respeito de qual avenida que você deve escolher.

Dê uma olhada neste link a partir do projeto Jess: http://www.jessrules.com/guidelines .shtml

Ele fornece uma caminhada passo-a-passo através de perguntas para perguntar a si mesmo, a fim de determinar se um mecanismo de regras atenda às suas necessidades, ou é um exagero.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top