<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Krishna Satya wrote:
<blockquote
 cite="mid:bbd4d5d80712120710t2a72f8d7m829217788fb1ddba@mail.gmail.com"
 type="cite">Hi, I am a new user to Drools and having passed the first
few days of reading and experimenting with the tool I am now looking to
see how rule parameters can be externalized. &nbsp;And along those lines
looking for patterns and best practices. &nbsp;I have searched through the
user forums (maybe not submitting the right search critera) and through
samples&nbsp;etc.&nbsp;&nbsp;&nbsp; <br>
  <br>
My query is from my&nbsp;intent that application should&nbsp;be decoupled from
rules and the rules are decoupled from its parameters.<br>
  <br>
I am wondering if Decision tables&nbsp;is the recommended approach or
externalizing/sourcing from Db recommended. &nbsp;Does the Business Service
that interacts with the rule engine source the rule parameters and push
it into working memory for the rule to pickup...or should the rule
declaration&nbsp;be&nbsp;tightly&nbsp;coupled&nbsp;to&nbsp;its&nbsp;parameters.
  <br>
  <br>
For example (Quick Psudo code, not sure if I have made any syntactical
errors):<br>
  <br>
rule "Fee Waive Rule"<br>
&nbsp;&nbsp;&nbsp;&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clientRequest : Request(account.balance &gt; 2000 )<br>
&nbsp;&nbsp;&nbsp;&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
clientRequest.setFee(0);<br>
end<br>
  <br>
rule "Fee Apply Rule"<br>
&nbsp;&nbsp;&nbsp;&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clientRequest : Request(account.balance &lt; 2000 )<br>
&nbsp;&nbsp;&nbsp;&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clientRequest.setFee(5);<br>
end<br>
  <br>
In the example above what are the best ways to externalize and make
available to the rule the account balance and fee parameters?
  <br>
</blockquote>
Create web based forms that generate the rules on save, use something
like MVEL for rule generation. I also recommend you flatten your
objects, using account.balance foeld a field constraint is not optimal.<br>
<blockquote
 cite="mid:bbd4d5d80712120710t2a72f8d7m829217788fb1ddba@mail.gmail.com"
 type="cite"><br>
Any guidance on patterns/best practices/examples would be much
appreciated.<br>
  <br>
Regards.<br>
- Krishna<br>
  <br>
  <br>
&nbsp;
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  </pre>
</blockquote>
<br>
</body>
</html>