Wolfgang: Are the slides for your presentation online? This would be very
helpful. I have searched repeatedly for a rule design best practices
document and have only found conference agenda items on the topic but no
actual document. After more than a year of working with Drools, I have
figured out key best practices (in particular, secondary facts) myself, but
it sure would have helped to have this information upfront (and, yes, I
have read the manual - the information I'm talking about is not in there).
On Thu, Mar 29, 2012 at 10:38 AM, Wolfgang Laun <wolfgang.laun(a)gmail.com>wrote:
Even attentive followers of this list may not be aware of my boot
camp
"Rule-Based Programming Design Patterns" I was delivering to a select few
last October at Rules Fest 2011 <
http://intellifest.org/html/agenda.html>.
I'm convinced that programming with rules follows the same universal
principles we all have learned about programming since the 1950ies or have
been taught in the ensuing decades - most notably, design patterns that can
be applied as the situation demands. It may be a different grass, but it's
still the grass roots you've got to make your own.
-W
2012/3/29 Vincent LEGENDRE <vincent.legendre(a)eurodecision.com>
> Drools expert doc has a first chapter that adresses these questions
> (section 1.2), or at least the questions that must be asked at start of a
> project.
> It covers in details the main key question : rules or not ? Using rules
> implies more constraints on IT because you allow more freedom in business
> logic part, so you need a more robust IT code.
>
> Best pratices are then edicted by the architect, this last one having in
> mind the requirements of :
> - business users (most important as they specify rules, at least some
> representatives samples),
> - the people who will write the rules (very very important if they
> are the business users, who are not IT guys, which to me forbid the usage
> of salience or groups or functions ...)
> - the other IT guys that will provide data streams to your new
> application, or who will call your app (it can bring constraints because of
> data volumetry by instance)
>
> In fact, you can't start a real rule project without having enough
> material in specifications, but this is also true for any project.
> So there is no (in my opinion) "global best pratices" (as there is no
> global best pratices for a random IT project...), with eventually an
> exception for no-loop (its usage generally shows a lack of design, again,
> it is my opinion, and I already used them anyway...).
> Once again, as Davide said, it depends of the usage. So it seems barely
> impossible to edit (and keep up to date) such a section with all potential
> use-cases ...
>
> May be create a rule application that deduce best pratices ;) ?
>
> ------------------------------
> *De: *"Patrik Dufresne" <ikus060(a)gmail.com>
> *À: *"Rules Users List" <rules-users(a)lists.jboss.org>
> *Envoyé: *Jeudi 29 Mars 2012 15:20:21
> *Objet: *Re: [rules-users] In drools what is the exact difference
> between Insert and Update ??
>
> Sorry to disrupt your discussion,
>
> I've start using Drools a while ago and I find your discussion very
> interesting about how to use what feature when and why. The current Drools
> Expert user guide is very nice, but it miss this crucial information. May I
> suggest to create a 'Best Practice' chapter with the recommendation you
> made.
>
> Patrik Dufresne
>
>
> On Thu, Mar 29, 2012 at 8:21 AM, Vincent LEGENDRE <
> vincent.legendre(a)eurodecision.com> wrote:
>
>> Far much valuable reply than mine :)
>> A great summary of common concerns that must be evaluated before
>> starting coding a rule system.
>>
>> Also consider :
>> - using rule flow (if you are allowed to)
>> - use sequential mode and pipe your data 'in the next rule box'
>> programmatically (using rules?)
>> - ask your architect ? He is true for no-loop, but for others,
>> re-writing existing DRL code that used all that stuff, and throw all at
>> once is farly more dangerous ...
>>
>> >> "remove all salience from rules and make the rules independent
>> (don't decide its execution flow)"
>>
>> This is all the question.
>> It mainly depends of the usage, as Davide said.
>> It also depends of who is authoring/specifying rules : if the guy
>> supposes some flow, he is not writing independant rules ...
>>
>> these other rules depend of the first :
>> 2.no drools functions
>> 3.Activation group / ruleflow / salience ...
>> 5.don't call any java function (thus no functions at all, no
>> predicates/utils methods, only DSL? only POJO?).
>>
>> this one is suspect ...
>> 4.Don't use UPDATE and Global in drools .
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users