在开源的工做流引擎中,activiti和jbpm目前是惟二的两个选择,相比jbpm,activiti应该算是晚辈,但有意思的是,在github上,activiti有5.6k的start,而jbpm却只有978,可见开发者们更喜欢较为年轻的activiti,实际状况也是这样的,近几年在企业里面,activiti大有燎原之势,作流程的没有不知道activiti。看了网上activiti的教程,质量良莠不齐,找不到一个完整的教程,想看个视频,动不动几十集的,所以打算本身整理一套完整的activiti教程,本套教程基于activiti6。html
能够从这里下载Activiti6资源包的zip文件,在这个页面还包含开发文档和JavaDoc,官方文档写的很是详细,并且篇幅不长,有条件的同窗建议可以通读一遍。java
下载完的zip包名称为activiti-6.0.0.zip
,解压开文件以下:git
. ├── 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
activiti-app
提供了一个流程的建模工具,支持流程模型的导出和发布到activi系统,也提供了一个相对简单到流程审批界面和流程发起界面,但完成度不高。activiti-admin
提供管理员功能,能够查看当前流程实例运行状况。activiti-rest
提供activiti 全部rest api接口将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat便可自动部署,首次部署须要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,咱们也会介绍如何修改成咱们本身的数据库。github
这个应用包含流程建模和用户管理相关功能,activiti-app提供了一个bpmn的建模工具,能够将模型导出或者部署到activiti系统中。web
访问地址为http://localhost:8001/activiti-app,默认帐号为 admin/test
,默认有三个app数据库
Kickstart app
包含四个功能,流程模型设计,表单设计,决策表设计,app管理Task App
提供一个简单到待办审批界面和流程发起界面。Identity management
用来管理用户和用户组activity-admin
应用提供一些基本的流程运行时管理功能,能够查看当前运行的全部实例和任务,也能够上传流程文件api
activity-rest
提供一些activiti rest api功能,不过须要经过 http basic认证进行调用。tomcat
三个应用若是须要连通,还须要作相关的配置,下一章节会介绍如何将三个应用连通。
activiti支持BPMN 2.0的标准,因此理论上任何BPMN 2.0编辑器建立的模型都支持,不论是本地版本的仍是在线版,在介绍activiti自带的建模工具以前,介绍几个可供选择的建模工具app
actiBPM
,idea插件。登陆activiti-app,进入Kickstar App->CreateProcess建立新的流程模型,须要输入模型名称和模型主键,这个主键必须惟一,代码中发起流程须要用到。这里建立了只有一个UserTask的审批节点webapp
能够修改UserTask的assignments
属性设置审批人,这里设置了管理员做为审批人。保存后退出编辑器界面,在查看页面能够对模型进行导出为bpmn文件,也能够经过建立一个App而且将选择流程模型,将app进行发布(Publish)后就能够在Task App
中进行流程的发起,也能够经过程序进行发起。
本章节主要介绍如何部署activit6的三个应用,相对来讲仍是比较简单的,对三个app的详细应用在接下来的章节也会继续介绍。