I am exploring different ways to create a simple business rule engine in Java. I need to present the client with a simple webapp that lets him configure a bunch of rules. A
Rather than build your own rules engine, you might want to consider the Open Source N-CUBE engine, an Open Source Java rules engine that uses Groovy as the Domain Specific Language (DSL).
It is a sequential rules engine as opposed to a non-sequential rules engine like a RETE-based rules engine. The benefit of a sequential rules engine is that it is much easy to debug the rules. Trying to decipher inferences from really large rule sets can be very difficult, but with a sequential rule engine like N-CUBE, tracing the rules is very similar to following sequential 'code logic'.
N-CUBE has built-in support for both Decision Tables and Decision Trees. The Decision Tables and Trees within N-CUBE allow data or code to execute within the cells, very much like a multi-dimensional Excel. The 'macro' language (DSL) is Groovy. When writing code within a cell, you do not need to define a package statement, imports, a class name, or function - all of this is added for you, making the DSL code snippets easy to read / write.
This rule engine is available on GitHub at https://github.com/jdereg/n-cube.