[rules-users] RE:[ rules-users] Rule engine is worth?

Burr Sutter burr.sutter at redhat.com
Thu Jun 7 15:38:52 EDT 2007


Here are some reasons why a rules engine is better than straight hard 
coding in Java:
- Even if your business end-users/analysts can not add/edit rules, they 
can at least see them and mostly understand them
- You can make the Drools/JBoss Rules rule visible and editable in a 
spreadsheet - decision table.
- You can make the Drools/JBoss Rules rule visible and editable in your 
own custom application that aids your end-users.
- You can make the Drools/JBoss Rules rule visible and editable in a 
Domain Specific Language which you craft for your end-users.
- You can make the Drools/JBoss Rules rule visible and editable in the 
new BRMS which has a really nice Rich Internet Application (RIA) UI with 
a Guided Rules Editor - basically point & click rule creation.
- A rules engine allows for logic that is very, very complex.  If you 
wrote it in Java with all the necessary nested if-then-else constructs 
it would be unmaintainable code or have a high CC value.
- It should perform better than highly nested, looping, goto-oriented 
(break/continue myLabel;), if-then-else statements that are unmaintainable.

I would agree that the average non-technical end-user is not going to 
build/edit rules on a regular basis.  People who can edit rules also 
need to understand logical constructs, basic flow of control concepts, 
the problem/business domain, the greater business process and to some 
degree a bit about the overall infrastructure of the company.  These are 
relatively sharp people.  They can use advanced reporting tools.  They 
can comprehend what an average SQL statement is doing. They are not 
lowly paid individuals. Most good business analysts (IMHO) have a 
background in COBOL, C, various 4GLs, SQL, etc.  So those types of 
people can comprehend those things that I mentioned above.  And can use 
decision table, a custom UI, DSL or the guided rules editor to make the 
changes they need.





