Flowable工作流之Flowable UI画工作流程图

这篇具有很好参考价值的文章主要介绍了Flowable工作流之Flowable UI画工作流程图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Flowable 简介

Flowable 是一个用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎允许您部署 BPMN 2.0 流程定义(用于定义流程的行业 XML 标准)、创建这些流程定义的流程实例、运行查询、访问活动或历史流程实例和相关数据

Flowable 在将其添加到应用程序、服务、体系结构时非常灵活。您可以将引擎嵌入到您的应用程序或服务中,方法是包含 Flowable 库,该库作为 JAR 提供。因为它是一个 JAR,所以可以很容易地将它添加到任何 Java 环境中:javase;servlet 容器,如 TomcatJetty、Spring;javaee 服务器,如 JBossWebSphere 等。或者,您可以使用可流动的 restapi 通过 HTTP 进行通信。还有一些可流动的应用程序(Flowable Modeler、Flowable Admin、Flowable IDM 和 Flowable Task),它们提供了用于处理流程和任务的现成示例 UI

FlowableGitHub 官网:https://github.com/flowable/flowable-engine

Flowable 中文用户书册:https://tkjohn.github.io/flowable-userguide/#_advanced

现在市面上主流的流程引擎就一共有三个:

  • Activiti
  • Flowable
  • Camunda

这三个各有特点:

  • Activiti 目前是侧重云,他目前的设计会向 Spring CloudDocker 这些去靠拢
  • Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多我们想要的功能(当然这也是小伙伴们觉得 Flowable 使用复杂的原因之一)
  • Camunda 相对于前两个而言比较轻量级,Camunda 有一个比较有特色的功能就是他提供了一个小巧的编辑器,基于 bpmn.io 来实现的。如果你的项目需求是做一个轻巧的、灵活的、定制性强的编辑器,工作流是嵌入式的,那么可以选择 Camunda

工作流程图这块其实有一个统一的标准,那就是 BPMNBPMN 全称是 Business Process Model and Notation,中文译作业务流程模型和标记法,这个中文太绕口了,还是简称 BPMN

这是一套图形化表示法,用图形来表示业务流程模型。BPMN 最初由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,BPMI2005 年与对象管理组织(OMG, Object Management Group)合并,并于 20111OMG 发布 2.0 版本,同时改为现在的名称

一句话,就是流程图这块有一个特别古老的规范,那就是 BPMN,而我们前面所说的无论是 Activiti、Flowable 还是 Camunda,都是支持这个规范的,所以呢,无论你使用哪一个流程引擎,都可以使用同一套流程图

2. 绘制工作流程图

2.1. Flowable UI 的安装部署

首先下载文件 Flowable 相关的资源,进入 https://github.com/flowable/flowable-engine/releases,选择版本下载,下载下来是一个 ZIP 压缩包,解压压缩会看到如下目录结构

flowable ui,# flowable,1024程序员节,flowable

2.2. 启动服务

进入 wars 目录,会看到 flowable-rest.warflowable-ui.war 两个 war 文件,然后 cmd 执行如下命令

java -jar flowable-ui.war

如果一闪而过则检查 jdk 的环境变量配置。启动成功后,在浏览器中访问 http://localhost:8080/flowable-ui/#/,默认的账号密码是:admin/test

flowable ui,# flowable,1024程序员节,flowable

2.3. 用户管理

我们先在 身份管理应用程序 中创建用户并授权

flowable ui,# flowable,1024程序员节,flowable
创建用户

flowable ui,# flowable,1024程序员节,flowable
填写详细信息

flowable ui,# flowable,1024程序员节,flowable
授权管理

flowable ui,# flowable,1024程序员节,flowable

2.4. 工作流程效果图

最后完成的工作流程图如下

flowable ui,# flowable,1024程序员节,flowable

2.5. 绘制工作流程图

点击创建流程,填写相关的信息

flowable ui,# flowable,1024程序员节,flowable
进入流程图绘制界面

flowable ui,# flowable,1024程序员节,flowable

2.5.1. 添加开始事件

flowable ui,# flowable,1024程序员节,flowable

2.5.2. 添加用户活动(用户审批)

flowable ui,# flowable,1024程序员节,flowable

2.5.3. 添加网关

flowable ui,# flowable,1024程序员节,flowable

2.5.4. 添加结束事件

flowable ui,# flowable,1024程序员节,flowable

2.5.5. 设置【主管审批】的相关属性

  • 主键 ID:可以结合业务需求,业务可以根据不同步骤执行不同的业务操作
  • 分配用户:这里为了方便,直接选择了固定值,这里的候选组是具体的业务系统的角色 ID 从而实现不同角色审批不同流程的效果

flowable ui,# flowable,1024程序员节,flowable

2.5.6. 设置【网关】的流条件

