业务管理系统的开发新思路之规则引擎的应用
2015-05-15 15:55
295 查看
最近收到一个任务,要用java开发一套业务管理系统,心想着应该不难,无非也是按框架办事,于是开始构思框架。一番商量后觉得采用SSH框架不错,于是咋们开始动手,但遇到后期,业务越来越复杂,业务是具有可变性,让我的项目进度越来越慢,主要是复杂多变的业务对象处理和协调很容易混乱甚至出错,心想着要是能把业务层分离出来独立的去处理,那么项目开发效率将会大大提高。于是我无意中发现了“规则引擎”这个玩意,可能很多人都没听过规则引擎,也不知道他的作用,但它确实对我的项目有着决定性的帮助。
规则引擎就是嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
这么一听岂不是和我前面的设计思路一致吗?把业务层分离出来独立的去管理与编写。 有了这个神奇的组件,我就继续开搞。
首先我把以前项目中的业务代码删掉了,换成了几句简单明了的语句:
RuleEngine ruleEngine
= RuleEngineFactory.newInstance().getRuleEngine();
ruleEngine.put(传入对象);
ruleEngine.excute("规则包调用名");
传出对象 = ruleEngine.get("传出对象名");
就这样,我的java源码文件非常的清晰明了,由于那些复杂的业务代码已经全被转移走,换成了上面几句简单的语句,这几条语句调用了规则引擎生成的规则包,而规则包正是我们处理业务的代码。就这样,我们java的编写部分结束,剩下的就是用规则引擎去处理和现实复杂多变的业务了。
规则引擎的业务规则包编写
下面来简单演示一下我是如何利用规则引擎来处理我的业务层代码
首先打开规则配置器
点击图标
我这里用的是4.0版本
进入界面
我这里创建了一个业务演示工程和规则包,创建方法是点击文件,新建工程,工程名为:项目演示。点击确定即可创建成功
创建成功后如下图,右键项目,然后新建规则包
然后添加规则
双击规则进入规则编制界面
可以看到默认界面和我们使用的if
else语句很像,这里我为了简单演示,就不设条件了,直接点击“那么”下面的蓝色箭头,根据提示点击出现菜单,选择调试输出
出现了中文指令,咋们点击图中的
" : "冒号,选择输入常量
点击“空”,输入对话框,如下图输入,这里我输入hello
旗正!
至此我们的业务编写完成,最后点击保存
选择执行到此的页面,点击绿色按钮运行规则包,如下图
上面只简单的演示一下,可以看见,通过规则引擎,我们可以把业务层的处理工作交由规则引擎去实现和处理,并把写好的规则包交由java调用,以后碰到业务变更的时候我们这需要把规则包通过编辑器修改一下就可以用了,不需要改动我们的java代码。
关于java掉用规则包的教程,请关注我的博客。
本文为原创文章,转载请注明出处!
规则引擎就是嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
这么一听岂不是和我前面的设计思路一致吗?把业务层分离出来独立的去管理与编写。 有了这个神奇的组件,我就继续开搞。
首先我把以前项目中的业务代码删掉了,换成了几句简单明了的语句:
RuleEngine ruleEngine
= RuleEngineFactory.newInstance().getRuleEngine();
ruleEngine.put(传入对象);
ruleEngine.excute("规则包调用名");
传出对象 = ruleEngine.get("传出对象名");
就这样,我的java源码文件非常的清晰明了,由于那些复杂的业务代码已经全被转移走,换成了上面几句简单的语句,这几条语句调用了规则引擎生成的规则包,而规则包正是我们处理业务的代码。就这样,我们java的编写部分结束,剩下的就是用规则引擎去处理和现实复杂多变的业务了。
规则引擎的业务规则包编写
下面来简单演示一下我是如何利用规则引擎来处理我的业务层代码
首先打开规则配置器
点击图标
我这里用的是4.0版本
进入界面
我这里创建了一个业务演示工程和规则包,创建方法是点击文件,新建工程,工程名为:项目演示。点击确定即可创建成功
创建成功后如下图,右键项目,然后新建规则包
然后添加规则
双击规则进入规则编制界面
可以看到默认界面和我们使用的if
else语句很像,这里我为了简单演示,就不设条件了,直接点击“那么”下面的蓝色箭头,根据提示点击出现菜单,选择调试输出
出现了中文指令,咋们点击图中的
" : "冒号,选择输入常量
点击“空”,输入对话框,如下图输入,这里我输入hello
旗正!
至此我们的业务编写完成,最后点击保存
选择执行到此的页面,点击绿色按钮运行规则包,如下图
上面只简单的演示一下,可以看见,通过规则引擎,我们可以把业务层的处理工作交由规则引擎去实现和处理,并把写好的规则包交由java调用,以后碰到业务变更的时候我们这需要把规则包通过编辑器修改一下就可以用了,不需要改动我们的java代码。
关于java掉用规则包的教程,请关注我的博客。
本文为原创文章,转载请注明出处!
相关文章推荐
- 业务规则管理系统(BRMS)在银行信贷 – 授信业务中的应用
- 以Drools5.5为例说明“规则引擎在业务系统中应用”---起始篇
- 以Drools5.5为例说明“规则引擎在业务系统中应用”---实例
- 以Drools5.5为例说明“规则引擎在业务系统中应用”---规则引擎与业务系统交互
- C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息
- 通用权限管理系统多语言开发接口 - java,php 调用接口程序,多业务子系统集成
- 应用开发框架之——业务规则脚本化
- 银行核心业务系统开发项目管理之道-金融项目我们应该关注那些东西
- 软件项目管理在具体业务软件系统开发中的重要作用——学习篇(五)
- 规则引擎-BRMS在企业开发中的应用
- 企业进行信息化顶层设计的核心方法 随着企业信息化建设的深入,应用层次和水平不断地提高,企业迫切需要集成化、自动化的信息管理系统来支撑企业业务的迅速发展需要,然而由于信息化建设的阶段性决定,企
- C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍
- C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息
- 业务系统(“增量迭代”)开发流程管理
- WEB应用 信息管理系统 数据分析展示系统 OA办公工作流 快速构建与开发平台
- 我公司研制开发的“无线电设备信息RFID管理系统”成功应用
- 【开发管理】【直播系统】【macOS 应用开发】【面试问题】| Chat · 预告
- 规则引擎-BRMS在企业开发中的应用
- 软件开发之网站管理系统应用
- IT整体外包后业务系统从开发项目转入维护项目的过程管理