瘋狂Workflow講義——基于Activiti的工作流應用開發 ( 簡體 字) |
作者:楊恩雄 | 類別:1. -> 程式設計 -> JAVA -> Java |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 38330 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:5/1/2014 |
頁數:452 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787121226731 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:隨著Java成為世界上應用最廣泛的編程語言,在Java領域出現了眾多優秀的框架以及組件,這些組件正在慢慢提高編程的效率,使得編程這項原來枯燥的工作變得更為優雅與簡單。在工作流領域,涌現出多個使用Java語言編寫的框架,如OpenWFE、jBPM、Shark,甚至在國內市面上出現了不少國產的工作流引擎。在近一兩年的工作流領域中,出現了一款“全新”的工作流框架Activiti,該框架是由jBPM4發展而來的。Activiti一經推出,馬上得到開源社區的大力支持。為了能幫助廣大的Java研發者學習該框架,并將其應用到實際的生產中,筆者根據多年來的企業應用研發經驗,編寫了本書。 筆者在進行企業應用開發的早期接觸了一些OA系統,當時這些系統存在大量的工作流程,這些流程夾雜著不同領域的業務,由于當時并沒有使用任何的工作流組件,因此進行研發和維護的過程非常痛苦。一旦發生業務流程上的變化,修改源代碼成為家常便飯,整個項目舉步維艱,而需求的變更則是無處不在,業務流程的變化不可避免。從那時起,筆者思索著實際上可以將這些流程獨立開來,作為一個應用組件存在,希望以這樣的方式來適應需求的多變,最終可以達到當需求變更時,不需要修改或者少改源代碼,這是筆者最初的夢想。可惜后來系統由于修改過于困難,已經完全不能適應業務的變化而被拋棄,筆者也隨之離職。加入新的公司(中企動力)后,有幸參與一個人事系統的研發工作,該系統包括一些常規的OA功能,例如薪資、績效、考勤等。當時公司有著一些技術前瞻性很強的同事,選擇了當時較為流行的jBPM工作流引擎來實現OA的流程,也選用了JBoss的Drools規則引擎計算員工薪資,這是筆者第一次接觸工作流引擎。現在回想起來,待在這個項目組與大家一起奮斗,真的無比開心,不僅僅能在工作中學到大量的技術,還與各個同事成為好朋友,這份回憶對筆者來說是一份珍貴的財富。 在接觸工作流的框架后,筆者慢慢體會到這些工作流框架與組件給開發者帶來的樂趣,當業務流程發生變化時,幾乎不需要修改代碼,就可以實現系統的變更,對于之前受盡業務變化折磨的我來說,這是一件十分開心的事。筆者有一個朋友,同樣在另外一家專門做工作流應用的公司工作,當我第一次接觸到他們公司的產品,感覺到工作流應用可以做得更為強大。他們公司的產品叫作OBPM,是一款國產的工作流引擎,使用該產品,可以直接通過界面來定制業務流程、設置表單內容,甚至可以在上面進行數據庫設計,幾乎不用編寫一行代碼,一個簡單的業務系統即可完成。這種高效的開發平臺對筆者觸動很大,在往后的職業生涯中,一直致力于提高研發的效率。 本書內容概括 本書是一本介紹Java工作流領域的書,以Activiti為核心,內容囊括了多個流行的企業級Java EE框架,全書主要可分為以下幾個部分。 第1部分:對Activiti的基礎知識進行講解,包括框架起源、基本的設計模式、數據庫設置以及框架配置等,該部分知識可以幫助讀者對Activiti的基礎有一個更深入的認識,對Activiti的設計有一個初步的印象,該部分內容也可以作為整合Activiti到項目中的參考。 第2部分:從源代碼的實現上講解Activiti各個模塊的API,除了講述這些API的作用外,還會引領讀者深入到這些API的內部,此部分內容可以作為一份詳細的Activiti API的幫助文檔。 第3部分:詳細講述了BPMN 2.0規范的內容,包括目前Activiti對該規范的實現情況,在講解BPMN 2.0規范時,將規范與Activiti的實現進行結合,在通俗易懂的案例下,幫助讀者對Activiti的實現以及BPMN 2.0規范有更深入的了解。 第4部分:如何在實際企業應用中使用Activiti,并與其他流行的開源框架進行整合,包括企業應用開發所必需的Web Service、企業服務總線、規則引擎、IoC框架和ORM框架等,除了本書主要的Activiti知識外,這些企業中常用框架的知識,也可以在該部分內容得到體現,通過學習這部分內容,可以極大豐富讀者的實戰知識,讓讀者可以成為一個更全面的技術人員。 第5部分:在第17章中講述了Activiti的核心架構流程虛擬機以及Activiti的表單知識,本書最后一章,通過講解一個辦公自動化系統的開發過程,讓讀者更了解Activiti在實際生產中的使用,讓本書的內容不僅僅停留在理論的層次,更為讀者開辟了實踐的道路。 本書特點 筆者長期工作于企業的IT部門,有著豐富的企業應用開發經驗,因此本書有著以下特點。 1. 內容深入 從筆者接觸編程開始,就養成了查看源代碼的習慣,書中的案例不僅僅講解Activiti的功能,更模仿Activiti的思路去模擬功能的實現,讀者可以深入了解其中的原理。 2. 開發環境與案例更貼近實際 筆書中案例的開發環境、使用的框架以及工具均是來自企業的實際應用,案例的選取與研發過程更貼近實際。 3. 注釋詳細 本書的代碼,幾乎每行核心Java代碼均有注釋,讀者可以很容易地了解代碼的意思,輕松掌握相應的知識。 本書寫給誰看 如果你有一定的Java語言基礎,進行過Web項目的開發,對工作流有一定的認識,那么本書可以幫助你提升工作流的知識。如果你是一個從事過企業應用開發的程序員,本書同樣適合,本書的知識可以幫助你深入工作流引擎,你可以將這些工作流框架應用到實際的企業生產中。讀者在閱讀本書的過程中如果有需要交流的問題,可以發郵件至yangenxiong@163.com。 衷心感謝 首先非常感謝李剛老師,一直以來,他既是我的老師,也是我的技術后盾。剛進入行業的早期,遇到很多不會解決的問題,總會找到李剛老師一起討論,在和他的討論中,不經意間,總會找到我想要的答案。隨著自己的成長,現在找李剛老師聊的更多的是人生、家庭,非常幸運人生能有這樣一位良師益友。 此外感謝我公司的同事,是你們長期與我奮斗在企業第一線,為客戶解決問題,累積個人經驗,你們也是我不停前進的動力。
楊恩雄 2014年2月20日于廣州 |
內容簡介:工作流框架Activiti是由jBPM4發展而來的,為了能幫助廣大的Java研發者學習該框架,并將其應用到實際的生產中,筆者根據多年來的企業應用研發經驗,編寫了本書。 書中首先對Activiti的基礎知識進行講解,并從源代碼的實現上講解Activiti各個模塊的API。此外詳細講述了BPMN 2.0規范的內容,包括目前Activiti對該規范的實現情況。書中還講解了如何在實際企業應用中使用Activiti,并與其他流行的開源框架進行整合,包括企業應用開發所必需的Web Service、企業服務總線、規則引擎、IoC框架和ORM框架等。全書的最后通過講解一個辦公自動化系統的開發過程,讓讀者更了解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結構 4 1.3 Activiti介紹 4 1.3.1 Activiti的出現 5 1.3.2 Activiti的發展 5 1.3.3 選擇Activiti還是jBPM 5 1.4 本章小結 5 第2章 安裝與運行Activiti 6 2.1 下載與運行Activiti 7 2.1.1 下載和安裝Ant 7 2.1.2 下載和安裝Maven 8 2.1.3 下載和安裝Activiti 9 2.1.4 運行第一個Activiti應用 9 2.2 安裝開發環境 11 2.2.1 下載Eclipse 11 2.2.2 安裝Activiti插件 11 2.2.3 獲取Activiti源代碼 13 2.3 編寫第一個Activiti程序 15 2.3.1 如何運行本書案例 15 2.3.2 建立工程環境 15 2.3.3 創建配置文件 16 2.3.4 創建流程文件 16 2.3.5 加載流程文件與啟動流程 17 2.4 本章小結 18 第3章 Activiti數據庫設計 19 3.1 通用數據表 20 3.1.1 資源表 20 3.1.2 屬性表 20 3.2 流程存儲表 21 3.2.1 部署數據表 21 3.2.2 流程定義表 21 3.3 身份數據表 21 3.3.1 用戶表 21 3.3.2 用戶賬號(信息)表 22 3.3.3 用戶組表 22 3.3.4 關系表 22 3.4 運行時數據表 23 3.4.1 流程實例(執行流)表 23 3.4.2 流程任務表 23 3.4.3 流程參數表 24 3.4.4 流程與身份關系表 24 3.4.5 工作數據表 24 3.4.6 事件描述表 25 3.5 歷史數據表 25 3.5.1 流程實例表 25 3.5.2 流程明細表 26 3.5.3 歷史任務表和歷史行為表 26 3.5.4 附件表和評論表 26 3.6 本章小結 27 第4章 Activiti流程引擎配置 28 4.1 ProcessEngineConfiguration 29 4.1.1 createProcessEngineConfigurationFromResourceDefault方法 29 4.1.2 createProcessEngineConfigurationFromResource方法 30 4.1.3 createProcessEngineConfigurationFromInputStream方法 30 4.1.4 createStandaloneInMemProcessEngineConfiguration方法 30 4.1.5 createStandaloneProcessEngine Configuration方法 31 4.2 數據源配置 31 4.2.1 Activiti支持的數據庫 32 4.2.2 Activiti與Spring 32 4.2.3 JDBC配置 32 4.2.4 DBCP數據源配置 33 4.2.5 C3P0數據源配置 34 4.2.6 Activiti其他數據源配置 35 4.2.7 databaseSchemaUpdate配置 35 4.2.8 databaseType配置 36 4.3 其他屬性配置 37 4.3.1 history配置 37 4.3.2 jobExecutorActivate配置 38 4.3.3 郵件服務器配置 38 4.4 ProcessEngineConfiguration bean 38 4.4.1 ProcessEngineConfiguration及其子類 38 4.4.2 自定義ProcessEngineConfiguration 39 4.5 Activiti的命令攔截器 41 4.5.1 命令模式 41 4.5.2 責任鏈模式 43 4.5.3 編寫自定義攔截器 45 4.6 本章小結 47 第5章 流程引擎的創建 48 5.1 ProcessEngineConfiguration的buildProcessEngine方法 49 5.2 ProcessEngines 49 5.2.1 init與getDefaultProcessEngine方法 49 5.2.2 registerProcessEngine和unregister方法 50 5.2.3 retry方法 50 5.2.4 destroy方法 51 5.3 ProcessEngine對象 51 5.3.1 服務組件 52 5.3.2 close方法 52 5.3.3 流程引擎名稱 53 5.4 本章小結 54 第6章 用戶組與用戶 55 6.1 用戶組管理 56 6.1.1 Group對象 56 6.1.2 創建用戶組 56 6.1.3 修改用戶組 57 6.1.4 刪除用戶組 58 6.2 Activiti數據查詢 58 6.2.1 查詢對象 59 6.2.2 list方法 59 6.2.3 listPage方法 60 6.2.4 count方法 60 6.2.5 排序方法 61 6.2.6 ID排序問題 62 6.2.7 多字段排序 63 6.2.8 singleResult方法 65 6.2.9 用戶組數據查詢 65 6.3 用戶管理 67 6.3.1 User對象 67 6.3.2 添加用戶 67 6.3.3 修改用戶 68 6.3.4 刪除用戶 68 6.3.5 驗證用戶密碼 69 6.3.6 用戶數據查詢 70 6.3.7 設置用戶權限 71 6.4 用戶信息管理 72 6.4.1 添加和刪除用戶信息 72 6.4.2 查詢用戶信息 73 6.4.3 添加與刪除用戶賬號 74 6.4.4 查詢用戶信息 75 6.4.5 設置用戶圖片 76 6.5 用戶組與用戶關系 77 6.5.1 綁定關系 77 6.5.2 解除綁定 78 6.5.3 查詢用戶組下的用戶 78 6.5.4 查詢用戶所屬的用戶組 79 6.6 本章小結 80 第7章 流程存儲 81 7.1 流程文件部署 82 7.1.1 Deployment對象 82 7.1.2 DeploymentBuilder對象 82 7.1.3 添加輸入流資源 83 7.1.4 添加classpath資源 84 7.1.5 添加字符串資源 85 7.1.6 添加壓縮包資源 85 7.1.7 修改部署名稱 86 7.1.8 過濾重復部署 86 7.1.9 資源部署 87 7.2 流程定義的管理 87 7.2.1 ProcessDefinition對象 87 7.2.2 流程部署 88 7.2.3 流程圖部署 89 7.2.4 中止與激活流程定義 90 7.3 流程定義權限 91 7.3.1 設置流程定義的用戶權限 91 7.3.2 設置流程定義的用戶組權限 93 7.3.3 IdentityLink對象 93 7.3.4 查詢權限數據 93 7.4 RepositoryService數據查詢與刪除 95 7.4.1 查詢部署資源 96 7.4.2 查詢流程文件 96 7.4.3 查詢流程圖 97 7.4.4 查詢部署資源名稱 98 7.4.5 刪除部署資源 98 7.4.6 DeploymentQuery對象 99 7.4.7 ProcessDefinitionQuery對象 100 7.5 本章小結 100 第8章 流程任務管理 101 8.1 任務的創建與刪除 102 8.1.1 Task對象 102 8.1.2 創建與保存Task實例 103 8.1.3 刪除任務 103 8.2 任務權限 104 8.2.1 設置候選用戶組 105 8.2.2 設置候選用戶 106 8.2.3 權限數據查詢 106 8.2.4 設置任務持有人 108 8.2.5 設置任務受理人 109 8.2.6 添加任務權限數據 110 8.2.7 刪除用戶組權限 112 8.2.8 刪除用戶權限 113 8.3 任務參數 115 8.3.1 基本類型參數設置 115 8.3.2 序列化參數 116 8.3.3 獲取參數 117 8.3.4 參數作用域 118 8.3.5 設置多個參數 119 8.4 任務附件管理 120 8.4.1 AttachmentEntity對象 120 8.4.2 創建任務附件 120 8.4.3 附件查詢 122 8.4.4 刪除附件 123 8.5 任務評論與事件記錄 123 8.5.1 CommentEntity對象 123 8.5.2 新增任務評論 124 8.5.3 事件的記錄 124 8.5.4 數據查詢 126 8.6 任務聲明與完成 126 8.6.1 任務聲明 126 8.6.2 任務完成 127 8.7 本章小結 128 第9章 流程控制 129 9.1 流程實例與執行流 130 9.1.1 流程實例與執行流概念 130 9.1.2 流程實例和執行流對象(ProcessInstance與Execution) 130 9.2 啟動流程 131 9.2.1 startProcessInstanceById方法 131 9.2.2 startProcessInstanceByKey方法 133 9.2.3 startProcessInstanceByMessage 134 9.3 流程參數 135 9.3.1 設置與查詢流程參數 136 9.3.2 流程參數的作用域 136 9.3.3 其他設置參數方法 138 9.4 流程操作 138 9.4.1 發送信號 138 9.4.2 觸發信號事件 140 9.4.3 觸發消息事件 143 9.4.4 中斷與激活流程 145 9.4.5 刪除流程 145 9.5 流程數據查詢 146 9.5.1 執行流查詢 146 9.5.2 流程實例查詢 149 9.6 本章小結 150 第10章 歷史數據管理和流程引擎管理 151 10.1 歷史數據管理 152 10.1.1 歷史流程實例查詢 152 10.1.2 歷史任務查詢 154 10.1.3 歷史行為查詢 157 10.1.4 歷史流程明細查詢 159 10.1.5 刪除歷史流程實例和歷史任務 161 10.2 工作的產生 162 10.2.1 異步任務產生的工作 162 10.2.2 定時中間事件產生的工作 164 10.2.3 定時邊界事件產生的工作 165 10.2.4 定時開始事件產生的工作 166 10.2.5 流程拋出事件產生的工作 167 10.2.6 工作的執行 169 10.3 工作管理 170 10.3.1 JobQuery對象 170 10.3.2 獲取工作異常信息 173 10.3.3 設置工作執行次數 173 10.4 數據庫管理 174 10.4.1 查詢引擎屬性 175 10.4.2 數據表信息查詢 175 10.4.3 數據庫操作 176 10.4.4 數據表查詢 177 10.5 本章小結 178 第11章 流程事件 179 11.1 事件分類 180 11.1.1 按照事件的位置分類 180 11.1.2 按照事件的特性分類 180 11.2 事件定義 180 11.2.1 定時器事件定義 181 11.2.2 cron表達式 181 11.2.3 錯誤事件定義 183 11.2.4 信號事件定義 183 11.2.5 消息事件定義 184 11.2.6 取消事件定義 184 11.2.7 補償事件定義 185 11.2.8 其他事件定義 185 11.3 開始事件 185 11.3.1 無指定開始事件 185 11.3.2 定時器開始事件 186 11.3.3 消息開始事件 187 11.3.4 錯誤開始事件 189 11.4 結束事件 191 11.4.1 無指定結束事件 191 11.4.2 錯誤結束事件 191 11.4.3 取消結束事件和取消邊界事件 193 11.5 邊界事件 196 11.5.1 定時器邊界事件 196 11.5.2 錯誤邊界事件 198 11.5.3 信號邊界事件 200 11.5.4 補償邊界事件 202 11.6 中間事件 205 11.6.1 中間事件分類 205 11.6.2 定時器中間事件 206 11.6.3 信號中間Catching事件 207 11.6.4 信號中間Throwing事件 209 11.6.4 消息中間事件 211 11.6.5 無指定中間事件 211 11.7 補償中間事件 211 11.7.1 補償執行次數 211 11.7.2 補償執行范圍 213 11.7.3 補償的執行順序 217 11.7.4 補償的參數設置 219 11.8 本章小結 220 第12章 流程任務 221 12.1 BPMN 2.0中的任務 222 12.1.1 任務的繼承 222 12.1.2 XML約束 222 12.1.3 任務的類型 224 12.2 用戶任務 225 12.2.1 分配任務候選人 225 12.2.2 分配任務受理人 226 12.2.3 權限分配擴展 227 12.2.4 使用任務監聽器進行權限分配 228 12.2.5 使用JUEL分配權限 229 12.3 腳本任務 231 12.3.1 腳本任務 231 12.3.2 JavaScript腳本 232 12.3.3 Groovy腳本 233 12.3.4 設置返回值 233 12.3.5 JUEL腳本 234 12.4 服務任務 235 12.4.1 Java服務任務 235 12.4.2 實現JavaDelegate 236 12.4.3 使用普通Java Bean 237 12.4.4 在Activiti中調用Web Service 238 12.4.5 import元素 238 12.4.6 itemDefinition元素和message元素 239 12.4.7 interface元素與operation元素 239 12.4.8 設置Web Service參數與返回值 239 12.4.9 發布Web Service 240 12.4.10 使用Web Service Task 241 12.4.11 JavaDelegate屬性注入 244 12.4.12 在JavaDelegate中調用Web Service 246 12.4.13 Shell任務 247 12.5 其他任務 249 12.5.1 手工任務和接收任務 249 12.5.2 郵件任務 250 12.5.3 Mule任務和業務規則任務 252 12.6 任務監聽器 252 12.6.1 使用class指定監聽器 252 12.6.2 使用expression指定監聽器 253 12.6.3 使用delegateExpression指定監聽器 254 12.6.4 監聽器的觸發 254 12.6.5 屬性注入 255 12.7 流程監聽器 256 12.7.1 配置流程監聽器 256 12.7.2 觸發流程監聽器的事件 257 12.8 本章小結 259 第13章 其他流程元素 260 13.1 子流程 261 13.1.1 嵌入式子流程 261 13.1.2 調用式子流程 263 13.1.3 調用式子流程的參數傳遞 265 13.1.4 事件子流程 267 13.1.5 事務子流程 269 13.2 順序流 271 13.2.1 條件順序流 272 13.2.2 默認順序流 273 13.3 流程關口 275 13.3.1 單向關口 275 13.3.2 并行關口 277 13.3.3 兼容關口 279 13.3.4 事件關口 281 13.4 流程活動特性 283 13.4.1 多實例活動 283 13.4.2 設置循環數據 285 13.4.3 獲取循環元素 286 13.4.4 循環的內置參數 288 13.4.5 循環結束條件 290 13.4.6 補償處理者 291 13.5 本章小結 292 第14章 Activiti與規則引擎 293 14.1 概述 294 14.1.1 規則引擎Drools 294 14.1.2 Drools下載與安裝 294 14.2 開發第一個Drools應用 295 14.2.1 建立Drools環境 295 14.2.2 編寫規則 296 14.2.3 加載與運行 296 14.3 Drools規則語法概述 297 14.3.1 規則文件結構 297 14.3.2 關鍵字 298 14.3.3 規則編譯 299 14.4 類型聲明 299 14.4.1 聲明新類型 300 14.4.2 使用ASM操作字節碼 301 14.4.3 類型聲明的使用 302 14.4.4 類型的繼承 303 14.4.5 聲明元數據 304 14.5 函數和查詢 305 14.5.1 函數定義和使用 305 14.5.2 查詢的定義和使用 307 14.6 規則語法 308 14.6.1 全局變量 308 14.6.2 規則屬性 310 14.6.3 條件語法 313 14.6.4 行為語法 316 14.7 Activiti調用規則 317 14.7.1 業務規則任務 317 14.7.2 制定銷售單優惠規則 318 14.7.3 實現銷售流程 321 14.8 本章小結 323 第15章 整合第三方框架 324 15.1 Spring框架 325 15.1.1 Spring的IoC 325 15.1.2 Spring的AOP 326 15.1.3 使用IoC 326 15.1.4 使用AOP 327 15.2 Activiti整合Spring 328 15.2.1 SpringProcessEngineConfiguration 328 15.2.2 ProcessEngineFactoryBean 330 15.2.3 在bean中注入Activiti服務 331 15.2.4 在Activiti中使用Spring的bean 331 15.3 Activiti整合Web項目 333 15.3.1 安裝Tomcat插件 334 15.3.2 加入Spring 336 15.3.3 整合Hibernate 337 15.3.4 配置聲明式事務 339 15.3.5 添加Struts配置 340 15.3.6 實現一個最簡單的邏輯 340 15.3.7 測試事務 342 15.3.8 加入Activiti 343 15.4 Mule ESB 344 15.4.1 Mule簡介 344 15.4.2 開發第一個Mule應用 344 15.4.3 請求Mule服務 345 15.4.4 代理HTTP服務 346 15.4.5 Mule與Spring整合 347 15.4.6 在Activiti中向Mule發送請求 348 15.5 本章小結 351 第16章 Activiti開放的Web Service 352 16.1 Web Service簡介 353 16.1.1 Web Service 353 16.1.2 SOAP協議 353 16.1.3 REST架構 353 16.1.4 REST的設計準則 354 16.1.5 REST的主要特性 354 16.1.6 SOAP RPC與REST的區別 355 16.2 Restlet簡介 355 16.2.1 在Web工程中使用Restlet 356 16.2.2 發布REST的Web Service 357 16.2.3 編寫客戶端 358 16.2.4 訪問控制 358 16.2.5 部署Activiti的Web Service 361 16.2.6 準備測試數據 361 16.2.7 查詢流程引擎信息 362 16.2.8 使用HttpClient編寫客戶端 362 16.2.9 使用CXF編寫客戶端 363 16.3 流程存儲服務 364 16.3.1 上傳部署文件 364 16.3.2 部署數據查詢 366 16.3.3 部署資源查詢 367 16.3.4 查詢單個部署資源 368 16.3.5 刪除部署資源 369 16.3.6 刪除多個部署資源 370 16.4 流程服務 371 16.4.1 查詢流程定義集合 371 16.4.2 流程定義表單屬性 372 16.4.3 查詢流程定義表單 373 16.4.4 查詢流程圖 373 16.4.5 啟動流程 373 16.4.6 查詢流程實例集合 374 16.4.7 查詢單個流程實例 374 16.4.8 查詢流程圖片 375 16.4.9 查詢流程實例任務 376 16.4.10 發送信號 376 16.5 流程任務服務 377 16.5.1 查詢任務摘要 377 16.5.2 獲取任務集合 378 16.5.3 查詢單個任務 379 16.5.4 查詢任務表單 379 16.5.5 任務操作 379 16.6 身份服務 380 16.6.1 身份驗證 380 16.6.2 查詢用戶 380 16.6.3 查詢用戶所屬的用戶組 381 16.6.4 查詢用戶組 381 16.6.5 查詢用戶組下的用戶 381 16.7 管理服務 382 16.7.1 工作管理 382 16.7.2 數據庫管理 382 16.8 本章小結 382 第17章 Activiti功能進階 384 17.1 流程虛擬機 385 17.1.1 概述 385 17.1.2 初試PVM 385 17.1.3 自定義流程語言 386 17.1.4 執行流程語言 389 17.2 Activiti的表單 391 17.2.1 概述 392 17.2.2 表單屬性 392 17.2.3 外部表單 393 17.2.4 關于動態工作流和動態表單 394 17.3 流程圖XML 394 17.3.1 節點元素 395 17.3.2 銜接元素 395 17.3.3 流程圖與流程文件的轉換 395 17.4 流程操作 397 17.4.1 流程回退 397 17.4.2 會簽 398 17.5 本章小結 400 第18章 辦公自動化系統 401 18.1 使用技術 402 18.1.1 表現層技術 402 18.1.2 MVC框架 402 18.1.3 Spring和Hibernate 402 18.2 功能簡述 403 18.2.1 系統的角色管理 403 18.2.2 薪資計算流程 403 18.2.3 請假流程 403 18.2.4 薪資調整流程 403 18.2.5 報銷流程 404 18.3 框架整合 404 18.3.1 創建Web工程 404 18.3.2 加入Spring 406 18.3.3 加入Hibernate 407 18.3.4 整合Struts2 408 18.3.5 整合Activiti 409 18.4 數據庫設計 410 18.4.1 薪資表 410 18.4.2 請假記錄表 411 18.4.3 薪資調整記錄表 412 18.4.4 報銷記錄表 412 18.5 初始化數據 413 18.5.1 初始化角色數據 413 18.5.2 薪資計算流程 414 18.5.3 請假流程 415 18.5.4 報銷流程 415 18.5.5 薪資調整流程 416 18.6 角色管理 418 18.6.1 用戶組管理 418 18.6.2 用戶列表 420 18.6.3 新建用戶 421 18.6.4 用戶登錄 422 18.7 流程啟動 423 18.7.1 啟動請假流程 423 18.7.2 啟動報銷流程 426 18.7.3 啟動薪資調整流程 428 18.8 申請列表 429 18.8.1 申請列表 429 18.8.2 請假申請列表 430 18.8.3 報銷申請列表 431 18.8.4 薪資調整列表 431 18.8.5 查看流程圖 432 18.9 流程任務 434 18.9.1 待辦任務列表 434 18.9.2 領取任務與受理任務列表 436 18.9.3 查詢任務信息 437 18.9.4 任務審批 439 18.9.5 運行OA的流程 439 18.10 本章小結 440 |
序: |