A Java Based Decision Table Rules Engine

About DTRules

DTRulesDTRules QR

DTRules is a high performance Rules Engine written in Java for the execution of Decision Table base Rules (DTRules).

Decision Tables are a simple way to describe logic in a table form. They are completely deterministic.

DTRules has the following advantages:

  • Very fast
  • Easy to integrate into Java applications
  • Easy to debug
  • Easy to understand, due to its Domain Specific Language (DSL) support
  • Small footprint
  • Open Source, very flexible license (Apache 2.0 Open Source License)
  • Compatible with most other Open Source Licenses

DTRules does have (in some sense) some disadvantages:

  • No Forward Chaining
  • No Backward Chaining
  • Limited Tool support at this time

There is no doubt that under some circumstances, Forward Chaining support or Backward Chaining support would be very nice. On the other hand, for many, many applications, Decision Tables provide a means of describing policy in a way that non-developers can actually understand.  In fact, many production systems using DTRules have their rules primarily developed and maintained by non-developers.