[rules-users] app-dev 'toe in water' help please

Mauricio Salatino salaboy at gmail.com
Fri Aug 12 12:41:22 EDT 2011


Hi Darren,
We have published some slides and we have some examples in our repository.
Check the following links and let us know if you have questions about them.

You can find pointers to the slide in this blog posts:
http://salaboy.wordpress.com/2011/02/23/drools-5-community-training-announced-roadmap/
And the code for the examples is located here:
https://github.com/Salaboy/Drools_jBPM5-Training-Examples
Under the drools5 directory.

The main idea is have very simple examples that allows you to get
comfortable about how the rules are being matched and executed.

I hope this helps.

PS: frank great explanation :)

On Fri, Aug 12, 2011 at 12:46 PM, FrankVhh <frank.vanhoenshoven at agserv.eu>wrote:

> Hi,
>
> The best way to get started, imho, is to read the Drools Expert guide -
> don't worry if some things are not very clear in the beginning - and have a
> look at the samples. The basic hello world sample that comes with the
> eclipse plugin is basically all you need to get started. From then on, you
> can add complexity as you will.
>
> However, instead of populating and returning a loanApplication object, how
> would I return just the decision/end result of a rule if it was only one
> value (the approved/not approved decision) from the java app?
>  KnowledgeBase
> is loaded from the java app, but struggling with StatefulKnowledgeSession
> versus StatelessKnowledgeSession and how to simply get back the rule
> decision value (again, preferably without a specific object if it is only
> one value)?
>
> To get one misunderstanding out of the way: the rule engine does not return
> a "decision value". In fact, it returns nothing at all. You provide the
> engine with facts ( insert(myFact) ), then the engine will start
> constructing its rete-tree. Once you execute fireAllRules(), the engine
> will
> start reasoning upon the objects and change attributes, add objects to
> working memory, remove from wm, creating new objects and all other
> beautiful
> things that java can handle. When there are no more rules to fire, the
> engine will stop and the objects will have reached their final state. It is
> up to you to fetch the interesting information.
>
> If you want to implement a decision service that only returns true/false,
> you have to implement this in your java code and return the correct boolean
> value, which you first fetched from your inserted facts.
>
> The difference between stateful and stateless is basically this:
>   - Stateful: the engine will be able to reevaluate the rules during
> execution, hereby enabling foreward chaining.
>   - Stateless: engine will not do any reevaluations, the state of the facts
> as they come in to the engine, will be considered their fixed state, even
> if
> they are modified.
>
>
> Example:
> when customer has 10 items                      when loyal customer
> then customer is loyal customer                  then reduction of 10%
>
> With this ruleset, with A true on rule execution. The *statefull* session
> will "acknowledge" the reduction of 10%. The *stateless* session will only
> get determine that the customer is loyal. The reduction is not taken into
> account, as the loyalty was not established at the point of rule execution.
>
> I'm also looking to only fire/execute one rule at a time for now until we
> get comfortable - any help for an app developer trying to ease their way
> into drools?
>
> It might be a good idea to get a basic understanding of the internal
> working
> of a rule engine, i.e. get a basic understanding of the Rete algorithm.
> This
> might help in getting rid of the procedural way of thinking, which is often
> a "problem" with technical people.
>
> Hope this helps.
>
> Good luck.
>
> Regards,
> Frank
>
>
> dhartford wrote:
> >
> > Hey all,
> > I'm trying to dip some toes into the water with Drools, and have an
> > application that would be a good start but having some
> > understanding/lacking an appropriate example issue.
> >
> > The application context, let's say, is Mortgages, and already using the
> > Mortgage rules that are stored in a running instance of Guvnor.
> >
> > Going back to 'toe in water', lets assume that all 'facts' are loaded on
> > call (so nothing is pre-loaded, all data to run a rule is supplied at the
> > time the rule is called).  This is to make it easier to get started
> > without jumping all-in just yet ;-)
> >
> > Using the mortgage business rule 'CreditApproval' that is already loaded
> > into Guvnor, I can see passing the Application object, with the
> > creditRating field/fact to a rule.
> >
> > However, instead of populating and returning a loanApplication object,
> how
> > would I return just the decision/end result of a rule if it was only one
> > value (the approved/not approved decision) from the java app?
> > KnowledgeBase is loaded from the java app, but struggling with
> > StatefulKnowledgeSession versus StatelessKnowledgeSession and how to
> > simply get back the rule decision value (again, preferably without a
> > specific object if it is only one value)?
> >
> > I'm also looking to only fire/execute one rule at a time for now until we
> > get comfortable - any help for an app developer trying to ease their way
> > into drools?
> >
> > Sorry if I not overly clear, still trying to learn the appropriate
> > terminology :-)
> >
> > -Darren
> >
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/app-dev-toe-in-water-help-please-tp3249458p3249601.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
 - CTO @ http://www.plugtree.com
 - MyJourney @ http://salaboy.wordpress.com
- Co-Founder @ http://www.jugargentina.org
 - Co-Founder @ http://www.jbug.com.ar

 - Salatino "Salaboy" Mauricio -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110812/e286c3ca/attachment.html 


More information about the rules-users mailing list