DTRules is a high performance Rules Engine written in Java for the execution of Decision Table base Rules (DTRules).
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.