Activiti 實戰

Activiti 實戰

Activiti是一個針對企業用戶、開發人員、系統管理員的輕量級工作流業務管理平台。其核心是使用Java開發的快速、穩定的BPMN 2.0流程引擎。它可以運行在任何類型的Java程式中,例如伺服器、集群、雲服務等,可以完美地與Spring集成,設計非常簡約。

基本介紹

  • 書名:Activiti實戰
  • 作者:閆洪磊
  • ISBN:9787111485957
  • 定價:89.00
  • 出版社:機械工業出版社
  • 出版時間:2015-1
  • 開本:16
內容簡介,作者簡介,目錄,

內容簡介

《Activiti實戰》一共四個部分:準備篇(1~2章)介紹了Activiti的概念、特點、套用、體系結構,以及開發環境的搭建和配置;基礎篇(3~4章)首先講解了Activiti Modeler、Activiti Designer兩種流程設計工具的詳細使用,然後詳細講解了BPMN2.0規範;實戰篇(5~14章)系統講解了Activiti的用法、技巧和最佳實踐,包含流程定義、流程實例、任務、子流程、多實例、事件以及監聽器等;高級篇(15~21)通過集成WebService、規則引擎、JPA、ESB等各種服務和中間件來闡述了Activiti不僅僅是引擎,實際上是一個BPM平台,最後還通過原始碼對它的設計模式及PVM進行了分析。

作者簡介

閆洪磊
資深軟體開發工程師和架構師,為Activiti代碼貢獻了大量代碼,為Activiti在中國的推廣與普及做了大量的工作,在社群中有很高的威望和知名度,被稱為中國Activiti領域的第一人。多年來一直從事OA、ERP等系統的開發與架構設計工作,持續關注並深入研究工作流引擎,就職於小馬試駕擔任架構師一職,並負責公司內部工作流平台的建設工作。

目錄

