[.net项目实战] elsa开源工作流组件应用(三):实战演练-编程思维
目录补充需求描述需求分析代码实现下发问卷活动 PublishQuestionnaireActivity通知活动:NotificationActivity等待问卷完成活动:WaitFillInSurveyActivity定时和延时活动:问卷活动:QuestionnaireActivity创建工作流开始工作流TroubleShooting 补充 之前的文章简单介绍了工作流和Elsa工作流库,这里再补
morethink program
Elsa工作流简介 工作流是什么? 引用维基百科中对工作流的解释: 是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算 Elsa 是一个功能强大的工作流库,支持在任何 .NET 应用程序中执行工作流。Elsa 可以使用C#代码或使用基于Web的可视化设计器生成JSON等方式定义工
效率和质量是软件产品追求的两个核心关键点,软件产品研发是一个覆盖多阶段、涉及多团队的过程,业界也已经总结出了一些很好的实践,在保证研发效率的同时还能保证代码质量。比如代码提交规范、Code Review、代码准入、CI/CD。但是由于缺乏行之有效的研发流程规范,让上述实践在落地的时候往往流于形式、可有可无,让保证质量、提升效率成为悬而难落的话题。而代码提交不规范、不同开发模式下代码审核与准入环节的
@[toc]在之前的文章中,松哥也有和小伙伴们使用过流程变量,然而没有和大家系统的梳理过流程变量的具体玩法以及它对应的数据表详情,今天我们就来看看 Flowable 中流程变量的详细玩法。1. 为什么需要流程变量首先我们来看看为什么需要流程变量。举一个简单的例子,假设我们有如下一个流程:这是一个请假流程,那么谁请假、请几天、起始时间、请假理由等等,这些都需要说明,不然领导审批的依据是啥?那么如何传
@[toc]在之前的文章中松哥和小伙伴们聊过,正在执行的流程信息是保存在以 ACT_RU_ 为前缀的表中,执行完毕的流程信息则保存在以 ACT_HI_ 为前缀的表中,也就是流程历史信息表,当然这个历史信息表继续细分的话,还有好多种,今天我们就来聊一聊这个话题。假设我有如下一个流程:当这个流程执行完毕后,以 ACT_RU_ 为前缀的表中的数据均已清空,现在如果想查看刚刚执行过的流程信息,我们就得去以
@[toc]今天我们来聊一聊 Flowable 中的定时器。1. 流程定义定时激活在之前松哥给小伙伴们介绍流程定义的时候,流程都是定义好之后立马就激活了,其实在流程定义的这个过程中,我们还可以设置一个激活时间,也就是流程定义好之后,并不会立马激活(不激活就不能据此流程定义创建新流程),而是在延迟某一个固定时间之后,才会激活,代码如下:@RestController public class Pro
上篇文章我们一起学习了 Flowable 中的动态表单,动态表单说白了就是把变量打包定义,零存整取。但是小伙伴们可能很难实实在在 GET 到动态表单一些有创造性的功能,所以今天我们就来继续看看 Flowable 中的外置表单怎么玩,这个跟动态表单有一些本质上的差别。1. 外置表单首先,所谓的外置表单,其实说白了,类似我们平时在 HTML 中写的 form 表单。现在的 flowable 中,我们既
Flowable 中网关类型其实也不少,常见的主要有三种类型,分别是:排他网关并行网关包容网关这三个里边最常用的当然就是排他网关了,今天松哥就来和小伙伴们聊一聊这三种网关,一起来体验一把这三种网关各自的特征。1. 排他网关首先就是排他网关了,这个也叫互斥网关,长得像下图这样:排他网关可以有 N 个入口,但是只有一个有效出口。松哥举一个例子:假设我有一个请假流程,请假 1 天,组长审批,请假小于 3
摘要:Workflow本质是开发者基于实际业务场景开发用于部署模型或应用的流水线工具。 Workflow(也称工作流,下文中均可使用工作流进行描述)本质是开发者基于实际业务场景开发用于部署模型或应用的流水线工具。在机器学习的场景中,流水线可能会覆盖数据标注、数据处理、模型开发/训练、模型评估、应用开发、应用评估等步骤。 区别于传统的机器学习模型构建,开发者可以使用Workflow开发生产流水线
前面和小伙伴们分别聊了 Flowable 中的 ReceiveTask 和 UserTask,今天我们来看看另外一个比较常见的 Task --> ServiceTask。1. ServiceTaskServiceTask 从名字上看就是服务任务,它的图标一般是像下面这样:ServiceTask 一般由系统自动完成,当流程走到这一步的时候,不会自动停下来,而是会去执行我们提前在 Service
前面的文章我们一起玩了 Flowable 中的 ServiceTask,今天我们再来看看 Flowable 中的脚本任务。1. 脚本任务个人感觉脚本任务和我们前面说的 ServiceTask 很像,都是流程走到这个节点的时候自动做一些事情,不同的是,在 ServiceTask 中,流程在这个节点中所做的事情是用 Java 代码写的,在脚本任务中,流程在这个节点中所做的事情则是用其他一些脚本语言如
@[toc]前面松哥和大家分享的都是给 UserTask 设置处理人或者是候选用户,不过小伙伴们也知道,在我们为 UserTask 设置处理人的时候,除了设置单个的处理人,也可以设置 Group,就是某一个用户组内的所有用户都可以处理该 Task。在 Flowable 中使用 Group 去归类某一类用户,但是这个实际上类似于我们在自己系统中平时所用的角色 Role。也就是说,我们可以按照角色去给
@[toc]上篇文章松哥和大家分享了 Flowable 中的 ReceiveTask,这只是流程中任务的一种,今天我们就一起来看另外一个更为常见的 Task--UserTask。UserTask 看名字就知道,需要人工干预,而人工处理的方式有很多种,我们可以设置节点是由哪个用户处理,也可以设置是由哪个用户组来处理(相当于是由哪个角色来处理),今天这篇文章我主要和大家分享设置用户的三种方式,至于如何