规则引擎 java 规则引擎

规则引擎 java 规则引擎

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

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
应用背景: 企业级管理者对企业IT系统的开发有着如下的要求:
1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。
3.为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。
使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,其优点如下:
· 分离商业决策者的商业决策逻辑和应用开发者的技术决策;
· 能有效的提高实现复杂逻辑的代码的可维护性;
· 在开发期间或部署后修复代码缺陷;
· 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
· 符合组织对敏捷或迭代开发过程的使用;
大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。开源的代表是Drools,商业的代表是VisualRules ,iLog。
规则引擎是解析、调用、执行规则包的服务,目前VisualRules采用java语言来实现规则引擎,并且提供了java类接口、Socket、Servlet、SOAP等多种外部调用接口。其实Java类接口是所有这些接口的核心,其他接口其实也是通过Java类接口来加以调用。考虑到最小化规则引擎,因此规则包的解析工作已经放在规则编辑时,预先进行了处理。规则引擎只处理规则包的调用和执行,同时为规则包用到的数据库接口、Excel接口、内存表接口、Xml接口提供缺省的实现。
规则引擎执行原理
VisualRules规则引擎会根据规则包名称,取得对应规则包编译后的rsc文件。然后将rsc加载到内存中,生成规则包执行上下文。同时规则引擎将传递的参数传递到规则包执行上下文中,然后开始执行规则包。执行完毕后,再将规则包执行上下文中的数据,传回给调用规则包的应用程序。整个执行原理非常简单,因此最大限度的保证了规则运行平台的稳定以及最佳的性能。
数据库接口
规则包的对象库中,定义了以下一些数据库对象接口Database、Table、Select、View、Procedure。VisualRules规则引擎直接用JDBC来实现这些接口,最大限度的保证了数据库对象调用的性能。当然用户可以根据自己的需要,重新来实现这些数据库接口。
Excel接口
规则包需要调用的Excel接口主要是IExcelBook、IExcelSheet、IExcelTableSheet、IExcelXYSheet。VisualRules规则引擎采用POI来实现Excel接口。
内存表格接口
规则包需要调用的内存表格接口为Sheet,VisualRules采用Object[][]来实现内存表格接口的实现。
Xml接口
规则包需要调用的XML接口为Node。目前VisualRules采用Jdom来实现。
如何调用
规则引擎是外部Java程序调用规则包的一组Java类,其包含在engine.jar中。 外部Java程序调用规则包时只需要用到两个类。一个是 com.flagleader.engine.RuleEngine 。另一个是 com.flagleader.engine.RuleEngineFactory 。
RuleEngineFactory是得到规则引擎实例的工厂类。 通常代码为
RuleEngine ruleEngine = RuleEngineFactory.newInstance().getRuleEngine();
得到规则引擎实例后,可以调用规则引擎中的方法,主要是put、excute和get这三个方法。 put用于传入需要传入的值,excute用于运行指定的规则包,get用于得到传出的值。 一般的调用代码为:
ruleEngine.put(传入对象);
ruleEngine.excute("规则包调用名");
传出对象 = ruleEngine.get("传出对象名");
因此外部程序调用规则包非常简单。只需以上几行代码就可以完成应用。

  

爱华网本文地址 » http://www.413yy.cn/a/8103390103/80770.html

更多阅读

如何从淘宝网首页进入规则频道 淘宝网网站首页

如何从淘宝网首页进入规则频道——简介现在淘宝做的是越来越大了,很多的人在淘宝上开店,在别人的地盘上就要守人家的规矩,那么淘宝的规则频道怎么进呢?如何从淘宝网首页进入规则频道——方法/步骤如何从淘宝网首页进入规则频道 1、先打

黄金期货交易规则与股票的区别 商品期货交易规则

黄金期货交易规则与股票的区别——简介国内第一个贵金属期货品种黄金期货2008年1月9日正式在上海期货交易所挂牌交易。上海期货交易所昨日发布公告,将各个期限黄金期货合约挂牌当日的基准价规定在209.99元/克的水平上。黄金期货交易

二八杠规则说明 二八杠规则官网

二八杠规则说明——简介二八: 2-6人 采取整副扑克牌54张进行游戏。下面是二八杠规则说明分享给大家?二八杠规则说明——方法/步骤二八杠规则说明 1、在游戏中,先比对子大小下注闲一赢,,再比数字大校比点数时有一特例,即二筒配八筒,该组合

dedecms如何采集文章 dedecms采集规则

dedecms如何采集文章——简介如果要从其他站点转载文章,我们无需复制来复去,dedecms自带了文章和图片采集功能,对于不熟悉的人员来,采集规则配置起来很麻烦,常常在采集时出错,或者乱码,现在就向大家介绍dedecms的采集功能。

声明:《规则引擎 java 规则引擎》为网友吻你眼下泪痣分享!如侵犯到您的合法权益请联系我们删除