如何快速上手Activiti工作流?
关于工作流的认识大家很熟悉了,如:请假的流程
场景:公司
主角:阿呆, 主管, 部门经理 ,人事,
问题:有一天,阿呆到公司,胃感到有点不舒服,然后想跟主管请假,然后主管告诉阿呆说,你想请假,那么就必须要请假条,这个上面需要我签字,然后拿到我们部门经理签字,然后交给人事签字,这样才可以进行请假。。。阿呆,想着,怎么请个假都这么麻烦,这么多层次处理问题,能不能简便一点。。。。好烦好烦~!!~~
分析:从上面的小例子,我们可以很明显的得到一个结论,就是:
请假流程:阿呆------》提交申请-----》主管审批-----》部门经理处审批-----》人事审批-----》请假成功
也就是说,这种问题就是一种流式的控制管理,当然,这是最简单的,如果请假大于3天还要副总签字。其实,到这里,Activiti的定义就已经出来了。。。。。
Activiti定义:
Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。
Activiti工作流既然为一种技术,肯定有其用处和运行原理。下面介绍一下如何快速上手Activiti工作流?如果JAVA底子不是特别地好,可以试试XJR快速开发平台的可视化流程设计器,节省很多成本和时间。XJR采用主流的Activity工作流引擎,遵循bpmn规范,可实现XML、Json一键导入导出,以及添加了人员动态选择、便捷式会签设置、便捷式任务委托设置、添加自定义表单、自定义节点按钮、动态变量选择(包括会签变量、按钮变量、表单变量)以及各节点属性优化,遵循以客户为中心的优化原则,将整个流程的操作变得简单、快捷,实现0基础客户短时间可自由编辑流程模板。demo:https://www.xjrsoft.com/
Activiti工作中如何快速上手,步骤?
(1)安装插件
在Eclipse中安装Activiti插件,让你可以在Eclipse中绘制Activiti工作流图
(2) 配置引擎
ProcessEngine对象,Activiti工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
(3)1个配置文件
activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数
(4)5种数据库表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
5、23张表
不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
灰色选中的部分就是自动生成的表.
6、5项Service
不同的Service类对应不同的功能。
比如TaskService,是activiti的任务服务类。可以从这个类中获取任务的信息。
而HistoryService,则是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。
7、7项基本操作
设计流程图(各种组件,如连线、用户任务、网关)
流程定义增删改查
流程变量增删改查
启动流程定义
任务增删改查
完成任务
历史信息查询
学习7项基本操作时只需在JavaSE下执行即可,当然,做web项目的时候就要考虑和SSH等开发框架结合的问题。当然,只有基本操作学会了,综合开发并不难。
学习的路上永无止进。希望对大家有帮助!
参考:https://www.sohu.com/a/378289349_120512881