规则引擎

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

  应用背景: 企业级管理者对企业IT系统的开发有着如下的要求:

  1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。

  2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。

  3.为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。

  使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,其优点如下:

  • 分离商业决策者的商业决策逻辑和应用开发者的技术决策;

  • 能有效的提高实现复杂逻辑的代码的可维护性;

  • 在开发期间或部署后修复代码缺陷;

  • 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;

  • 符合组织对敏捷或迭代开发过程的使用;

  大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。开源的代表是Drools,商业的代表是iLog。

你可能感兴趣的:(规则引擎)