[rules-users] In drools what is the exact difference between Insert and Update ??

Richard Calmbach rcalmbac at gmail.com
Fri Mar 30 14:50:10 EDT 2012


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 at 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 at 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 at gmail.com>
>> *À: *"Rules Users List" <rules-users at 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 at 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 at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120330/95988f64/attachment.html 


More information about the rules-users mailing list