activiti

Activiti工作流实战使用总结

大憨熊 提交于 2020-03-19 17:22:57
作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好推荐XJR快速开发框架,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重,去重后任务查询api的分页会变得不可用

tkmapper与activiti问题

纵饮孤独 提交于 2020-03-19 11:22:37
3 月,跳不动了?>>> /** * 使用tkmapper后导致Activiti使用JPA模式,这里指定成jdbc模式 * 另外需要在启动类中把JpaProcessEngineAutoConfiguration.class排除 */ @Configuration @AutoConfigureAfter(DataSourceAutoConfiguration.class) public class ActivitiProcessEngineAutoConfiguration { @Configuration @EnableConfigurationProperties(ActivitiProperties.class) public static class DataSourceProcessEngineConfiguration extends AbstractProcessEngineAutoConfiguration { @Bean @ConditionalOnMissingBean public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean

activiti 表结构 数据库 设计说明书

Deadly 提交于 2020-03-18 14:58:20
某厂面试归来,发现自己落伍了!>>> 1、结构设计 1.1、 逻辑结构设计 Activiti使用到的表都是ACT_开头的。 ACT_RE_*: ’RE’表示repository( 存储 ),RepositoryService接口所操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。 ACT_RU_*: ‘RU’表示runtime,运行时表-RuntimeService。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。 ACT_ID_*: ’ID’表示identity ( 组织机构 ),IdentityService接口所操作的表。用户记录,流程中使用到的用户和组。这些表包含标识的信息,如用户,用户组,等等。 ACT_HI_*: ’HI’表示history,历史数据表,HistoryService。就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等 ACT_GE_*: 全局通用数据及设置(general),(activit 项目案例 www.1b23.com )各种情况都使用的数据。 1.2、 所有表的含义 序号 表名 说明 1 act_ge_bytearray 二进制数据表 2 act

Activiti工作流实战使用总结

醉酒当歌 提交于 2020-03-17 14:41:02
某厂面试归来,发现自己落伍了!>>> 工作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好推荐XJR 快速开发框架 ,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1 、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重

Activiti工作流实战使用总结

一曲冷凌霜 提交于 2020-03-17 12:35:45
工作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好可以试试XJR快速开发框架,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重,去重后任务查询api的分页会变得不可用

oracle-12c-ee安装

廉价感情. 提交于 2020-03-17 11:53:15
基于本学期的oracle,因为手上没有windows平台,所以使用linux和docker进行搭建了oracle-12c-ee,原文章:https://blog.csdn.net/weixin_38159676/article/details/92795453。这边进行引用学习 #拉取镜像 docker pull absolutapps/oracle-12c-ee #运行容器 docker run -d -p 8080:8080 -p 1521:1521 --name oracle-12cR1-ee --privileged absolutapps/oracle-12c-ee #容器开启时间很长,需要打开日志查看安装情况,此条命令会卡很久,看个人机器配置,我卡了30分钟。 docker logs -f oracle-12cR1-ee #进入容器内部 docker exec -it oracle-12cR1-ee /bin/bash echo $ORACLE_SID #登录 sqlplus system/oracle@//localhost:1521/orcl #创建表空间 create tablespace activiti datafile '/u01/app/oracle/activiti.dbf' size 200M; #创建用户 create user activiti

springboot 整合 activiti6

十年热恋 提交于 2020-03-17 08:00:00
1.首先是maven添加依赖各种报错。 <!-- https://mvnrepository.com/artifact/org.activiti/activiti-spring-boot-starter-basic --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.22.0</version> </dependency> 尝试数次,无效,改天再次尝试,成功。 2.后来使用5.17版本,成功 <dependency> <groupId>org.activiti</groupId> <artifactId>spring-boot-starter-basic</artifactId> <version>5.17</version> </dependency> 其中很多的架包无法直接引入,需要手动导入。详见手动导入maven架包。 5.17版本和mybitis3.25兼容,其他的版本都有问题,具体问题是sql会多出一个order by。最后还是使用5.22版本 3.环境搭建好之后,部署对应的activiti流程,activiti desingner在前面已经说过了。启动项目,对于

工作流引擎activiti和jbpm哪个比较好?

為{幸葍}努か 提交于 2020-03-16 17:31:23
某厂面试归来,发现自己落伍了!>>> 在常用的ERP系统、OA系统的开发中,工作流引擎是一个必不可少的工具。之前在选择工作流引擎时曾经在activiti和jbpm之间有过比较,当时做出的决定是使用jbpm,但实际开发过程中发现这个选择是不合适的。目前我们改为选择Activiti作为工作流模块的引擎,理由如下: 1、Activiti拥有更简洁健壮的接口 JBPM自从版本五后,便重启炉灶,完全抛弃了JBMP4的代码基础,重新基于drools进行了实现。JBPM5,JBPM6似乎缺少一个合格的系统架构师,其接口设计匪夷所思,基本上是按照drools的接口再提供了一套JBPM接口,同名的接口,实现类不断重复出现,代码体系十分混乱。 一个典型的例子,同样是查询待办事项,在JBPM中接口如下: List<TaskSummary> getTasksAssignedAsBusinessAdministrator(String userId, String language); List<TaskSummary> getTasksAssignedAsExcludedOwner(String userId, String language); List<TaskSummary> getTasksAssignedAsPotentialOwner(String userId, String

工作流-组任务(会签)

不打扰是莪最后的温柔 提交于 2020-03-13 16:52:34
什么是会签 我们在使用工作流引擎的时候,最常用的肯定是任务节点,因为在OA系统、审批系统、办公自动化系统中核心的处理就是流程的运转,在流程运转的时候,可能我们有这样的一个需求,在一个任务节点的时候,我们需要多个人对这个节点进行审批,比如实际中这样一个例子,假如是一个部门的投票,这个部门有5个人,那么当5个人都投票的时候大概分为如下几种: 部门所有人都去投票,当所有人都投票完成的时候,这个节点结束,流程运转到下一个节点。(所有的人都需要投票) 部门所有人都去投票,只要有任意2/3的人同意,这个节点结束,流程运转到下一个节点。(部分人投票只要满足条件就算完成)。 部门中有一个部门经理,只要部门经理投票过了,这个节点结束,流程运转到下一个节点(一票否决权)。 部门中根据职位不同,不同的人都不同的权重,当满足条件的时候,这个节点结束,流程运转到下一个节点。比如说所有的人员权重加起来是1,a有0.2的权重,其他的四个人分别是0.1的权重,我们可以配置权重达到0.3就可以走向下一个节点,换言之a的权重是其他人的2倍,那就是a的投票相当于2个人投票。这种需求还是很常见的。 部门所有人都去投票,a投票结束到b,b开始投票结束到c,一直如此,串行执行。最终到最后一个人再统计结果,决定流程的运转。 上面的五种情况,我们可以提取出来一些信息,我们的activiti 工作流引擎,必须支持如下功能

java快速开发平台之多系统快速配置工作流引擎

Deadly 提交于 2020-03-13 08:47:25
服务架构 面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。工作流引擎使得构建在各种这样的系统中的服务,可以以一种统一和通用的方式进行交互。 例如开发一个系统,最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。 就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗? 所谓工作流引擎,是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。