概述
前一篇文章《十分钟认识Activiti6.0工作流引擎》站在工程师的视角快速编码体验了一把工作流,为了更纯粹的体验Activiti提供的核心API的功能,我们在命令行交互下体验了流程审批的过程,还是比较抽象,其实Activiti6.0给我们提供了一个基础的工作流平台,通过工作流平台我可以零编码的实现工作流的设计,表单设计,指定审批人等等工作,接下来我们图文并茂的跟大家介绍一下如何通过Activiti6.0工作流引擎零编码的实施工作流。
搭建工作流平台
通过Activiti6.0的程序包部署工作流引擎时非常简单的,基本做到了开箱即用,我们要做的仅仅是下载了解压缩,部署到tomcat里面,直接启动tomcat运行就好了,下面提供了一些部署的脚本大家可以参考,前提是已经安装了java环境,推荐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默认使用的数据库是h2内存数据库,可以开箱即用无需任何配置就能体验流程平台,缺点就是h2只适合快速演示,当系统重启的时候数据库的内容就清零了,如果本地已经安装了mysql可以修改一下activiti-app配置使用mysql数据库(当然不是必须的了),activiti-app可以自动创建表结构,我们需要在mysql中创建一个空的数据库activiti6ui的数据库,修改配置内容如下:
#配置路径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
浏览器访问系统(http://localhost:8080/activiti-app)使用用户名/密码(admin/test)登录
登录成功即可说明我们部署完成了。
二级审批流程设计及部署
分析一下这个审批流程图,涉及到一个开始节点,两个结束节点,两个用户任务节点分别是填写审批信息节点和主管审批节点 ,这两个节点后面对应两个网关处理审批结果的流程分支。这里两个用户任务节点是重点,分别对应两个表单和两类参与者角色,我们可以称为普通用户和主管用户。
创建参与者用户
经过分析我们的需求比较明确首先我们创建两个参与用户分别代表用户和主管,
操作路径: Identity management-->Users --> Create user
用户列表数据输入内容
ID | 邮件 | 姓名 |
---|---|---|
userdev | userdev@126.com | userdev DEV |
usertl | usertl@126.com | usertl TL |
用户列表效果
设计审批表单
需要两个表单,创建表单的操作路径
操作路径:Kickstart App-->Forms -->Create Forms
设计填写审批信息自定义表单,自定义表单支持表单控件元素的拖拽绘制表单效果,而且支持了丰富的设置项,比如时间控件,下拉选项控件等等.
设计主管审批表单
表单列表
设计审批工作流
需要设计一个流程审批图,创建流程定义文件的操作路径
操作路径:Kickstart App-->Processes -->Create Processes
设计流程定义文件,Activiti提供的WEB流程设计器非常优秀,首先基于浏览器的设计方式大大的方便了非技术同学的使用,这个WEB流程设计器基于Angular实现支持拖拽及快捷键,有合理的磁吸方便流程图元素调整位置。
可以选择任意元素进行对元素的属性设置,设置名称,ID等等属性信息,更详细的属性设置大家可以参考实战课程Activiti6.0工作流引擎深度解析与实战
现在我们选中【填写审批信息】的用户任务,这里相对重要的一个属性是设置关联表单信息
每个元素设置完合适的信息,这个流程图的设计就完成了,流程设计器的预览效果非常强大,我们可以把鼠标指定对应的元素可以看到相关的提升信息,比如我们指定了网关后面的一个分支,给我们显示出来这个分支的判断条件是什么,看着是不是很方便
未完待续
这篇章节给大家图文并茂的描述了一下如何使用Activiti6.0工作流引擎定义流程参与用户,设计自定义表单,和流程图的绘制。
下一章节会介绍一下我们设计的流程图如何部署并运行,多用户协同参与完成流程图的运行。
欢迎大家学习Activiti6.0工作流引擎深度解析与实战课程了解更详细的信息。
热门评论
非常不错。非常有帮助。