Re: The fable of DEMETRIUS, CONSTRAINTICUS, and AUTOMATICUS

From: Tony Andrews <andrewst_at_onetel.com>
Date: 21 Oct 2004 05:05:36 -0700
Message-ID: <1098360335.982654.83280_at_z14g2000cwz.googlegroups.com>


Kenneth Downs wrote:
> My perspective comes from being the outside developer. The
development shop
> has got its product(s), with various enhancements underway at any
given
> time for any number of customers. Not many customer databases
exactly
> match the platinum-iridium release system at the shop, and no two are
> likely to match each other.
>
> In this situation, no change to the DDL can be considered trivial,
the
> chances that parties will introduce conflicting changes is simply too
high.
> This brings us once again to (drumroll) storing biz rules in data, so
that
> every time there is a change to meta-state it goes through an
automated
> analysis that traps conflicts and errors.

Do you mean really storing the entire rule as data, or do you mean parameterized rules? In other words, for a rule like "daily hours may not exceed 24" (and please, ignoring any feelings about that specific rule!) do we have:

  1. User inserts a row into the "rule" table:

insert into rules( rule_id, rule ) values (42, 'daily_hours <= 24');

OR

2) User updates a "rule parameter" value:

update rule_parameters
set value = 24
where name = 'max_daily_hours';

In the first case, you have the ultimate user control - a rules engine? In which case, maybe it generates DDL?

In the second (more common) case, the actual rule is hard-wired into the system somewhere - and may as well be DDL as anything else, no? Received on Thu Oct 21 2004 - 14:05:36 CEST

Original text of this message