avatar

nk

学习 思考 坚持 平静

  • 首页
  • 关于
Home KonBAI-Qruoyi-flowable-plus 初步简略体验报告
文章

KonBAI-Qruoyi-flowable-plus 初步简略体验报告

Posted 2024-01-22 Updated 2024-01- 22
By nk
64~82 min read

KonBAI-Q/ruoyi-flowable-plus 初步简略体验报告

报告人: mercymodest

项目地址

GitHub-RuoYi-Flowable-Plus

什么是工作流

工作流( Workflow ):是一项将系统任务或操作抽取,再按照预定业务流程进行组织、协调、并自动化执行的技术。

我们也可以简单理解==工作流是一种简化审批业务流程开发的技术==,其主要是解决一些业务场景硬编码方式的成本高、效率低、变更慢等问题的技术。

复杂的业务流程,实现复杂度比较高,因此开发周期长,开发成本高,效率也低,如果发生需求变更,对之前复杂的代码进行修改,同样需要更长的时间,因此响应变更的速度呢也表现得慢。image-20240122172845597

工作流技术来实现类似复杂的业务,只需要集成流程引擎、画出流程中使用的表单、最后画出整个业务流程图,交给流程引擎3步,即可完成需求的开发。在整个实现过程中,流程引擎是一个三方框架,不需要我们过多编码,而画表单、画流程就是在页面中进行一些拖拉拽的操作。因此整个过程下来我们编码量极少,需要的开发时间也极少,通过此方式呢就轻松的解决了开发周期长、成本高、效率低的问题,如果需求变更了,工作流技术只需要修复之前的表单或图即可,因此变更响应速度自然也必硬编码开发的速度要快。

image-20240122172925518

什么是工作流引擎

流程引擎:是用于驱动或控制业务流程每一步自动执行的代码框架。

目前市面上主流的流程引擎框架有jBPMN、Activiti、Flowable、Camunda4款,其中Activiti开源度最大,因此是当下主流的首选流程引擎。

当前项目是的是 Flowable

image-20240122173058120

什么是BPMN

BPMN:业务流程建模与标记语言(Business Process Model and Notation),是一种用于图形化表示和描述业务流程的标准化标记语言。目前主流的版本是BPMN2.0,由 Object Management Group(OMG)制定,并于2011年发布,发展至今,已被主流的流程引擎支持,并作为默认。

官网:https://www.bpmn.org/

讲白了,BPMN和HTML类似都是标记语言,都是通过XML的格式来组织数据,供后端解析,也可转成图形化方式直观展示给用户看。

例:BPMN标准的流程文件内容

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:tns="http://www.activiti.org/testm1685269119653" xmlns:xsd="http://www.w3.org/2001/XMLSchema" id="hiss_flow_1695088765609" name="" targetNamespace="http://www.activiti.org/testm1685269119653">
  <process id="hiss_process_12_1695088765717" name="hiss_process" isExecutable="true">
    <startEvent id="StartEvent_1" />
    <userTask id="Activity_1xi315o">
      <incoming>Flow_109kst5</incoming>
    </userTask>
    <sequenceFlow id="Flow_109kst5" sourceRef="StartEvent_1" targetRef="Activity_1xi315o" />
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="hiss_process_12_1695088765717">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="173" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1xi315o_di" bpmnElement="Activity_1xi315o">
        <dc:Bounds x="330" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_109kst5_di" bpmnElement="Flow_109kst5" bioc:stroke="#060606" bioc:fill="none">
        <di:waypoint x="209" y="120" />
        <di:waypoint x="330" y="120" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

转成直观的图:

image-20240122173401353

BPMN设计器

虽然BPMN是一个标记语言,但是在实际中,我们很少直接去用它语法进行开发,而是直接使用流程设计器来画,而画用前端技术即可实现,在前端开源项目中有一个叫bpmn-js的开源项目,现在几乎成了画流程的标准,市面上的流程设计器基本都是基于它改造的。

image-20240122173605576

image-20240122173650552

工作流操作简要示例

新建流程分类(可选)

image-20240122173819742

新增流程表单(一般强制性必要操作)

image-20240122173911187

即每个流程节点,流转的时候(etc. 审批信息)需要填写的信息

新建流程模型

image-20240122174059463

流程设计

image-20240122174147570

流程设计一

image-20240122174329148

流程设计二

image-20240122174508378

流程部署

部署流程之后,即可使用当前设计的流程

流程发布

image-20240122174556394

流程发布后

image-20240122174757232

基于项目的工作流的简单演示流程

创建表单

image-20240122175440707

image-20240122175342217

image-20240122175410846

流程模型

image-20240122175612427

1 :提交请假关联表单

image-20240122175342217

2: 流程审核节点

  • 关联表单

    image-20240122175410846

  • 关联操作人

    image-20240122175803008

    image-20240122175840011

发起流程

image-20240122174757232

信息填写

image-20240122180126757

提交流程之后

image-20240122180249802

流程详情

image-20240122180335333

image-20240122180425797

image-20240122180504561

使用manager 账号登陆系统

  • 账户: manager
  • 密码: 123456

image-20240122180821308

处理工作流

image-20240122181005287

完结后的审批

manager(流程审批人)

image-20240122181243957

admin(流程发起人)

image-20240122181355632

流程详情

image-20240122181459011

image-20240122181527084

image-20240122181549893

项目社区成熟度

 低

项目提交情况梗概

Gitee

image-20240122170826123

GitHub

image-20240122171016889

新项目学习
工作报告
License:  CC BY 4.0
Share

Further Reading

Jan 22, 2024

KonBAI-Qruoyi-flowable-plus 初步简略体验报告

KonBAI-Q/ruoyi-flowable-plus 初步简略体验报告 报告人: mercymodest 项目地址 GitHub-RuoYi-Flowable-Plus 什么是工作流 工作流( Workflow ):是一项将系统任务或操作抽取,再按照预定业务流程进行组织、协调、并自动化执行的技术

OLDER

每天面试题:2024-01-17

NEWER

Spring Framewok: Spring 校验

Recently Updated

  • 拥抱云原生:Dockerfile 的多阶段构建
  • 拥抱云原生:Dockerfile
  • 拥抱云原生:Docker文件系统
  • 拥抱云原生:Docker 指令小析
  • 拥抱云原生:起始

Trending Tags

Nginx 工作报告 云计算 云原生 Alpine Linux Docker Spring Linux 面试智慧

Contents

©2025 nk. Some rights reserved.

Using the Halo theme Chirpy