掌握这个规则引擎框架,涨500 !
大家好,我是锋哥! Java1234 VIP大特惠(仅限100名额)!...
随着企业业务越来越复杂,业务变化越来越快,场景因素越来越多,规则引擎逐渐成为企业业务系统的核心组件,在营销、运营、风控、物流、仓储等业务场景都有了大量应用。
Drools由于许可方式宽松、成熟度高、灵活方便、性能良好而获得大家认可,作为一款十分流行的开源规则引擎产品,一直是各大规则引擎项目的事实标准。
市面上一直缺少可以快速入手、深入浅出的Drools参考书。为了解决开发者的燃眉之急,《实战Drools规则引擎》来了!
扫码了解,各大电商平台有售
作者是红帽JBoss中间件的资深行家,本书不仅介绍了Drools的架构设计思路和使用方法,还凝结了作者多年的实际项目经验,令本书更具实操性。
本书从规则引擎的起源开始,对规则和Drools进行简要介绍;再从Hello Drools开始让读者浸入规则中,逐步掌握规则的语言、决策引擎的原理、Drools的多种部署与使用方式、规则的编写、规则的测试;最后引导读者学习Drools的中高级用法,如规则表、规则流、复杂事件处理、决策模型和表示法、预测模型标记语言与机器学习。
相信本书可以带领大家探索Drools的奇妙旅程。
读者对象
本书适合作为IT系统中规则的建设者和使用者的规则入门与使用的参考资料,也适合作为Drools爱好者进行知识拓展的方向指导。
本书结构
这是一部由浅入深、从理论到实践、以实战方式讲解开源规则引擎Drools的原理、模型、使用方式、适用场景和案例实现的著作,得到了国内外众多知名企业专家的一致好评。
全书共14章,按照难易程度,可分为初级、中级和高级三个层次。
初级(第1~4章)
首先,总体介绍Drools的构成、多种使用方式、核心概念;其次,以Hello Drools为例让读者切身体验*简单规则的编写过程,通过对示例工程的解读,让读者理解Drools规则语言的基本语法与模式匹配;再次,对Drools规则语言的方方面面进行详细讲解;最后,深入讲解Drools规则引擎的核心概念。中级(第5~11章)
通过详尽的步骤分别讲解Drools基于主机、容器和云模式的环境搭建,介绍如何基于已搭建的环境进行规则的开发、测试与发布,并通过实战让读者掌握多种规则编写方式:向导式规则、规则模板、领域专用语言、规则表、规则流。高级(第12~14章)
有针对性地讲解Drools在流模式下的复杂事件处理原理、基于决策模型和表示法的规则编写及Drools对机器学习的支持和使用,以帮助读者拓宽思路,将Drools应用到更广阔的领域。
不同于其他学习类的技术书,本书的最大特色是深入浅出地将作者丰富的实战经验进行了总结。从基础概念入手,继以详尽的案例展示,带领读者了解如何使用规则引擎实现实际的业务规则需求,实践并掌握Drools规则引擎的各种工作模型与实现过程。两位作者的深厚技术功底和分享精神成就了这本干货满满的佳作!
本书作者
关泽发
红帽资深解决方案架构师,拥有20余年IT从业经验,目前专注于云原生微服务系统架构设计与开发。曾就职于AWS应用现代化团队、红帽服务交付团队、投资银行开发团队,熟悉公有云和私有云生态,擅长企业业务系统的设计、开发与交付。
陈楚晖
红帽首席架构师、开源技术专家,专注于云计算、容器技术、开源中间件、规则引擎的推广。曾就职于甲骨文中间件团队、银行业务开发团队,拥有20余年中间件及应用开发经验,以及丰富的金融企业、政府机构、电信运营商等的应用上云、DevOps、PaaS、系统集成及IT项目管理经验,熟悉开源软件的软件开发、架构设计、系统运维等。
目录
第1章 Drools概述 1
1.1 什么是规则引擎 1
1.2 Drools是什么 2
1.3 Drools的组件 2
1.4 Drools的使用方式 3
1.4.1 嵌入式 3
1.4.2 远程调用模式 4
1.4.3 云提供模式 4
1.5 Drools的核心概念 5
1.5.1 规则语言 5
1.5.2 事实对象 6
1.5.3 决策引擎 7
1.6 社区的Drools与企业级的
Decision Manager 7
1.7 本章小结 8
第2章 Drools初体验 9
2.1 环境准备 9
2.2 hello drools 9
2.3 规则语法解读 11
2.4 Drools的模式匹配 11
2.5 规则工程解读 13
2.6 本章小结 15
第3章 Drools规则语言 16
3.1 语法说明 17
3.1.1 包定义 17
3.1.2 依赖导入 17
3.1.3 函数 18
3.1.4 查询 18
3.1.5 类型声明 19
3.1.6 全局变量 21
3.1.7 规则属性 21
3.1.8 规则的条件 22
3.1.9 规则的动作 25
3.1.10 注释 29
3.1.11 错误提示 30
3.2 实战:斐波那契数列 32
3.2.1 功能说明 32
3.2.2 规则实现 32
3.2.3 工程解读 33
3.2.4 规则解读 35
3.3 本章小结 36
第4章 Drools决策引擎 37
4.1 会话 37
4.1.1 无状态会话 38
4.1.2 有状态会话 39
4.1.3 会话池 41
4.2 推理与真理 42
4.3 规则执行控制 43
4.3.1 优先级 44
4.3.2 议程组 45
4.3.3 激活组 46
4.3.4 运行模式 46
4.3.5 事实传播模式 47
4.3.6 议程评估过滤??器 48
4.3.7 规则单元 48
4.4 Phreak算法 51
4.4.1 延迟评估 51
4.4.2 面向集合的传播 52
4.4.3 网络分段 52
4.5 查询事实数据 53
4.6 事件侦听器和日志 54
4.6.1 事件侦听器 54
4.6.2 日志 55
4.7 性能调优项 55
4.8 实战:费用分摊 57
4.8.1 功能说明 57
4.8.2 规则实现 58
4.8.3 工程解读 59
4.8.4 规则解读 61
4.9 本章小结 65
第5章 远程调用模式 66
5.1 基于主机的Drools环境搭建 66
5.1.1 获取介质 66
5.1.2 安装 69
5.2 基于容器的Drools环境搭建 74
5.2.1 环境准备 74
5.2.2 安装 75
5.3 实战:将军排队 79
5.3.1 功能说明 79
5.3.2 规则实现 79
5.3.3 工程解读 84
5.3.4 规则解读 86
5.4 本章小结 88
第6章 云提供模式 89
6.1 环境准备 89
6.1.1 获取介质 89
6.1.2 安装OpenShift Local 90
6.1.3 安装Business Automation Operator 95
6.1.4 安装业务中心与决策
服务器 97
6.1.5 验证安装 99
6.2 实战:东西在里面吗 101
6.2.1 功能说明 101
6.2.2 规则实现 101
6.2.3 验证规则 110
6.3 本章小结 113
第7章 规则的测试 114
7.1 测试场景设计器 114
7.1.1 全局参数配置 115
7.1.2 数据对象别名 115
7.1.3 表达式语法 115
7.2 “东西在里面吗”实战的测试 116
7.2.1 创建测试场景 116
7.2.2 定义测试场景数据结构 117
7.2.3 添加用例数据并测试 122
7.3 “将军排队”实战的测试 125
7.3.1 创建测试场景与用例 125
7.3.2 编写背景数据并测试 126
7.4 本章小结 128
第8章 向导式规则 129
8.1 向导式规则设计器 129
8.1.1 数据对象 129
8.1.2 设计规则 130
8.2 实战:商品促销 131
8.2.1 功能说明 131
8.2.2 规则实现 131
8.2.3 验证规则 148
8.3 本章小结 155
第9章 向导式规则模板与领域
专用语言 156
9.1 向导式规则模板 156
9.1.1 创建规则模板 156
9.1.2 定义数据表 157
9.2 领域专用语言 158
9.3 实战:积分换礼品 159
9.3.1 功能说明 159
9.3.2 规则实现 160
9.3.3 验证规则 167
9.3.4 DSL规则实现 168
9.3.5 验证DSL规则 171
9.4 本章小结 171
第10章 规则表 172
10.1 向导式规则表 172
10.1.1 创建向导式规则表 172
10.1.2 导入数据对象类型 174
10.1.3 添加模式匹配事实 175
10.1.4 添加约束 176
10.1.5 添加更新动作 176
10.1.6 添加插入动作 177
10.1.7 选择展开列 178
10.1.8 添加规则表数据 179
10.2 电子表格规则表 179
10.3 实战:电脑推荐 181
10.3.1 功能说明 181
10.3.2 规则实现 181
10.3.3 验证规则 193
10.3.4 转换为电子表格规则表 194
10.4 本章小结 198
第11章 规则流 199
11.1 什么是规则流 199
11.2 Drools中的规则流 199
11.3 实战:贷款申请 202
11.3.1 功能说明 202
11.3.2 规则流实现 203
11.3.3 验证规则流 240
11.4 本章小结 245
第12章 复杂事件处理 246
12.1 复杂事件处理中的事件 246
12.2 将事实数据定义为事件 247
12.3 事件相关的元数据注解 247
12.4 事件处理模式 249
12.4.1 云模式 249
12.4.2 流模式 250
12.4.3 反向匹配 250
12.5 事实属性更改的评估策略与
侦听 251
12.6 事件的时间运算符 253
12.6.1 before和after 254
12.6.2 coincides 254
12.6.3 during和includes 255
12.6.4 finishes和finished by 256
12.6.5 meets和met by 256
12.6.6 overlaps和overlapped by 257
12.6.7 starts和started by 257
12.7 会话时钟 258
12.8 事件流和入口点 259
12.9 滑动窗口 260
12.10 事件的内存管理 261
12.11 实战:行情提醒 262
12.11.1 功能说明 262
12.11.2 规则实现 262
12.11.3 工程解读 263
12.11.4 规则解读 266
12.12 本章小结 267
第13章 决策模型和表示法 268
13.1 DMN的实现级别 268
13.2 决策需求图 269
13.3 规则表达式 270
13.3.1 数据类型 270
13.3.2 条件语句 271
13.3.3 循环语句 271
13.3.4 范围语句 272
13.3.5 内置函数 272
13.3.6 变量和函数名 283
13.4 盒装表达式 283
13.4.1 决策表 283
13.4.2 字面表达式 284
13.4.3 上下文 285
13.4.4 关系 285
13.4.5 函数 285
13.4.6 调用 286
13.4.7 列表 286
13.5 实战:网购图书 287
13.5.1 功能说明 287
13.5.2 规则实现 287
13.5.3 验证规则 301
13.6 本章小结 304
第14章 PMML与机器学习 305
14.1 PMML 305
14.2 PMML的实现级别 308
14.3 PMML与机器学习的关系 309
14.4 实战:申请设备 310
14.4.1 功能说明 310
14.4.2 规则实现 311
14.4.3 验证规则 322
14.5 本章小结 323