2.5.6.1. 同意的条件
  • 连线条件的输入框是支持 EL 表达式,因此可以使用 ${}
  • 【同意的条件】:这里填写了 ${executeType=='YES'} 的意思是主管审批的时候传递一个 executeType 变量,并且 executeType 变量的值为 YES 的时候,则走到下一步(经理审批)

flowable ui,# flowable,1024程序员节,flowable

2.5.6.2. 拒绝的条件
  • 这里填写了 ${executeType=='YES'} 的意思是主管审批的时候传递一个 executeType 变量,并且 executeType 变量的值为 NO 的时候,则结束流程

flowable ui,# flowable,1024程序员节,flowable

2.6. 下载工作流程图

flowable ui,# flowable,1024程序员节,flowable文章来源地址https://www.toymoban.com/news/detail-788911.html

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn"
             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
             xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
             typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath"
             targetNamespace="http://www.flowable.org/processdef" exporter="Flowable Open Source Modeler"
             exporterVersion="6.7.2">
    <process id="MyLeave" name="MyLeave" isExecutable="true">
        <documentation>员工请假流程</documentation>
        <startEvent id="sid-159DD77D-9878-4288-AC29-B898E08DC216" flowable:formFieldValidation="true"></startEvent>
        <userTask id="zgID" name="主管审批" flowable:assignee="张主管" flowable:formFieldValidation="true">
            <extensionElements>
                <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler">
                    <![CDATA[false]]></modeler:initiator-can-complete>
            </extensionElements>
        </userTask>
        <sequenceFlow id="sid-1E8F84D7-6C11-4D88-84C9-B818474F880E" sourceRef="sid-159DD77D-9878-4288-AC29-B898E08DC216"
                      targetRef="zgID"></sequenceFlow>
        <exclusiveGateway id="sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0"></exclusiveGateway>
        <sequenceFlow id="sid-08020782-2DDE-4C56-BFC0-224DC99FB50E" sourceRef="zgID"
                      targetRef="sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0"></sequenceFlow>
        <endEvent id="sid-5BFB0FC6-B2A5-4F6E-9BDB-8785F2883AEB"></endEvent>
        <userTask id="jlID" name="经理审批" flowable:assignee="李经理" flowable:formFieldValidation="true">
            <extensionElements>
                <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler">
                    <![CDATA[false]]></modeler:initiator-can-complete>
            </extensionElements>
        </userTask>
        <exclusiveGateway id="sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF"></exclusiveGateway>
        <sequenceFlow id="sid-833DAA1C-F1C2-41A1-8455-3FAB79893C14" sourceRef="jlID"
                      targetRef="sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF"></sequenceFlow>
        <endEvent id="sid-8941849E-B17F-4848-BFC8-C6B05CC21A9F"></endEvent>
        <endEvent id="sid-3596170A-0E0F-4C07-BD32-F04AFB375EB1"></endEvent>
        <sequenceFlow id="sid-A74937CE-02B1-493B-8033-08CA2D652771" name="同意"
                      sourceRef="sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0" targetRef="jlID">
            <conditionExpression xsi:type="tFormalExpression"><![CDATA[${executeType=='YES'}]]></conditionExpression>
        </sequenceFlow>
        <sequenceFlow id="sid-BE2005E1-26F7-4E42-8AC2-7C4F25274F1A" name="同意"
                      sourceRef="sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF"
                      targetRef="sid-3596170A-0E0F-4C07-BD32-F04AFB375EB1">
            <conditionExpression xsi:type="tFormalExpression"><![CDATA[${executeType=='YES'}]]></conditionExpression>
        </sequenceFlow>
        <sequenceFlow id="sid-67F146AA-C9F5-4A21-AF26-A77A349D80B7" name="拒绝"
                      sourceRef="sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0"
                      targetRef="sid-5BFB0FC6-B2A5-4F6E-9BDB-8785F2883AEB">
            <conditionExpression xsi:type="tFormalExpression"><![CDATA[${executeType=='NO'}]]></conditionExpression>
        </sequenceFlow>
        <sequenceFlow id="sid-4CC613DD-7789-408B-AFA0-1241261A4E79" name="拒绝"
                      sourceRef="sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF"
                      targetRef="sid-8941849E-B17F-4848-BFC8-C6B05CC21A9F">
            <conditionExpression xsi:type="tFormalExpression"><![CDATA[${executeType=='NO'}]]></conditionExpression>
        </sequenceFlow>
    </process>
    <bpmndi:BPMNDiagram id="BPMNDiagram_MyLeave">
        <bpmndi:BPMNPlane bpmnElement="MyLeave" id="BPMNPlane_MyLeave">
            <bpmndi:BPMNShape bpmnElement="sid-159DD77D-9878-4288-AC29-B898E08DC216"
                              id="BPMNShape_sid-159DD77D-9878-4288-AC29-B898E08DC216">
                <omgdc:Bounds height="30.0" width="30.0" x="45.0" y="105.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="zgID" id="BPMNShape_zgID">
                <omgdc:Bounds height="80.0" width="100.0" x="165.0" y="80.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0"
                              id="BPMNShape_sid-A6E285DA-5C65-4BA7-8BB4-5F4D97AC12E0">
                <omgdc:Bounds height="40.0" width="40.0" x="360.0" y="100.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="sid-5BFB0FC6-B2A5-4F6E-9BDB-8785F2883AEB"
                              id="BPMNShape_sid-5BFB0FC6-B2A5-4F6E-9BDB-8785F2883AEB">
                <omgdc:Bounds height="28.0" width="28.0" x="366.0" y="225.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="jlID" id="BPMNShape_jlID">
                <omgdc:Bounds height="80.0" width="100.0" x="495.0" y="80.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF"
                              id="BPMNShape_sid-0DA07C30-2930-40F5-A887-FA1C5BF307EF">
                <omgdc:Bounds height="40.0" width="40.0" x="690.0" y="100.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="sid-8941849E-B17F-4848-BFC8-C6B05CC21A9F"
                              id="BPMNShape_sid-8941849E-B17F-4848-BFC8-C6B05CC21A9F">
                <omgdc:Bounds height="28.0" width="28.0" x="696.0" y="225.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNShape bpmnElement="sid-3596170A-0E0F-4C07-BD32-F04AFB375EB1"
                              id="BPMNShape_sid-3596170A-0E0F-4C07-BD32-F04AFB375EB1">
                <omgdc:Bounds height="28.0" width="28.0" x="825.0" y="106.0"></omgdc:Bounds>
            </bpmndi:BPMNShape>
            <bpmndi:BPMNEdge bpmnElement="sid-1E8F84D7-6C11-4D88-84C9-B818474F880E"
                             id="BPMNEdge_sid-1E8F84D7-6C11-4D88-84C9-B818474F880E" flowable:sourceDockerX="15.0"
                             flowable:sourceDockerY="15.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
                <omgdi:waypoint x="74.94999923927439" y="120.0"></omgdi:waypoint>
                <omgdi:waypoint x="164.99999999991007" y="120.0"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-08020782-2DDE-4C56-BFC0-224DC99FB50E"
                             id="BPMNEdge_sid-08020782-2DDE-4C56-BFC0-224DC99FB50E" flowable:sourceDockerX="50.0"
                             flowable:sourceDockerY="40.0" flowable:targetDockerX="20.5" flowable:targetDockerY="20.5">
                <omgdi:waypoint x="264.9499999999992" y="120.1509063444109"></omgdi:waypoint>
                <omgdi:waypoint x="360.43939393938865" y="120.43939393939392"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-4CC613DD-7789-408B-AFA0-1241261A4E79"
                             id="BPMNEdge_sid-4CC613DD-7789-408B-AFA0-1241261A4E79" flowable:sourceDockerX="20.5"
                             flowable:sourceDockerY="20.5" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
                <omgdi:waypoint x="710.4194915254237" y="139.52220575783235"></omgdi:waypoint>
                <omgdi:waypoint x="710.0588602435497" y="225.00012270930887"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-833DAA1C-F1C2-41A1-8455-3FAB79893C14"
                             id="BPMNEdge_sid-833DAA1C-F1C2-41A1-8455-3FAB79893C14" flowable:sourceDockerX="50.0"
                             flowable:sourceDockerY="40.0" flowable:targetDockerX="20.5" flowable:targetDockerY="20.5">
                <omgdi:waypoint x="594.9499999999981" y="120.15090634441087"></omgdi:waypoint>
                <omgdi:waypoint x="690.4393939393933" y="120.43939393939394"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-BE2005E1-26F7-4E42-8AC2-7C4F25274F1A"
                             id="BPMNEdge_sid-BE2005E1-26F7-4E42-8AC2-7C4F25274F1A" flowable:sourceDockerX="20.5"
                             flowable:sourceDockerY="20.5" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
                <omgdi:waypoint x="729.516569086651" y="120.42578125"></omgdi:waypoint>
                <omgdi:waypoint x="825.0001009915921" y="120.054279921789"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-67F146AA-C9F5-4A21-AF26-A77A349D80B7"
                             id="BPMNEdge_sid-67F146AA-C9F5-4A21-AF26-A77A349D80B7" flowable:sourceDockerX="20.5"
                             flowable:sourceDockerY="20.5" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
                <omgdi:waypoint x="380.4194915254237" y="139.52220575783235"></omgdi:waypoint>
                <omgdi:waypoint x="380.05886024354976" y="225.00012270930887"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
            <bpmndi:BPMNEdge bpmnElement="sid-A74937CE-02B1-493B-8033-08CA2D652771"
                             id="BPMNEdge_sid-A74937CE-02B1-493B-8033-08CA2D652771" flowable:sourceDockerX="20.5"
                             flowable:sourceDockerY="20.5" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
                <omgdi:waypoint x="399.50196526507943" y="120.44207317073172"></omgdi:waypoint>
                <omgdi:waypoint x="494.9999999999935" y="120.15182370820669"></omgdi:waypoint>
            </bpmndi:BPMNEdge>
        </bpmndi:BPMNPlane>
    </bpmndi:BPMNDiagram>
