Flowable 流程引擎實戰

金楊傑

  • 出版商: 電子工業
  • 出版日期: 2023-11-01
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 304
  • ISBN: 712146490X
  • ISBN-13: 9787121464904
  • 相關分類: Java 程式語言
  • 立即出貨

買這商品的人也買了...

商品描述

本書內容實用而全面,旨在幫助讀者熟悉Flowable流程引擎的基本概念、構建流程模型、實施工作流、集成系統,並解決在實際應用中遇到的問題。它為Java開發人員在流程引擎編程領域提供了豐富的知識和實戰經驗。同時,本書詳細介紹了Flowable流程引擎各組件API及其實戰應用,並以通俗易懂的語言講解引擎設計原理、源碼和進階用法,有助於開發者進一步優化系統。如果你正在開發、調試及維護Flowable流程引擎系統,那麽本書將是你寶貴的資料。

目錄大綱

目 錄
第1章 走近工作流 1
1.1 工作流基礎 1
1.1.1 工作流 1
1.1.2 業務流程管理 1
1.1.3 業務流程建模標註 2
1.2 Flowable體系概述 2
1.2.1 工具組件 2
1.2.2 核心實現 3
1.2.3 引擎服務 4
1.2.4 數據庫表 5
1.3 Flowable與Activiti、低代碼的區別與聯系 6
1.3.1 Flowable與Activiti 6
1.3.2 Flowable與低代碼 6
本章小結 7
第2章 啟動Flowable流程引擎 8
2.1 開發環境 8
2.1.1 JDK安裝 8
2.1.2 MySQL安裝 9
2.1.3 Maven安裝 9
2.1.4 IDE安裝 9
2.2 流程設計器 9
2.2.1 Flowable Designer 10
2.2.2 Flowable Modeler 10
2.2.3 外部設計器 12
2.3 啟動第一個完整流程 13
2.3.1 創建項目 14
2.3.2 創建流程引擎 15
2.3.3 創建流程定義文件 17
2.3.4 部署流程定義文件 19
2.3.5 啟動流程實例 20
2.3.6 查詢與完成任務 21
2.3.7 實現JavaDelegate 22
2.3.8 使用歷史數據 23
本章小結 24
第3章 集成Spring Boot 25
3.1 搭建項目 25
3.1.1 創建Spring Boot項目 25
3.1.2 加入Flowable依賴包 28
3.1.3 添加數據源 29
3.2 REST支持 30
3.2.1 添加REST依賴 30
3.2.2 添加流程文件 30
3.2.3 Service層代碼示例 31
3.2.4 Controller層代碼示例 31
3.3 Spring及Flowable原理 33
3.3.1 Spring構建過程 33
3.3.2 Flowable流程引擎構建過程 34
3.3.3 Flowable引擎配置 36
本章小結 37
第4章 流程部署 38
4.1 流程部署方式 38
4.1.1 classpath部署 39
4.1.2 Spring Boot自動部署 39
4.1.3 字符串部署 40
4.1.4 流式部署 40
4.1.5 ZIP壓縮包部署 41
4.1.6 BpmnModel部署 41
4.2 流程部署管理 42
4.2.1 獲取已部署的流程列表 42
4.2.2 讀取流程圖片 43
4.2.3 讀取流程定義的XML內容 43
4.2.4 刪除部署 43
4.3 部署原理 44
4.3.1 初始化部署器 44
4.3.2 部署過程 45
4.3.3 實際部署 46
本章小結 47
第5章 流程變量和表單 48
5.1 流程變量 48
5.1.1 運行時變量 48
5.1.2 歷史變量 49
5.2 表單 49
5.2.1 內置表單 49
5.2.2 外部表單 50
5.2.3 表單字段類型 53
5.2.4 自定義表單字段類型 53
5.2.5 自定義表單引擎 55
本章小結 56
第6章 集成JPA 57
6.1 JPA支持 57
6.2 JPA版本的請假流程 58
6.2.1 簡單的請假流程 58
6.2.2 在啟動流程時持久化JPA實體 60
6.2.3 更改JPA實體的屬性 63
6.2.4 清理歷史變量表的數據 64
本章小結 65
第7章 用戶和組 66
7.1 指派用戶和組 66
7.1.1 指派用戶 66
7.1.2 指派潛在的用戶 67
7.1.3 指派潛在的組 67
7.1.4 指派潛在的用戶和組 68
7.1.5 自定義指派 68
7.2 身份管理 69
7.3 流程啟動認證 70
7.4 集成LDAP 71
本章小結 72
第8章 事件 73
8.1 啟動事件 73
8.1.1 空啟動事件 73
8.1.2 定時器啟動事件 74
8.1.3 消息啟動事件 75
8.1.4 信號啟動事件 76
8.1.5 異常啟動事件 76
8.2 結束事件 77
8.2.1 空結束事件 77
8.2.2 異常結束事件 77
8.2.3 終止結束事件 78
8.2.4 取消結束事件 78
8.3 事件定義 79
8.3.1 定時器事件定義 79
8.3.2 錯誤事件定義 81
8.3.3 信號事件定義 81
8.3.4 消息事件定義 84
本章小結 86
第9章 事件進階 87
9.1 邊界事件 87
9.1.1 定時器邊界事件 87
9.1.2 錯誤邊界事件 89
9.1.3 信號邊界事件 91
9.1.4 消息邊界事件 91
9.1.5 取消邊界事件 91
9.1.6 補償邊界事件 92

