未来软件开发的主流方向:规则引擎 (Rule Engine)

简介:

规则引擎 (Rule Engine)介绍

规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。

利用它就可以在应用系统中分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改,从而为企业保持灵活性和竞争力提供有效的技术支持。

简单地说:让程序的业务逻辑可以通过规则配置进行处理。

.NET下的开源规则引擎有:

序号:1

规则引擎:Drools.NET

介绍说明:Drools.NET 是 .NET 版的 Drools,基于Charles Forgy的RETE算法的开源的业务规则引擎。

官方地址:http://droolsdotnet.codehaus.org/

序号:2

规则引擎:SRE

介绍说明:SRE (Simple Rule Engine)是.NET下的一款轻量级的开源正向串行的推理规则引擎(forward chaining inference rule engine)。它容易理解,可以解决复杂的问题。

官方地址:http://sourceforge.net/projects/sdsre/

序号:3

规则引擎:NxBRE

介绍说明:NxBRE是.NET平台下的一款开源轻量级的业务规则引擎(aka Rule Based Engine),它由正向串行的推理引擎(forward-chaining inference engine)和XML驱动流控制引擎(XML-driven flow control engine)组成.它支持 RuleML 0.9 Naf Datalog 和 Visio 2003 建模。

官方地址:http://sourceforge.net/projects/nxbre

Java下的开源规则引擎有:

序号:1

规则引擎:Drools

介绍说明:Drools是Java语言开发,基于Charles Forgy的RETE算法的开源的业务规则引擎。

官方地址:http://www.jboss.org/drools/

序号:2

规则引擎:Jamocha

介绍说明:Jamocha是一个Java语言开发的开源规则引擎。

官方地址:http://sourceforge.net/projects/jamocha/

规则引擎相关构件

规则引擎是一种根据规则中包含的指定过滤条件,判断其能否匹配运行时刻的实时条件来执行规则中所规定的动作的引擎。与规则引擎相关的有四个基本概念,为更好地理解规则引擎的工作原理,下面将对这些概念进行逐一介绍。

  1)信息元(Information Unit)

信息元是规则引擎的基本建筑块,它是一个包含了特定事件的所有信息的对象。这些信息包括:消息、产生事件的应用程序标识、事件产生事件、信息元类型、相关规则集、通用方法、通用属性以及一些系统相关信息等等。

  2)信息服务(Information Services)

信息服务产生信息元对象。每个信息服务产生它自己类型相对应的信息元对象。即特定信息服务根据信息元所产生每个信息元对象有相同的格式,但可以有不同的属性和规则集。需要注意的是,在一台机器上可以运行许多不同的信息服务,还可以运行同一信息服务的不同实例。但无论如何,每个信息服务只产生它自己类型相对应的信息元。

  3)规则集(Rule Set)

顾名思义,规则集就是许多规则的集合。每条规则包含一个条件过滤器和多个动作。一个条件过滤器可以包含多个过滤条件。条件过滤器是多个布尔表达式的组合,其组合结果仍然是一个布尔类型的。在程序运行时,动作将会在条件过滤器值为真的情况下执行。除了一般的执行动作,还有三类比较特别的动作,它们分别是:放弃动作(Discard Action)、包含动作(Include Action)和使信息元对象内容持久化的动作。

  4)队列管理器(Queue Manager)

队列管理器用来管理来自不同信息服务的信息元对象的队列。

未来应用规则引擎的趋势

商业世界充满了关于变化的陈词滥调,如任何事物都会改变,唯一不变的是变化等等。而在技术领域里,情况正好相反。我们仍然在试图解决30年前软件业中同样的一堆问题--也许比30年前还要多的问题。在过去的十年,IT从业人员淹没在软件方法学的大量文献中,如快速软件开发,极限编程,敏捷软件开发等,它们无一例外地强调灵活和变化的重要性。
但商业通常比开发团队所依赖的软件过程和技术改变得更加迅速。当商业策划人员试图重整IT部门,以支持新的业务转型时,仍然觉得很费劲。

哪些软件项目正在使用规则引擎

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




本文转自远哥博客园博客,原文链接:http://www.cnblogs.com/taven/archive/2011/02/12/1952245.html,如需转载请自行联系原作者

相关文章
|
17天前
|
数据可视化 搜索推荐 BI
深度解析好用项目管理工具的功能优势
在选择项目管理工具时,重点在于全面的功能和高性价比。好工具应具备资源利用图(避免过度分配或闲置资源),团队协作功能(促进沟通与进度追踪),质量管理(如问题跟踪和自定义工作流),项目规划和跟踪(甘特图支持),任务管理(任务分解和依赖关系),以及费用跟踪。Zoho Projects、Microsoft Project、Jira等工具各有价格差异,例如,对于50个用户,Microsoft Project最贵,Zoho Projects最实惠,性价比高,适合中小企业。
28 2
|
3月前
|
人工智能 数据安全/隐私保护
AI Agent是大模型落地业务场景的主流形式
【1月更文挑战第5天】AI Agent是大模型落地业务场景的主流形式
190 2
AI Agent是大模型落地业务场景的主流形式
|
4月前
|
人工智能 自然语言处理 搜索推荐
AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白
AI原生企业级Agent构建平台有哪些特性?澜码正式发布AskXBOT平台为业界揭晓答案。
213 0
|
7月前
|
存储 人工智能 搜索推荐
SuperAGI 一个开发优先的开源自主人工智能代理框架
供应、生成和部署自主人工智能代理
|
6月前
|
人工智能 API 决策智能
MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架
MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架
MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架
|
2月前
|
安全 数据处理 数据安全/隐私保护
产品服务技术特性
产品服务技术特性
26 7
|
4月前
|
消息中间件 NoSQL 中间件
【Go电商实战05】结合商业项目讲解中间件的概念和应用
把Go语言中的知识点结合商业项目,理论联系实践,更好的学习理解,高效学,少踩坑。
|
9月前
|
敏捷开发 数据可视化 Devops
Leangoo领歌敏捷工具支持SAFe大规模敏捷框架功能已上线
​ Leangoo领歌覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,Scrum of Scrums大规模敏捷。 随着SAFe的越来越普及,Leangoo本次上线提供了完整的SAFe框架功能,包括:Program Backlog,PI规划,迭代规划,迭代执行,迭代统计等。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
AI 在 API 开发测试中的应用:如何利用 AI 生成最佳的 API 设计方案
在当今互联网技术的快速发展中,API 成为了越来越多的软件和系统之间交互的核心方式,而 API 的质量和效率对于软件的开发和运维都至关重要。为了提高 API 的设计、开发、测试和运维的效率和质量,越来越多的公司开始使用智能 API 协作平台在 AGI(通用人工智能)越来越近的当下,又对所有 DevTools 提出了新的命题。本文将以 Eolink Apikit 为例,探讨 API 管理工具如何利用 AI 能力提高 API 研发效能。
510 0
|
边缘计算 缓存 运维
OpenYurt v1.2 新版本深度解读(一): 聚焦边云网络优化
云原生边缘计算智能开源平台 CNCF OpenYurt 于近期发布了 v1.2 版本。OpenYurt 是业界首个对云原生体系无侵入智能边缘计算平台,具备全方位的“云、边、端一体化”能力,能够快速实现海量边缘计算业务和异构算力的高效交付、运维及管理。
OpenYurt v1.2 新版本深度解读(一): 聚焦边云网络优化