【发布时间】:2009-04-30 12:21:02
【问题描述】:
我想在 Oracle 中为 PeopleSoft 时间输入应用程序设计一个基于规则的数据库引擎。我该怎么做?
【问题讨论】:
标签: rule-engine
我想在 Oracle 中为 PeopleSoft 时间输入应用程序设计一个基于规则的数据库引擎。我该怎么做?
【问题讨论】:
标签: rule-engine
基于规则的系统需要几个关键组件: - 一组定义为数据的规则 - 一组统一的输入进行操作 - 规则执行者 - 主管层次结构
从广义上讲,规则引擎是一种管理复杂性的练习。如果您不管理它,您很容易以相互级联的规则结束,从而导致循环循环、竞争条件和其他问题。很容易意外地构造这些:考虑一个电子邮件程序,如果它包含神奇的单词“beta”,则将邮件从文件夹 A 移动到 B,如果它包含单词“alpha”,则从 B 移动到 A。包含两者的电子邮件将来回穿梭,直到出现问题,从而阻止处理所有其他规则。
我在这里假设您想要了解理论并自己构建引擎。 alphazero raises the important suggestion 使用现有的规则引擎库,这是明智的 - 这是一种从学术理论中受益的学科。
【讨论】:
我自己没有尝试过,但一个明显的方法是在 Oracle 数据库中使用 Java 过程,并在该代码中使用 Java 规则引擎库。
试试:
http://www.oracle.com/technology/tech/java/jsp/index.html
和
或
--
基本上,您需要捕获数据事件(插入、更新、删除),将它们映射到规则空间的事件,然后应用规则。
【讨论】: