规则引擎的初探

一、什么是规则引擎

规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。利用它就可以在应用系统中分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改,从而为企业保持灵活性和竞争力提供有效的技术支持。简单地说:让程序的业务逻辑可以通过规则配置进行处理。

规则引擎系统通常包括规则库、待处理池、推理引擎(模块匹配及执行模块),在执行过程中数据被送入到待处理池,推理引擎根据具体的算法将待处理池中的数据对象和规则库中的规则进行比较,得到符合条件的匹配规则并执行。作为BRMS核心的规则执行引擎,规则条件匹配的算法及效率即决定了规则引擎的性能。

二、规则引擎有什么作用

应用场景:

  1. 为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
  2. 市场要求业务规则经常变化,系统必须依据业务规则的变化快速、低成本的更新。
  3. 为了快速、低成本的更新,业务人员应能直接管系统中的规则,不需要程序开发人员参与。

作用与优点:

  • 将业务规则与业务系统分离,解耦合;
  • 实现自然语言描述规则逻辑,业务人员易于理解;
  • 可视化的规则定制、审批、查询及管理;
  • 能有效的提高实现复杂逻辑的代码的可维护性;
  • 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
  • 符合组织对敏捷或迭代开发过程的使用;

三、哪些项目适合规则引擎

目前中国移动的BOSS系统、企业应用的ERP、CRM以及电子商务的销售系统及营销系统等。

四、目前成熟的方案

Drools: http://www.jboss.org/drools/,不懂JAVA,现在连怎么部署都不知道,期待有高人可以帮忙指导下!

Related posts:

  1. HTML Purifier:基于php的HTML过滤器
  2. 可扩展样式表转换语言XSLT
  3. 微格式:让网页更加语义化

你可能感兴趣的:(无法定义)