21

I'm looking for a good rule engine.

I've seen it exists two good projects : JBPM and Drools.

I don't really understand differences between the two and I don't know what is the ideal tool to use.

Please could you provide me more information and your experience with one or other and what do you think is the best to use to manage business rules.

Charles
  • 48,924
  • 13
  • 96
  • 136
Jerome Cance
  • 7,769
  • 11
  • 49
  • 103

4 Answers4

24

jBPM is not a rule engine, it's a workflow engine. Drools is a rule engine. So Drools is what you're looking for.

Drools and jBPM are companion projects: they integrate really nicely if you need workflows with rules.

Geoffrey De Smet
  • 22,431
  • 8
  • 59
  • 106
  • Make sure what you want exactly? actually this answer is correct and a perfect one not the above one. So please do check – Dhaval Shah Feb 11 '13 at 12:11
  • Hi @Geoffery i am just a starter to jbpm can you please suggest me some reference link to start with – srikanth r Dec 11 '15 at 05:21
  • Hey @srikanthr, I'm sharing a few links. 1.)http://mswiderski.blogspot.in/2015/10/installing-kie-server-and-workbench-on.html 2.)https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_BPM_Suite/6.3/html/Installation_Guide/sect_the_generic_deployable_bundle_installation.html#sect_installing_the_generic_deployable_package – Stuti Verma Nov 01 '17 at 12:13
2

Drools is a Rete rules engine that does forward and back induction. You can use it in a small setting for local decisions that only require a handful of rules OR something as large as an underwriting decision engine in insurance.

jBPM is an enterprise singleton that helps you to wire together interactions between humans and services into a state machine that fulfills a well-defined, complex business process. Think of the Mediator pattern in GoF.

I can see where jBPM might use a Rete rules engine to help with complex decisions in a business flow. There's nothing to stop me from embedding Drools in jBPM.

I would say they are complimentary, not an either/or choice.

duffymo
  • 293,097
  • 41
  • 348
  • 541
  • 3
    jBPM is an enterprise singleton? What do you mean with that? – salaboy Mar 16 '12 at 14:32
  • I might be presuming too much about jBPM and how it's deployed, but most enterprise service buses that I've seen are enterprise wide listeners that are used by several clients. It's not one per app. – duffymo Mar 16 '12 at 17:35
  • 1
    jBPM5 is very flexible and allows you to have multiple instances of the engine running at different layers depending what is your business scenarios, so there is no centralized instance of the engine. – salaboy Mar 17 '12 at 13:41
  • I thought about jBPM rather in categories of State Machine GoF pattern, however what are advantages and/or disadvantages of jBPM in comparison to Mediator pattern? – BlueLettuce16 Aug 01 '13 at 09:31
1

jBPM is a workflow engine whereas Drools is a rule engine. Drools Flow will be merged in the project we call jBPM 5.

Siva Kumar
  • 1,990
  • 1
  • 12
  • 26
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – DaImTo Aug 14 '14 at 10:29
  • Thanks . I will do proper in next time – Siva Kumar Aug 14 '14 at 10:34
  • 2
    Thanks for answer but it has already been answered about 2 years ago, saying exactly the same thing. Read accepted answer before replying ;) – Jerome Cance Aug 14 '14 at 12:55
0

It is not correct to say that Drools should only be used for a handful of rules. It is able to scale really well, at least at the time of this comment (version 7.5/6)

The whole point of drools and any other rules engine is the implementation of algorithms that optimize the execution of rules. Manageability of rules is proportional (if such a thing exists) to the design of the rules.

As the others have said, JBPM is not a rules engine but a workflow system that interops with drools naturally.

PeabeaM
  • 61
  • 8