首页 > 其他分享 >开源工作流设计器(流程设计器)哪个好

开源工作流设计器(流程设计器)哪个好

时间:2024-07-15 09:13:00浏览次数:12  
标签:bpmn 流程 js 开源 https 设计

大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候,经常用到流程引擎,目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准,其功能均比较强大,接口也很丰富。但涉及到人机交互界面大部分都需要定制开发,开源工作流引擎默认界面都不太适合中国项目使用要求。首先需要了解一下BPMN2.0规范是什么,见下图,更详细的了解请百度“BPMN2.0模型规范标准”之类的关键词。

02-bpmn2模型

本文重点介绍,基于activiti、flowable、camunda开源工作流引擎,如何选择一个开源免费的流程设计器,进行集成和扩展开发,快速交付项目使用。

一、流程设计器开源组件bpmn-js

bpmn-js 是 BPMN 2.0 渲染工具包和 Web 模型。bpmn-js 正在努力成为 Camunda BPM 的一部分。bpmn-js 使用 Web 建模工具可以很方便的构建 BPMN 图表,可以把 BPMN 图表嵌入到你的项目中,容易扩展。bpmn-js是基于原生js开发,支持集成到vue、react等开源框架中,集成起来也比较简单,而且与activiti、flowable、camunda开源工作流引擎无缝集成。使用bpmn-js也有缺点,由于bpmn-js底层依赖了画图工具diagram-js 和bpmn模型解析组件bpmn-moddle ,这两个开源组件的源代码比较复杂,一般前端开发人员很难搞定,功能和样式扩展修改比较费劲。

官方网站:https://bpmn.io/

在线体验:http://www.yunchengxc.com

源码解读:https://juejin.cn/post/7117481147277246500

01-bpmn.js流程设计器

建议:专业的BPM项目选择bpmn-js流程设计器,因为bpmn-js包含了全部BPMN 2.0的元素配置,设计的流程图可以很复杂,尤其是流程事件和协作,非钉钉流程设计器或OA类工作流设计器可取代,比如下面这个基于事件的招聘面试流程。

03-使用流程事件的例子

二、仿钉钉流程设计器

阿里钉钉作为中国协同办公的主流平台,其中表单设计器和流程设计器的功能及交互风格,对国内的企业和用户影响很大,一部分专业的低代码平台/BPM厂商也推出了仿钉钉版流程设计器,也有一部分客户提出流程设计器要改造程钉钉类的。在开源社区里也有vue和react版本的仿钉钉流程设计器框架。

仿钉钉版流程设计器不能与activiti、flowable、camunda等开源流程引擎无法集成,因为钉钉版流程设计器生成的模型不是bpmn2.0标准规范,需要中间做转化才可以,转化可以是前端JS处理,也可以是后端Java处理,大部分公司是基于BPMN模型的工具类在Java后端进行处理的,这个处理相当于做一个适配器,把A模型转化成B模型,其工作量不小,而且复杂的模型转化很容易出错。

04-仿钉钉流程设计器

开源地址:https://github.com/StavinLi/Workflow-Vue3

在线体验:https://stavinli.github.io/Workflow-Vue3/dist/index.html#/

建议:钉钉流程设计器尤其明显的优点和缺点。优点是更符合业务人员操作习惯,使用起来比较容易理解,更适合简单的人工审批流程,缺点是不能设计复杂的BPMN流程。如果系统的定位是简单的办公类需求,仿钉钉流程设计器是可取的,反之需要谨慎考虑。

三、基于G6的流程设计器

Antv G6本是阿里Antv团队开源的一个可视化图形框架。G6 是一个简单、易用、完备的图可视化引擎,它在高定制能力的基础上,提供了一系列设计优雅、便于使用的图可视化解决方案。能帮助开发者搭建属于自己的图可视化、图分析、或图编辑器应用。G6是绘图方面也是可以选择的,可以使用 canvas 或 svg 渲染,默认是Canvas,在可视化及交互方面,G6是比较突出的,比jsplumb 更好用。

开源地址:https://github.com/guozhaolong/wfd-vue

体验地址:https://guozhaolong.github.io/wfd-vue/

05-g6版本流程设计器

