您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > drools技术预研报告
规则引擎drools技术预研报告规则引擎drools《技术预研报告》techstarPage2of5目目录录1.引言....................................................................................................................................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可行性分析...................................................................................................................5规则引擎drools《技术预研报告》techstarPage3of51.引言1.1背景现阶段《机房监控IT设备监控信息采集系统》告警规则相对简单,当业务规则变得相对复杂和频繁时,使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本1.2文档范围1.3读者对象1.4参考文档1.5术语与缩写解释缩写、术语解释事实(Fact)指在Drools规则应用当中,将一个普通的JavaBean插入到规则的WorkingMemory当中后的对象2.技术预研目标将业务决策从应用程序代码中分离出来,降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本。规则引擎drools《技术预研报告》techstarPage4of53.技术drools的研究报告3.1drools简介Drool(又称为JbossRules)是Jboss开源社区中的一个为Java量身定制的、基于RETE算法的产生式规则引擎的实现。3.2规则引擎的工作流程数据被assert进WorkingMemory后,和RuleBase中的rule进行匹配(确切的说应该是rule的LHS),如果匹配成功这条rule连同和它匹配的数据(此时就叫做Activation)一起被放入Agenda,等待Agenda来负责安排激发Activation(其实就是执行rule的RHS),上图中的菱形部分就是在Agenda中来执行的,Agenda就会根据冲突解决策略来安排Activation的执行顺序。菱形部分执行完后会查找一下是否有新的规则需要匹配,如果有进入下一个匹配循环,如果没有结束退出。3.3运用DROOLS开发应用系统的流程:1、整理系统的商业逻辑规则引擎drools《技术预研报告》techstarPage5of52、从逻辑中抽象出规则依赖的事实(FACTS)3、根据商业逻辑和事实编写(定制)规则4、加载事实到事实库(Workingmemory)5、加载规则到规则库(rulebase)6、激活规则引擎匹配规则(fire)3.4Drools优点:Drools比传统开发语言易于理解,语法简单。可维护性,业务人员可以参与进来进行软件前期设计和软件后期维护。可扩展性,可以任意删除或新增规则。3.5Drools缺点:Drool采用一般的ORMapping技术,将数据库的表等映射成java类等。这种方式可以对象化的方式来操作数据库,但该方式却使得当变动数据库结构时,必须改动类,这样就不能使操作数据库的逻辑不能像其他的业务逻辑一样可以动态变化。3.6可行性分析采用这套技术,节省了很大的开发工作量,复杂的规则配置以及业务规则经常的变动使用规则引擎可以很大程度节省开发工作量、人力及物力。但是Drools是通过Fact(也就是一个javaPOJO类)进行数据的交互操作,当数据库结构发生变化时,程序代码也要做相应的调整开发。规则文件的RHS部分是规则结果处理部分,这部分可以使用java代码,所以对规则的配置人员有一定的技术要求。
本文标题:drools技术预研报告
链接地址:https://www.777doc.com/doc-1877377 .html