</definitions>

到了这里,关于Flowable工作流之Flowable UI画工作流程图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flowable工作流入门&完整SpringBoot案例

    工作流(Workflow),是指对于一项业务,按照规定的流程,逐级传递、申请、执行等,并且受到了严格控制的一种业务过程。 BPM(Business Process Management)是指对于某项业务的整个生命周期进行全面管理的一种模式,最核心的内容包括了工作流、决策、交互等。在这些管理过程

    2024年02月12日
    浏览(44)
  • 【学习笔记】Flowable - 01 - 工作流 快速上手

    JDK8 Flowable6 (6.3 or 6.7.2) Postgresql (MySQL同样支持) 波哥:2023年Flowable详细讲解 波哥:2022年Flowable教程-基础篇 Flowable BPMN 用户手册 中文 官方网站 官方github源码 IDEA低版本提供一个BPMN解析插件: 但是并没有很好的支持流程的绘制。 存在几个工具: 古老的Eclipse(太老的不推荐 官

    2024年01月19日
    浏览(44)
  • Spring Boot 中动态创建 Flowable 工作流

    在 Spring Boot 中动态创建 Flowable 工作流可以通过以下步骤实现: 1. 创建 Flowable 配置:首先,您需要在 Spring Boot 应用程序中配置 Flowable。您可以使用 Spring Boot 的配置文件或注解来配置 Flowable。 2. 创建工作流定义:接下来,您需要创建工作流定义。您可以使用 Flowable 的 API 来

    2024年02月10日
    浏览(41)
  • Vue+LogicFlow+Flowable 前端+后端实现工作流

    前端使用LogicFlow框架绘制流程图,可以导出为xml工作流标准格式数据,通过xml文件传递到后端进行Flowable流程注册,并保存到数据库中。 如需添加承办人的话,需要在LogicFlow导出文件的基础上手动添加 xmlns:flowable=\\\"http://flowable.org/bpmn\\\" flowable插件,不然后台无法识别 flowable:ca

    2024年02月04日
    浏览(46)
  • Flowable 生成流程图

    2024年01月18日
    浏览(44)
  • 若依(RuoYi-Vue)+Flowable工作流前后端整合教程

    此教程适合若依前后端分离项目,其他项目可以在扩展列表中进行查找。 近期公司里需要对很久以前的RuoYi-Vue前后端分离项目扩展出flowable的功能,当然这个重任也是落在了我的身上(不然也不会有这篇文章),然后我在官网看到了RuoYi-Vue-Flowable这个项目,按照文档提供的迁

    2023年04月21日
    浏览(58)
  • Springboot +Flowable,通过代码绘制流程图并设置高亮

    通过代码绘制一张流程图,并设置成高亮。 首先先来看一下绘制出来的效果图,截图如下: 已经执行的节点和连线用红色标记出来,大致上就是这么一个效果。 将一个流程图绘制成图片,相关的 API 在 flowable 中其实都是有提供的,流程图片的绘制,是根据流程的定义来绘制

    2024年02月02日
    浏览(51)
  • 工作流Flowable入门教程:flowableUI的安装使用,RepositoryService、RuntimeService、TaskService、HistoryService的使用

    Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。这个章节将用一个可以在你自己的开发环境中使用的例

    2024年01月18日
    浏览(58)
  • Activiti7 工作流非原流程终止

    正常工作流,需要经过 node1、node2 才能结束。 现在要求已经开启的流程,目前停留在 node1,可以提前终止。 一般根据实际需要,可以有几种做法: 新绘制流程图,新增 node1 结束的流程分支,替换原流程 SQL 的方式,将该流程的数据,手动修改为终止的状态 代码动态修改流程

    2023年04月16日
    浏览(40)
  • Java工作流框架:探索流程引擎的实现和应用

    目前,市面上有很多基于SpringBoot+Vue前后端分离的Java快速开发框架和工作流开发框架可供选择。以下是一些比较流行的框架: 1. Spring Cloud:Spring Cloud是一套基于Spring Boot的开发工具,用于快速构建分布式系统中的服务。它利用Spring Boot的便利来简化了分布式系统的开发,并通

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包