建议:bpmn-js 版流程设计器太专业太复杂,仿钉钉流程设计器太简单使用场景太局限,有没有折中的方案?选择一个好的图画工具自行开发流程设计器,即选择Antv G6开源框架开发流程设计器就是好的方案,优点是画图功能比较强大,可按业务需求灵活定制。缺点是Antv G6的生成的流程图模型与bpmn2.0模型不一致,也需要自己开发适配器进行模块转换。

四、其它开源流程设计器

还有其它开源版流程设计器,这里不作重点介绍,感兴趣的读者请自行研究。

https://gitee.com/zhangyeping/vue-flow-design-plus

https://site.logic-flow.cn/docs/#/

https://site.logic-flow.cn/examples/#/gallery

https://jsplumbtoolkit.com/

https://gitee.com/gfqy/zsflow-editor

https://gitee.com/xiaoka2017/easy-flow

https://gitee.com/shenzhanwang/RuoYi-activiti

标签:bpmn,流程,js,开源,https,设计
From: https://www.cnblogs.com/hibpm/p/18302390

相关文章

  • PHP转Go系列 | ThinkPHP与Gin框架之OpenApi授权设计实践
    大家好,我是码农先森。我之前待过一个做ToB业务的公司,主要是研发以会员为中心的SaaS平台,其中涉及的子系统有会员系统、积分系统、营销系统等。在这个SaaS平台中有一个重要的角色「租户」,这个租户可以拥有一个或多个子系统的使用权限,此外租户还可以使用平台所提供的开放API......
  • Java计算机毕业设计乡村振兴系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在全面推进乡村振兴战略的背景下,传统农村治理模式正面临着转型升级的迫切需求。随着信息技术的飞速发展,构建一套高效、智能的乡村振兴系统成为提升乡......
  • Java计算机毕业设计的乡村信息化管理系统的设计与实现(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,信息化已成为推动社会进步和经济发展的重要力量。在乡村振兴战略的背景下,乡村信息化管理系统的建设显得尤为重要。传统乡村管......
  • Java计算机毕业设计的党员信息数据可视化分析平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化高速发展的今天,党员管理作为党的建设的重要组成部分,正面临着数据量大、信息复杂、分析难度高等挑战。传统的党员信息管理方式往往依赖于纸质......
  • 基于51单片机控制的简易交通灯设计
    在我们生活中,各个道口上红绿灯随处可见,是疏导交通车辆最常见和最有效的手段。通过查找资料能够发现这一科技从十九世纪就开始出现了。时间追溯到1858年,英国伦敦的各个重要街头就安装了红色和蓝色组成信号灯,它是以燃煤气为光源的扳手式信号灯,一开始是用作指挥马车的行驶,这应......
  • 【重走编程路】设计模式概述(十) -- 责任链模式、命令模式
    文章目录前言17.责任链模式(ChainofResponsibility)定义问题解决方案应用场景优缺点18.命令模式(Command)定义问题解决方案应用场景优缺点前言行为型模式关注对象之间的交互以及如何分配职责,提供了一种定义对象之间的行为和职责的最佳方式。本章介绍创建型模式中......
  • Java计算机毕业设计动物园售票系统的设计和实现(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加快和居民生活水平的提升,动物园作为集科普教育、休闲娱乐于一体的公共场所,日益受到公众的青睐。然而,传统的动物园售票方式往往存在......
  • Java计算机毕业设计停车场管理系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和汽车保有量的持续增长,停车难问题日益凸显,成为制约城市发展的瓶颈之一。传统停车场管理方式效率低下,信息不透明,车主常面临找车......
  • 搭建一个javaweb项目的准备流程
    搭建一个javaweb项目的准备流程以所学系统项目为例:1src\main\java\com\utils1.1tools:DruidTools.java​ 需要在lib中加入druid-xx-xx.jar包代码展示packagecom.utils;importcom.alibaba.druid.pool.DruidDataSourceFactory;importjavax.sql.DataSource;impor......
  • 【科研绘图】【XY误差棒图】:附Origin详细画图流程
    1、什么是XY误差棒图XY误差棒图,是一种体现实验数据误差以及不确定性的统计图,在视觉上辅助读者直观地看到每个数据点的误差范围。在本例图中,通过X误差和Y误差两组指标绘制XY误差棒图,它由折线和XY误差棒组成,Y值决定了折线趋势,XY误差值的大小分别决定了误差棒的长短和高低。2、......