定 價:¥79.00
作 者: | 楊恩雄 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121330186 | 出版時間: | 2017-11-01 | 包裝: | |
開本: | 頁數(shù): | 字數(shù): |
第1章 Activiti介紹 1
1.1 工作流介紹 2
1.2 BPMN 2.0規(guī)范簡述 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的出現(xiàn) 5
1.3.2 Activiti的發(fā)展 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 發(fā)布流程 14
2.2.5 啟動與完成流程 15
2.2.6 流程引擎管理 16
2.3 安裝開發(fā)環(huán)境 17
2.3.1 下載Eclipse 17
2.3.2 安裝Activiti插件 18
2.4 編寫第一個Activiti程序 19
2.4.1 如何運行本書示例 19
2.4.2 建立工程環(huán)境 19
2.4.3 創(chuàng)建配置文件 20
2.4.4 創(chuàng)建流程文件 20
2.4.5 加載流程文件與啟動流程 21
2.5 本章小結 22
第3章 Activiti數(shù)據(jù)庫設計 23
3.1 通用數(shù)據(jù)表 24
3.1.1 資源表 24
3.1.2 屬性表 24
3.2 流程存儲表 25
3.2.1 部署數(shù)據(jù)表 25
3.2.2 流程定義表 25
3.3 身份數(shù)據(jù)表 25
3.3.1 用戶表 25
3.3.2 用戶賬號(信息)表 26
3.3.3 用戶組表 26
3.3.4 關系表 26
3.4 運行時數(shù)據(jù)表 26
3.4.1 流程實例(執(zhí)行流)表 26
3.4.2 流程任務表 27
3.4.3 流程參數(shù)表 27
3.4.4 流程與身份關系表 27
3.4.5 工作數(shù)據(jù)表 28
3.4.6 事件描述表 28
3.5 歷史數(shù)據(jù)表 28
3.5.1 流程實例表 28
3.5.2 流程明細表 29
3.5.3 歷史任務表和歷史行為表 29
3.5.4 附件表和評論表 29
3.6 DMN規(guī)則引擎表 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 數(shù)據(jù)源配置 35
4.2.1 Activiti支持的數(shù)據(jù)庫 35
4.2.2 Activiti與Spring 35
4.2.3 JDBC配置 35
4.2.4 DBCP數(shù)據(jù)源配置 36
4.2.5 C3P0數(shù)據(jù)源配置 37
4.2.6 Activiti其他數(shù)據(jù)源配置 38
4.2.7 數(shù)據(jù)庫策略配置 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章 流程引擎的創(chuàng)建 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 創(chuàng)建用戶組 58
6.1.3 修改用戶組 59
6.1.4 刪除用戶組 60
6.2 Activiti數(shù)據(jù)查詢 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 用戶組數(shù)據(jù)查詢 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 用戶數(shù)據(jù)查詢 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 查詢權限數(shù)據(jù) 102
7.4 RepositoryService數(shù)據(jù)查詢與刪除 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 任務的創(chuàng)建與刪除 111
8.1.1 Task接口 111
8.1.2 創(chuàng)建與保存Task實例 112
8.1.3 刪除任務 112
8.2 任務權限 113
8.2.1 設置候選用戶組 114
8.2.2 設置候選用戶 115
8.2.3 權限數(shù)據(jù)查詢 116
8.2.4 設置任務持有人 118
8.2.5 設置任務代理人 119
8.2.6 添加任務權限數(shù)據(jù) 119
8.2.7 刪除用戶組權限 121
8.2.8 刪除用戶權限 122
8.3 任務參數(shù) 123
8.3.1 基本類型參數(shù)設置 124
8.3.2 序列化參數(shù) 125
8.3.3 獲取參數(shù) 126
8.3.4 參數(shù)作用域 127
8.3.5 設置多個參數(shù) 128
8.3.6 數(shù)據(jù)對象 129
8.4 任務附件管理 130
8.4.1 Attachment對象 130
8.4.2 創(chuàng)建任務附件 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 數(shù)據(jù)查詢 136
8.6 任務聲明與完成 137
8.6.1 任務聲明 137
8.6.2 任務完成 138
8.7 本章小結 139
第9章 流程控制 140
9.1 流程實例與執(zhí)行流 141
9.1.1 流程實例與執(zhí)行流概念 141
9.1.2 流程實例和執(zhí)行流對象(ProcessInstance與Execution) 141
9.2 啟動流程 142
9.2.1 startProcessInstanceById方法 142
9.2.2 startProcessInstanceByKey方法 144
9.2.3 startProcessInstanceByMessage 145
9.3 流程參數(shù) 146
9.3.1 設置與查詢流程參數(shù) 147
9.3.2 流程參數(shù)的作用域 147
9.3.3 其他設置參數(shù)的方法 149
9.4 流程操作 149
9.4.1 流程觸發(fā) 149
9.4.2 觸發(fā)信號事件 150
9.4.3 觸發(fā)消息事件 152
9.4.4 中斷與激活流程 153
9.4.5 刪除流程 154
9.5 流程數(shù)據(jù)查詢 155
9.5.1 執(zhí)行流查詢 155
9.5.2 流程實例查詢 157
9.6 本章小結 158
第10章 歷史數(shù)據(jù)管理和流程引擎管理 159
10.1 歷史數(shù)據(jù)管理 160
10.1.1 歷史流程實例查詢 160
10.1.2 歷史任務查詢 161
10.1.3 歷史行為查詢 163
10.1.4 歷史流程明細查詢 165
10.1.5 刪除歷史流程實例和歷史任務 166
10.2 工作的產(chǎn)生 167
10.2.1 異步任務產(chǎn)生的工作 168
10.2.2 定時中間事件產(chǎn)生的工作 169
10.2.3 定時邊界事件產(chǎn)生的工作 170
10.2.4 定時開始事件產(chǎn)生的工作 171
10.2.5 流程拋出事件產(chǎn)生的工作 172
10.2.6 暫停工作的產(chǎn)生 174
10.2.7 無法執(zhí)行的工作 175
10.3 工作管理 176
10.3.1 工作查詢對象 176
10.3.2 獲取工作異常信息 176
10.3.3 轉移與刪除工作 177
10.4 數(shù)據(jù)庫管理 178
10.4.1 查詢引擎屬性 178
10.4.2 數(shù)據(jù)表信息查詢 179
10.4.3 數(shù)據(jù)庫操作 180
10.4.4 數(shù)據(jù)表查詢 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 補償執(zhí)行次數(shù) 215
11.7.2 補償?shù)膱?zhí)行順序 217
11.7.3 補償?shù)膮?shù)設置 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 使用任務監(jiān)聽器進行權限分配 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 實現(xiàn)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 設置Web Service參數(shù)與返回值 243
12.4.9 發(fā)布Web Service 243
12.4.10 使用Web Service Task 245
12.4.11 JavaDelegate屬性注入 248
12.4.12 在JavaDelegate中調用Web Service 251
12.4.13 Shell任務 253
12.5 其他任務 255
12.5.1 手動任務和接收任務 255
12.5.2 郵件任務 257
12.5.3 Mule任務和業(yè)務規(guī)則任務 258
12.6 任務監(jiān)聽器 259
12.6.1 使用class指定監(jiān)聽器 259
12.6.2 使用expression指定監(jiān)聽器 260
12.6.3 使用delegateExpression指定
監(jiān)聽器 261
12.6.4 監(jiān)聽器的觸發(fā) 262
12.6.5 屬性注入 263
12.7 流程監(jiān)聽器 263
12.7.1 配置流程監(jiān)聽器 263
12.7.2 觸發(fā)流程監(jiān)聽器的事件 264
12.8 本章小結 267
第13章 其他流程元素 268
13.1 子流程 269
13.1.1 嵌入式子流程 269
13.1.2 調用式子流程 271
13.1.3 調用式子流程的參數(shù)傳遞 273
13.1.4 事件子流程 275
13.1.5 事務子流程 277
13.1.6 特別子流程 280
13.2 順序流 282
13.2.1 條件順序流 282
13.2.2 默認順序流 284
13.3 流程網(wǎng)關 286
13.3.1 單向網(wǎng)關 286
13.3.2 并行網(wǎng)關 288
13.3.3 兼容網(wǎng)關 291
13.3.4 事件網(wǎng)關 293
13.4 流程活動特性 295
13.4.1 多實例活動 295
13.4.2 設置循環(huán)數(shù)據(jù) 297
13.4.3 獲取循環(huán)元素 298
13.4.4 循環(huán)的內置參數(shù) 300
13.4.5 循環(huán)結束條件 302
13.4.6 補償處理者 304
13.5 本章小結 304
第14章 Activiti與規(guī)則引擎 305
14.1 概述 306
14.1.1 規(guī)則引擎Drools 306
14.1.2 Drools下載與安裝 306
14.2 開發(fā)第一個Drools應用 307
14.2.1 建立Drools環(huán)境 307
14.2.2 編寫規(guī)則 308
14.2.3 加載與運行 308
14.3 Drools規(guī)則語法概述 309
14.3.1 規(guī)則文件結構 309
14.3.2 關鍵字 310
14.3.3 規(guī)則編譯 310
14.4 類型聲明 311
14.4.1 聲明新類型 312
14.4.2 使用ASM操作字節(jié)碼 313
14.4.3 類型聲明的使用 314
14.4.4 類型的繼承 316
14.4.5 聲明元數(shù)據(jù) 317
14.5 函數(shù)和查詢 317
14.5.1 函數(shù)定義和使用 318
14.5.2 查詢的定義和使用 320
14.6 規(guī)則語法 321
14.6.1 全局變量 322
14.6.2 規(guī)則屬性 323
14.6.3 條件語法 327
14.6.4 行為語法 330
14.7 Activiti調用規(guī)則 331
14.7.1 業(yè)務規(guī)則任務 332
14.7.2 制定銷售單優(yōu)惠規(guī)則 333
14.7.3 實現(xiàn)銷售流程 336
14.8 本章小結 339
第15章 基于DMN的Activiti規(guī)則引擎 340
15.1 DMN規(guī)范概述 341
15.1.1 DMN的出現(xiàn)背景 341
15.1.2 Activiti與Drools 341
15.1.3 DMN的XML樣例 341
15.2 DMN的XML規(guī)范 342
15.2.1 決策 342
15.2.2 決策表 343
15.2.3 輸入?yún)?shù) 343
15.2.4 輸出結果 344
15.2.5 規(guī)則 344
15.3 運行第一個應用 345
15.3.1 建立項目 345
15.3.2 規(guī)則引擎配置文件 346
15.3.3 編寫DMN文件 346
15.3.4 加載與運行DMN文件 347
15.4 規(guī)則引擎API簡述 348
15.4.1 創(chuàng)建規(guī)則引擎 348
15.4.2 配置規(guī)則引擎 349
15.4.3 數(shù)據(jù)查詢 350
15.4.4 執(zhí)行DMN文件 350
15.5 規(guī)則匹配 351
15.5.1 MVEL表達式簡介 351
15.5.2 執(zhí)行第一個表達式 351
15.5.3 使用對象執(zhí)行表達式 352
15.5.4 規(guī)則引擎規(guī)則匹配邏輯 353
15.5.5 自定義表達式函數(shù) 354
15.5.6 Activiti中的自定義表達式函數(shù) 355
15.5.7 銷售打折案例 357
15.6 本章小結 360
第16章 整合第三方框架 361
16.1 Spring Framework 362
16.1.1 Spring的IoC 362
16.1.2 Spring的AOP 362
16.1.3 使用IoC 363
16.1.4 使用AOP 364
16.2 Activiti整合Spring 365
16.2.1 SpringProcessEngineConfiguration 365
16.2.2 資源的部署模式 367
16.2.3 ProcessEngineFactoryBean 367
16.2.4 在bean中注入Activiti服務 368
16.2.5 在Activiti中使用Spring的bean 369
16.3 Activiti整合Web項目 371
16.3.1 安裝Tomcat插件 371
16.3.2 加入Spring 373
16.3.3 整合Hibernate 375
16.3.4 配置聲明式事務 377
16.3.5 添加Struts配置 378
16.3.6 實現(xiàn)一個最簡單的邏輯 378
16.3.7 測試事務 380
16.3.8 添加Activiti 380
16.4 Activiti與Spring Boot 381
16.4.1 Spring Boot項目簡介 381
16.4.2 下載與安裝Maven 382
16.4.3 開發(fā)第一個Web應用 383
16.4.4 Activiti與Spring Boot的整合 386
16.5 Activiti與JPA 388
16.5.1 建立與運行JPA項目 388
16.5.2 在Activiti中使用JPA 390
16.5.3 Activiti、Spring與JPA的整合 391
16.5.4 基于JPA的例子 393
16.6 本章小結 395
第17章 Activiti開放的Web Service 396
17.1 Web Service簡介 397
17.1.1 Web Service 397
17.1.2 SOAP協(xié)議 397
17.1.3 REST架構 397
17.1.4 REST的設計準則 398
17.1.5 REST的主要特性 398
17.1.6 SOAP RPC與REST的區(qū)別 399
17.2 使用Sping MVC發(fā)布REST 399
17.2.1 在Web項目中加入Spring MVC 400
17.2.2 發(fā)布REST的Web Service 401
17.2.3 使用Restlet編寫客戶端 402
17.2.4 使用CXF編寫客戶端 402
17.2.5 使用HttpClient編寫客戶端 403
17.2.6 準備測試數(shù)據(jù) 403
17.2.7 部署Activiti的Web Service 403
17.2.8 接口訪問權限 404
17.2.9 訪問Activiti接口 404
17.3 流程存儲服務 405
17.3.1 上傳部署文件 405
17.3.2 部署數(shù)據(jù)查詢 406
17.3.3 部署資源查詢 406
17.3.4 查詢單個部署資源 407
17.3.5 刪除部署 408
17.4 本章小結 409
第18章 Activiti功能進階 410
18.1 流程控制邏輯 411
18.1.1 概述 411
18.1.2 設計流程對象 411
18.1.3 創(chuàng)建流程節(jié)點行為類 413
18.1.4 編寫業(yè)務處理類 414
18.1.5 將流程XML轉換為Java對象 414
18.1.6 編寫客戶端代碼 416
18.2 Activiti的表單 416
18.2.1 概述 416
18.2.2 表單屬性 417
18.2.3 外部表單 418
18.2.4 關于動態(tài)工作流和動態(tài)表單 419
18.3 流程圖XML 419
18.3.1 節(jié)點元素 419
18.3.2 銜接元素 420
18.3.3 流程圖與流程文件的轉換 420
18.4 流程操作 421
18.4.1 流程回退 421
18.4.2 會簽 422
18.5 本章小結 424
第19章 辦公自動化系統(tǒng) 425
19.1 使用技術 426
19.1.1 表現(xiàn)層技術 426
19.1.2 MVC框架 426
19.1.3 Spring和Hibernate 426
19.2 功能簡述 427
19.2.1 系統(tǒng)的角色管理 427
19.2.2 薪資計算流程 427
19.2.3 請假流程 427
19.2.4 薪資調整流程 427
19.2.5 報銷流程 428
19.3 框架整合 428
19.3.1 創(chuàng)建Web項目 428
19.3.2 整合Spring 429
19.3.3 整合Hibernate 430
19.3.4 整合Struts2 432
19.3.5 整合Activiti 433
19.4 數(shù)據(jù)庫設計 434
19.4.1 薪資表 434
19.4.2 請假記錄表 434
19.4.3 薪資調整記錄表 435
19.4.4 報銷記錄表 436
19.5 初始化數(shù)據(jù) 437
19.5.1 初始化角色數(shù)據(jù) 437
19.5.2 薪資計算流程 438
19.5.3 請假流程 439
19.5.4 報銷流程 439
19.5.5 薪資調整流程 440
19.6 角色管理 441
19.6.1 用戶組管理 442
19.6.2 用戶列表 443
19.6.3 新建用戶 445
19.6.4 用戶登錄 446
19.7 流程啟動 447
19.7.1 啟動請假流程 447
19.7.2 啟動報銷流程 450
19.7.3 啟動薪資調整流程 452
19.8 申請列表 453
19.8.1 申請列表的實現(xiàn) 453
19.8.2 請假申請列表 454
19.8.3 報銷申請列表 455
19.8.4 薪資調整列表 455
19.8.5 查看流程圖 456
19.9 流程任務 457
19.9.1 待辦任務列表 457
19.9.2 領取任務與受理任務列表 459
19.9.3 查詢任務信息 460
19.9.4 任務審批 462
19.9.5 運行OA的流程 463
19.10 本章小結 463