9.2 捕獲中間事件 93
9.2.1 定時器捕獲中間事件 93
9.2.2 信號捕獲中間事件 93
9.2.3 消息捕獲中間事件 94
9.3 拋出中間事件 94
9.3.1 空拋出中間事件 94
9.3.2 信號拋出中間事件 95
9.3.3 補償拋出中間事件 95
9.4 事件調度實現原理 97
本章小結 100
第10章 任務 101
10.1 常用的任務類型 101
10.1.1 用戶任務 101
10.1.2 JavaService任務 102
10.1.3 業務規則任務 106
10.2 任務管理 107
10.2.1 任務完成 107
10.2.2 任務相關人員 107
10.2.3 查詢任務列表 109
10.2.4 任務簽收與反簽收 109
10.2.5 任務委派 109
10.3 子任務 110
10.3.1 創建子任務 110
10.3.2 查詢子任務 110
10.3.3 子任務的意見列表 111
本章小結 111
第11章 任務進階 112
11.1 HTTP任務 112
11.1.1 配置客戶端 112
11.1.2 配置HTTP任務 113
11.1.3 結果變量 115
11.1.4 錯誤處理 115

11.2 Web服務任務 117
11.2.1 I/O規範 118
11.2.2 數據輸入關聯 119
11.2.3 數據輸出關聯 120
11.3 腳本任務 120
11.3.1 腳本中的變量 121
11.3.2 腳本任務的返回值 122
11.4 接收任務和Shell任務 122
11.4.1 接收任務 122
11.4.2 Shell任務 124
11.5 執行監聽器 125
11.6 任務監聽器 127
11.7 監聽器原理 129
11.7.1 創建及觸發監聽器 129
11.7.2 自定義監聽器攔截 132
本章小結 133
第12章 順序流和網關 134
12.1 順序流 134
12.1.1 條件順序流 134
12.1.2 默認順序流 135
12.2 網關 135
12.2.1 排他網關 136
12.2.2 並行網關 137
12.2.3 包容網關 138
12.2.4 事件網關 140
本章小結 142
第13章 多實例活動 143
13.1 多實例配置 143
13.1.1 多實例數量 144
13.1.2 多實例結束 145
13.2 應用實例——用戶任務 145
13.2.1 順序方式 146
13.2.2 並行方式 147
13.2.3 設置結束條件 148
13.3 應用實例——請假會簽 149
13.3.1 任務事件節點定義 149
13.3.2 連接節點定義 151
13.3.3 執行流程 152
13.4 審批意見 153
13.5 附件 154
本章小結 156
第14章 流程數據查詢 157
14.1 標準查詢 157
14.1.1 運行時查詢 158
14.1.2 歷史查詢 158
14.2 Native查詢 159
14.2.1 運行時查詢 161
14.2.2 歷史查詢 162
14.3 自定義SQL查詢 163
14.3.1 基於註解的映射語句 163
14.3.2 基於XML的映射語句 164
本章小結 168
第15章 子流程、調用活動與事務 169
15.1 子流程 169
15.1.2 事件子流程 171
15.1.3 事務子流程 173
15.2 調用活動 176
15.2.1 傳遞變量 177
15.2.2 引用同一個部署單元中的流程 178
15.2.3 示例 178
15.3 事務與並發 179
15.3.1 異步延續 179
15.3.2 失敗重試 181
15.3.3 排他作業 181
本章小結 184

