旗正规则引擎的产品设计

什么是规则引擎:

         规则引擎是一种采用人类能理解的术语(简称类自然语言)来描述业务逻辑(如各类公式、算法、策略、流程等)并且解析执行的软件程序。对于一般的数据处理逻辑以及判断逻辑,规则引擎可以直接采用业务人员自己定义的术语,来对其进行描述。使得这些业务逻辑可以脱离程序外进行单独配置和管理,已满足其后期随时变更。国外代表品牌是ILOG,开源DROOLS,以及国内商业产品代表是旗正规则引擎。

 

旗正规则引擎的特点:

使用规则引擎的目的就是为了让软件系统中一些数据处理的逻辑,未来可以随时调整。比如旗正规则引擎除了可以随时调整具体的逻辑外,还能支持对数据结构以及数据来源的调整,这是一般的规则引擎做不到的。

因此旗正规则引擎扩大了规则引擎的使用范围,能够解决软件系统当前普遍存在的后期维护的问题,使得在系统上线后可以随时进行调整,以便适应企业最新的需要。

 

旗正规则引擎是如何做到的?

软件系统的后期维护所需要的变更,无外乎数据结构和数据处理逻辑的变更问题。

如果按照一般的开发方式,数据结构的定义时,会有大量的实体类来定义数据结构。比如界面对应的实体类、逻辑处理的实体类以及数据库对应的实体类。当数据结构发生调整时,对应需要修改所有的实体类。

采用基于规则包配置时,不再采用实体类的方式来定义数据。而是采用key-value的方式来定义所有的类型。这样当数据结构发生调整时,只需更新key-value具体的值即可进行变更。

逻辑处理,采用规则包的动态接口定义。规则包的传入参数传出参数,以及可以直接用key-value传递需要处理的数据结构。

数据库对应的数据结构,采用动态的类来进行定义,用List<string>来定义列信息,用List<List>来定义数据库表的数据。当变更数据结构时,只需修改定义即可,而无需修改实体类。

通过这种方式,使得可以直接在规则引擎配置数据库的源信息,以及变更后的数据结构信息,而不用变更程序代码。

另外规则引擎还可以直接通过配置方式引入新的不同的数据源,比如其他的数据库、Excel数据、web服务、XML数据、MongoDB等。使得也能对数据源的变化随时进行调整。

同时旗正规则引擎可以将对数据处理的规则服务,发布成多种接口,直接供客户端程序进行访问,比如PC、web、手机app等,这样当数据结构发生变化时,前端的界面也可以随时调整。

 

旗正规则引擎具体怎么用?

       旗正规则引擎可以作为基础软件产品集成到各种业务管理系统中,用于管理各类将来可能会调整的各种业务逻辑。用户可以将各种和数据处理相关的逻辑通过规则配置器进行定义后,通过旗正规则引擎来处理执行。比如企业的人力资源管理系统,可以用规则引擎来配置具体的薪资计算的规则;比如企业的生产管理系统,可以用规则引擎来管理生产排程的优化处理;比如企业的渠道管理,可以用规则引擎来管理具体的返点政策;比如企业的报价系统,可以用规则引擎来管理具体的促销策略等。

         旗正规则引擎可以在业务管理系统改造升级时,作为其中一个模块集成进去。也可以在项目后期,作为一个独立的数据处理工具来运行。

         当在业务管理系统开发阶段时,要在架构设计上,将规则引擎作为数据库基础上一个基础组件,或者是ESB服务中的一部分。同时需要界定清楚,哪些业务的处理逻辑需要交由规则引擎进行控制。正常情况下,对于数据的增删改查等功能,无需采用规则引擎来处理。而对于需要有特定业务控制的逻辑处理模块,交由规则引擎来处理。规则引擎作为一个计算节点,如何触发以及相关的数据来源,还需要通过常规的系统进行维护。通过规则引擎与常规编码进行配合,将复杂的、易变的、模糊的各种数据处理逻辑脱离出来,使得常规编码只是处理一些数据的增删改查等简单操作。

         当项目已经上线处于维护阶段时,规则引擎作为独立的数据处理工具可以用于处理已经存储到数据库中的各种数据,类似于替代数据库的存储过程的功能。用户可以用规则引擎工具,直接连接数据库,配置各种数据处理的逻辑,最后将其发布成定时执行的任务,来完成各类数据的处理和输出。采用规则引擎取代数据库存储过程,可以有效的降低数据库的负载,提高系统的整体性能。同时也使得数据处理的逻辑更加容易维护。

        

规则引擎适用于哪些项目?

         以旗正规则引擎为例,旗正规则引擎是国内最早出现的一款商业规则引擎,适用于各行各业的信息化管理系统中。以下列举各行业适用的管理系统。

1、  金融风控