前言
第一部分 準備篇
第1章認識Activiti2
1.1什麼是Activiti2
1.2工作流基礎3
1.2.1什麼是BPM3
1.2.2工作流生命周期4
1.2.3什麼是BPMN5
1.3Activiti的特點5
1.4Activiti的套用6
1.5Activiti架構與組件7
1.6Activiti與jBPM5比較8
1.7本章小結9
第2章搭建Activiti開發環境10
2.1 下載Activiti10
2.1.1 目錄結構10
2.1.2Javadocs12
2.2環境配置檢查14
2.2.1檢查並安裝JDK14
2.2.2檢查並安裝Ant14
2.2.3檢查並安裝Maven15
2.3配置檔案介紹16
2.3.1Activiti配置檔案16
2.3.2Maven配置檔案17
2.4Hello World18
2.4.1最簡單的流程定義18
2.4.2創建單元測試類20
2.4.3運行Hello World21
2.4.4添加業務節點21
2.5Activiti Explorer25
2.5.1配置並運行Activiti Explorer25
2.5.2使用Activiti Explorer26
2.6本章小結29
第二部分基礎篇
第3章 流程設計工具32
3.1基於B/S架構的流程設計器Activiti Modeler32
3.1.1Activiti Modeler特點32
3.1.2下載signavio-core-components33
3.1.3配置打包與運行33
3.1.4Windows用戶打包36
3.1.5設計請假流程37
3.1.6導出bpmn2.0.xml41
3.2在Activiti Explorer中使用Activiti Modeler41
3.3基於Eclipse外掛程式的流程設計器Activiti Designer44
3.3.1Activiti Designer特點44
3.3.2安裝Activiti Designer45
3.3.3設計流程46
3.3.4自動化51
3.3.5升級歷史遺留的流程設計55
3.3.6導入Activiti Modeler設計56
3.3.7泳池與泳道57
3.3.8在Activiti Designer中使用泳道與泳池58
3.4本章小結60
第4章Activiti與BPMN 2.0規範61
4.1啟動事件與結束事件62
4.1.1啟動事件62
4.1.2結束事件66
4.2順序流69
4.2.1標準順序流69
4.2.2條件順序流69
4.3任務70
4.3.1用戶任務70
4.3.2腳本任務73
4.3.3Java Service任務74
4.3.4Web Service任務75
4.3.5業務規則任務76
4.3.6郵件任務77
4.3.7Camel任務79
4.3.8Mule任務80
4.3.9手動任務81
4.3.10接收任務81
4.3.11Shell任務81
4.3.12多實例82
4.4網關85
4.4.1排他網關85
4.4.2並行網關87
4.4.3包容網關89
4.4.4事件網關90
4.5子流程與調用活動92
4.5.1子流程92
4.5.2 調用活動94
4.5.3 事件子流程95
4.5.4事務子流程97
4.6邊界與中間事件98
4.6.1邊界事件99
4.6.2中間捕獲事件103
4.6.3中間拋出事件107
4.7監聽器109
4.7.1執行監聽器109
4.7.2任務監聽器111
4.8本章小結112
第三部分實戰篇
第5章用戶與組及部署管理116
5.1用戶與組116
5.1.1用戶117
5.1.2組118
5.1.3用戶與組的關係119
5.1.4用戶任務中的用戶與組120
5.2部署流程資源126
5.2.1classpath方式126
5.2.2InputStream方式128
5.2.3字元串方式128
5.2.4zip/bar格式壓縮檔方式129
5.3流程部署及資源讀取131
5.3.1讀取已部署流程定義133
5.3.2從客戶端部署流程134
5.3.3讀取流程定義的XML137
5.3.4讀取流程定義的圖片及圖片中的中文亂碼138
5.3.5刪除部署143
5.4本章小結144
第6章 任務表單145
6.1動態表單145
6.1.1流程定義146
6.1.2單元測試151
6.1.3在Activiti Explorer中運行流程154
6.2實現自己的Activiti Explorer160
6.2.1完善身份驗證功能160
6.2.2流程啟動表單162
6.2.3任務簽收與辦理165
6.2.4自定義表單的欄位類型169
6.3 外置表單171
6.3.1流程定義172
6.3.2單元測試173
6.3.3自定義表單引擎174
6.3.4 讀取流程啟動表單175
6.3.5任務簽收與辦理179
6.4本章小結181
第7章 Activiti與容器集成182
7.1 流程引擎工廠182
7.1.1 創建引擎的方式182
7.1.2 配置 ProcessEngineFactory-Bean183
7.2 自動部署流程定義187
7.3 表達式189
7.3.1 表達式基礎189
7.3.2 表達式示例190
7.3.3 使用Spring管理變數193
7.4 監聽器195
7.5 Spring容器集成套用實例199
7.5.1 業務建模200
7.5.2 啟動流程200
7.5.3 任務讀取203
7.5.4 任務辦理204
7.6 使用Spring註解初始化引擎208
7.6.1 使用@EnableActiviti註解208
7.6.2 使用Spring Boot初始化引擎210
7.7 CDI模組212
7.7.1 啟動示例212
7.7.2 引擎配置與流程定義213
7.7.3 流程定義與啟動214
7.7.4 任務辦理與完成218
7.7.5 事件監聽220
7.8 本章小結221
第8章 郵件服務222
8.1 配置與測試222
8.1.1 搭建郵件系統222
8.1.2 通過Activiti的郵件任務傳送郵件226
8.1.3 使用Gmail傳送郵件227
8.2 與業務集成229
8.2.1 即時傳送郵件229
8.2.2 定時傳送郵件231
8.3 本章小結233
第9章 多實例234
9.1 非用戶任務234
9.2 用戶任務多實例236
9.2.1 順序方式辦理236
9.2.2 並行方式辦理237
9.2.3 設定結束條件238
9.3 套用實例—請假會簽240
9.3.1 流程定義240
9.3.2 任務辦理243
9.4 審批意見245
9.5 本章小結247
第10章 子流程與調用活動248
10.1 子流程249
10.1.1 流程定義250
10.1.2 流程辦理253
10.1.3 分析流程數據255
10.2 調用活動256
10.2.1 流程定義256
10.2.2 單元測試258
10.2.3 流程辦理259
10.2.4 分析流程數據260
10.3 事件子流程261
10.3.1 流程定義262
10.3.2 單元測試263
10.4 多實例支持264
10.5 本章小結266
第11章 事件267
11.1 啟動事件267
11.1.1 定時啟動事件267
11.1.2 訊息啟動事件271
11.2 結束事件274
11.3 邊界事件276
11.3.1 異常邊界事件276
11.3.2 訊息邊界事件278
11.3.3 信號邊界事件282
11.4 中間事件284
11.5 本章小結286
第12章 用戶任務與附屬檔案287
12.1 用戶任務288
12.1.1 改進任務列表288
12.1.2 改進任務表單289
12.1.3 任務相關人員291
12.1.4 反簽收任務295
12.1.5 候選人與候選組296
12.1.6 改進任務查詢298
12.2 子任務299
12.3 手動任務302
12.4 附屬檔案303
12.5 改進意見列表305
12.6 任務委派307
12.6.1 單元測試308
12.6.2 任務表單中的委派309
12.7 本章小結310
第13章 流程數據查詢與跟蹤312
13.1 Query API簡介312
13.2 運行時數據查詢314
13.2.1 任務查詢314
13.2.2 查詢參與的流程317
13.3 流程圖跟蹤320
13.4 歷史數據查詢325
13.4.1 查詢歷史活動及表單325
13.4.2 查詢已歸檔流程326
13.5 基於MyBatis的CustomSql查詢327
13.5.1 定義Mapper接口329
13.5.2 展示數據330
13.6 本章小結330
第14章 管理員特性331
14.1 流程狀態331
14.1.1 流程定義狀態331
14.1.2 作業查詢334
14.1.3 流程實例狀態336
14.2 作業管理338
14.2.1 作業執行原理339
14.2.2 作業執行異常339
14.2.3 獨占與異步341
14.3 刪除流程實例345
14.4 流程定義許可權控制347
14.4.1 許可權攔截347
14.4.2 設定候選啟動人和候選啟動組349
14.4.3 讀取候選啟動數據351
14.5 讀取引擎屬性353
14.6 資料庫查詢353
14.7 用戶與組355
14.8 本章小結356
第四部分 高級篇
第15章 集成WebService358
15.1發布WebService服務359
15.2在流程中定義WebService任務362
15.3 在流程中調用WebService364
15.4本章小結365
第16章 集成規則引擎367
16.1 定義流程與規則367
16.1.1部署規則檔案369
16.1.2單元測試369
16.2本章小結371
第17章 集成JPA372
17.1配置JPA372
17.1.1Standalone模式373
17.1.2Spring模式373
17.2JPA版本的請假流程374
17.2.1啟動流程時持久化JPA實體375
17.2.2更改JPA實體屬性378
17.2.3清理歷史表單數據381
17.3本章小結382
第18章 集成ESB383
18.1Camel簡介與快速入門383
18.2在流程中調用Camel385
18.2.1Camel依賴及配置386
18.2.2定義Camel路由387
18.2.3執行單元測試388
18.2.4URI輸入參數388
18.2.5URI輸出參數390
18.3異步Camel任務391
18.4在Camel中啟動流程391
18.5集成Mule392
18.5.1Mule快速入門393
18.5.2Mule、Spring與Activiti集成394
18.5.3在流程中調用Mule396
18.6本章小結398
第19章 統一身份管理399
19.1一套典型的身份系統399
19.2引擎身份接口方式401
19.3用視圖代替物理表406
19.4集成LDAP406
19.5本章小結409
第20章 REST服務410
20.1通信協定簡介410
20.2REST API概述411
20.3發布REST API413
20.3.1通過瀏覽器訪問414
20.3.2通過HttpClient訪問415
20.3.3通過Restlet訪問416
20.3.4通過Apache CXF訪問417
20.4集成REST API417
20.4.1依賴及配置檔案418
20.4.2通過Ajax訪問419
20.5完整示例420
20.5.1部署流程421
20.5.2查詢Deployment422
20.5.3查詢流程定義423
20.5.4啟動流程424
20.5.5讀取流程變數428
20.5.6查詢任務429
20.5.7簽收任務431
20.5.8完成任務431
20.5.9查詢歷史數據433
20.6集成流程圖跟蹤組件Diagram Viewer434
20.6.1準備資源檔案434
20.6.2準備配置檔案434
20.6.3訪問Diagram Viewer跟蹤流程435
20.7基於REST服務搭建流程中心437
20.7.1基礎架構438
20.7.2表單模式選型439
20.7.3統一的組件440
20.7.4事務管理440
20.8集成流程設計器Activiti Modeler440
20.8.1準備資源檔案441
20.8.2準備配置檔案442
20.8.3更改默認配置443
20.8.4創建模型443
20.8.5導出模型的流程XML445
20.8.6把模型轉換為流程定義446
20.8.7把流程定義轉換為模型447
20.8.8刪除模型449
20.9本章小結449
第21章 入侵Activiti450
21.1解析BPMN檔案450
21.1.1BpmnModel對象與XML之間的轉換451
21.1.2動態創建流程454
21.1.3BPMN解析處理器457
21.2全局事件處理器461
21.2.1定義事件處理器463
21.2.2處理捕獲的事件467
21.2.3事件處理器的異常處理469
21.2.4動態註冊事件處理器470
21.2.5任務自動轉辦471
21.2.6事件日誌474
21.3命令與攔截器477
21.3.1命令與攔截器運行機制478
21.3.2自定義命令480
21.3.3命令攔截器482
21.4流程虛擬機—PVM484
21.4.1簡述PVM484
21.4.2Hello PVM484
21.4.3PVM進階487
21.5本章小結489

相關詞條

熱門詞條

聯絡我們