i have a requirement in which the users are listed with around 150 rules. these rules are fetched from the db and shown to users.
they can take any rule(s) and assign to various categories they have created. they chain the rules so that it structures like a tree. i use the web interface to allow the users to form the rules chain. here rules are a kind of conditions like "sum of the transaction done on a month by a given customer" or "threshold value of the given customer" or "average transaction value". all the rules they define has the LHS & RHS & an operand. they also say the value for each side. for my future reference i store the structure of rules, defined by the user, to the database.
at the end of the day one of my scheduler should do these operations:
* fetch the rules of a particular category from the database and do the necessary operation of the rules. i should traverse deep into the tree by the path the rules are satisfying.
* most of the rules performs the database call, the database has huge collection of data
* do some calculation based on the rules output and store it to the output to the db
now my confusion,
should i need to use the rules engine frameworks, such as jboss drools, which may reduce the work???. if so how do i generate and assign the rules at run time and how the rule engine is going to solve my case.
may i fetch directly the rules from the db and form a tree structure and do the work. will this way of doing consumes lot of time? am i reinventing a solved problem?