金融在近两年来迅速发展,备受瞩目,P2P、消费金融等野蛮生长,而直接要面对的一个问题就是如何控制风险,避免欺诈行为,特别是在欺诈方面更是成为P2P面临最大的难题,据行业数据报告显示,欺诈行为已占P2P坏账中50%。规则引擎在其中主要作为决策工具,风险规则多变,欺诈行为多变,需要系统及时调整策略来进行控制,所以规则引擎在其中的作用可谓非常之大。

2、  企业渠道管理系统

制造企业普遍采用渠道政策来发展代理商销售其产品。渠道政策随着企业的发展,会定期进行调整,正常情况下,每个季度都会调整一次渠道政策。调整的目的可能是增加了新的产品线,或者促销某类产品,或者激励某类客户或者区域。每个季度,需要根据新的渠道政策,以及代理商的级别和销售业绩,来计算需要给代理商的返点、积分或者折扣。渠道管理系统用于维护计算返点、积分所需的各类信息,包括代理商信息、产品信息、系列信息、区域信息、渠道级别信息、销售数据以及其他相关的原始数据,同时维护具体的返点、积分政策以及计算结果。渠道管理每个季度重新配置一遍新的返点、积分等策略,并运算后,将结果输出到财务核算系统或者导出到其他地方。

3、  企业产品报价系统

商业企业针对不同的客户以及不同的产品,提供不同的报价体系。报价体系除了和产品自身的成本相关外,还需要涉及到合同、促销、折扣、审批等。比如与客户签订一个一年期的销售合同,可能是按照固定价格给客户,也可能是按照其采购量给予折扣,或者是不同时间段的价格和折扣都完全不同。报价体系而且是一个不断会调整的系统,客户可能会新增合同。因此每个月结算时,需要根据当月的销售额以及客户具体的合同,来计算客户需要支付的费用。产品报价系统需要维护产品信息、合同信息、折扣信息以及其他产品报价相关的基础数据,通过规则引擎配置具体的报价逻辑。提供服务给外部程序来询价,以及每月结算时计算相应的结果。

4、  企业绩效管理系统

企业的薪酬体系是配合企业的绩效考核一起来进行的,对于员工数量多的企业客户来说,奖惩制度也会随着工种的不同会有很多的变化。企业绩效管理系统针对企业每个员工特定的薪资计算政策,根据每月员工完成的绩效,来计算对应的奖惩金额。企业绩效管理系统主要用于管理员工信息、工资信息、奖惩信息、绩效信息等,通过规则引擎配置具体的奖惩规则,每月定时结算。

5、  企业生产排程优化系统

制造企业根据订单安排生产,正常情况下根据3个月的订单情况,安排生产计划。但是在实际的过程中,经常会有调整订单和插单情况,或者出现一些原材料不足等意外发生。根据最新的情况,调整生产计划同时又要满足其他所有的订单的生产不发生问题,或者预先知道那些订单会发生延期交付等问题。生产排程优化,除了可以保障按时交付订单外,还可以考虑以下的成本节约:库存最小化、单位产能最大化、配套间隔时间最短等等。生产排程的优化,可以在原始生成排程的基础上,根据以上原则进行优化,最后形成更优的生产计划。生产排程优化系统需要维护生产线信息、产品信息、系列信息、订单信息等与排程相关的数据,同时通过规则引擎配置具体的优化逻辑。每次调整订单时,都可以重新执行并得到最优的结果。

6、  电信运营商计费系统

电信运营商计费系统中的计费规则,基本上都在采用规则引擎进行计算。后期可以不断的追加新的规则等。目前电信运营商都在进行国产化的改造阶段,因此目前有非常好的商业机会。

7、  保险理算系统

保险的理赔规则的配置实现

8、  医疗的数据处理

医疗数据的采集、传输、存储、分析、处理等一系列动作,都可以采用规则引擎进行处理。

 

规则引擎的价值

         当企业的信息系统集成了规则引擎产品后,能带来以下显著的效果:

1、  信息系统中负责的业务逻辑处理,可完全交由规则引擎进行配置。降低了项目的风险,保障了项目进度。

2、  增强业务部门对信息系统的控制能力,提高了业务部门的参与度。

3、  减轻业务部门和技术部门的沟通工作量,减轻了技术部门的工作压力

4、  降低数据库的负载,提高了系统的整体性能

5、  降低系统的维护成本,增强了项目的可适应性

 

时间: 2024-09-26 11:43:22

旗正规则引擎的产品设计的相关文章

旗正规则引擎规则编辑指南

看到有人问,旗正规则引擎定位就是规则逻辑实现简易,业务员也可以执行,可是试用的时候,突然发现还是有些凌乱,规则编辑感觉还是有点繁琐啊.那我说,方法还是没对路,接下来,我来献上指南. 规则包开发 通过"开始-->程序-->旗正商业规则定制平台->规则配置器"启动规则配置器.启动后, 关闭欢迎首页, 进入到缺省的开发工作空间. 通过规则配置器的测试步骤包括创建工程.创建规则包.定义对象库.定义规则.发布规则包.测试规则包.创建web页面.web方式测试规则包 以下分别讲述

