规则引擎的简单介绍

简介:

一、规则引擎的由来

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

二、应用背景
企业级管理者对企业IT系统的开发有着如下的要求:
1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。
3.为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。
三、规则引擎的优点
使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,其优点如下:
• 分离商业决策者的商业决策逻辑和应用开发者的技术决策;
• 能有效的提高实现复杂逻辑的代码的可维护性;
• 在开发期间或部署后修复代码缺陷;
• 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
• 符合组织对敏捷或迭代开发过程的使用;
四、规则引擎代表企业

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

五、开源和商业代表品牌

开源规则引擎:
• JBoss Drools
• Mandarax
• OpenRules
• JEOPS
• InfoSapient
• Roolie
• Apache Camel

商业规则引擎:
• ODM
• Oracle Business Rules
• 旗正规则引擎
• Jess
六、规则引擎适用领域

   规则引擎使用较为广泛,并不能说只适合某几个领域,应该说,在规则较为复杂的行业,都是适用的,如金融、制造、医疗、物流等行业,面临的规则变化较为复杂,目前使用较多。而且对规则引擎需求的行业也将越来越多,如团购平台、传统企业管理渠道等,都存在大量快速变化的业务规则,如何快速应对,已经成为挑战,谁能快速适应,谁就能一马当先。
相关文章
|
SQL 分布式计算 Oracle
数据同步工具DataX的安装
数据同步工具DataX的安装
2871 0
|
运维 JavaScript Java
govaluate 规则引擎
govaluate 规则引擎
3074 0
govaluate 规则引擎
|
Java
规则引擎选型及应用
规则引擎具体执行可以分为接受数据输入,解释业务规则,根据业务规则做出业务决策几个过程。 使用规则引擎可以把复杂、冗余的业务规则同整个支撑系统分离开,做到架构的可复用移植。
24472 0
|
算法 Java JavaScript
规则引擎
我是阿里巴巴做规则引擎相关工作多年的java工程师一枚,本职工作就是通过规则引擎、规则管理平台等技术输出,来应对阿里巴巴复杂多变的上层规则相关业务的支持。限于技术保密、安全等因素,本文只讲一些个人对“规则引擎”的看法,欢迎大家一起探讨。
26757 1
|
数据可视化 算法 Java
JAVA规则引擎工具
本文介绍了六款常用的Java规则引擎:Drools、IBM ODM、Easy Rules、jBPM、OpenL Tablets 和 Apache Camel。每款引擎都有其独特的特点和适用场景,如Drools的高效规则匹配、IBM ODM的Web界面管理、Easy Rules的轻量级特性、jBPM的流程管理、OpenL Tablets的Excel规则定义以及Apache Camel的路由和规则结合。选择合适的规则引擎可以显著提高系统的灵活性和可维护性。
952 0
|
Cloud Native 安全 Java
Micronaut对决Spring Boot:谁是微服务领域的王者?揭秘两者优劣,选对框架至关重要!
【9月更文挑战第5天】近年来,微服务架构备受关注,Micronaut和Spring Boot成为热门选择。Micronaut由OCI开发,基于注解的依赖注入,内置多种特性,轻量级且启动迅速;Spring Boot则简化了Spring应用开发,拥有丰富的生态支持。选择框架需考虑项目需求、团队经验、性能要求及社区支持等因素。希望本文能帮助您选择合适的微服务框架,助力您的软件开发项目取得成功!
625 2
|
Java API
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(三)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
320 0
|
网络安全 数据安全/隐私保护
SNMP客户端MIB Browser的使用
SNMP客户端MIB Browser的使用
4011 0
|
存储 数据采集 运维
构建高效日志管理系统:阿里云产品实践与技术解析
日志管理对于系统运维和故障排查至关重要。本文将详细介绍如何利用阿里云相关产品搭建一个高效、可扩展的日志管理系统。我们将使用Log Service、Elasticsearch、DataHub等阿里云产品,通过代码示例和详细说明,带你一步步完成整个流程。
576 0
|
分布式计算 监控 NoSQL
图数据库 Nebula Graph 是什么
图数据库 Nebula Graph 是什么?本文将带你了解它的特性和功能,并提前揭秘部分 Nebula Graph 1.0 功能
3403 0