概述
前一篇文章《十分鐘認(rèn)識Activiti6.0工作流引擎》站在工程師的視角快速編碼體驗了一把工作流,為了更純粹的體驗Activiti提供的核心API的功能,我們在命令行交互下體驗了流程審批的過程,還是比較抽象,其實Activiti6.0給我們提供了一個基礎(chǔ)的工作流平臺,通過工作流平臺我可以零編碼的實現(xiàn)工作流的設(shè)計,表單設(shè)計,指定審批人等等工作,接下來我們圖文并茂的跟大家介紹一下如何通過Activiti6.0工作流引擎零編碼的實施工作流。
通過Activiti6.0的程序包部署工作流引擎時非常簡單的,基本做到了開箱即用,我們要做的僅僅是下載了解壓縮,部署到tomcat里面,直接啟動tomcat運行就好了,下面提供了一些部署的腳本大家可以參考,前提是已經(jīng)安裝了java環(huán)境,推薦java 8
#下載tomcat軟件包
$?wget?http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.50/bin/apache-tomcat-8.0.50.zip
#解壓縮tomcat
$?tar?–zxvf?apache-tomcat-8.0.50.zip
#下載Activiti6.0軟件包
$?wget?https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip
#解壓Activiti6.0
$?tar?–zxvf?activiti-6.0.0.zip
#部署Activiti-app.war到tomcat
$?cp?activiti-6.0.0/wars/activiti-app.war?apache-tomcat-8.0.50/webapps
#直接啟動tomcat
$?./apache-tomcat-8.0.50/bin/startup.sh
#瀏覽器訪問平臺地址
$?open?http://localhost:8080/activiti-app
需要注意的是Activiti-app.war默認(rèn)使用的數(shù)據(jù)庫是h2內(nèi)存數(shù)據(jù)庫,可以開箱即用無需任何配置就能體驗流程平臺,缺點就是h2只適合快速演示,當(dāng)系統(tǒng)重啟的時候數(shù)據(jù)庫的內(nèi)容就清零了,如果本地已經(jīng)安裝了mysql可以修改一下activiti-app配置使用mysql數(shù)據(jù)庫(當(dāng)然不是必須的了),activiti-app可以自動創(chuàng)建表結(jié)構(gòu),我們需要在mysql中創(chuàng)建一個空的數(shù)據(jù)庫activiti6ui的數(shù)據(jù)庫,修改配置內(nèi)容如下:
#配置路徑webapps/activiti-app/WEB-INF/classes/META-INF/activiti-app/activiti-app.properties
#datasource.driver=org.h2.Driver
#datasource.url=jdbc:h2:mem:activiti;DB_CLOSE_DELAY=-1
datasource.driver=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://127.0.0.1:3306/activiti6ui?characterEncoding=UTF-8
datasource.username=sa
datasource.password=
#hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.dialect=org.hibernate.dialect.MySQLDialect
瀏覽器訪問系統(tǒng)(http://localhost:8080/activiti-app)使用用戶名/密碼(admin/test)登錄

登錄成功即可說明我們部署完成了。

二級審批流程設(shè)計及部署
分析一下這個審批流程圖,涉及到一個開始節(jié)點,兩個結(jié)束節(jié)點,兩個用戶任務(wù)節(jié)點分別是填寫審批信息節(jié)點和主管審批節(jié)點 ,這兩個節(jié)點后面對應(yīng)兩個網(wǎng)關(guān)處理審批結(jié)果的流程分支。這里兩個用戶任務(wù)節(jié)點是重點,分別對應(yīng)兩個表單和兩類參與者角色,我們可以稱為普通用戶和主管用戶。
經(jīng)過分析我們的需求比較明確首先我們創(chuàng)建兩個參與用戶分別代表用戶和主管,
操作路徑:? Identity management-->Users -->?Create user

用戶列表數(shù)據(jù)輸入內(nèi)容
ID 郵件 姓名
userdev .?userdev@126.com?. userdev DEV
usert .? lusertl@126.com?. usertl TL
用戶列表效果

需要兩個表單,創(chuàng)建表單的操作路徑
操作路徑:Kickstart App-->Forms -->Create Forms

設(shè)計填寫審批信息自定義表單,自定義表單支持表單控件元素的拖拽繪制表單效果,而且支持了豐富的設(shè)置項,比如時間控件,下拉選項控件等等.

設(shè)計主管審批表單

表單列表

設(shè)計審批工作流
需要設(shè)計一個流程審批圖,創(chuàng)建流程定義文件的操作路徑
操作路徑:Kickstart App-->Processes -->Create Processes

設(shè)計流程定義文件,Activiti提供的WEB流程設(shè)計器非常優(yōu)秀,首先基于瀏覽器的設(shè)計方式大大的方便了非技術(shù)同學(xué)的使用,這個WEB流程設(shè)計器基于Angular實現(xiàn)支持拖拽及快捷鍵,有合理的磁吸方便流程圖元素調(diào)整位置。
可以選擇任意元素進(jìn)行對元素的屬性設(shè)置,設(shè)置名稱,ID等等屬性信息,更詳細(xì)的屬性設(shè)置大家可以參考實戰(zhàn)課程Activiti6.0工作流引擎深度解析與實戰(zhàn)

現(xiàn)在我們選中【填寫審批信息】的用戶任務(wù),這里相對重要的一個屬性是設(shè)置關(guān)聯(lián)表單信息

每個元素設(shè)置完合適的信息,這個流程圖的設(shè)計就完成了,流程設(shè)計器的預(yù)覽效果非常強(qiáng)大,我們可以把鼠標(biāo)指定對應(yīng)的元素可以看到相關(guān)的提升信息,比如我們指定了網(wǎng)關(guān)后面的一個分支,給我們顯示出來這個分支的判斷條件是什么,看著是不是很方便

未完待續(xù)
這篇章節(jié)給大家圖文并茂的描述了一下如何使用Activiti6.0工作流引擎定義流程參與用戶,設(shè)計自定義表單,和流程圖的繪制。
下一章節(jié)會介紹一下我們設(shè)計的流程圖如何部署并運行,多用戶協(xié)同參與完成流程圖的運行。
歡迎大家學(xué)習(xí)Activiti6.0工作流引擎深度解析與實戰(zhàn)課程了解更詳細(xì)的信息。