2.入門
2.1 一分鐘版本
在Activiti網(wǎng)站下載Activit war包之后,根據(jù)以下步驟可以使用默認配置啟動activiti示例。你需要一個Java運行時環(huán)境和Tomcat(事實上可以使用任意一款web容器,因為Activiti war包只依賴于Servlet。但是Activit主要使用Tomcat測試)。
- 將下載的activiti-app.war拷貝到Tomcat的webapps目錄。
- 運行Tomcat bin目錄下的startup.bat或startup.sh腳本啟動Tomcat。
- 當Tomcat啟動后,通過web瀏覽器訪問http://localhost:8080/activiti-app。登陸名為admin,密碼是test。
Activiti UI 應用默認使用H2內(nèi)存數(shù)據(jù)庫,如果想用其他數(shù)據(jù)庫配置,請看下文(原文為錨點,the longer version)。
2.2 Activiti設置
安裝Activiti需要Java運行時環(huán)境和Tomcat。另外需要確認已經(jīng)正確配置了系統(tǒng)環(huán)境變量JAVA_HOME。操作系統(tǒng)不同,配置的方式也有所區(qū)別。
要運行Activiti UI和REST應用,只需要將Activiti的war包拷貝到Tomcat的webapps目錄。UI應用默認情況下運行在內(nèi)存數(shù)據(jù)庫上。
演示用戶:
| 用戶ID | 密碼 | 安全角色 |
|---|---|---|
| admin | test | admin |
現(xiàn)在你可以訪問下面的web應用:
| web應用名稱 | URL | 描述 |
|---|---|---|
| Activiti UI | http://localhost:8080/activiti-app | 流程引擎用戶控制臺。使用這個app可以開始一個新流程,分配任務,查看和認領任務等等。 |

Activiti UI演示設置只是一個即快又簡單的Activit使用方式,這種使用方式只是用來展示Activiti的能力和功能,并不意味著只能這樣使用Activiti。Activiti只是一個jar包,可以內(nèi)嵌在任意的Java環(huán)境中:swing、tomcat、jboss、websphere等等。或者你可以選擇將Activiti作為一個傳統(tǒng)的、獨立的BPM服務運行。如果Java程序可以運行,那么Activiti就可以運行。
2.3 Activiti數(shù)據(jù)庫設置
在一分鐘演示設置中提到,Activiti應用默認運行在一個H2內(nèi)存數(shù)據(jù)庫之上。想要將Activiti UI應用運行在獨立的H2或者其他數(shù)據(jù)庫之上,需要修改Activiti UI應用WEB-INF/classes/META-INF/activiti-app目錄下的activiti-app.properties文件。
2.4 引用Activiti jar和Activiti的依賴
我們建議使用Maven或者lvy引用Activiti jar和Activiti的依賴,因為他們簡化了我們大家的依賴管理。根據(jù)說明在你的環(huán)境中引用必須的jar包。
另外如果你不想使用Maven,你可以手動在你的項目中引用jar包。在Activiti的zip下載包中,libs目錄中包含了所有的Activiti jar包。Activiti依賴的jar包并沒有與zip包一起發(fā)行。Activiti引擎依賴的jar包如下:
org.activiti:activiti-engine:jar:6.x
+- org.activiti:activiti-bpmn-converter:jar:6.x:compile
| \- org.activiti:activiti-bpmn-model:jar:6.x:compile
| +- com.fasterxml.jackson.core:jackson-core:jar:2.2.3:compile
| \- com.fasterxml.jackson.core:jackson-databind:jar:2.2.3:compile
| \- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.3:compile
+- org.activiti:activiti-process-validation:jar:6.x:compile
+- org.activiti:activiti-image-generator:jar:6.x:compile
+- org.apache.commons:commons-email:jar:1.2:compile
| +- javax.mail:mail:jar:1.4.1:compile
| \- javax.activation:activation:jar:1.1:compile
+- org.apache.commons:commons-lang3:jar:3.3.2:compile
+- org.mybatis:mybatis:jar:3.3.0:compile
+- org.springframework:spring-beans:jar:4.1.6.RELEASE:compile
| \- org.springframework:spring-core:jar:4.1.6.RELEASE:compile
+- joda-time:joda-time:jar:2.6:compile
+- org.slf4j:slf4j-api:jar:1.7.6:compile
+- org.slf4j:jcl-over-slf4j:jar:1.7.6:compile
注意:只有當你使用郵件服務任務時才需要mail jar。
通過在Activiti源碼的maven模塊上使用mvn dependency:copy-dependencies可以簡單的下載到所有的依賴。
mvn dependency:copy-dependencies 文檔
Goal that copies the project dependencies from the repository to a defined location.
可以從倉庫中,將項目依賴的jar包拷貝到指定目錄。-DoutputDirectory=xxx
2.5 下一步
使用Activit UI Web應用是熟悉Activit概念和功能的好方法。但是Activiti的主要目的是使你的應用獲得功能強大的BPM和工作流能力。后面的一些章節(jié)將會幫助你熟悉如何在你的環(huán)境中編程式的使用Activiti:
- 關于配置章節(jié)將會教你如何配置Activiti以及如何獲得
ProcessEngine類的實例,這個實例將是Activiti所有引擎功能的核心入口。 - 在API章節(jié)中將會引導你熟悉Activiti的API。這些Service通過一種簡單、強大的方式提供了引擎功能,并且可以在任何Java環(huán)境中使用。
- 有興趣深入了解編寫Activiti引擎流程的BPMN2.0格式,可以繼續(xù)閱讀BPMN2.0章節(jié)。