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(a)lists.jboss.org on behalf of
rules-users-request(a)lists.jboss.org
Sent: Thu 6/7/2007 11:27 AM
To: rules-users(a)lists.jboss.org
Subject: rules-users Digest, Vol 7, Issue 13
Send rules-users mailing list submissions to
rules-users(a)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(a)lists.jboss.org
You can reach the person managing the list at
rules-users-owner(a)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(a)fatspaniel.com>
Subject: Re: [rules-users] rule not valid...
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID: <335085.29239.qm(a)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(a)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(a)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(a)codehaus.org>
Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
SourceForge
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID: <466720E2.1020806(a)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(a)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/739851c...
------------------------------
Message: 3
Date: Wed, 6 Jun 2007 23:42:38 +0200
From: "Marko Frankovic" <paparapap(a)gmail.com>
Subject: Re: [rules-users] New version of MSMTeam RuleEditor is on
SourceForge
To: "Rules Users List" <rules-users(a)lists.jboss.org>
Message-ID:
<f20dbe1f0706061442k21879db3ufcf6c9b6218083a7(a)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(a)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(a)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(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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.jboss.org/pipermail/rules-users/attachments/20070606/a135ebe...
------------------------------
Message: 4
Date: Wed, 6 Jun 2007 23:36:41 +0000 (UTC)
From: Chris Mathrusse <christopher.mathrusse(a)sybase.com>
Subject: [rules-users] working with deep object graph
To: rules-users(a)lists.jboss.org
Message-ID: <loom.20070607T010121-502(a)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(a)codehaus.org>
Subject: Re: [rules-users] working with deep object graph
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID: <46674A52.2050905(a)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(a)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(a)yahoo.com>
Subject: [rules-users] Dependency with JBoss
To: rules-users(a)lists.jboss.org
Message-ID: <11002247.post(a)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(a)codehaus.org>
Subject: Re: [rules-users] Dependency with JBoss
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID: <46679E16.9040704(a)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(a)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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users