流程引擎设计思路

article/2025/8/27 13:46:28

前言

  在现代化的企业管理模式中,会通过日积月累的经验形成一套流程化的作业,来满足企业日常的经营活动,这不仅能够规范工作要求,还能提高人员工作效率。经常也会说道,流程化的工作模式是一个公司成熟的标记,所以在企业信息化建设过程中,流程引擎也是必不可少的一环。

应用场景

  在我们的日常工作中,经常也会使用到一些流程引擎实现的系统功能,下面我就枚举一些常见的应用场景,加深大家对流程引擎的理解。
  在企业的招聘过程中,对候选人的选拔、面试和聘用等活动,都比较关键重要,模式也比较固定,企业往往会采用流程系统,去管控整个招聘活动的进程。整个活动大致为:HR会挑选合适的简历,在系统中进行资料上传并做流程的发起,各个面试官会接收到流程审核节点的通知,并对候选人进行面试,在面试完成后,在流程中填写对应面试结果,若面试不通过,则流程终止,若面试通过,则流程会继续往后执行,并通知下一位面试官进行面试,最终所有面试都通过后,流程回到HR审批,由HR发放Offer后,进行该招聘流程的闭环。
  在工作差旅活动中,在出差前我们经常需要将差旅活动告知工作相关的领导和同事,并让HR做好考勤跟进,同时领导也需要对差旅的合理性进行审批,这个时候,若是进行线下沟通,将是一件耗时耗力的事情,所以大部分公司也将差旅活动进行流程化的管控。整个活动大致为:出差人在填写好差旅缘由和预算后,发起差旅申请流程,流程审批节点通知到对应的领导,领导针对差旅缘由和预算进行审核,若差旅缘由不合理或预算超支,则审批不通过,流程终止,若最终流程审核通过,则由HR进行考勤事项跟进,出差人执行差旅活动,流程闭环。
  在进行办公协同活动中,一项工作需要多部门协同完成,这时就需要耗费大量的时间去找人沟通推进,所以很多企业会对一些固化的多部门协同的工作进行流程化管控。整个活动大致为:该项工作的发起人填写好背景原因和支持的工作内容后进行流程的发起,流程审批节点通知到各部门的领导,由各部门领导审核工作合理性和内容,若审核不通过,则终止该流程,若审核通过,则指派部门对应的执行人进行工作的完成,各部门执行人接收到流程后,在流程中反馈本部门事项的完成情况,通过流程的进展,管控工作的进展情况,若最终完成协同工作,流程闭环。

业务需求

  根据上述描绘的应用场景,我们可以进行分析,获取以下业务需求:
  需求一:流程引擎需要支持按顺序添加任意个审批节点,审批节点组成一个链表,在对应的审批节点下添加审批人,并记录当前审节点和审批人,当审批完后,审批节点向后移动一位,流程结束节点的对应审批完成后,流程结束。
  需求二:需要支持流程审批驳回功能,支持驳回到指定的流程节点。
  需求三:发起表单和审批表单,能够支持自定义,设置不同的表单内容。
  需求四:能够记录各审批环节的审批信息,便于追溯和统计。
  需求五:需要支持设置会签审批节点,即一个审批节点下能够添加多个人,多个人审批通过后才能进入到下一个审批节点。
  需求六:需要支持设置并行审批节点,即该审批节点下,只要有一个审批人审批通过,即可跳转至下一个审批节点。
  需求七:流程需要支持条件判断(例如请假流程,请假天数不同,执行流程不同),根据不同的条件执行不同的审批流程。

设计方案

整体解决方案

  功能架构图和信息结构图如下图所示

在这里插入图片描述
在这里插入图片描述

Demo设计

   Demo设计可以参考

流程引擎页面Demo


http://chatgpt.dhexx.cn/article/KcsLRSw0.shtml

相关文章

流程引擎activiti

1、Activiti简介 2、入门程序 3、使用详解 4、springboot2.0整合工作流activiti6.0以及与业务集成时的一些坑 5、删除异常的流程 6、系列文章 7、提交、审批、撤销 8、Activiti会签 系列文档 画图时将一个跳转条件${hr2}写成了${hr2}现在不能办理了! 如何删…

如何设计一个流程引擎

编者按:流程引擎是低代码平台的核心,它可以帮助我们去实现非常灵活的流程设计,极大的助力实现数据流转的的规范化。流程引擎是什么?国内外流程引擎有什么区别?如何设计一个流程引擎? 流程引擎 什么是流程引…

规则/流程引擎-ice简介

ice简介 视频地址: https://www.bilibili.com/video/BV1hg411A7jx/ ice简介视频 致力于解决灵活繁复的硬编码问题 官方文档:http://waitmoon.com/zh 背景介绍 规则/流程引擎想必大家并不陌生,耳熟能详的就有Drools,Esper&#x…

