編輯推薦
適讀人群 :Java Web應用開發人員,計算機及相關專業在校生 1.內容深入。書中的案例不僅僅講解Activiti的功能,更模仿Activiti的思路去模擬功能的實現,讀者可以深入瞭解其中的原理。
2.開發環境與案例更貼近實際。書中案例的開發環境、使用的框架以及工具均是來自企業的實際應用,案例的選取與研發過程更貼近實際。
3.注釋詳細。本書的代碼,幾乎每行Java代碼均有注釋,讀者可以很容易地瞭解代碼的意思,輕鬆掌握相應的知識。
內容簡介
工作流引擎Activiti經過多年的發展,已經變成一個成熟的工作流框架,在2017年,Activiti推齣瞭全新的6.0版本,除瞭完善對BPMN規範的支持外,還加入瞭對DMN規範的支持。為瞭能讓廣大的程序開發者一探新版本Activiti的功能,筆者在第一版的基礎上,編寫瞭本書的第二版。
書中會對Activiti的知識進行全麵講解,並從源碼角度對Activiti進行深度剖析。本書會以Activiti為基礎,講述該框架的API使用、BPMN規範,除瞭這些工作流的基本知識外,還講解瞭新的DMN規範引擎、Activiti整閤SpringBoot等內容。在本書的第18章,深入Activiti的源代碼,展示捨棄流程虛擬機(PVM)之後的Activiti,如何對流程進行控製,讓讀者能一窺Activiti的廬山真麵目。zui後一章,以一個案例結束本書的內容,案例中整閤Spring、Struts2等主流框架,目的是讓讀者在學習的過程中更貼近實際案例。
作者簡介
楊恩雄,從事十多年JavaEE企業應用開發,曾任中企動力係統設計師、中企開源項目經理、數碼辰星科技公司項目經理,參與過多個企業級項目的設計與架構工作,曾負責辰星“電影票網絡銷售係統”的整體架構。精通Activiti、Drools、ESB等開源技術,在SOA、SaaS、大數據應用、互聯網係統架構方麵有著豐富的經驗,曾齣版《瘋狂Java實戰演義》《瘋狂Workflow講義》《瘋狂SpringCloud微服務架構實戰》等書籍。
目錄
第1章 Activiti介紹 1
1.1 工作流介紹 2
1.2 BPMN 2.0規範簡述 2
1.2.1 BPMN 2.0概述 3
1.2.2 BPMN 2.0元素 3
1.2.3 BPMN 2.0的XML結構 5
1.3 Activiti介紹 5
1.3.1 Activiti的齣現 5
1.3.2 Activiti的發展 5
1.3.3 選擇Activiti還是jBPM 5
1.4 本章小結 6
第2章 安裝與運行Activiti 7
2.1 下載與運行Activiti 8
2.1.1 下載和安裝JDK 8
2.1.2 下載和安裝MySQL 9
2.1.3 下載和安裝Activiti 10
2.2 運行官方的Activiti示例 11
2.2.1 請假流程概述 11
2.2.2 新建用戶 11
2.2.3 定義流程 12
2.2.4 發布流程 14
2.2.5 啓動與完成流程 15
2.2.6 流程引擎管理 16
2.3 安裝開發環境 17
2.3.1 下載Eclipse 17
2.3.2 安裝Activiti插件 18
2.4 編寫第一個Activiti程序 19
2.4.1 如何運行本書示例 19
2.4.2 建立工程環境 19
2.4.3 創建配置文件 20
2.4.4 創建流程文件 20
2.4.5 加載流程文件與啓動流程 21
2.5 本章小結 22
第3章 Activiti數據庫設計 23
3.1 通用數據錶 24
3.1.1 資源錶 24
3.1.2 屬性錶 24
3.2 流程存儲錶 25
3.2.1 部署數據錶 25
3.2.2 流程定義錶 25
3.3 身份數據錶 25
3.3.1 用戶錶 25
3.3.2 用戶賬號(信息)錶 26
3.3.3 用戶組錶 26
3.3.4 關係錶 26
3.4 運行時數據錶 26
3.4.1 流程實例(執行流)錶 26
3.4.2 流程任務錶 27
3.4.3 流程參數錶 27
3.4.4 流程與身份關係錶 27
3.4.5 工作數據錶 28
3.4.6 事件描述錶 28
3.5 曆史數據錶 28
3.5.1 流程實例錶 28
3.5.2 流程明細錶 29
3.5.3 曆史任務錶和曆史行為錶 29
3.5.4 附件錶和評論錶 29
3.6 DMN規則引擎錶 30
3.6.1 決策部署錶 30
3.6.2 決策錶 30
3.6.3 部署資源錶 30
3.7 本章小結 30
第4章 Activiti流程引擎配置 31
4.1 流程引擎配置對象 32
4.1.1 讀取默認的配置文件 32
4.1.2 讀取自定義的配置文件 33
4.1.3 讀取輸入流的配置 33
4.1.4 使用createStandaloneInMemProcess- EngineConfiguration方法 34
4.1.5 使用createStandaloneProcessEngine- Configuration方法 34
4.2 數據源配置 35
4.2.1 Activiti支持的數據庫 35
4.2.2 Activiti與Spring 35
4.2.3 JDBC配置 35
4.2.4 DBCP數據源配置 36
4.2.5 C3P0數據源配置 37
4.2.6 Activiti其他數據源配置 38
4.2.7 數據庫策略配置 38
4.2.8 databaseType配置 39
4.3 其他屬性配置 40
4.3.1 history配置 40
4.3.2 asyncExecutorActivate配置 41
4.3.3 郵件服務器配置 41
4.4 ProcessEngineConfiguration bean 41
4.4.1 ProcessEngineConfiguration及其子類 41
4.4.2 自定義ProcessEngineConfiguration 42
4.5 Activiti的命令攔截器 43
4.5.1 命令模式 44
4.5.2 責任鏈模式 45
4.5.3 編寫自定義攔截器 47
4.6 本章小結 49
第5章 流程引擎的創建 50
5.1 ProcessEngineConfiguration的buildProcessEngine方法 51
5.2 ProcessEngines對象 51
5.2.1 init方法與getDefaultProcessEngine方法 51
5.2.2 registerProcessEngine方嚮和unregister方法 52
5.2.3 retry方法 53
5.2.4 destroy方法 53
5.3 ProcessEngine對象 54
5.3.1 服務組件 54
5.3.2 關閉流程引擎 55
5.3.3 流程引擎名稱 56
5.4 本章小結 56
第6章 用戶組與用戶 57
6.1 用戶組管理 58
6.1.1 Group對象 58
6.1.2 創建用戶組 58
6.1.3 修改用戶組 59
6.1.4 刪除用戶組 60
6.2 Activiti數據查詢 61
6.2.1 查詢對象 61
6.2.2 list方法 61
6.2.3 listPage方法 62
6.2.4 count方法 63
6.2.5 排序方法 63
6.2.6 ID排序問題 64
6.2.7 多字段排序 66
6.2.8 singleResult方法 67
6.2.9 用戶組數據查詢 68
6.2.10 原生SQL查詢 69
6.3 用戶管理 71
6.3.1 User對象 71
6.3.2 添加用戶 71
6.3.3 修改用戶 72
6.3.4 刪除用戶 72
6.3.5 驗證用戶密碼 73
6.3.6 用戶數據查詢 74
6.3.7 設置認證用戶 75
6.4 用戶信息管理 77
6.4.1 添加和刪除用戶信息 77
6.4.2 查詢用戶信息 78
6.4.3 設置用戶圖片 78
6.5 用戶組與用戶的關係 80
6.5.1 綁定關係 80
6.5.2 解除綁定 81
6.5.3 查詢用戶組下的用戶 81
6.5.4 查詢用戶所屬的用戶組 82
6.6 本章小結 83
第7章 流程存儲 84
7.1 流程文件部署 85
7.1.1 Deployment對象 85
7.1.2 DeploymentBuilder對象 85
7.1.3 添加輸入流資源 86
7.1.4 添加classpath資源 87
7.1.5 添加字符串資源 88
7.1.6 添加壓縮包資源 88
7.1.7 添加BPMN模型資源 89
7.1.8 修改部署信息 90
7.1.9 過濾重復部署 90
7.1.10 取消部署時的驗證 92
7.2 流程定義的管理 93
7.2.1 ProcessDefinition對象 93
7.2.2 流程部署 93
7.2.3 流程圖部署 95
7.2.4 流程圖自動生成 95
7.2.5 中止與激活流程定義 96
7.2.6 流程定義緩存配置 97
7.2.7 自定義緩存 98
7.3 流程定義權限 100
7.3.1 設置流程定義的用戶權限 100
7.3.2 設置流程定義的用戶組權限 101
7.3.3 IdentityLink對象 102
7.3.4 查詢權限數據 102
7.4 RepositoryService數據查詢與刪除 104
7.4.1 查詢部署資源 104
7.4.2 查詢流程文件 105
7.4.3 查詢流程圖 106
7.4.4 查詢部署資源名稱 107
7.4.5 刪除部署資源 107
7.4.6 DeploymentQuery對象 108
7.4.7 ProcessDefinitionQuery對象 109
7.5 本章小結 109
第8章 流程任務管理 110
8.1 任務的創建與刪除 111
8.1.1 Task接口 111
8.1.2 創建與保存Task實例 112
8.1.3 刪除任務 112
8.2 任務權限 113
8.2.1 設置候選用戶組 114
8.2.2 設置候選用戶 115
8.2.3 權限數據查詢 116
8.2.4 設置任務持有人 118
8.2.5 設置任務代理人 119
8.2.6 添加任務權限數據 119
8.2.7 刪除用戶組權限 121
8.2.8 刪除用戶權限 122
8.3 任務參數 123
8.3.1 基本類型參數設置 124
8.3.2 序列化參數 125
8.3.3 獲取參數 126
8.3.4 參數作用域 127
8.3.5 設置多個參數 128
8.3.6 數據對象 129
8.4 任務附件管理 130
8.4.1 Attachment對象 130
8.4.2 創建任務附件 130
8.4.3 附件查詢 132
8.4.4 刪除附件 133
8.5 任務評論與事件記錄 133
8.5.1 Comment對象 133
8.5.2 新增任務評論 134
8.5.3 事件的記錄 135
8.5.4 數據查詢 136
8.6 任務聲明與完成 137
8.6.1 任務聲明 137
8.6.2 任務完成 138
8.7 本章小結 139
第9章 流程控製 140
9.1 流程實例與執行流 141
9.1.1 流程實例與執行流概念 141
9.1.2 流程實例和執行流對象(ProcessInstance與Execution) 141
9.2 啓動流程 142
9.2.1 startProcessInstanceById方法 142
9.2.2 startProcessInstanceByKey方法 144
9.2.3 startProcessInstanceByMessage 145
9.3 流程參數 146
9.3.1 設置與查詢流程參數 147
9.3.2 流程參數的作用域 147
9.3.3 其他設置參數的方法 149
9.4 流程操作 149
9.4.1 流程觸發 149
9.4.2 觸發信號事件 150
9.4.3 觸發消息事件 152
9.4.4 中斷與激活流程 153
9.4.5 刪除流程 154
9.5 流程數據查詢 155
9.5.1 執行流查詢 155
9.5.2 流程實例查詢 157
9.6 本章小結 158
第10章 曆史數據管理和流程引擎管理 159
10.1 曆史數據管理 160
10.1.1 曆史流程實例查詢 160
10.1.2 曆史任務查詢 161
10.1.3 曆史行為查詢 163
10.1.4 曆史流程明細查詢 165
10.1.5 刪除曆史流程實例和曆史任務 166
10.2 工作的産生 167
10.2.1 異步任務産生的工作 168
10.2.2 定時中間事件産生的工作 169
10.2.3 定時邊界事件産生的工作 170
10.2.4 定時開始事件産生的工作 171
10.2.5 流程拋齣事件産生的工作 172
10.2.6 暫停工作的産生 174
10.2.7 無法執行的工作 175
10.3 工作管理 176
10.3.1 工作查詢對象 176
10.3.2 獲取工作異常信息 176
10.3.3 轉移與刪除工作 177
10.4 數據庫管理 178
10.4.1 查詢引擎屬性 178
10.4.2 數據錶信息查詢 179
10.4.3 數據庫操作 180
10.4.4 數據錶查詢 180
10.5 本章小結 181
第11章 流程事件 182
11.1 事件分類 183
11.1.1 按照事件的位置分類 183
11.1.2 按照事件的特性分類 183
11.2 事件定義 183
11.2.1 定時器事件定義 184
11.2.2 cron錶達式 184
11.2.3 錯誤事件定義 186
11.2.4 信號事件定義 186
11.2.5 消息事件定義 187
11.2.6 取消事件定義 187
11.2.7 補償事件定義 188
11.2.8 其他事件定義 188
11.3 開始事件 188
11.3.1 無指定開始事件 188
11.3.2 定時器開始事件 189
11.3.3 消息開始事件 190
11.3.4 錯誤開始事件 191
11.4 結束事件 193
11.4.1 無指定結束事件 193
11.4.2 錯誤結束事件 194
11.4.3 取消結束事件和取消邊界事件 196
11.4.4 終止結束事件 199
11. 5 邊界事件 200
11.5.1 定時器邊界事件 201
11.5.2 錯誤邊界事件 203
11.5.3 信號邊界事件 204
11.5.4 補償邊界事件 206
11.6 中間事件 209
11.6.1 中間事件分類 209
11.6.2 定時器中間事件 210
11.6.3 信號中間Catching事件 211
11.6.4 信號中間Throwing事件 213
11.6.5 消息中間事件 215
11.6.6 無指定中間事件 215
11.7 補償中間事件 215
11.7.1 補償執行次數 215
11.7.2 補償的執行順序 217
11.7.3 補償的參數設置 220
11.8 本章小結 221
第12章 流程任務 222
12.1 BPMN 2.0任務 223
12.1.1 任務的繼承 223
12.1.2 XML約束 223
12.1.3 任務的類型 225
12.2 用戶任務 226
12.2.1 分配任務候選人 226
12.2.2 分配任務代理人 228
12.2.3 權限分配擴展 228
12.2.4 使用任務監聽器進行權限分配 229
12.2.5 使用JUEL分配權限 230
12.3 腳本任務 232
12.3.1 腳本任務 232
12.3.2 JavaScript腳本 233
12.3.3 Groovy腳本 234
12.3.4 設置返迴值 235
12.3.5 JUEL腳本 236
12.4 服務任務 237
12.4.1 Java服務任務 238
12.4.2 實現JavaDelegate 238
12.4.3 使用普通Java Bean 240
12.4.4 在Activiti中調用Web Service 241
12.4.5 import元素 242
12.4.6 itemDefinition和message元素 242
12.4.7 interface與operation元素 243
12.4.8 設置W
瘋狂工作流講義 基於Activiti 6.x的應用開發 下載 mobi epub pdf txt 電子書