2.入门
2.1 一分钟版本
在Activiti网站下载Activit war包之后,根据以下步骤可以使用默认配置启动activiti示例。你需要一个Java运行时环境和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内存数据库,如果想用其他数据库配置,请看下文(原文为锚点,the longer version)。
2.2 Activiti设置
安装Activiti需要Java运行时环境和Tomcat。另外需要确认已经正确配置了系统环境变量JAVA_HOME。操作系统不同,配置的方式也有所区别。
要运行Activiti UI和REST应用,只需要将Activiti的war包拷贝到Tomcat的webapps目录。UI应用默认情况下运行在内存数据库上。
演示用户:
用户ID | 密码 | 安全角色 |
---|---|---|
admin | test | admin |
现在你可以访问下面的web应用:
web应用名称 | URL | 描述 |
---|---|---|
Activiti UI | http://localhost:8080/activiti-app | 流程引擎用户控制台。使用这个app可以开始一个新流程,分配任务,查看和认领任务等等。 |
Activiti UI演示设置只是一个即快又简单的Activit使用方式,这种使用方式只是用来展示Activiti的能力和功能,并不意味着只能这样使用Activiti。Activiti只是一个jar包,可以内嵌在任意的Java环境中:swing、tomcat、jboss、websphere等等。或者你可以选择将Activiti作为一个传统的、独立的BPM服务运行。如果Java程序可以运行,那么Activiti就可以运行。
2.3 Activiti数据库设置
在一分钟演示设置中提到,Activiti应用默认运行在一个H2内存数据库之上。想要将Activiti UI应用运行在独立的H2或者其他数据库之上,需要修改Activiti UI应用WEB-INF/classes/META-INF/activiti-app目录下的activiti-app.properties文件。
2.4 引用Activiti jar和Activiti的依赖
我们建议使用Maven或者lvy引用Activiti jar和Activiti的依赖,因为他们简化了我们大家的依赖管理。根据说明在你的环境中引用必须的jar包。
另外如果你不想使用Maven,你可以手动在你的项目中引用jar包。在Activiti的zip下载包中,libs目录中包含了所有的Activiti jar包。Activiti依赖的jar包并没有与zip包一起发行。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和工作流能力。后面的一些章节将会帮助你熟悉如何在你的环境中编程式的使用Activiti:
- 关于配置章节将会教你如何配置Activiti以及如何获得
ProcessEngine
类的实例,这个实例将是Activiti所有引擎功能的核心入口。 - 在API章节中将会引导你熟悉Activiti的API。这些Service通过一种简单、强大的方式提供了引擎功能,并且可以在任何Java环境中使用。
- 有兴趣深入了解编写Activiti引擎流程的BPMN2.0格式,可以继续阅读BPMN2.0章节。