背景

在开源的工作流引擎中,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实现了一个简单的activiti应用,包含流程建模,任务发起,待办审批等功能,但完成度只有demo水平,在使用过程中还发现了几个bug,不建议生产使用,主要用的是里面的流程建模工具,可以创建基于BPMN2.0的流程模型并且导出。
  • activiti-admin是管理员功能,可以查看当前流程实例运行情况。
  • activiti-rest包含

将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,我们也会介绍如何修改为我们自己的数据库。

activiti-app

我们主要关注activiti-app这个应用,这个应用包含流程建模和用户管理相关功能,我们需要在上面创建流程模型,并且导出bpmn文件,以便我们在代码中使用。

部署完毕后,打开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属性设置审批人,这里设置了管理员作为审批人。保存后退出编辑器界面,在查看页面可以对模型进行导出。

, ,
Trackback

no comment untill now

Add your comment now