流程引擎基础知识

流程引擎基础知识 流程部署流程取消部署流程发起流程取回流程作废流程委托流程流转常用流程表介绍备注 流程部署 1.后台直接导入bpmn /**流程部署源代码*/public void deploy() {ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();RepositoryService re…

规则引擎和流程引擎我该怎么理解

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

流程引擎:流程定义、流程实例、任务

流程引擎:流程定义、流程实例、任务 流程定义(ProcessDefinition) 基于bpmn2图形流程 流程实例(ProcessInstance) 一个流程定义可以启动多个流程实例,流程实例之间互不影响 流程实例任务(Tasks) 一个流程实例对应多个流程任务(人工与自动)

流程引擎(flowable)之流程相关

代码示例:流程部署/发布 InputStream inputStream new DefaultResourceLoader().getResource("classpath:BusinessProcessBeanTest.test.bpmn20.xml").getInputStream();Deployment deploy configuration.getRepositoryService().createDeployment()//…

流程引擎应用及分析

介绍:工作流引擎目前比较热门的有Activiti、Flowable等,Flowable是Activiti(Alfresco持有的注册商标)的fork版本。下面就两种工作流引擎做一个比较和入门分析。 模块一 对比: Activiti现存文档比Flowable多,有大量与业务集成的文…

《Flowable流程引擎从零到壹》Flowable流程引擎介绍和实战项目初始化流程引擎实例

14天学习训练营导师课程: 邓澎波《Flowable流程引擎-基础篇【2022版】》 邓澎波《Flowable流程引擎-高级篇【2022版】》 学习笔记《Flowable流程引擎从零到壹》回城传送 ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创…

流程引擎的架构设计

流程引擎的架构设计 1 什么是流程引擎 流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的。流程引擎和流程应用,以及应用程序的关系如下图所示。 常见的支撑场景有:Workflow、BPM、流程编排等。本次分享,主要从 BPM 流程…

流程引擎是什么?有什么作用?

编者按:本文详细论述了流程引擎的概念,流程引擎的作用以及选型的要旨,并介绍了自主研发具有中国特色的流程引擎。 关键词:流程引擎,集成性,数据分析,BPMN2.0规范,中国特色&#xff…

流程引擎BPM对比

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

流程引擎camunda

简介 Camunda是一个基于Java的框架,支持用于工作流和流程自动化的BPMN、用于案例管理的CMMN和用于业务决策管理的DMN。笔者单位里主要是用于业务审批。 学习了解资料尽量去官方查看https://docs.camunda.org,查看版本7.18,一步一个环节比较详…

选对流程引擎,玩转流程设计不是梦

编者按:本文详细论述了流程引擎的概念,流程引擎选择的要旨,并介绍了流程引擎的应用场景。 流程引擎的概念流程引擎怎么选流程引擎能做什么 在这个数字化办公时代,流程设计对于企业管理者来具有重大意义,一个优秀的工作…

pojo类转换工具

每次pojo类转换的时候很麻烦,所以就在搜pojo类快速转换方法,突然发现一个比较好的pojo类转换工具mapstruct 。 项目中只需要添加如下依赖: 然后定义一个接口添加Mapper(componentModel "spring")注解 便可以直接使用该工具…

JOIOJI

JOIOJI (joioji.c/.cpp/.pas) 【问题描述】 JOIOJIさん是JOI君的叔叔。“JOIOJI”这个名字是由“J、O、I”三个字母各两个构成的。 最近,JOIOJIさん有了一个孩子。JOIOJIさん想让自己孩子的名字和自己一样由“J、O、I”三个字母构成,并且想让“J、O、…

ARM BTI指令介绍

目录 一、JOP 二、BTI 三、启用BTI 四、BTI是怎么实现的 一、JOP JOP(Jump-oriented programming)类似于ROP(Return-Oriented Programming)。在 ROP 攻击中,会扫描出useful gadgets(易被攻击的一段代码…

Jopr介绍

转载文章请注明:转载自JBossWeek.com [ http://www.jbossweek.com] 如果您是一名系统管理员,正在承受着如下的煎熬:发疯地寻找配置某个服务的JBoss AS配置文件;痛苦地敲着冗长的JBoss管理命令行;眼花缭乱地在n个终端窗…

JOptionPane

JOptionPane提供了许多对话框样式,该类能够让你在不编写任何专门对话框代码的情况下弹出一个简单的对话框。 JOptionPane类提供了7个构造方法用于创建JOptionPane的类对象,不过在实际使用时, 通常不是用new方式创建,而是使用JOpti…

什么pojo

pojo(Plain Ordinary Java Object):普通的Java对象,其实就是简单的JavaBean实体类。对应数据库里的某一张表,pojo里的每一个属性都和该表中的字段一 一对应。 POJO有一些private的参数作为对象的属性。然后针对每个参…