10

说明

本系列教程目前已经完结,点击以下连接查看完整教程

背景

在开源的工作流引擎中,activitijbpm目前是唯二的两个选择,相比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的详细应用在接下来的章节也会继续介绍。


DQuery
300 声望93 粉丝

幸福是奋斗出来的