Sikkandar Nawabjan wrote:
> Hi,
> I have a question. After gone through several rule engines and rule engine documents i learned the capability of rule engine is very good interms of giving coding/changing rules to business analyst.he able to modify the rule without the help of technical person.
> But the reality is not so. i belevie none of the rule engine including Drools reaching that level.
> For example to add a simple rule you need a technical person help.
> what benefits rule engine put in a big project. i don't want thoretical explanation.
> please let me know any real advantage lies there in implementing rule engine.
> Beside portability is absolutely not possible(despite being RULEML is defined).
> If it is not reached that level how it gonna be fit into SOA
>  
> Thanks and Regs,
> Basha
>  
>  
>  
>
> ________________________________
>
> From: rules-users-bounces at lists.jboss.org on behalf of rules-users-request at lists.jboss.org
> Sent: Thu 6/7/2007 11:27 AM
> To: rules-users at lists.jboss.org
> Subject: rules-users Digest, Vol 7, Issue 13
>
>
>
> Send rules-users mailing list submissions to
>         rules-users at lists.jboss.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.jboss.org/mailman/listinfo/rules-users
> or, via email, send a message with subject or body 'help' to
>         rules-users-request at lists.jboss.org
>
> You can reach the person managing the list at
>         rules-users-owner at lists.jboss.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of rules-users digest..."
>
>
> Today's Topics:
>
>    1. Re: rule not valid... (Rahul Phadnis)
>    2. Re: New version of MSMTeam RuleEditor is on SourceForge
>       (Mark Proctor)
>    3. Re: New version of MSMTeam RuleEditor is on SourceForge
>       (Marko Frankovic)
>    4. working with deep object graph (Chris Mathrusse)
>    5. Re: working with deep object graph (Mark Proctor)
>    6. Dependency with JBoss (Joj)
>    7. Re: Dependency with JBoss (Mark Proctor)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 6 Jun 2007 13:56:10 -0700 (PDT)
> From: Rahul Phadnis <rahul.phadnis at fatspaniel.com>
> Subject: Re: [rules-users] rule not valid...
> To: Rules Users List <rules-users at lists.jboss.org>
> Message-ID: <335085.29239.qm at web38406.mail.mud.yahoo.com>
> Content-Type: text/plain; charset=iso-8859-1
>
> You probably need a package definition at the top of
> the file.
>
> Please also import the SupplierView class in the rules
> drl file.
>
> You can also first test using the drools sample files.
>
> -Rahul
>
>
> --- "Manukyan, Sergey" <SManukyan at lear.com> wrote:
>
>   
>> Folks,
>>
>>
>>
>> I am using Rules 4.0 in WebSphere 6.0 app server.
>>
>>
>>
>> Made a simple test file with a simple rule :
>>
>>
>>
>> rule "Test"
>>
>>       when
>>
>>             cs : SupplierView()
>>
>>       then
>>
>>             System.out.println(cs);
>>
>> end
>>
>>
>>
>>
>>
>> But getting exception:
>>
>>
>>
>>
>>
>> [6/6/07 16:13:06:456 EDT] 00000020 SystemErr     R
>> java.lang.IllegalArgumentException: The rule called
>> Test is not valid.
>> Check for compile errors reported.
>>
>>       at
>>
>>     
> org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:363)
>   
>>       at
>>
>>     
> org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:263)
>   
>>       at
>>
>>     
> org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:293)
>   
>>
>>
>>
>>
>>
>> How can I check compile errors?? And what is not
>> valid in this rule?
>>
>>
>>
>> Thanks for any ideas...
>>
>>
>>
>> -Sergey
>>
>>
>>
>>
>>
>>
>>
>> **********************
>> ** LEGAL DISCLAIMER **
>> **********************
>>
>> This E-mail message and any attachments may contain
>> legally privileged, confidential or proprietary
>> information. If you are not the intended
>> recipient(s),
>> or the employee or agent responsible for delivery of
>>
>> this message to the intended recipient(s), you are
>> hereby notified that any dissemination, distribution
>>
>> or copying of this E-mail message is strictly
>> prohibited. If you have received this message in
>> error, please immediately notify the sender and
>> delete this E-mail message from your computer.>
>>     
> _______________________________________________
>   
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>     
>
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 06 Jun 2007 22:02:26 +0100
> From: Mark Proctor <mproctor at codehaus.org>
> Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
>         SourceForge
> To: Rules Users List <rules-users at lists.jboss.org>
> Message-ID: <466720E2.1020806 at codehaus.org>
> Content-Type: text/plain; charset="iso-8859-1"
>
> MSM Team,
>
> Good work on the project, have you thought of working with us to help
> build a better integrated tool, rather than a seperate satelite tool? We
> have someone working on unified belief system at the moment, that should
> allow fuzzy logic, and others, to be integrated. This system will be an
> integrated extension of the Rete network.
>
> Mark
> Marko Frankovic wrote:
>   
>> Greetings!
>>
>> Having difficulties in writing rules? Then try this visual editor!
>>
>> What is new ?
>> - Fuzzy logic on one specific way
>> - New Decision and Arithmetic Tables are built in.
>> - Debuger (replay of rules fire)
>> - and much more
>>
>> What is next ?
>> Bayes Decision Table
>> AHP Decision Table
>> Export to Oracle Syntax
>> Eclipse as new platform
>>
>> You can get it here : http://sourceforge.net/projects/droolsruleedit
>> And a short presentation here : http://droolsruleedit.sourceforge.net/
>>
>> All comments and suggestions are appreciated!
>>
>> Best regards,
>> MSM Team
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> 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/20070606/739851c3/attachment-0001.html
>
> ------------------------------
>
> Message: 3
> Date: Wed, 6 Jun 2007 23:42:38 +0200
> From: "Marko Frankovic" <paparapap at gmail.com>
> Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
>         SourceForge
> To: "Rules Users List" <rules-users at lists.jboss.org>
> Message-ID:
>         <f20dbe1f0706061442k21879db3ufcf6c9b6218083a7 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> We're very sorry for the inconvenience, however the application hasn't been
> tested on (any) Mac platforms
> At this moment the application, on windows (and linux) platforms doesn't run
> if started from a directory with empty spaces in it (for instance, desktop
> since it is in ( e.g) "C:\Documents And Settings\name\Desktop"), also the
> very same error appears.
> The problem is somewhat inconveniant, (sorry about that) and is already
> fixed and will be released shortly with a few other bug fixes (it's in
> version 0.2, so a couple of bugs, unfortunately, exist).
> This is probably the reason it doesn't work on your Mac. Since we do not
> have any mac computers available to us (so it is kind of a bigger problem
> than originaly assessed) we cannot test it whether the fix works on macs or
> not :(
> In the meantime please try some alternate fix (e.g. moving the app to
> another directory).
> P.S.
> Thanks for the bug notice ;)
>
>
> On 6/6/07, Fernando Meyer <fmcamargo at gmail.com> wrote:
>   
>> I got a verbose stacked-error trying to run on mac,
>> WARN  06 06 2007 17:18:53 [org.hibernate.util.JDBCExceptionReporter:71] -
>> SQL Error: -33, SQLState: S1000
>> ERROR 06 06 2007 17:18:53 [org.hibernate.util.JDBCExceptionReporter:72] -
>> Access is denied
>> WARN  06 06 2007 17:18:53 [org.hibernate.cfg.SettingsFactory:109] - Could
>> not obtain connection metadata
>> java.sql.SQLException: Access is denied
>>
>> basically an permission or missing database error thing, do I need to
>> configure any native database to use with?
>>
>> Fernando Meyer
>> fmcamargo at gmail.com
>> GPG: 5A6D 3374 B055 A513 9A02  A03B 3DB3 7485 D804 DDFB
>>
>>
>> On Jun 6, 2007, at 6:44 AM, Marko Frankovic wrote:
>>
>> Greetings!
>>
>> Having difficulties in writing rules? Then try this visual editor!
>>
>> What is new ?
>> - Fuzzy logic on one specific way
>> - New Decision and Arithmetic Tables are built in.
>> - Debuger (replay of rules fire)
>> - and much more
>>
>> What is next ?
>> Bayes Decision Table
>> AHP Decision Table
>> Export to Oracle Syntax
>> Eclipse as new platform
>>
>> You can get it here : http://sourceforge.net/projects/droolsruleedit
>> And a short presentation here : http://droolsruleedit.sourceforge.net/
>>
>> All comments and suggestions are appreciated!
>>
>> Best regards,
>> MSM Team
>>
>> _______________________________________________
>> 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/20070606/a135ebe6/attachment-0001.html
>
> ------------------------------
>
> Message: 4
> Date: Wed, 6 Jun 2007 23:36:41 +0000 (UTC)
> From: Chris Mathrusse <christopher.mathrusse at sybase.com>
> Subject: [rules-users] working with deep object graph
> To: rules-users at lists.jboss.org
> Message-ID: <loom.20070607T010121-502 at post.gmane.org>
> Content-Type: text/plain; charset=us-ascii
>
> I'm using JBoss Rules 4.0MR2 and I'm just starting out trying to learn the
> concepts and syntax. My challenge is that I am placing into Working Memory a
> List of Message objects. A Message contains an Order, and Order contains a List
> of Line Items, a Line Item contains a Catalog, a Catalog contains a PriceCode,
> and a PriceCode contains a value.
>
> I'm trying to create rules that will identify the negative cases. My rules are
> designed to find Orders, contained within each Message, that should not be
> Released. If any rule finds a match the Order is no longer eligible for Release
> and the Message will be updated appropriately. I've had some success with some
> of the rules I've defined but now I'm getting into the more complex ones and
> they are giving me some challenges when I need to work with Lists. The following
> rule compiles and executes correctly but is not complete.
>
> rule "Is Academic or Not For Resale"
>
>         when
>                 $msg : Message( state == MessageState.RELEASING )
>                 $order : RequestOrder( requestStatus == RequestStatus.ACCEPT ) from $msg.order
>                 $itemList : List( ) from $order.lineItems
>         then
>                 System.out.println("Rule Name: " + drools.getRule().getName());
>  
> end
>
>
> So this rule compiles and it does print the message so I know that things are
> working. But now my challenge is to test the PriceCode value contained in each
> LineItems Catalog?
> Message -> Order -> LineItems -> Catalog -> PriceCode -> value
>
> Should I load all the Order and Line Item objects up into working memory or can
> I express what I want in a rule without having to do that?
>
> Thanks for taking the time to help me with this.
>
>
>
> ------------------------------
>
> Message: 5
> Date: Thu, 07 Jun 2007 00:59:14 +0100
> From: Mark Proctor <mproctor at codehaus.org>
> Subject: Re: [rules-users] working with deep object graph
> To: Rules Users List <rules-users at lists.jboss.org>
> Message-ID: <46674A52.2050905 at codehaus.org>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Express your data relationally and assert individual objects. Using
> 'from' to traverse deep object graphs really is for legacy pojo support.
> If you do that you'll have no problem solving problems like this, look
> at Conways Game of Life to see how to exploit this relational approach
> to solving problems.
>
> Later we will alow 'collect' and 'from' to be chained together, which
> will allow this for legacy deep graph pojo support.
>
> Mark
> Chris Mathrusse wrote:
>   
>> I'm using JBoss Rules 4.0MR2 and I'm just starting out trying to learn the
>> concepts and syntax. My challenge is that I am placing into Working Memory a
>> List of Message objects. A Message contains an Order, and Order contains a List
>> of Line Items, a Line Item contains a Catalog, a Catalog contains a PriceCode,
>> and a PriceCode contains a value.
>>
>> I'm trying to create rules that will identify the negative cases. My rules are
>> designed to find Orders, contained within each Message, that should not be
>> Released. If any rule finds a match the Order is no longer eligible for Release
>> and the Message will be updated appropriately. I've had some success with some
>> of the rules I've defined but now I'm getting into the more complex ones and
>> they are giving me some challenges when I need to work with Lists. The following
>> rule compiles and executes correctly but is not complete.
>>
>> rule "Is Academic or Not For Resale"
>>
>>       when
>>               $msg : Message( state == MessageState.RELEASING )
>>               $order : RequestOrder( requestStatus == RequestStatus.ACCEPT ) from $msg.order
>>               $itemList : List( ) from $order.lineItems
>>       then
>>               System.out.println("Rule Name: " + drools.getRule().getName());
>>  
>> end
>>
>>
>> So this rule compiles and it does print the message so I know that things are
>> working. But now my challenge is to test the PriceCode value contained in each
>> LineItems Catalog?
>> Message -> Order -> LineItems -> Catalog -> PriceCode -> value
>>
>> Should I load all the Order and Line Item objects up into working memory or can
>> I express what I want in a rule without having to do that?
>>
>> Thanks for taking the time to help me with this.
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>  
>>     
>
>
>
> ------------------------------
>
> Message: 6
> Date: Wed, 6 Jun 2007 22:27:01 -0700 (PDT)
> From: Joj <jojpm at yahoo.com>
> Subject: [rules-users] Dependency with JBoss
> To: rules-users at lists.jboss.org
> Message-ID: <11002247.post at talk.nabble.com>
> Content-Type: text/plain; charset=us-ascii
>
>
> Hi,
> In the Drools documentation, it's written that :
> "The rule workbench (for Eclipse) requires that you have eclipse 3.2 or
> greater, as well as Eclipse GEF 3.2 or greater. "
>
> My application contains a GUI for building rules which 'll be converted into
> some format - .drl or xml - which is understandable to Drools, and saved in
> database. My Qn is : Is there any dependency for Drools with JBoss server?
>
> Plz reply A.F.A.P.
>
> Thanks in advance,
> Jojan
>
>
> --
> View this message in context: http://www.nabble.com/Dependency-with-JBoss-tf3881929.html#a11002247
> Sent from the drools - user mailing list archive at Nabble.com.
>
>
>
> ------------------------------
>
> Message: 7
> Date: Thu, 07 Jun 2007 06:56:38 +0100
> From: Mark Proctor <mproctor at codehaus.org>
> Subject: Re: [rules-users] Dependency with JBoss
> To: Rules Users List <rules-users at lists.jboss.org>
> Message-ID: <46679E16.9040704 at codehaus.org>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> no, JBoss Rules is standalone.
>
> Mark
> Joj wrote:
>   
>> Hi,
>> In the Drools documentation, it's written that :
>> "The rule workbench (for Eclipse) requires that you have eclipse 3.2 or
>> greater, as well as Eclipse GEF 3.2 or greater. "
>>
>> My application contains a GUI for building rules which 'll be converted into
>> some format - .drl or xml - which is understandable to Drools, and saved in
>> database. My Qn is : Is there any dependency for Drools with JBoss server?
>>
>> Plz reply A.F.A.P.
>>
>> Thanks in advance,
>> Jojan
>>
>>
>>  
>>     
>
>
>
> ------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> End of rules-users Digest, Vol 7, Issue 13
> ******************************************
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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/20070607/0f881310/attachment.html 


More information about the rules-users mailing list