Pergunta

Estamos comprando Business Rules Engines. Queremos fazer nosso customizável aplicação do núcleo para diferentes clientes com requisitos ligeiramente diferentes. As pessoas que realmente fazem as personalizações são analistas. Ou seja, não-programadores que estão tecnicamente qualificados (geralmente tem uma licenciatura em ciências).

Quais são os critérios para avaliar mecanismos de regras de negócios? Há código aberto e os comerciais? Quais são suas experiências em facilidade de uso, documentação, suporte, preço, etc.

O aplicativo está em Java.

Foi útil?

Solução

Drools (costumava ser Drools então JBoss regras, então Drools novamente) é um muito bom open- fonte mecanismo de regras e olhar uma definitivamente vale a pena.

Para minha mente os melhores critérios para avaliar um mecanismo de regras são:

  • É configurável (caso contrário você iria código apenas, em vez disso)
  • É PERFORMANT.
  • Como é fácil para as pessoas não técnicas às regras de mudança
  • Como é fácil para novos conjuntos de regras a ser implantado (e os antigos undeployed).

Várias regras motores têm Sistemas negócio de gestão de regras (BRMS) e Drools não é excepção. Isso torna a implantação muito mais fácil para os não-técnicos.

Há um bom suporte para Drools via docs e tutoriais na web e até mesmo através do canal de IRC.

Eu também usei o Rules Engine que vem com o IBM WebSphere Process Server e descobriu que isso é muito bom também (embora caro).

Outras dicas

Eu trabalhava como consultor para um motor que conduz regra na indústria há cerca de três anos. Você vai pagar um monte de dinheiro para um mecanismo de regra comercial e precisa decidir se os recursos e apoio que você potencialmente receber valem o preço. Todos os fornecedores de motores regra vai reivindicar deles é o melhor mãos para baixo; o melhor conselho que posso dar é fazer um protótipo com cada mecanismo de regras que você está pensando que é de âmbito limitado, mas representativa das características que você precisa. Não deixe que as pessoas de vendas apenas mostrar-lhe uma fantasia de demonstração; Você deve construir ativamente o protótipo. Tenho visto muitas pessoas compram um mecanismo de regras que realmente não tenho idéia do que eles é está comprando. Pessoalmente, eu iria optar por um dos motores de regras de código aberto (alguém já Drools mencionado) se você tiver seu conjunto coração em um mecanismo de regras. No entanto, eu consideraria seriamente ao lado de motores de regras a possibilidade de não usar um mecanismo de regras. Você pode economizar tempo, inicialmente, com um mecanismo de regras (ignorando a curva de aprendizagem), mas uma solução personalizada é susceptível de ser superior a longo prazo para conhecê-lo necessidades específicas.

Aqui estão algumas ligações de Web site de Martin Fowler que são relevantes para a sua pergunta:

Eu trabalho com um monte de fornecedores comerciais e, ao contrário de Martin, falar com um monte de seus clientes. A realidade é que os sistemas de gerenciamento de regras de negócio fazer um trabalho e reembolsar o investimento na curva de aprendizagem etc no primeiro projeto, muito antes de os benefícios da manutenção reduzida e maior usuário de negócios envolvem começar a chutar em. Drools é excelente como uma solução de código aberto e os principais produtos comerciais são: IBM Rules / ILOG (.Net, Java e COBOL) FICO Blaze Advisor (.Net, Java e COBOL) InRule Tecnologia (Net) Inovações Software (Java) Oracle e SAP ambos têm mecanismos de regras em suas plataformas que são cada vez mais completa. Eu rever um monte de novos lançamentos, bem como produtos minoritárias em http://jtonedm.com/category/ produto-news /

Forrester tem um relatório onda agradável em regras de negócio que eu recomendo e não há um post no meu site discutindo isso (que gostaria de conectar-se a, mas stackoverflow não vai me deixar adicionar uma segunda ligação até o momento) - contato comigo se quiser respostas.

Muitas pessoas decidem que querem um mecanismo de regras, eo que eles querem é todo um processo de gerenciamento de fluxo de trabalho que inclui motores de regras como parte do pipeline de execução.

Um fluxo de trabalho é um grafo orientado de acções. As ações são coisas que acontecem, por exemplo, conjuntos de regras, cálculos, serviço web chama mesmo. Você deve ser capaz de ter uma ação que pode chamar outros fluxos de trabalho.

Isso permite que seus analistas de negócios para fazer implementações de toda a processos, e não apenas fazer simples if-then-else (hah, alguns motores de regras comerciais não podem mesmo fazer outra coisa! Ver o comentário sobre como avaliar opções antes de decidir) regras, seja -lo regras sequenciais simples ou FCIRE (forward chaining motor de regra de inferência). A maioria dos analistas de negócios encontrar conjuntos de regras sequenciais simples mais fácil de pensar. Ele precisa ser feito no nível do fluxo de trabalho, porque os terceiros que as BAs interpretar em regras têm uma tendência a mudar suas / aceitação / rejeição / processos domagick decisão inteiras com muito pouco aviso prévio.

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