主编推荐语
本书由浅入深、从理论到实践、以实战方式对开源规则引擎Drools的原理、模型、使用方式、适用场景和案例实现进行了讲解。
内容简介
本书的作者都就职于红帽软件,长期深耕开源中间件技术,具有深厚的产品知识及项目经验,曾多次参与企业的IT系统建设和业务规则实现,为业务规则系统的建设者和使用者答疑解惑。本书正是对作者多年实战经验的总结,对国内外企业的规则系统建设具有很高的参考价值。
全书共14章,按照难易程度,可分为初级、中级和高级三个层次。
初级(第1~4章) 首先,总体介绍Drools的构成、多种使用方式、核心概念;其次,以Hello Drools为例让读者切身体验简单规则的编写过程,通过对示例工程的解读,让读者理解Drools规则语言的基本语法与模式匹配;再次,对Drools规则语言的方方面面进行详细讲解;最后,深入讲解Drools规则引擎的核心概念。
中级(第5~11章) 通过详尽的步骤分别讲解Drools基于主机、容器和云模式的环境搭建,介绍如何基于已搭建的环境进行规则的开发、测试与发布,并通过实战让读者掌握多种规则编写方式:向导式规则、规则模板、领域专用语言、规则表、规则流。
高级(第12~14章) 有针对性地讲解Drools在流模式下的复杂事件处理原理、基于决策模型和表示法的规则编写及Drools对机器学习的支持和使用,以帮助读者拓宽思路,将Drools应用到更广阔的领域。
目录
- 版权信息
- 赞誉
- 前言
- 第1章 Drools概述
- 1.1 什么是规则引擎
- 1.2 Drools是什么
- 1.3 Drools的组件
- 1.4 Drools的使用方式
- 1.4.1 嵌入式
- 1.4.2 远程调用模式
- 1.4.3 云提供模式
- 1.5 Drools的核心概念
- 1.5.1 规则语言
- 1.5.2 事实对象
- 1.5.3 决策引擎
- 1.6 社区的Drools与企业级的Decision Manager
- 1.7 本章小结
- 第2章 Drools初体验
- 2.1 环境准备
- 2.2 hello drools
- 2.3 规则语法解读
- 2.4 Drools的模式匹配
- 2.5 规则工程解读
- 2.6 本章小结
- 第3章 Drools规则语言
- 3.1 语法说明
- 3.1.1 包定义
- 3.1.2 依赖导入
- 3.1.3 函数
- 3.1.4 查询
- 3.1.5 类型声明
- 3.1.6 全局变量
- 3.1.7 规则属性
- 3.1.8 规则的条件
- 3.1.9 规则的动作
- 3.1.10 注释
- 3.1.11 错误提示
- 3.2 实战:斐波那契数列
- 3.2.1 功能说明
- 3.2.2 规则实现
- 3.2.3 工程解读
- 3.2.4 规则解读
- 3.3 本章小结
- 第4章 Drools决策引擎
- 4.1 会话
- 4.1.1 无状态会话
- 4.1.2 有状态会话
- 4.1.3 会话池
- 4.2 推理与真理
- 4.3 规则执行控制
- 4.3.1 优先级
- 4.3.2 议程组
- 4.3.3 激活组
- 4.3.4 运行模式
- 4.3.5 事实传播模式
- 4.3.6 议程评估过滤器
- 4.3.7 规则单元
- 4.4 Phreak算法
- 4.4.1 延迟评估
- 4.4.2 面向集合的传播
- 4.4.3 网络分段
- 4.5 查询事实数据
- 4.6 事件侦听器和日志
- 4.6.1 事件侦听器
- 4.6.2 日志
- 4.7 性能调优项
- 4.8 实战:费用分摊
- 4.8.1 功能说明
- 4.8.2 规则实现
- 4.8.3 工程解读
- 4.8.4 规则解读
- 4.9 本章小结
- 第5章 远程调用模式
- 5.1 基于主机的Drools环境搭建
- 5.1.1 获取介质
- 5.1.2 安装
- 5.2 基于容器的Drools环境搭建
- 5.2.1 环境准备
- 5.2.2 安装
- 5.3 实战:将军排队
- 5.3.1 功能说明
- 5.3.2 规则实现
- 5.3.3 工程解读
- 5.3.4 规则解读
- 5.4 本章小结
- 第6章 云提供模式
- 6.1 环境准备
- 6.1.1 获取介质
- 6.1.2 安装OpenShift Local
- 6.1.3 安装Business Automation Operator
- 6.1.4 安装业务中心与决策服务器
- 6.1.5 验证安装
- 6.2 实战:东西在里面吗
- 6.2.1 功能说明
- 6.2.2 规则实现
- 6.2.3 验证规则
- 6.3 本章小结
- 第7章 规则的测试
- 7.1 测试场景设计器
- 7.1.1 全局参数配置
- 7.1.2 数据对象别名
- 7.1.3 表达式语法
- 7.2 “东西在里面吗”实战的测试
- 7.2.1 创建测试场景
- 7.2.2 定义测试场景数据结构
- 7.2.3 添加用例数据并测试
- 7.3 “将军排队”实战的测试
- 7.3.1 创建测试场景与用例
- 7.3.2 编写背景数据并测试
- 7.4 本章小结
- 第8章 向导式规则
- 8.1 向导式规则设计器
- 8.1.1 数据对象
- 8.1.2 设计规则
- 8.2 实战:商品促销
- 8.2.1 功能说明
- 8.2.2 规则实现
- 8.2.3 验证规则
- 8.3 本章小结
- 第9章 向导式规则模板与领域专用语言
- 9.1 向导式规则模板
- 9.1.1 创建规则模板
- 9.1.2 定义数据表
- 9.2 领域专用语言
- 9.3 实战:积分换礼品
- 9.3.1 功能说明
- 9.3.2 规则实现
- 9.3.3 验证规则
- 9.3.4 DSL规则实现
- 9.3.5 验证DSL规则
- 9.4 本章小结
- 第10章 规则表
- 10.1 向导式规则表
- 10.1.1 创建向导式规则表
- 10.1.2 导入数据对象类型
- 10.1.3 添加模式匹配事实
- 10.1.4 添加约束
- 10.1.5 添加更新动作
- 10.1.6 添加插入动作
- 10.1.7 选择展开列
- 10.1.8 添加规则表数据
- 10.2 电子表格规则表
- 10.3 实战:电脑推荐
- 10.3.1 功能说明
- 10.3.2 规则实现
- 10.3.3 验证规则
- 10.3.4 转换为电子表格规则表
- 10.4 本章小结
- 第11章 规则流
- 11.1 什么是规则流
- 11.2 Drools中的规则流
- 11.3 实战:贷款申请
- 11.3.1 功能说明
- 11.3.2 规则流实现
- 11.3.3 验证规则流
- 11.4 本章小结
- 第12章 复杂事件处理
- 12.1 复杂事件处理中的事件
- 12.2 将事实数据定义为事件
- 12.3 事件相关的元数据注解
- 12.4 事件处理模式
- 12.4.1 云模式
- 12.4.2 流模式
- 12.4.3 反向匹配
- 12.5 事实属性更改的评估策略与侦听
- 12.6 事件的时间运算符
- 12.6.1 before和after
- 12.6.2 coincides
- 12.6.3 during和includes
- 12.6.4 finishes和finished by
- 12.6.5 meets和met by
- 12.6.6 overlaps和overlapped by
- 12.6.7 starts和started by
- 12.7 会话时钟
- 12.8 事件流和入口点
- 12.9 滑动窗口
- 12.10 事件的内存管理
- 12.11 实战:行情提醒
- 12.11.1 功能说明
- 12.11.2 规则实现
- 12.11.3 工程解读
- 12.11.4 规则解读
- 12.12 本章小结
- 第13章 决策模型和表示法
- 13.1 DMN的实现级别
- 13.2 决策需求图
- 13.3 规则表达式
- 13.3.1 数据类型
- 13.3.2 条件语句
- 13.3.3 循环语句
- 13.3.4 范围语句
- 13.3.5 内置函数
- 13.3.6 变量和函数名
- 13.4 盒装表达式
- 13.4.1 决策表
- 13.4.2 字面表达式
- 13.4.3 上下文
- 13.4.4 关系
- 13.4.5 函数
- 13.4.6 调用
- 13.4.7 列表
- 13.5 实战:网购图书
- 13.5.1 功能说明
- 13.5.2 规则实现
- 13.5.3 验证规则
- 13.6 本章小结
- 第14章 PMML与机器学习
- 14.1 PMML
- 14.2 PMML的实现级别
- 14.3 PMML与机器学习的关系
- 14.4 实战:申请设备
- 14.4.1 功能说明
- 14.4.2 规则实现
- 14.4.3 验证规则
- 14.5 本章小结
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。