DSL is essentially just templates which map phrases (which may look a bit like natural language) to DRL.
DSLR is the actual rules and looks a bit like normal DRL, except that inside the ‘when’ and ‘then’ sections you tend to find phrases based on the DSL. This is the bit which could possibly be written by a fairly technical business user. However it’s worth pointing out that it’s pretty easy to make a mess of it.
To help avoid problems, if you have Guvnor/Workbench, then the guided editor supports building rules based on DSL phrases. This means that users are forced to pick valid phrases and use text boxes and (assuming you set them up properly) drop-down menus to populate many of the variables. I have had operations and legal teams using this quite comfortably, given a little bit of training and some decent documentation.
As an alternative, Paul King has done a number of presentations on using Groovy DSLs to build business rules. By using Groovy DSLs and an IDE, you get context sensitive help to generate the rules. It makes it easier to build up business-readable rules, although it’s probably not a solution for business users to write the rules themselves. You could take a look at his slides here:
http://www.slideshare.net/paulk_asert/groovy-rules
But as Rich mentions, if you can express the rules in a table structure, then spreadsheets and (in Guvnor/Workbench) web decision tables are the way to go where possible.
Steve
I am a newbie to Drools and have been looking for a way to allow
non-programmers, mostly administrative guys, to define rules using a simple
language format and minimum coding terms/effort. I came across the concept
of DSL and DSLR and found it useful.
However, it seems that to use DSL one needs to have a knowledge of
domain(Java) objects defined. Not only does it defeat the purpose it also
exposes my Java objects to users. DSLR seems to be a better alternative
which can be modified by user. But it seems that DSLR is derived from DSL.
Which one of these 2 should actually be defined/written by user and uploaded
in the system so that backend can create rules based on it?
--
View this message in context: http://drools.46999.n3.nabble.com/How-to-allow-non-programmers-non-Drools-programmers-to-define-rules-tp4028875.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users