Activiti工作流框架学习一:概述

Activiti工作流框架学习笔记(一) 工作流的概念先看下面两张图: 对以上两张图进行说明: 假设这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰、冯小刚、王中军 事件(动作):请假、批准、不批准 通过以上分析我们就可以抽象成: 接下来给出工作流的书面化概念: 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、 阅读详情

工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

示例:
这里写图片描述

工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

工作流框架即用于处理工作流相关问题的框架。常见的工作流框架有:

  1. Activiti 5.13
  2. JBPM 4.4
  3. OSWorkflow

工作流框架:Activiti

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

这里写图片描述

工作流引擎

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

BPMN2.0

业务流程建模与标注(Business Process Model and Notation,BPMN)
描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

数据库

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。
第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
工作流框架底层需要有数据库支持,activiti5.13版本对应23张表,框架底层使用mybatis操作数据库。

1) ACT_RE_*: ‘RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。

2) ACT_RU_*: ‘RU’表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。
Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。

3) ACT_ID_*: ‘ID’表示identity。 这些表包含身份信息,比如用户,组等等。

4) ACT_HI_*: ‘HI’表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。

5) ACT_GE_*: 通用数据, 用于不同场景下。

资源库流程规则表
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—————用户信息表
注:这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足

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

重要术语

流程定义(ProcessDefinition)

流程定义(ProcessDefinition)就是一个流程的步骤说明,比如我们接下来要说的这个流程,申请人王三发起提交申请,李四作为部门经理进行审批,审批完成后,此申请到达下一级总经理王五,进行审批。就这么整个流程说明其实就是流程定义,不过在Activiti中整个流程定义是以helloworld.bpmn与helloworld.png格式存在的。

流程实例(ProcessInstance )

流程实例(ProcessInstance)和上一篇文章中流程定义(ProcessDefinition)的关系,与类和实例对象的关系有点像
ProcessDefinition是整个流程步骤的说明而ProcessInstance就是指流程定义从开始到结束的那个最大的执行路线。

执行对象(Execution)

提到ProcessInstance同时又会出现另一个名词,那就是执行对象(Execution),Execution是按照ProcessDefinition的规则执行的当前的路线。
如果ProcessDefinition只有一个执行路线的话,那么Execution和ProcessInstance就是完全一样了。如果ProcessDefinition中有多个执行路线的话,Execution和ProcessInstance可能是同一个也可能不是同一个。
所以得出结论:一个流程中ProcessInstance有且只能有一个,而Execution可以存在多个。

任务(Task )

任务(Task)应该比较好理解,就是当流程执行到某步骤或某环节时生产的任务信息。

工作流引擎Activiti详解 工作流引擎Activiti1. 什么是工作流1.1 工作流介绍1.2 工作流系统1.3 工作流实现方式1.4 工作流实现原理2. Activiti7概述2.1 Activiti介绍2.2 Activiti使用3. Activiti环境配置3.1 创建数据库3.2 初始化数据库表:3.3 创建数据库表3.4 数据库表命名规则4. Activiti架构简介5. Activiti入门案例5.1 流程定义5.2 部署流程5.3 启动流程5.4 流程定义查询5.5 流程定义删除5.6 流程定义资源查询 1. 什么是工 阅读详情

相关推荐

学习Activiti工作流框架之入门篇

1. 工作流用来干什么?2. 什么时候用工作流?3. 什么是工作流引擎? 1. 工作流用来干什么? 工作流解决的主要问题是: 为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看做是一条河,其中流过的就是工作流。 2. 什么时候用工作流? 是否引入工作流引擎,取决于系统的业务是否复杂以及过程逻辑的变化性。如果过程逻辑相当复杂,或者过程逻辑经常变化,最好是引入工作流,分离业务逻辑和.

weixin_46178852的博客 4614

工作流的开源框架

根据项目需求和技术栈的考虑,选择适合的工作流框架进行开发。- 它支持BPMN 2.0标准,提供了流程建模、任务分配、用户任务管理、流程实例管理、事件驱动、流程监控和报告等功能。- 它基于最新的.NET Core技术栈,支持流程定义、活动设计、工作流实例管理、任务分配、持久化和事件驱动等功能。- 它支持BPMN 2.0标准,提供了流程建模、任务分配、流程实例管理、决策管理、事件驱动、流程监控和报告等功能。- 它提供了建模工具和运行时引擎,支持流程定义、活动设计、工作流实例管理、任务分配和持久化等功能。

canduecho的专栏 2921