第16章 進階用法 185
16.1 高並發ID生成器 185
16.2 多租戶 188
16.2.1 租戶ID傳遞 189
16.2.2 空租戶 190
16.3 異步執行器 191
16.3.1 異步執行器的設計 191
16.3.2 配置異步執行器 193
16.3.3 集成消息隊列 194
16.4 事件日誌 199
16.5 安全腳本 202
本章小結 204
第17章 元素行為 205
17.1 行為類的架構 205
17.2 事件行為類的原理 207
17.2.1 空啟動事件行為 207
17.2.2 消息啟動事件行為 209
17.3 任務行為類的原理 211
17.3.1 用戶任務行為 211
17.3.2 服務任務行為 215
17.4 網關行為類原理 218
本章小結 222
第18章 設計模式 223
18.1 策略模式 223
18.1.1 策略模式的應用實例 223
18.1.2 策略模式在引擎中的應用 225
18.2 狀態模式 227
18.2.1 狀態模式的應用實例 227
18.2.2 狀態模式與策略模式的區別 230
18.3 命令模式 231
18.3.1 命令模式的應用實例 231
18.3.2 命令模式在引擎部署中的應用 234
18.4 觀察者模式 237
18.4.1 觀察者模式的應用實例 237
18.4.2 觀察者模式在引擎中的應用 239
本章小結 241
第19章 案例管理模型 242
19.1 基礎概念 242
19.2 一個簡單的CMMN案例模型 243
19.2.1 創建新工程 244
19.2.2 案例定義 245
19.2.3 部署與執行 247
19.3 CMMN結構 251
19.3.1 基本結構 251
19.3.2 CMMN任務 253
19.3.3 腳本任務 256
19.3.4 事件監聽器 258
19.4 哨兵計算 262
19.4.1 默認行為 263
19.4.2 事件觸發模式 264
19.5 計劃項控制 266
19.5.1 重復規則 266
19.5.2 手動激活規則 266
19.5.3 必需規則 268
19.5.4 中立完成規則 270
19.6 CMMN配置與部署 271
19.6.1 數據庫表名稱 271
19.6.2 部署緩存配置 271
19.6.3 日誌 271
19.6.4 CMMN部署 272
19.7 CMMN API 272
19.7.1 CMMN引擎與服務 273
19.7.2 查詢數據 273
19.7.3 變量 274
本章小結 274

第20章 決策模型標記 275
20.1 DMN結構 275
20.1.1 決策定義 275
20.1.2 決策表 275
20.1.3 命中策略 277
20.1.4 輸入表達式和輸出表達式 277
20.1.5 匹配規則 279
20.1.6 BPMN 2.0流程中的應用 280
20.2 Flowable DMN引擎配置 282
20.2.1 引擎配置 282
20.2.2 數據庫表名稱 283
20.2.3 部署緩存配置 283
20.2.4 日誌 284
20.3 DMN部署 284
20.3.1 部署方式 284
20.3.2 決策定義版本 285
20.4 DMN API 285
20.4.1 DMN引擎和服務 285
20.4.2 查詢數據 286
20.4.3 Web中的DMN引擎 287
本章小結 287