旗正规则引擎在薪资管理方面的应用

       人力资源管理六大模块为:人力资源规划.招聘与配置.培训与开发.绩效管理.薪酬福利管理.劳动关系管理.各大模块不可分割,要根据不同的情况,不断地调整工作的重点,才能保证人力资源管理保持良性运作,并支持企业战略目标的最终实现.薪资计算则是非常重要的环节.目前大中型企业已经使用了不同品牌的人力资源管理软件,减少了人员流动,大大的提高的工效效率!   此图简要描述了使用系统的前后差异. 我们以旗正规则引擎来看下薪资计算实例操作展示  1.新建一个规则包,命名为"计算工资",并把属

简谈规则引擎在生产调度中的作用

规则引擎如何优化生产调度系统 生产调度系统是制造企业MES系统的重要组成部分,对应于生产管理系统的短期计划安排,主要目标是通过良好的作业加工排序,最大限度减少生产过程中的准备时间,优化某一项或几项生产目标,为生产计划的执行和控制提供指导.在不同的问题环境中,生产调度的优化目标也不同.在生产制造企业中影响生产调度的因素很多(比如设备.工人的生产技能等),这些因素样式复杂,种类繁多,灵活多变.另外在不同的环境下,影响生产调度的规则数量.优先级都会发生变化.过去生产调度系统将业务逻辑与主体代码紧耦合,

规则引擎是什么?最简单的解释

在软件行业里面,规则引擎作为基础软件的一种,也是属于比较神秘的一种存在,这不是说出来大家都能了然的一款产品,甚至有很多的IT人,在听到这个词的时候,表现出来的也是一头雾水,"什么是规则引擎?"通常都会听到这样的问题.我记得在一次展会上,一个客户问规则引擎是什么?技术人员跟他聊了半个小时也没把他说明白. 我不是玩技术的,所以对于规则引擎的一些代码表现形式并没兴趣,当然,最重要的是我根本看不明白那些密密麻麻的玩意,让我头晕.我还是从最简单表达方式来说说我自己的理解吧. 规则引擎,从字面上面

规则引擎的应用及发展

前言 最传统的软件是揉杂在一起的,1970年代为了更好的方便开发,程序员将数据库份离出来,方便信息的存储.1980年代,应用层分离出展示层,使得产品更加优化,人性化,而1990年代后,使用规则引擎将业务规则分离单独管理,使得业务系统能够更加灵活变动,响应速度更加快速,旗正商业规则管理平台正式业务规则的管理专家 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块写业务决策.接受数据输入,解释业务规则,并根据业务规则做出业务决策

几款常用规则引擎的简单对比及演示

Ilog JRules 是最有名的商用BRMS:Drools 是最活跃的开源规则引擎:Jess 是Clips的java实现,就如JRuby之于Ruby,是AI系的代表: Visual Rules(旗正规则引擎)国内商业规则引擎品牌. 今天对比了一下这四个颇有代表性的规则引擎的规则语言.其中Ilog和visual rules是商业产品,没有机会实战. 1.一样的If--Then 句式与Rete引擎     四者都邑把原本杂乱不勘的if---else---elseif----else,拆成N条带优先

规则引擎在数据分析中的作用

前言:规则引擎通过将业务规则和开发者的技术决策分离, 实现了动态管理和修改业务规则而又不影响软件系统的需求.以下通过实例对基于SQL 查询.自定义规则等一系列场景来说明规则引擎在数据分析中的应用. 在现代的企业级项目开发中, 商业决策逻辑或业务规则往往是硬编码嵌入在系统各处代码中的.但是外部市场业务规则是随时可能发生变化的, 这样开发人员必须时刻准备修改.更新系统,降低了效率.在这种背景下, 规则引擎应运而生,它通过将业务规则和开发者的技术决策分离, 实现了动态管理和修改业务规则而又不影响软件系

规则引擎的简单介绍

一.规则引擎的由来 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规则,并根据业务规则做出业务决策.二.应用背景 企业级管理者对企业IT系统的开发有着如下的要求: 1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂. 2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速.低成本的更新. 3.为了快速.低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开

Java规则引擎与其API应用详解

详解 本文对Java规则引擎与其API(JSR-94)及相关实现做了较详细的介绍,对其体系结构和API应用有较详尽的描述,并指出Java规则引擎,规则语言,JSR-94的相互关系,以及JSR-94的不足之处和展望 本文对Java规则引擎与其API(JSR-94)及相关实现做了较详细的介绍,对其体系结构和API应用有较详尽的描述,并指出Java规则引擎,规则语言,JSR-94的相互关系,以及JSR-94的不足之处和展望 复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business l