springboot 整合 activiti工作流 学习

springboot + activiti工作流 学习 第一步: 引入依赖: <!-- activiti --> <dependency> <groupId>org.activiti</groupId> <artif...

weixin_40991408的博客 1万+

目前常见的 开源工作流框架 有哪些

本文讲了目前常见的 开源工作流框架,它们在不同场景中广泛应用,适合用于构建自动化工作流、审批流程、任务调度等功能。

weixin_44594317的博客 5434

Activiti工作流

Activiti工作流 一、Activiti介绍 1、Activiti 的概述 ​ 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 ​ 工作流管理系统(Workflow Management S...

JAVA_HORSE的博客 9500

Java研学-Activiti7工作流(一)

Activiti 7是一个开源的、轻量级的工作流和业务流程管理(BPM)平台,基于 Java 开发,支持 BPMN 2.0 标准,专为现代云原生架构设计。它提供了强大的流程引擎、丰富的 RESTful API 和事件驱动架构,能够无缝集成 Spring Boot 和微服务环境。Activiti 7 支持多租户、任务管理、流程监控和历史数据查询,适用于业务流程自动化、审批流程、任务调度等场景,帮助企业实现高效、灵活的流程管理。

zhlyxx的博客 1880

Java开源工作流框架对比

什么是工作流? 工作流,是指“业务​过程的部分或整体在​计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。 工作流是复杂版本的状态机 就好比一般的请假流程,小明会先提出请假申请,然后由Leader审批或者Manager进行审批,直至审批通过或者拒接。 如果让我们实现请假单状态的切换,那么用一个字段来标识就可以了。 然而对于复杂的状态或者状态维度增加且状态流转的条件极为复杂,可能..

姜兴的专栏 6878

Activiti5工作流(一)

一、什么是工作流 ​ 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 ​ 工作流管理系统(Workflow Management System,WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定

liuweilong09的博客 6646

各大工作流对比

根据市场上已知得工作流做相关选型分析

weixin_46930956的博客 3670

开源工作流框架activiti5.6

Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任。   Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。   创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。   Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开源ECM系统运行。 Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 Activiti将提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和的BPMN 2.0的匹配,该项目现正由OMG通过标准审定。 加入Alfresco Activiti项目的是VMware的SpringSource分支,Alfresco的计划把该项目提交给Apache基础架构,希望吸引更多方面的BPM专家和促进BPM的创新。

Copula函数

Copula是处理统计中随机变量相关性问题的一种方法。本文是对Copula函数的各种定义,Copula函数的思想,Copula函数的性质,Copula函数的类型等理论资料总结

Explore 5万+

【亲测免费】 探秘Temporal:一款高效的工作流处理框架

是一个开源的工作流引擎,专为构建可靠、可扩展和容错的服务而设计。它旨在帮助开发者轻松地管理复杂的业务流程,使你能够专注于业务逻辑,而不必担心底层的并发控制和状态管理。 ## 技术分析 Temporal 使用了一种名为“工作流”的抽象概念,工作流可以看作是一系列按顺序执行的任务,每个任务可能与其他任务并行或串行执行。其核心技术包括: 1. **持久化工作流状态** - 所有工作流的状态都持久化...

gitblog_00088的博客 1632

Ubuntu 20.04 系统备份和还原

最近大家Ubuntu开发环境,经常出现搭着搭着系统就挂了,于是开始琢磨了Ubuntu系统的备份和还原,以备不时之需,Linux环境搭建实在是有点太细,好多情况下,就算曾经搭建过一遍,再次搭建有些包还是忘了安装,做好备份是十分必要的。 经过了一番研究,Ubuntu备份有很多方式:根目录tar、dd、Systemback(1.0版本已经不维护了,2.0版本收费)等等,最终决定使用 —— Timesift, 因为方便一些。 文章参考:小马虎的救星——Timeshift Timeshift Timeshift,是L

Z_Paper的博客 2万+

工作流引擎 Activiti 教程(非常详细)

更多内容关注微信公众号:fullstack888一、工作流介绍1.1 概念工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。1.2 工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流...

qianshanding0708的博客 4万+

10.2 在新能源、储能及电网节点的应用实践

构网型变流器技术在电力系统中的应用进展 构网型变流器技术正从理论研究走向规模化工程应用,为新能源并网提供主动支撑能力。该技术在光伏电站采用"部分构网"混合架构,由构网单元实现黑启动和弱网稳定;在风电场利用叶轮动能提供惯量响应。储能系统是理想的构网载体,可提供快速调频和动态电压支撑。在电网节点,构网型STATCOM可增强弱电网电压稳定性,大容量变流器可替代传统调相机。当前面临标准滞后、宽频振荡风险等共性挑战,需在可靠性、经济性间取得平衡。系统级协调控制和精确阻抗建模是应用成功的关键。

技术工作者 1109

在overleaf中使用bibtex引用参考文献

最近在挑选写tex的平台,挑来挑去,个人感觉overleaf给我带来的体验感是最舒适的。不过由于对内部的文件组织和make进行了一层封装,所以与一般的本地平台编译tex会有一点不同。此处写一下在overleaf中使用bibtex的方法。 在tex中使用bibtex引用文献是一件很舒适的事,毕竟这是tex的优点之一(要是tex比word难用,我干什么不去用word,hhh) 第一步,我们创建一个.bib文件,名字随便起,我这边起为reference.bib。 然后打开谷歌学术,搜索你想要引用的文章,并找到

锦恢的博客 4万+

史上最全的工作流引擎 Activiti 学习教程(值得收藏)

点击关注公众号,实用技术文章及时了解一、工作流介绍1.1 概念工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。1.2 工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么...

Java知音 3万+

从菜鸟到大神:VSCode助力HTML开发全攻略

本文全面介绍 VSCode 在 HTML 开发中的高效应用。先引导读者完成 VSCode 的安装与个性化设置,助其快速适应开发环境;接着推荐 Live Server、Prettier 等实用插件,实现实时预览、代码格式化等功能,提升开发效率。通过详细的开发实战步骤,从新建文件到添加样式,带领读者掌握 HTML 基础结构与常用标签使用。还分享代码片段管理、多人协作等进阶技巧,解决常见开发问题。旨在帮助开发者利用 VSCode,轻松高效完成 HTML 开发,打造优质网页。

邓邓子的博客 3364

Activiti工作流的详细介绍

一、了解工作流 1、工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。 2、工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的

欧菲丽的博客 2万+

小红书urlscheme和Activity

本文档详细介绍了小红书App的Deeplink跳转规范,涵盖了多个功能模块的跳转协议。主要内容包括:主页各Tab(关注、发现、购买)的跳转方式;不同类型笔记(图文/视频/长笔记)的详情页跳转参数;用户相关页面(主页/绑定/资料/消息等)的跳转协议;搜索功能(输入页/结果页)的跳转方式;以及话题、标签、专辑、H5页面等特殊场景的跳转实现。文档还提供了各跳转协议所需的参数说明,包括参数类型、默认值、是否必填等详细信息,并标注了不同版本和平台的兼容性要求。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 786

科技与伦理的平衡点:人类计算的伦理

科技与伦理的平衡点:人类计算的伦理 关键词 科技与伦理 人类计算 隐私问题 道德决策自动化 公平性与偏见 法律与社会责任 摘要 本

AI天才研究院 1162

Activiti 工作流简介

工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

小石潭记丶 1万+

零基础入门生信转录组数据分析——导读

转录组数据分析(上游,下游,数据可视化)专栏的目录,可以直接通过点击各个分析点直接跳转到相关帖子,方便查找和观看

呆猪儿的博客 1万+

activiti工作流框架

当我们在实现这几个状态的改变时,可以通过java编码实现,但如果这时业务需求发生了改变,只需要老总审核,这时我们就得去更改代码了,如果业务再复杂一点,一旦更改流程,代码就需要大改了。ServiceTask任务节点是自动化的,不需要任何的人工干涉,比如大boss审批通过,则流程就会走到了服务任务这个节点,这里就会自动去修改该小软件的状态为审核通过。(哈哈,描述的有点乱,反正大概这个意思)(哈哈,其实开发审批功能时,我用了几个小技巧在表中,才满足所给需求,当然我开发的并不是软件的审批,软件只是一个举例)

weixin_39459811的博客 1525

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

《Activiti工作流框架》专题(一)-Activiti工作流框架基础入门

1. 工作流简述 1.1.工作流是什么 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流就是通过计算机技术对业务流程进行自动化管理。实现多个参与者按照预定的流程去自动执行业务流程。 工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中插入人工的执行和干预。 1.2.哪些行业需要工作流 消

专业的计算机毕业设计指南 1938

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Activiti 工作流框架

工作流 Activiti是一个项目的名称,Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任。 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,...

程序员XW 2186

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: Eclipse安装Activiti BPMN 2.0 designer插件
下一篇: Activiti工作流框架学习二:API示例
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值