Rule engines

From: Mikito Harakiri <mikharakiri_nospaum_at_yahoo.com>
Date: 6 Jun 2006 09:46:08 -0700
Message-ID: <1149612368.730406.302930_at_y43g2000cwc.googlegroups.com>


Patrick May wrote:
> "Mikito Harakiri" <mikharakiri_nospaum_at_yahoo.com> writes:
> > > Not every business rule can be expressed in (even a complex)
> > > formula. Ever heard of rule based systems?
> >
> > What about them? Rule based systems are extremely goofy way to
> > program business rules. No exceptions, no arithmetics, no
> > loops. Rule firing order is nondeterministic. I would prefer an
> > implementation in traditional programming language to rule based
> > system any day.
>
> While your summary is correct for Rete based rules engines, I
> recently saw a demo by ILog that showed how they have extended the
> basic algorithm to allow grouping of rules into sets that can be
> applied in order and based on decision points. It really blurs the
> distinction between rules engine and programming language.
>
> My client is considering using it to allow end users in finance
> and marketing to change rules without involving the development
> teams. I'm curious to see how well this experiment works.

Failed to download ilog demo. Got their whitepaper "Why business rules?" however. Let's go through examples:

Page 6, Figure 2. Business rule which can easily enforced in DBMS.

create view discountedOrder
select

    case when c.state = 'MN' and c.value = 'Gold'

            and o.date between 'jan1' and 'feb2'     then

            sum(o.price)*0.9
    else

            sum(o.price)
    end AS total,
    ... comment
from Customer c, Order o
where c.customer_id = o.customer_id

All you need to do in application code which processes shopping cart is to select from this view with particular order#.

Page 7, Table 2. This table is designed either by moron or a clever salesman who deliberately made it goofy to warrant a case for "rules engine". Why don't they have

  1. A list of states with cost of living index

MD 0.5
CA 1.0
FL 0.8
.........

2. A fixed classification to Gold-Platinum-Silver

Gold > $1000
$1000 > Platinum > $500
Silver < $500

Then the rule of classifying cusomer into Gold-Platinum-Silver is just taking the dollar amount, adjusting it for cost of living and checking what bracket it falls into. Again, implemented in DBMS easly. Received on Tue Jun 06 2006 - 18:46:08 CEST

Original text of this message