经过多年的发展,Activiti已经成为一个较为成熟的工作流引擎,作为一个开源的工作流引擎,它在工作流领域吸引了众多开发者的目光,在当前的工作流框架角逐中,慢慢成为众多企业的首选。本文将以Activiti6.0版本为基础,简单讲解Activiti开发环境(流程设计器,流程管理工具以及数据库)的搭建等内容。
前提准备
在进行Activit部署之前,需要安装了JDK(7+),Mysql,本文不作赘述,此时,从官网下载Activiti压缩包http://activiti.org/download.html,源码可以从github获取https://github.com/Activiti/Activiti另外,需要Web容器的支持(原则上任何容器都可以),笔者使用Apache Tomcat。
下载
下载Activiti解压缩得到如下几个目录。 database:用于存放Activiti数据表的初始化脚本(create子目录)、删除脚本(drop子目录)和升级脚本(upgrade子目录)。从各个目录中的脚本可得知,目前Activiti支持各大主流的关系型数据库,包括DB2、MySQL、Oracle等等。libs:存放本版本Activiti所发布的jar包,也包含对应的源码包。wars:存放Activiti官方提供的war包,当前版本有activiti-app.war、activiti-admin.war、activiti-rest.war三个war包。
部署之流程设计器
在从官网下载完安装文件后,我们已经大致了解了各个文件目录的作用,接着,开始讲解部署Activiti流程设计器,步骤如下:
- 进入目录wars,有三个文件,上文讲到分别为流程管理工具(activiti-admin.war),activiti-rest.war和流程设计器(activiti-rest.war),将activiti-app.war复制到Tomcat webapps目录下。
- 通过Tomcat bin目录下的startup.bat 或者 startup.sh 命令启动web服务器。
- 启动Tomcat后,打开浏览器,输入http://localhost:8080/activiti-app进入Activiti设计器。首次登陆用户名和密码为admin/test。
登陆成功后,我们就进入了熟悉的流程设计器页面了,表示流程设计器部分已经部署成功,可以进行用户管理和流程设计部署等,界面如下:
- Kickstart App:主要用于流程模型管理、表单管理及应用(App)管理,一个应用可以包含多个流程模型,应用可发布给其他用户使用。
- Task App:用于管理整个activiti-app的任务,在该功能里面也可以启动流程。
- Idenity management:身份信息管理,可以管理用户、用户组等数据。
其中,在用户管理界面,我们不妨试着添加一个用户,假设我新建一个用户porryli/test,界面如下:
定义流程
点击“Kickstart App”菜单,进入流程模型管理的主界面,点击“Create Process”按钮,弹出新建流程模型界面。
点击“Create new model”就可以进行流程的设计工作了,具体的流程设计,笔者后续详细介绍。
部署之流程引擎管理工具
Activiti不仅仅有简单的流程设计器,还提供流程的管理平台,wars文件目录除了activiti-app这个war包外,还有一个activiti-admin的war包,在部署时也放到Tomcat的应用目录下,activiti-admin用于查看流程引擎的主要数据,包括流程引擎的部署信息、流程定义、任务等数据。重启Tomcat部署成功后,在浏览器中打开以下链接:通过链接http://localhost:8080/activiti-admin/#/login进入登录界面,内置用户名和密码为admin/admin。
登录成功,就可以进入到引擎管理工具界面了,在activiti-admin应用中的数据,可以通过Activiti发布的接口获取,接口的使用将在本书后面的章节中讲述。
点击“Configuration”菜单,可以配置管理的对象信息,由于activiti-app也是部署在Tomcat中,因此只需要修改一下端口即可,将默认的9999端口改为我们的Tomcat端口(8080),修改界面如下。
总结
根据本文内容可知,Activiti官方提供的activiti-app、activiti-admin两个应用,包含了流程设计、流程发布、流程引擎管理等功能,后续将会深入讲解Activiti的功能,学习后再回头看官方的两个应用,即可明白它们的实现原理。最后,附上Acitiviti开发指南https://www.activiti.org/userguide/