欢迎来到天天文库
浏览记录
ID:21063842
大小:87.65 KB
页数:6页
时间:2018-10-19
《drools技术预研报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、规则引擎drools技术预研报告目录1.弓I言31.1背景31.2文档范围31.3读者对象31.4参考文档31.5术语与缩写解释32.技术预研目标34.技术DROOLS的研究报告44.1DROOLS简介44.2规则引擎的工作流程44.3运用DROOLS开发应用系统的流程:44.4Drools优点:54.5Drools缺点:54.6可行性分析51•引言1.1背景现阶段《机房监控1T设备监控信息采集系统》告警规则相对简单,当业务规则变得相对复杂和频繁时,使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本si1.2文档范1.3读者对象
2、1.4参考文档1.5术语与缩写解释缩写、术语解释事实(Fact)指在Drools规则应用当中,将一个普通的JavaBean插入到规则的WorkingMemory当中后的对象2.技术预研目标将业务决策从应用程序代码中分离出來,降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本。3.技术drools的研宄报告3.1drools简介Drool(乂称为JbossRules)是Jboss开源社区中的一个为Java量身定制的、基于RETE算法的产生式规则引擎的实现。3.2规则引擎的工作流程NoRuleFound——ExitIfspecifiedbyruleex
3、tJ数据被assert进WorkingMemory后,和RuleBase中的rule进行匹配(确切的说应该是rule的LHS),如果匹配成功这条rule连同和它匹配的数据(此时就叫做Activation)一起被放入Agenda,等待Agenda来负责安排激发Activation(其实就是执行rule的RHS),上图中的菱形部分就是在Agenda中来执行的,Agenda就会根据冲突解决策略来安排Activation的执行顺序。菱形部分执行完后会查找一下是否有新的规则需要闪配,如果有进入下一个匹配循环,如果没有结束退出。3.3运用DROOLS幵发应用系统的流程:1、整理
4、系统的商业逻辑2、从逻辑屮抽象出规则依赖的事实(FACTS)3、根据商业逻辑和事实编写(定制)规则4、加载事实到事实库(Workingmemory)5、加载规则到规则库(rulebase)6、激活规则引擎匹配规则(fire)3.4Drools优点:>Drools比传统开发语言易于理解,语法简单。>可维护性,业务人员可以参与进来进行软件前期设计和软件后期维护。>可扩展性,可以任意删除或新増规则。3.5Drools缺点:>Drool采用一般的ORMapping技术,将数据库的表等映射成java类等。这种方式可以对象化的方式来操作数据库,但该方式却使得当变动数据库结构时,
5、必须改动类,这样就不能使操作数据库的逻辑不能像其他的业务逻辑一样可以动态变化。3.6可行性分析采用这套技术,节省Y很大的开发工作量,复杂的规则配置以及业务规则经常的变动使用规则引擎可以很大程度节省开发工作量、人力及物力。但是Drools是通过Fact(也就是一个javaPOJO类)进行数据的交互操作,当数据库结构发生变化时,程序代码也要做相应的调整开发。规则文件的RHS部分是规则结果处理部分,这部分可以使用java代码,所以对规则的配置人员有一定的技术要求。
此文档下载收益归作者所有