在開源的工做流引擎中,activiti和jbpm目前是惟二的兩個選擇,相比jbpm,activiti應該算是晚輩,但有意思的是,在github上,activiti有5.6k的start,而jbpm卻只有978,可見開發者們更喜歡較爲年輕的activiti,實際狀況也是這樣的,近幾年在企業裏面,activiti大有燎原之勢,作流程的沒有不知道activiti。看了網上activiti的教程,質量良莠不齊,找不到一個完整的教程,想看個視頻,動不動幾十集的,所以打算本身整理一套完整的activiti教程,本套教程基於activiti6。html
能夠從這裏下載Activiti6資源包的zip文件,在這個頁面還包含開發文檔和JavaDoc,官方文檔寫的很是詳細,並且篇幅不長,有條件的同窗建議可以通讀一遍。java
下載完的zip包名稱爲activiti-6.0.0.zip
,解壓開文件以下:git
. ├── activiti_readme.png ├── database │ ├── create │ ├── drop │ └── upgrade ├── libs │ ├── activiti-app-logic-6.0.0-sources.jar │ ├── activiti-app-logic-6.0.0.jar │ ├── activiti-app-rest-6.0.0-sources.jar │ ├── activiti-app-rest-6.0.0.jar │ ├── ...... ├── license.txt ├── notice.txt ├── readme.html └── wars ├── activiti-admin.war ├── activiti-app.war └── activiti-rest.war
activiti-app
提供了一個流程的建模工具,支持流程模型的導出和發佈到activi系統,也提供了一個相對簡單到流程審批界面和流程發起界面,但完成度不高。activiti-admin
提供管理員功能,能夠查看當前流程實例運行狀況。activiti-rest
提供activiti 全部rest api接口將wars文件夾下三個war文件複製到tomcat的webapps目錄下,啓動tomcat便可自動部署,首次部署須要初始化數據庫,時間可能比較長,默認用的是自帶的內存數據庫h2,咱們也會介紹如何修改成咱們本身的數據庫。github
這個應用包含流程建模和用戶管理相關功能,activiti-app提供了一個bpmn的建模工具,能夠將模型導出或者部署到activiti系統中。web
訪問地址爲http://localhost:8001/activiti-app,默認帳號爲 admin/test
,默認有三個app數據庫
Kickstart app
包含四個功能,流程模型設計,表單設計,決策表設計,app管理Task App
提供一個簡單到待辦審批界面和流程發起界面。Identity management
用來管理用戶和用戶組activity-admin
應用提供一些基本的流程運行時管理功能,能夠查看當前運行的全部實例和任務,也能夠上傳流程文件api
activity-rest
提供一些activiti rest api功能,不過須要經過 http basic認證進行調用。tomcat
三個應用若是須要連通,還須要作相關的配置,下一章節會介紹如何將三個應用連通。
activiti支持BPMN 2.0的標準,因此理論上任何BPMN 2.0編輯器建立的模型都支持,不論是本地版本的仍是在線版,在介紹activiti自帶的建模工具以前,介紹幾個可供選擇的建模工具app
actiBPM
,idea插件。登陸activiti-app,進入Kickstar App->CreateProcess建立新的流程模型,須要輸入模型名稱和模型主鍵,這個主鍵必須惟一,代碼中發起流程須要用到。這裏建立了只有一個UserTask的審批節點webapp
能夠修改UserTask的assignments
屬性設置審批人,這裏設置了管理員做爲審批人。保存後退出編輯器界面,在查看頁面能夠對模型進行導出爲bpmn文件,也能夠經過建立一個App而且將選擇流程模型,將app進行發佈(Publish)後就能夠在Task App
中進行流程的發起,也能夠經過程序進行發起。
本章節主要介紹如何部署activit6的三個應用,相對來講仍是比較簡單的,對三個app的詳細應用在接下來的章節也會繼續介紹。