Re: The fable of DEMETRIUS, CONSTRAINTICUS, and AUTOMATICUS
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:
insert into rules( rule_id, rule ) values (42, 'daily_hours <= 24');
OR
2) User updates a "rule parameter" value:
update rule_parameters
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?
set value = 24
where name = 'max_daily_hours';