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@lists.jboss.org on behalf of rules-users-request@lists.jboss.org
Sent: Thu 6/7/2007 11:27 AM
To: rules-users@lists.jboss.org
Subject: rules-users Digest, Vol 7, Issue 13



Send rules-users mailing list submissions to
        rules-users@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@lists.jboss.org

You can reach the person managing the list at
        rules-users-owner@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@fatspaniel.com>
Subject: Re: [rules-users] rule not valid...
To: Rules Users List <rules-users@lists.jboss.org>
Message-ID: <335085.29239.qm@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@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@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@codehaus.org>
Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
        SourceForge
To: Rules Users List <rules-users@lists.jboss.org>
Message-ID: <466720E2.1020806@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@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@gmail.com>
Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
        SourceForge
To: "Rules Users List" <rules-users@lists.jboss.org>
Message-ID:
        <f20dbe1f0706061442k21879db3ufcf6c9b6218083a7@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@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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
rules-users@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@sybase.com>
Subject: [rules-users] working with deep object graph
To: rules-users@lists.jboss.org
Message-ID: <loom.20070607T010121-502@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@codehaus.org>
Subject: Re: [rules-users] working with deep object graph
To: Rules Users List <rules-users@lists.jboss.org>
Message-ID: <46674A52.2050905@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@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@yahoo.com>
Subject: [rules-users] Dependency with JBoss
To: rules-users@lists.jboss.org
Message-ID: <11002247.post@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@codehaus.org>
Subject: Re: [rules-users] Dependency with JBoss
To: Rules Users List <rules-users@lists.jboss.org>
Message-ID: <46679E16.9040704@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@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@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users