瘋狂工作流講義——基于Activiti 6.x的應用開發 ( 簡體 字) |
作者:楊恩雄 | 類別:1. -> 程式設計 -> JAVA |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 48051 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:11/1/2017 |
頁數:476 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121330186 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:當今技術發展一日千里,各種技術框架如雨后春筍般涌現,技術正在改變世界、改變生活。作者從業十余年,面對如此變幻莫測的世界,亦難巋然不動,面對日新月異的知識,時常懷著一顆謙卑的心。只有學習,才能帶來快樂,才不會被淘汰。程序是枯燥的,但程序又是美麗的,看似冷冰冰的代碼,實則豐富多彩。 Java是目前世界上應用最廣泛的語言,在Java領域出現了眾多優秀的框架和組件,這些組件正在慢慢提高編程的效率,使得編程這項原本枯燥的工作變得更為優雅與簡單。在工作流領域,涌現出多個使用Java語言編寫的框架,如OpenWFE、jBPM、Shark,甚至在國內市面上出現了不少國產的工作流引擎。近年來,出現了一款“全新”的工作流框架Activiti,經過幾年的發展,Activiti已經成為一款成熟的工作流產品。筆者在2014年,基于Activiti 5.0版本,編寫了《瘋狂Workflow講義》第一版,Activiti 6.0在2017年發布,為了幫助廣大的Java研發者學習新框架,筆者對《瘋狂Workflow講義》進行升級,并將多年的實踐經驗融入本書中。 本書經過約半年的編寫,至今能得以付梓,得益于多方襄助,對他們的感激之情,難以言表。感謝傳道并解惑的恩師,感謝聰穎而好學的讀者,感謝善良和親愛的家人,筆者會謝意永存、銘感不忘。 本書內容概括 本書是一本介紹Java工作流領域的書,以Activiti為核心,內容囊括了多個流行的企業級Java EE框架,全書主要可分為以下幾個部分。 第一部分:對Activiti的基礎知識進行講解,包括框架起源、基本的設計模式、數據庫設置以及框架配置等,該部分知識可以幫助讀者對Activiti有一個較為深入的認識,對Activiti的設計有一個初步的印象,該部分內容也可以作為整合Activiti到項目中的參考。 第二部分:從源代碼的實現上講解Activiti各個模塊的API,除了講述這些API的作用外,還會引領讀者深入到這些API的內部,此部分內容可以作為一個詳細的Activiti API的幫助文檔。 第三部分:詳細講述了BPMN 2.0規范的內容,包括目前Activiti對該規范的實現情況。在講解BPMN 2.0規范時,將規范與Activiti的實現進行結合,讓讀者在通俗易懂的例子示范下,對Activiti的實現及BPMN 2.0規范有較為深入的了解。 第四部分:Activiti 6支持的DMN規范,本書將在第15章中講述Activiti基于DMN規范的規則引擎。Activiti的規則引擎目前尚未正式面世,筆者研讀了當前版本的源代碼,并帶領讀者優先體會了Activiti的規則引擎。 第五部分:講述如何在實際企業應用中使用Activiti,并與其他流行的開源框架進行整合,包括企業應用開發所必須使用的Web Service、企業服務總線、規則引擎、IoC框架和ORM框架等。除了主要的Activiti知識外,企業中常用框架的知識,也在該部分內容中得到了體現。通過學習這部分內容,可以極大豐富你的實戰知識,讓你成為一個更全面的技術人員。 第六部分:在第18章中講述了Activiti的核心架構及Activiti的表單知識,本書最后一章,通過講解一個辦公系統的開發過程,讓讀者更了解Activiti在實際生產中的應用,從而理論層面,走上實踐的道路。 本書特點 筆者長期工作于企業的IT部門,有著豐富的企業應用開發經驗,因此本書具有以下特點。 1. 內容深入 從筆者接觸編程開始,就養成了查看源代碼的習慣,書中的示例不僅僅能幫助理解Activiti的功能,更借鑒了Activiti的思路去模擬功能的實現,所以讀者能夠深入了解其中的原理。 2. 開發環境與示例更貼近實際 本書中示例的開發環境、使用的框架及工具均來自企業的實際應用,示例的選取與研發過程更貼近實際。 3. 注釋詳細 本書的代碼幾乎每行都有注釋,讀者可以很容易地了解代碼的意思,輕松掌握相應的知識。 本書寫給誰看 如果你有一定的Java語言基礎,進行過Web項目的開發,對工作流有一定的認識,那么本書可以幫助你提升關于工作流的知識水平。如果你是一個從事過企業應用開發的程序員,本書同樣適合你,本書的知識可以幫助你深入理解工作流引擎,使你可以將這些工作流框架應用到實際的企業生產中。 衷心感謝 首先非常感謝李剛老師,一直以來,他既是我的老師,也是我的技術后盾,非常幸運人生能有這樣一位良師益友。 其次感謝出版社的編輯,為本書的出版做了很多細致的工作,并為本書提出了許多寶貴的意見。 最后感謝我的家人,你們是我前進的動力。
楊思雄 2017年7月29日于廣州 |
內容簡介:《瘋狂工作流講義:基于Activiti 6.x的應用開發》是一本介紹Java工作流領域的書,以Activiti為核心,內容囊括了多個流行的企業級Java EE框架,《瘋狂工作流講義:基于Activiti 6.x的應用開發》主要可分為以下幾個部分:第一部分:對Activiti的基礎知識進行講解,包括框架起源、基本的設計模式、數據庫設置以及框架配置等,該部分知識可以幫助讀者對Activiti的基礎有一個更深入的認識,對Activiti的設計有一個初步的印象,該部分內容也可以作為整合Activiti到項目中的參考。 第二部分:從源代碼的實現上講解Activiti各個模塊的API,除了講述這些API的作用外,還會引領讀者深入到這些API的內部,此部分內容可以作為一份詳細的Activiti API的幫助文檔。第三部分:詳細講述了BPMN2.0規范的內容,包括目前Activiti對該規范的實現情況,在講解BPMN2.0規范時,將規范與Activiti的實現進行結合,在通俗易懂的案例下,對Activiti的實現以及BPMN2.0規范有更深入的了解。第四部分:Activiti8 支持DMN規范,本書將在第15章中講述Activiti基于DMN規范的規則引擎。Activiti的規則引擎目前尚未正式面世,筆者研讀當前版本的源代碼,帶領讀者優先體會Activiti的規則引擎。第五部分:如何在實際企業應用使用Activiti,并與其他流行的開源框架進行整合,包括企業應用開發所必須的Web Service、企業服務總線、規則引擎、IoC框架和ORM框架等,除了本書主要的Activiti知識外,這些企業中常用框架的知識,也可以在該部分內容得到體現,通過學習這部分內容,可以極大豐富讀者的實戰知識,讓讀者可以成為一個更全面的技術人員。第六部分:在第18章中講述了Activiti的核心架構以及Activiti的表單知識,本書最后一章,通過講解一個辦公系統的開發過程,讓讀者更了解Activiti在實際生產中的使用,讓本書的內容不僅僅停留在理論的層次,更為讀者開辟了實踐的道路。 |
目錄:第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 設置Web Service參數與返回值 243 12.4.9 發布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任務和業務規則任務 258 12.6 任務監聽器 259 12.6.1 使用class指定監聽器 259 12.6.2 使用expression指定監聽器 260 12.6.3 使用delegateExpression指定 監聽器 261 12.6.4 監聽器的觸發 262 12.6.5 屬性注入 263 12.7 流程監聽器 263 12.7.1 配置流程監聽器 263 12.7.2 觸發流程監聽器的事件 264 12.8 本章小結 267 第13章 其他流程元素 268 13.1 子流程 269 13.1.1 嵌入式子流程 269 13.1.2 調用式子流程 271 13.1.3 調用式子流程的參數傳遞 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 流程網關 286 13.3.1 單向網關 286 13.3.2 并行網關 288 13.3.3 兼容網關 291 13.3.4 事件網關 293 13.4 流程活動特性 295 13.4.1 多實例活動 295 13.4.2 設置循環數據 297 13.4.3 獲取循環元素 298 13.4.4 循環的內置參數 300 13.4.5 循環結束條件 302 13.4.6 補償處理者 304 13.5 本章小結 304 第14章 Activiti與規則引擎 305 14.1 概述 306 14.1.1 規則引擎Drools 306 14.1.2 Drools下載與安裝 306 14.2 開發第一個Drools應用 307 14.2.1 建立Drools環境 307 14.2.2 編寫規則 308 14.2.3 加載與運行 308 14.3 Drools規則語法概述 309 14.3.1 規則文件結構 309 14.3.2 關鍵字 310 14.3.3 規則編譯 310 14.4 類型聲明 311 14.4.1 聲明新類型 312 14.4.2 使用ASM操作字節碼 313 14.4.3 類型聲明的使用 314 14.4.4 類型的繼承 316 14.4.5 聲明元數據 317 14.5 函數和查詢 317 14.5.1 函數定義和使用 318 14.5.2 查詢的定義和使用 320 14.6 規則語法 321 14.6.1 全局變量 322 14.6.2 規則屬性 323 14.6.3 條件語法 327 14.6.4 行為語法 330 14.7 Activiti調用規則 331 14.7.1 業務規則任務 332 14.7.2 制定銷售單優惠規則 333 14.7.3 實現銷售流程 336 14.8 本章小結 339 第15章 基于DMN的Activiti規則引擎 340 15.1 DMN規范概述 341 15.1.1 DMN的出現背景 341 15.1.2 Activiti與Drools 341 15.1.3 DMN的XML樣例 341 15.2 DMN的XML規范 342 15.2.1 決策 342 15.2.2 決策表 343 15.2.3 輸入參數 343 15.2.4 輸出結果 344 15.2.5 規則 344 15.3 運行第一個應用 345 15.3.1 建立項目 345 15.3.2 規則引擎配置文件 346 15.3.3 編寫DMN文件 346 15.3.4 加載與運行DMN文件 347 15.4 規則引擎API簡述 348 15.4.1 創建規則引擎 348 15.4.2 配置規則引擎 349 15.4.3 數據查詢 350 15.4.4 執行DMN文件 350 15.5 規則匹配 351 15.5.1 MVEL表達式簡介 351 15.5.2 執行第一個表達式 351 15.5.3 使用對象執行表達式 352 15.5.4 規則引擎規則匹配邏輯 353 15.5.5 自定義表達式函數 354 15.5.6 Activiti中的自定義表達式函數 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 實現一個最簡單的邏輯 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 開發第一個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協議 397 17.1.3 REST架構 397 17.1.4 REST的設計準則 398 17.1.5 REST的主要特性 398 17.1.6 SOAP RPC與REST的區別 399 17.2 使用Sping MVC發布REST 399 17.2.1 在Web項目中加入Spring MVC 400 17.2.2 發布REST的Web Service 401 17.2.3 使用Restlet編寫客戶端 402 17.2.4 使用CXF編寫客戶端 402 17.2.5 使用HttpClient編寫客戶端 403 17.2.6 準備測試數據 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 部署數據查詢 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 創建流程節點行為類 413 18.1.4 編寫業務處理類 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 關于動態工作流和動態表單 419 18.3 流程圖XML 419 18.3.1 節點元素 419 18.3.2 銜接元素 420 18.3.3 流程圖與流程文件的轉換 420 18.4 流程操作 421 18.4.1 流程回退 421 18.4.2 會簽 422 18.5 本章小結 424 第19章 辦公自動化系統 425 19.1 使用技術 426 19.1.1 表現層技術 426 19.1.2 MVC框架 426 19.1.3 Spring和Hibernate 426 19.2 功能簡述 427 19.2.1 系統的角色管理 427 19.2.2 薪資計算流程 427 19.2.3 請假流程 427 19.2.4 薪資調整流程 427 19.2.5 報銷流程 428 19.3 框架整合 428 19.3.1 創建Web項目 428 19.3.2 整合Spring 429 19.3.3 整合Hibernate 430 19.3.4 整合Struts2 432 19.3.5 整合Activiti 433 19.4 數據庫設計 434 19.4.1 薪資表 434 19.4.2 請假記錄表 434 19.4.3 薪資調整記錄表 435 19.4.4 報銷記錄表 436 19.5 初始化數據 437 19.5.1 初始化角色數據 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 申請列表的實現 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 |
序: |