In Wolfgang Laun’s paper (Red Hat document “Design Patterns in Production Systems” ) there are some sophisticated considerations about inserting rules as facts.

On a simpler level, we can help the non-technical staff who find Eclipse and text editors in general too daunting and error prone, but who need to maintain the rules.

With this architecture it is straightforward to create a simple user interface for these metavalues, so they can be maintained via a browser.  While the actual pattern rules cannot be changed this way, the controlling parameters can be, so if they are intelligently chosen, give the user much more control over the rules.

The close connection between DROOLS and java can be a barrier to users but can be used where there is significant advantage. As a real example, the business presented 10 spreadsheets, each with hundreds of rows and columns of Y/N, signifying the compatibility of various options.  Rather than converting these to DROOLS, the spreadsheets are loaded into a java hashmap, and passed to the rules engine: the rule is now checked with one line of code:

// check spreadsheet AtoB2014.csv to see if A compatible with B
eval ($xref.getXref("AtoB2014", $A.Id,  $B.id))

($A.Id and $B.Id are concatenated in the method and used as the key to lookup a hashmap of booleans constructed from the spreadsheet).

Again, as well as being effective, this gives control back to the business, who can manage the rules via their large spreadsheets directly and quickly.

.