Drools快速入门(第二版)PPT
- 格式:ppt
- 大小:2.91 MB
- 文档页数:48


Drools应用手册 版本 日期 修改历史 作者 0.1 2010年8月27日 文档创建 刘俊豪
第 1 页 共 1 页 机密 – 未经允许不得扩散 红帽软件中国 目 录 1 简介......................................................................................................................... 1 1.1 什么是规则引擎?................................................................................................ 1 1.2 Drools简介 .......................................................................................................... 1 1.3 何时使用Drools ................................................................................................... 1 2 Drools工作原理 .................................................................................................... 3 2.1 产生式规则引擎工作原理..................................................................................... 3 2.2 RETE算法 ........................................................................................................... 4 3 Drools实战 ............................................................................................................ 1 3.1 安装Eclipse开发插件 .......................................................................................... 1 3.2 Hello Drools ......................................................................................................... 2 3.3 规则语言 .............................................................................................................. 7 3.3.1 规则文件............................................................................................................................................. 7 3.3.2 规则构成............................................................................................................................................. 8 3.3.3 保留字 ................................................................................................................................................. 8 3.3.4 注释 ................................................................................................................................................... 10 3.3.5 Package.............................................................................................................................................. 10 3.3.6 Import ................................................................................................................................................ 11 3.3.7 Expander ........................................................................................................................................... 11 3.3.8 Global全局变量 ............................................................................................................................. 11 3.3.9 Function............................................................................................................................................. 13 3.3.10 规则 ................................................................................................................................................... 13 3.3.11 规则属性........................................................................................................................................... 15 3.3.12 LHS (when) 条件元素 .................................................................................................................. 17
drools介绍
前言
目前世面上中文的KIE DROOLS Workbench(JBOSS BRMS)的教程几乎没有,有的也只有灵灵碎碎的使用机器来翻译的(翻的不知所云)或者是基于
老版本的JBOSS Guvnor即5.x的一些教程,而且这些教程都是”缺胳膊少腿“的,初学者看后不知道它到底在干吗?能干吗?能够解决自己系统中什么问
题。
所以笔者自己写了几个例子,把整个最新的英文版的KIE DROOLS 6.3.0.Final的官方教程给串了起来,用于供读者使用并以此来作为入门以及相关SOA理
念的推广的第一步。
本教程共分为”三“集。
什么是规则引擎
规则是让业务人士驱动整个企业过程的最佳实践
业务规则在实现上的矛盾
业务规则技术
引入业务规则技术的目的
对系统的使用人员把业务策略(规则)的创建、修改和维护的权利交给业务经理提高业务灵活性加强业务处理的透明度,业务规则可以被管理减少对IT人员的依赖程度避免将来升级的风险对IT开发人员简化系统架构,优化应用提高系统的可维护性和维护成本方便系统的整合减少编写“硬代码”业务规则的成本和风险何为规则引擎
可以将一个或多个的事实映射到一个或多个规则上接受数据输入,解释业务规则,并根据业务规则做出业务决策一个简单的例子
从IT技术人员的角度看为什么使用规则引擎?
从应用逻辑和数据中将业务逻辑分离简单! -规则有一个非常简单的结构让业务用户开发和维护规则以降低成本声明式编程性能和可伸缩性解决复杂的和复合的问题,其中有大量细粒度的规则和事实互动
DEMO-人寿新卓越变额万能寿险投保规则
DEMO-人寿新卓越变额万能寿险投保规则的IT实现
免体检累积最高限额表在规则引擎中的实现:
什么叫BRMS什么叫BRMS
什么是BRMS-考虑两个问题(IT管理者角度)
什么是BRMS-考虑两个问题(开发人员易用性角度)
BRMS-Business Rules Management System
一个优秀的BRMS应该具有的特点
Drools语法详解
一个典型的DRL文件:
①package com.sample
包名,不可以与关键字冲突。一个包通过名称空间描绘,这样很好的保持了一组规则的独立性。
②import
标记就像java中的含义一样。对于任何要用在规则中的对象,你需要指定完整的路径和类型名。Drools从同名的java包中自动导入类。
③global
如果多个包定义了同样名称的全局变量,它们必须使用同样的类型,并且全部指向同一个全局值。全部变量通常用来返回数据,获得提供数据或服务给规则使用。为了使用全局变量,你必须:
在规则文件中声明全局变量并使用它,如:
global java.util.List myGlobalList;
rule "Using a global"
when
eval( true )
then
myGlobalList.add( "Hello World" );
end
在working memory上设置全局变量的值。最好是在将fact插入working memory之前设置完所有全局变量,如:
List list = new ArrayList();
WorkingMemory wm = rulebase.newStatefulSession();
wm.setGlobal( "myGlobalList", list );
④function
相对于正常的java类,函数是在你的规则代码中放置语言代码的方法。它们不可能做任何超过你可以在帮助类(在java中定义,被设置入规则的Working Memory中的类)中做到的事情。使用函数的优点是可以将逻辑保存在一个地方,并且你可以在需要的时候改变函数(这样做各有优缺点)。函数最大的用处是被规则的推论(then)部分中的行为所调用,特别是当一个行为操作需要反复被调用时(将公用代码抽取出来成为一个函数)。
Drools 语法
目录
Drools 语法 .................................................................................................................... 1
一 基础api ............................................................................................................... 2
1 KnowledgeBuilder .......................................................................................... 2
2 KnowledgeBase................................................................................................. 3
3 StatefulKnowledgeSessions ................................................................................ 7
4 StateLessKnowledgeSession ............................................................................... 9
二FACT对象 ........................................................................................................... 11