社区
Web 开发
帖子详情
activiti工作流是怎么获取业务数据的??
修改一下昵称
2020-07-22 03:01:34
activiti工作流是怎么工作的,他是怎么获取到业务数据然后保存到 ACT_RU_VARIABLE表的?
...全文
4614
4
打赏
收藏
activiti工作流是怎么获取业务数据的??
activiti工作流是怎么工作的,他是怎么获取到业务数据然后保存到 ACT_RU_VARIABLE表的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fxc588
2020-08-14
打赏
举报
回复
在提交流程的时候 // 实体类 ID,作为流程的业务 key String businessKey = projectInvoice1.getid(业务的id).toString(); // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中 identityService.setAuthenticatedUserId(用户id); ProcessInstance processInstance = runtimeService // 启动流程时设置业务 key .startProcessInstanceByKey("流程名称", businessKey, variables); //再把流程id关联到业务类 projectInvoice1.setInstanceId(processInstance.getId());
临世驻年
2020-07-24
打赏
举报
回复
1.RepositoryService:提供一系列管理流程部署和流程定义的API。 2.RuntimeService:在流程运行时对流程实例进行管理与控制。 3.TaskService:对流程任务进行管理,例如任务提醒、任务完成和创建任务等。 4.IdentityService:提供对流程角色数据进行管理的API,这些角色数据包括用户组、用户及它们之间的关系。 5.ManagementService:提供对流程引擎进行管理和维护的服务。 6.HistoryService:对流程的历史数据进行操作,包括查询、删除这些历史数据。 7.FormService:表单服务。
dkwuxiang
2020-07-22
打赏
举报
回复
设置 流程变量 保存
修改一下昵称
2020-07-22
打赏
举报
回复
有人熟悉activiti项目吗,
Activiti
工作流
学习资料.zip
主要内容: 2:
工作流
的执行过程 演示程序:
Activiti
控制台 3:
Activiti
介绍
Activiti
5是由Alfresco软件在2010年5月17日发布的
业务
流程管理(BPM)框架,它是覆盖了
业务
流程管理、
工作流
、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
Activiti
基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出
业务
流程图。 3.1:
工作流
引擎 ProcessEngine对象,这是
Activiti
工作的核心。负责生成流程运行时的各种实例及
数据
、监控和管理流程的运行。 3.2:BPMN
业务
流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个
业务
流程图(Business Process Diagram) 3.3:
数据
库(先学后看)
Activiti
数据
库支持:
Activiti
的后台是有
数据
库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。 ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的
数据
。
Activiti
只在流程实例执行过程中保存这些
数据
, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。 ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。 ACT_HI_*: 'HI'表示history。 这些表包含历史
数据
,比如历史流程实例, 变量,任务等等。 ACT_GE_*: 通用
数据
, 用于不同场景下,如存放资源文件。 表结构操作: 3.3.1:资源库流程规则表 1)act_re_deployment 部署信息表 2)act_re_model 流程设计模型部署表 3)act_re_procdef 流程定义
数据
表 3.3.2:运行时
数据
库表 1)act_ru_execution 运行时流程执行实例表 2)act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息 3)act_ru_task 运行时任务节点表 4)act_ru_variable 运行时流程变量
数据
表 3.3.3:历史
数据
库表 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 历史变量表 3.3.4:组织机构表 1)act_id_group 用户组信息表 2)act_id_info 用户扩展信息表 3)act_id_membership 用户与用户组对应信息表 4)act_id_user 用户信息表 这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足 3.3.5:通用
数据
表 1)act_ge_bytearray 二进制
数据
表 2)act_ge_property 属性
数据
表存储整个流程引擎级别的
数据
,初始化表结构时,会默认插入三条记录, 3.4:
activiti
.cfg.xml(
activiti
的配置文件)
Activiti
核心配置文件,配置流程引擎创建工具的基本参数和
数据
库连接池参数。 定义
数据
库配置参数: jdbcUrl:
数据
库的JDBC URL。 jdbcDriver: 对应不同
数据
库类型的驱动。 jdbcUsername: 连接
数据
库的用户名。 jdbcPassword: 连接
数据
库的密码。 基于JDBC参数配置的
数据
库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数): jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。 jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。 jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 省略...
Spring boot整合
activiti
工作流
引擎
1、使用若依框架作为权限管理系统,集成
activiti
框架完成
工作流
引擎开发,打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的强大
工作流
平台。 11、对于表单的处理,一律使用外置表单,将
业务
表单
数据
保存在
业务
表中,不保存在
activiti
流程的变量表中。 111、前端页面与用户任务通过formkey进行关联,办理任务时,通过
获取
formkey值展示对应的前端页面。 1111、整合流程图在线设计器,设计后需要发布,完成流程的部署。 11111、如需添加新的流程,设计好后还需编写前后端代码完成
业务
逻辑的开发。 111111、增删改查、权限管理、代码生成、页面交互的基础设施由若依平台提供。 11111111、流程实例管理用于管理正在运行的流程实例列表,你可以挂起或唤醒一个流程实例。 111111111、流程运行历史用于查看流程的历史记录(包含运行中和已结束),还可以查看所有流程的变量。 1111111111、支持动态流程,可对流程实例进行撤销、驳回、跳转等操作。 11111111111、打开http://localhost 访问登录页面,账号admin密码是admin123。
Activiti
6.0教程例子下载
1. 初识
Activiti
1.1.
工作流
与
工作流
引擎
工作流
(workflow)就是
工作流
程的计算模型,即将
工作流
程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的
业务
目标,或者促使此目标的实现”。(我的理解就是:将部分或者全部的
工作流
程、逻辑让计算机帮你来处理,实现自动化) 所谓
工作流
引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。 例如开发一个系统最关键的部分不是系统的界面,也不是和
数据
库之间的信息交换,而是如何根据
业务
逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性和弹性。 比如你的系统中有一个任务流程,一般情况下这个任务的代码逻辑、流程你都要自己来编写。实现它是没有问题的。但是谁能保证逻辑编写的毫无纰漏?经过无数次的测试与改进,这个流程没有任何漏洞也是可以实现的,但是明显就会拖慢整个项目的进度。
工作流
引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。 1.2. BPMN2.0规范 BPMN(Business Process Model and Notation)--
业务
流程模型与符号。 BPMN是一套流程建模的标准,主要目标是被所有
业务
用户容易理解的符号,支持从创建流程轮廓的
业务
分析到这些流程的最终实现,知道最终用户的管理监控。 通俗一点其实就是一套规范,画流程模型的规范。流程模型包括:流程图、协作图、编排图、会话图。详细信息请google。 1.3.
Activiti
概述 1.3.1.
Activiti
由来 学习过
Activiti
的朋友都知道,
Activiti
的创始人也就是JBPM(也是一个优秀的BPM引擎)的创始人,从Jboss离职后开发了一个新的BPM引擎:
Activiti
。所以,
Activiti
有很多地方都有JBPM的影子。所以,据说学习过JBPM的朋友学起
Activiti
来非常顺手。 由于本人之前没有
工作流
及JBPM的相关基础,刚开始学习
Activiti
的时候可以说是无比痛苦的,根本不知道从何下手,这里也建议大家先进行
工作流
及BPMN2.0规范的学习,有了一定的基础后,再着手学习
Activiti
。 1.3.2.
Activiti
简介
Activiti
是一个开源的
工作流
引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。
Activiti
作为一个遵从 Apache 许可的
工作流
和
业务
流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向
业务
人员。
Activiti
流程引擎重点关注在系统开发的易用性和轻量性上。每一项 BPM
业务
功能
Activiti
流程引擎都以服务的形式提供给开发人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的 BPM 应用程序。 1.4. 文档说明 以上部分对
工作流
、BPMN、
Activiti
的概念做了一个简单的介绍,目的是了解
Activiti
究竟是什么,能做些什么…及在学习
Activiti
之前需要了解的知识与技术。其中大部分文字来自Copy网上的各种资料与文档,通过总结而来的。具体的更详细的内容需自己google,参考一些官方的文档与手册。 本文档之后内容如下: 1) 下载与使用 2) 核心组件与说明 3) 入门示例 4) Eclipse中的
Activiti
插件的使用 本文档旨在为初学
Activiti
的朋友提供入门级别的参考,不会对其原理及其结构进行深层次的探究(更多是因为目前自身理解还不是很透彻),只是为大家理清思路,方便以后更深层次的学习。本文档还有一个重要的特点,那就是根据自己看官方手册的经验,教大家如何看手册从而更有效率!由于是初学,很多术语或解释难免理解有偏差,所以一定要看官方提供的文档与手册,那才是学习的最佳途径! 2. 开始学习 2.1. 必要的准备 2.1.1. 下载与了解目录 下载
Activiti
:下载路径,也就是官方网站的地址:http://
activiti
.org/download.html。下载后解压(我所使用的是5.12版本的,
Activiti
更新速度飞快,几乎每两个月就会有一个更新的小版本),看到如下目录: 1) database:里面存放的是
Activiti
使用到的
数据
库信息的sql文件,它支持的
数据
库类型如下图,使用时只需执行你自己的
数据
库类型
基于jbpm与
activiti
的
工作流
平台技术架构介绍
宏天BPM X3软件平台是一个易于部署和使用的新一代
业务
流程管理平台,能够以最快的速度帮助您梳理、设计、执行、监控分析和优化
业务
流程,从
业务
和IT相结合的完美视角为用户组建长期而久远的卓越BPM流程管 理架构。通过实施BPM方案让您的企业在运营效率、透明度、控制力和敏捷性方面迅速受益。 BPMX3是基于J2EE开源、轻量级的企业
业务
开发平台,基于代码重用、组件重用、
业务
逻辑重用、组装重用,结合快速开发平台中的工具,将开发人员从重复的代码编写中解放出来,把更多的精力集中解决客户的
业务
逻辑处理上。 BPMX3是支持流程管理、监控、优化、再造的全套IT管理开发平台,并且集单点登录、企业单位门户、
业务
流程管理、开发、整合、
业务
分析及重构等多重职能于一身的软件开发工具和企业IT架构平台。 BPMX3是企业管理
业务
的创新关键,可以帮忙用户更科学、更有效管理企业
业务
的各个环节,企业通过BPMX3可以明显实现
业务
的高效运营。同时,由于其架构的开放性,采用业界开放性的技术及流程标准,使其能够成为企业SOA架构的流程基础平台及开发平台,越来越多的企业更偏向采用开源的平台来解决其内部的信息化平台的要求,BPMX3却允许更多的平台系统接入及自身扩展更多的功能,以满足更多的企业不同的个性化的需求,以达到最大满足最终的客户使用要求。 【图一】
工作流
引擎中心 1.BPMX3的特点 1.是一个开放式、轻量级的开发平台 2.BPMX3多层系统架构 3.基于模板代码生成 4.丰富的报表展示 5.跨
数据
库的
数据
访问支持 6.简易的前端使用 7.参照最新的BPMN2标准设计 8.满足中国特色流程需求 9.在线的可视化流程设计、可视化的流程监控 10.完全独立的流程引擎服务,可与其他系统无缝集成 11.基于流行的JAVA 流程引擎
Activiti
5.8扩展 12.灵活的在线流程定义 13.灵活的嵌入式部署、独立部署 14.灵活的在线表单定义及版本管理(支持按内表及外部表及视图生成表单) 15.灵活的第三方表单集成 16.开放式的流程体系 17.灵活的组织结构支持 18.流程的导入与导出 19.子流程支持 20.流程任务逐步回退处理(任务追回及多驳回 ) 21.流程自由跳转 22.流程跳转
业务
规则设置 23.多级分发任务与任务汇总 24.会签(并行与串行)、补签及投票处理 25.流程版本变更管理 26.流程催办(基于MQ短信及邮件设置) 27.流程任务的工作日设置(用于统计流程任务执行效率) 28.任务监控管理 29.流程委办、转办 2.BPMX3多层架构 系统采用多层的系统架构进行功能开发,有利于代码功能责任分开,同时有利于不同开发人员的分工及合作,也有利于代码的单元测试。系统总体结构如下图所示: 【图二】BPMX3多层架构 •
数据
访问层Dao: 负责与
数据
库交互 •
业务
处理层Service: 负责系统的所有
业务
逻辑处理 •
数据
控制层Controller: 负责系统的页面
数据
准备及跳转处理 •视图层View :负责
数据
的展示处理 整合的开源技术 1.Spring Core 3.0.4 2.Spring MVC 3.0 3.Spring Security 3.0.5 4.Spring AOP 3.0.4 5.Apache Active MQ 5.5 6.MyBatis 3 7.CKEditor 3.6 8.JQuery 1.8 9.CXF 2.0 10.Alfresco
Activiti
5.8 11.Compass + Lucene 12.JasperReport 4.5 13.JavaMail 14.Other: Log4j,Velocity,Sitemesh,Jfreechart,Jforum,Solr 15.Maven 2 3.BPMX3的组件构建方式 BPMX3同时也是基于组件构构建,整个系统的构建如下所示: 【图三】BPMX3组件构建 系统提供在线流程设计器,在线表单设计器,代码生成器,结合BPMX3的基础组件,以实现复杂的流程
业务
应用。基础组件包括: Spring基础组件库,报表引擎,
数据
库访问模块,短信模块,后台定时任务调用组件,短信访问组件,搜索引擎组件,JMS消息组件,
Activiti
工作流
组件,Cas统一用户认证组件,Spring安全认证组件。 4.BPMX3总体功能 1.多系统管理 BPMX3支持多个
业务
系统同时运行及切换处理,根据不同的用户授权允许用户进入不同的系统进行访问,而不同的
业务
系统的开发可以基于BPMX3平台上开发,也可以由其他开发框架开发再与BPMX3做整合。这种模式非常适合企业把BPMX3作为其内部的首先开发平台,以使后续的新应用系统都整合在一起进行管理及使用。 【图四】多系统管理 2.用户管理 BPMX3提供多种维度的用户人员管理,以支持各种类型的组织机构及人员的统一管理,目前可以支持内部组织、外部组织 、虚拟组织。而且还提供用户的属性自定义,允许对用户进行多种属性的扩展,以支持
工作流
中的任务节点的人员的复杂查找计算。 3.系统安全管理 系统的安全管理由Spring Security 3提供配置及管理,非常容易与第三方的用户或认证平台进行整合,如与CAS服务器作统一认证,只需要加上新的配置模块即可实现,不影响系统现有的功能模块。大大满足了各种不同系统的安全管理认证的需要。 同时系统可以支持URL访问权限、
数据
权限、列权限及页面按钮权限的统一配置管理。系统的安全认证机制如下所示: 【图五】系统安全拦截原理 4.动态表单管理 BPMX3提供了基于
数据
库内部表、外部表、视图等来生成在线的流程表单的功能,其生成是基于模板,模板可由开发人员进行自定义,也可以采用BPMX3提供的默认模板。生成的表单后,系统管理员还可以对表单进行编辑管理以实现企业的
业务
要求,其中,还允许开发人员在表单上编写编写脚本,以实现更复杂的应用。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 【图六】在线动态表单 5.流程管理 BPMX3提供了基于BPMN2标准的流程管理,包括流程版本变量,流程节点表单设置,表单的权限设置,流程任务通知,催办,代办,转化,并行会签、串行会签、补签,子流程,同步任务,多实例任务,人工任务、消息任务、邮件任务等,任务多级分发与汇总、任务追回、任务层层驳回,任务自由跳转等中国特色的流程需求。能满足企业复杂的流程应用需求。 BPMX3在流程管理上,不但能结合在线设计的复杂表单,还能结合本系统或其他系统其他模块的功能表单一起进行
业务
审批的工作。这大大方便了
业务
流程在所有的系统中进行流程开发的工作,简化了以往开发流程
业务
的代码固死的做法,把程序员或
业务
员真正从流程
业务
中解放出来。 【图七】在线流程管理 【图八】在线流程设计 6.报表管理 系统的报表管理是基于模板来进行设置管理的,目前支持FineReport及Jasper Report两种报表引擎,前者是商业报表,其功能非常强大,可以实现多样式
数据
呈现方式,支持HTML、PDF、EXCEL、Word、TXT、Flash样式呈,能完美解决中国式报表难题,无论
数据
库内原始
数据
是以何种样式的表结构存储,无论最终用户要求
数据
以何种表格样式显示,FineReport报表软件独创的多
数据
源关联查询、公式动态扩展计算等强大的功能,在无需改变表结构,无需改变用户的要求的基础上,完全按照用户的需求制作出报表模板。 【图九】报表管理 7.系统基础组件 系统的基础组件如用户模块一样,是系统的
业务
功能的基础,在其他
业务
模块中被大量使用。 ◦定时任务管理 通过配置以实现某时刻重复执行的系统任务,如配置每月最后一天进行库存清算任务,并且启动库存清算审批流程。 ◦系统日志管理 记录进入系统中的每个用户访问的每个功能 ◦
数据
源管理 可以设置多种
数据
源,为在线表单设计及展示提供
数据
来源 ◦资源管理 管理系统的所有资源,包括URL,
业务
方法等,提供给安全管理进行极限配置 ◦流水号管理 用于产生
业务
的一些处理流水单号 ◦
数据
字典管理 用于管理所有的
业务
中常用的
数据
字典的
数据
◦附件管理 管理系统中所有的上传附件。 ◦桌面管理 管理用户的桌面布局及常用的功能展示 ◦邮件、短信模板管理 用于配置系统的发送邮件、短信的模板 ◦工作日历管理 用于配置系统的
工作流
的待办事项的处理工作时间的计算处理 ◦动态脚本管理 用于为流程任务节点或事件中可被调用的逻辑计算代码 ◦短信收发管理 基于USB短信猫的短信模块或短信网关,以实现收发手机短信功能。 ◦外部邮件管理 支持POP3,IMap协议的邮件服务收发功能,允许用户设置多个外部邮箱。 ◦内部短消息收发管理 在系统中用户之间可以收发短消息,如
工作流
任务的通知也采用短消息进行实时提醒。
bpmn.js 2.0流程编辑器 搭配
Activiti
7.0 进行
工作流
编辑器集成开发
BPMN 无处不在,适合所有人 在浏览器中创建、嵌入和扩展 BPMN 图。单独使用它或将其集成到您的应用程序中。 1.使用基于Web 的建模组件 轻松创建您自己的 BPMN 2.0 图表。 2.使用该工具包将 BPMN 2.0 图表嵌入到您的应用程序中。 使用对您和您的
业务
很重要的
数据
来 丰富他们。 3. 集成浏览器内流程引擎、令牌模拟、自定义元素、样式或建模规则。这取决于您,因为 bpmn-js 是一个开放的工具包。
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章