说明
本系列教程目前已经完结,点击以下连接查看完整教程
- SpringBoot Activiti6系列教程(一)-activiti-app部署
- SpringBoot Activiti6系列教程(二)-基于mysql数据库初始化
- SpringBoot Activiti6系列教程(三)-开发一个简单的SpringBoot activiti6应用程序
- SpringBoot Activiti6系列教程(四)-流程部署
- SpringBoot Activiti6系列教程(五)-activiti api
- SpringBoot Activiti6系列教程(六)-Execution说明
- SpringBoot Activiti6系列教程(七)-变量
- SpringBoot Activiti6系列教程(八)-流程拒绝实现
- SpringBoot Activiti6系列教程(九)-流程回退实现
- SpringBoot Activiti6系列教程(十)-流程加签征询实现(完结篇)
背景
在开源的工作流引擎中,activiti和jbpm目前是唯二的两个选择,相比jbpm,activiti应该算是晚辈,但有意思的是,在github上,activiti有5.6k的start,而jbpm却只有978,可见开发者们更喜欢较为年轻的activiti,实际情况也是这样的,近几年在企业里面,activiti大有燎原之势,做流程的没有不知道activiti。看了网上activiti的教程,质量参差不齐,找不到一个完整的教程,想看个视频,动不动几十集的,因此打算自己整理一套完整的activiti教程,本套教程基于activiti6。
实现
下载
可以从这里下载Activiti6资源包的zip文件,在这个页面还包含开发文档和JavaDoc,官方文档写的非常详细,而且篇幅不长,有条件的同学建议能够通读一遍。
安装
下载完的zip包名称为activiti-6.0.0.zip
,解压开文件如下:
.
├── activiti_readme.png
├── database
│ ├── create
│ ├── drop
│ └── upgrade
├── libs
│ ├── activiti-app-logic-6.0.0-sources.jar
│ ├── activiti-app-logic-6.0.0.jar
│ ├── activiti-app-rest-6.0.0-sources.jar
│ ├── activiti-app-rest-6.0.0.jar
│ ├── ......
├── license.txt
├── notice.txt
├── readme.html
└── wars
├── activiti-admin.war
├── activiti-app.war
└── activiti-rest.war
- database存放数据库对象相关脚本,包含不同的数据库脚本
- libs包含activiti开发过程中需要用到的jar包和源码,不建议通过jar包直接引用,建议通过maven进行管理
- wars包含三个app,
activiti-app
提供了一个流程的建模工具,支持流程模型的导出和发布到activi系统,也提供了一个相对简单到流程审批界面和流程发起界面,但完成度不高。 -
activiti-admin
提供管理员功能,可以查看当前流程实例运行情况。 -
activiti-rest
提供activiti 所有rest api接口
将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,我们也会介绍如何修改为我们自己的数据库。
activiti-app
这个应用包含流程建模和用户管理相关功能,activiti-app提供了一个bpmn的建模工具,可以将模型导出或者部署到activiti系统中。
访问地址为http://localhost:8001/activiti-app,默认账号为 admin/test
,默认有三个app
-
Kickstart app
包含四个功能,流程模型设计,表单设计,决策表设计,app管理 -
Task App
提供一个简单到待办审批界面和流程发起界面。 -
Identity management
用来管理用户和用户组
activity-admin
activity-admin
应用提供一些基本的流程运行时管理功能,可以查看当前运行的所有实例和任务,也可以上传流程文件
activity-rest
activity-rest
提供一些activiti rest api功能,不过需要通过 http basic认证进行调用。
三个应用如果需要连通,还需要做相关的配置,下一章节会介绍如何将三个应用连通。
流程模型创建
activiti支持BPMN 2.0的标准,所以理论上任何BPMN 2.0编辑器创建的模型都支持,不管是本地版本的还是在线版,在介绍activiti自带的建模工具之前,介绍几个可供选择的建模工具
- bpmn官放提供的开源建模工具bpmn-js,支持基本的模型设计,但缺少属性配置,不过可能是故意这样设计的,这个工具主要是给activiti开发者进行二次开发。
- yaoqiang用java开发的bpmn设计器,由于是java开发,所以支持跨平台。
-
actiBPM
,idea插件。
登录activiti-app,进入Kickstar App->CreateProcess创建新的流程模型,需要输入模型名称和模型主键,这个主键必须唯一,代码中发起流程需要用到。这里创建了只有一个UserTask的审批节点
可以修改UserTask的assignments
属性设置审批人,这里设置了管理员作为审批人。保存后退出编辑器界面,在查看页面可以对模型进行导出为bpmn文件,也可以通过创建一个App并且将选择流程模型,将app进行发布(Publish)后就可以在Task App
中进行流程的发起,也可以通过程序进行发起。
总结
本章节主要介绍如何部署activit6的三个应用,相对来说还是比较简单的,对三个app的详细应用在接下来的章节也会继续介绍。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。