在8月份之前我都没听说过activiti这个是什么?一切都从头开始学习,接下来我就简单的将学习到的一些概念在这边阐述一下。
1. 什么是activit?
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。
BPMN即业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完
通俗来讲:说白了,就是一个流程管理框架,使业务可以按照设定好的流程走,且可以在线更新业务流程,使程序可以快速适应业务变化发展,使系统更好的维护和扩展,具体场景的话如 : 借款审核,报销申报,请假审批等。
2、 工作流技术的优点
工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。
而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。
3.工作流的几张表具体作用(activiti中最重要的一点)
在刚开始完全没理解,就知道是有23张表,其实只要清楚每一步流程中用到哪些表,在表中去查看数据的话,这样整体理解就会很快了。
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: 'RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU’表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID’表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI’表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
具体的23张表的含义:
在这篇主要先介绍了activiti的一些基本的概念,下篇会走入实际例子看看是怎么一步一步怎么走。