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

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

一、activiti介绍

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

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

在开始教程之前,我们需要先明确下面的一些概念和知识,可以帮助我们更好的理解工作流的开发。

二、工作流引擎

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

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

三、BPMN

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

下面就是bpmn组件的示意图

四、数据库

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

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

在Activiti工作流的后台是有数据库的支持的,所有的表都以ACT_开头,利用这些数据库的表,就能够把整个业务流程的数据保存下来,然后利用这些数据进行不同的业务的开发。

数据库表示意图

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

  • 资源库流程规则表

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 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。

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

五、总结

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

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号好好学java,获取优质学习资源。

原文地址:https://blog.51cto.com/sihai/2406244

时间: 2024-08-29 14:15:13

Activiti工作流从入门到入土:工作流简介的相关文章

Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API

文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig欢迎 star !!! 本来想着闲来无事,前面在项目中刚刚用到了工作流 Activiti 框架,写写博客的,但是,事情总是纷纷杂杂,一直拖延到现在,这一节原本想要写一下关于 Activiti 的 API ,但是,想着太多这样的博客了,而且显得太生硬,难以理解,所以,这些 API 就在实际的 demo 中来讲解. 一.建立流程图 在开始做工作流之前,我们首先应该把具体的业务在工作流的部署

Activiti工作流从入门到入土:入门实例

文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig欢迎 star !!! 一.前言 在上一节中我们对activiti进行了基本的介绍activiti进行了基本的介绍,同时介绍了基本的概念. 这一节,我将用一个入门程序,介绍如何使用activiti. 二.环境准备 2.1.编译器选择 这里我们使用Idea进行工作流开发,虽然Idea对于工作流的友好度不是很好,因为会有一些小的bug,但是,Idea对于Java的开发还是非常的好的. 在用

Activiti工作流从入门到入土:整合spring

文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig欢迎 star !!! 一.前言 在上一节中,通过一个入门程序,把activiti的环境准备好了,这一节,将整合spring,并且部署一个最简单的bpmn流程图. 二.环境准备 这一节的内容在上一节入门程序的基础上进行环境配置,如果需要完整的配置文件,请到上一节查看. 2.1 spring配置 首先,需要添加spring的配置文件 <?xml version="1.0"

joa-framework 工作流快速开发框架(jeecg官方工作流版本) 发布

-------------------------------------- version:  joa-framework1.0.0.beta 版本: JOA 工作流快速开发框架   Date:     2014-06-24 作者:     JEECG 开源社区 联系邮箱: [email protected] -------------------------------------- 1.架构技术采用SpringMVC+Hibernate+UI快速开发库+Spring jdbc+ freem

Hadoop入门一:Hadoop简介

  从数据爆炸开始...  1.1 第三次工业革命 第一次:18世纪60年代,手工工厂向机器大生产过渡,以蒸汽机的发明和使用为标志. 第二次:19世纪70年代,各种新技术新发明不断被应用于工业生产,以电力的发明使用为标志. 第三次:20世界四五十年代末,以高新技术为代表的新科学技术革命,以原子能.航天技术和电子计算机 为标志. 1.2 信息技术发展带来的数据爆炸 纽约证券所交易    每天 1TB FaceBook一千亿照片  1PB 腾讯 每天 300TB 淘宝 每天 pv20亿 数据量 50

【Android快速入门3】布局简介及例子

目前自学到布局部分,下面演示了不同布局的基本训练,涵盖的内容还是不错的,而且简单易懂,分享给大家. 1.LinearLayout流式布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa

【 D3.js 入门系列 — 0 】 简介和安装

[ D3.js 入门系列 — 0 ] 简介和安装 发表于2014/06/12 近年来,可视化越来越流行,许多报刊杂志.门户网站.新闻.媒体都大量使用可视化技术,使得复杂的数据和文字变得十分容易理解,有一句谚语“一张图片价值于一千个字”,的确是名副其实.各种数据可视化工具也如井喷式地发展,D3 正是其中的佼佼者. 1. D3 是什么 D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档.听名字有点抽象,说简单一点,其实就是一个 JavaScript

zoneday工作流开发与设计(一)--工作流序言

1 工作流定义 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它的主要目标是对业务过程中各步骤(或称活动.环节)发生的先后次序,和同各个步骤相关的人力资源.信息资料的调用进行管理,从而实现业务过程的自动化[1]. 工作流技术源于二十世纪七十年代中期办公自动化领域的研究[3],由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功.1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的有工作流特征的商用系统[4].进入九

Activiti工作流简单入门 (zhuan)

https://my.oschina.NET/Barudisshu/blog/309721 *********************************************** 摘要: 自jBPM创始人Tom离开之后,jBPM和Activiti就开始大相径庭,jBPM被迫使用新的LGPL协议,而Activiti则使用一种更为宽松的Apache License 2.0协议.不管使用jBPM还是Activiti,两者都遵循BPMN 2.0规范,都可满足项目的一般需求,相比于jBPM,Act