Activiti工做流从入门到入土:工做流简介

文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!!html

1、activiti介绍

Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工做流、服务协做等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特点是提供了eclipse插件,开发人员能够经过插件直接绘画出业务流程图。java

目前,Activiti5中的5.22版本是用的最多的一个版本,本次教程也是使用这个版本进行讲解,最新版本到了7.0版本数据库

在开始教程以前,咱们须要先明确下面的一些概念和知识,能够帮助咱们更好的理解工做流的开发。微信

2、工做流引擎

ProcessEngine对象,这是Activiti工做的核心。负责生成流程运行时的各类实例及数据、监控和管理流程的运行。架构

用百度更为通俗的话来讲就是:就是一辆汽车的发动机,就比如一辆汽车,外表作得再漂亮,若是发动机有问题就只是一个摆设。应用系统的弹性就比如引擎转速方面的性能,加速到100 千米须要1 个小时(业务流程发生变更须要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序由于逻辑的问题陷入死循环)的车还敢开吗?框架

3、BPMN

在Activiti工做流中用到了一个BPMN的文件,主要是用来描述业务流程的基本的符号,利用各个组件可以组成一个业务流程图,整个业务也是根据这个图来走的,其实用xml格式打开,就是一个xml文件eclipse

下面就是bpmn组件的示意图 图片.pngide

4、数据库

在咱们进行业务流程开发的时候,是会产生不少的数据的,那么这些数据都是放在哪里呢?

是的,其实就是存放在数据库的。

在Activiti工做流的后台是有数据库的支持的,全部的表都以ACT_开头,利用这些数据库的表,就可以把整个业务流程的数据保存下来,而后利用这些数据进行不一样的业务的开发。

数据库表示意图 图片.png

下面对这些表作一些基本的解释,这些能够先不看,等看完后面的教程后再回过头来看,你会发现其实很简单的

  • 资源库流程规则表

1)act_re_deployment 部署信息表 2)act_re_model 流程设计模型部署表 3)act_re_procdef 流程定义数据表

  • 运行时数据库表

1)act_ru_execution 运行时流程执行实例表 2)act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息 3)act_ru_task 运行时任务节点表 4)act_ru_variable 运行时流程变量数据表

  • 历史数据库表

1)act_hi_actinst 历史节点表 2)act_hi_attachment 历史附件表 3)act_hi_comment 历史意见表 4)act_hi_identitylink 历史流程人员表 5)act_hi_detail 历史详情表,提供历史变量的查询 6)act_hi_procinst 历史流程实例表 7)act_hi_taskinst 历史任务实例表 8)act_hi_varinst 历史变量表

  • 组织机构表

1)act_id_group 用户组信息表 2)act_id_info 用户扩展信息表 3)act_id_membership 用户与用户组对应信息表 4)act_id_user 用户信息表

这些表用的不多,由于咱们通常会本身作一个权限管理,因此不会用activiti自身所带的表。

  • 通用数据表

1)act_ge_bytearray 二进制数据表 2)act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。

这两张表的数据是不可以随意删除的,删除可能会出问题。

5、总结

工做流的概念就先介绍这么多了,更多的去官网查看,下一节将用一个入门的实例来对工做流进行讲解。

文章有不当之处,欢迎指正,若是喜欢微信阅读,你也能够关注个人微信公众号好好学java,获取优质学习资源。

相关文章
相关标签/搜索