前言

近阶段参与的项目需要集成工作流功能,在对比了市面上比较流行的极大框架后,最后不出意外应该是三个框架中的一个:ActivitiFlowableCamunda
这里先不讨论工作流驱动引擎部分,单单就工作流流程编辑器部分展开探讨。
上面三个工作流驱动引擎,都兼容BPMN 2.0格式的流程定义文件,关于BPMN 2.0具体详情,可以参考这里: https://www.bpmn.org/

方案

在早期,有不少的流程定义,是通过各种开发插件来编写的,如Eclipse插件或者IntellijIDEA插件,但是这种方式一般来说仅仅限于开发人员进行编辑修改,对于普通用户来说门槛比较高。
对于工作流的流程编辑器部分,出于用户体验方面考虑,比较人性化的方式是图形化的编辑界面,让普通用户采用所见即所得的方式进行编辑流程图。而现在也有不少开源的图形化编辑器解决方案。

1. bpmn-js

Camunda以及最新版的Activiti 7,都推荐该方案作为流程编辑器,bpmn-js官方地址:https://bpmn.io/ 。该站点不仅仅提供了开源的bpmn-js流程编辑器,同时还提供了dmn-js以及form-js编辑器。
官网对于bpmn-js的说明是:

Use bpmn-js to display BPMN 2.0 diagrams on your website.
Embed it as a BPMN 2.0 web modeler into your applications and customize it to suit your needs.

bpmn-js提供的组件可以说是十分丰富,比如StartEvent开始事件EndEvent结束事件Task任务ExclusiveGateway互斥网关等等一系列组件,bpmn-js可以说是对BPMN 2.0支持最完善的一个流程编辑器组件。
当然缺点也有,个人感觉bpmn-js提供的组件过于繁杂,在国内的一些使用环境下可能根本都用不到。还有一点就是如果需要对bpmn-js进行定制开发,门槛相对较高,比如bpmn-js编辑器默认是不带有流程节点属性配置功能的,开发者需要另外单独实现此功能。

2. Flowable默认流程编辑器

Flowable包里,默认使用的编辑器似乎采用的是AngularJS开发的一个图形编辑器。界面如下:

可以看到Flowable流程编辑器也提供了比较丰富的组件,对于BPMN 2.0的支持也是十分的完善。并且Flowable流程编辑器对于流程节点的属性(如Execution listeners、Task Listeners等等属性)配置也提供了比较完善的支持。
确定是,我个人感觉这一套UI,似乎有一点点的过时。并且和bpmn-js一样提供的组件过于繁杂,大部分组件可能不太会用得上。

3. Logic Flow

LogicFlow是滴滴开源的一个流程编辑器组件。官方网站: http://logic-flow.org/ 。有以下特点(来自官方网站):

工作流流程编辑器的几种解决方案相关推荐

  1. 【干货】深度学习实验流程及PyTorch提供的解决方案

    转载自:[干货]深度学习实验流程及PyTorch提供的解决方案 [导读]近日,专知小组博士生huaiwen创作了一系列PyTorch实战教程,致力于介绍如何用PyTorch实践你的科研想法.今天推出其 ...

  2. 微信小程序中嵌套html_在微信小程序中渲染HTML内容3种解决方案及分析与问题解决...

    大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题.但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 在微信小程序中渲 ...

  3. Activiti7工作流流程详解

    前言 工作流程是我们日常开发项目中常见的功能,本文主要springboot整合activiti7,梳理activiti在工作中的一些常见用法和功能 一.工作流介绍 1.1 概述 工作流(Workflo ...

  4. HBase上关于CMS、GC碎片、大缓存的一种解决方案:Bucket Cache

    介绍BucketCache前,先对HBase的Cache做个介绍:  一.HBase在读取时,会以Block为单位进行cache,用来提升读的性能: 二.Block可以分类为DataBlock(默认大 ...

  5. Java开发Web Service的几种解决方案

    转自:http://blog.csdn.net/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的 ...

  6. Spring中部署Activiti流程定义的三种姿势

    摘要:本文对工作流Activiti框架中流程定义的部署进行了详细说明介绍. 本文分享自华为云社区<项目中工作流部署详细解析!Spring中部署Activiti流程定义的三种姿势>,作者:攻 ...

  7. 编辑bpmn_最好用的流程编辑器bpmnjs系列之ContextPad

    最好用的流程编辑器bpmn-js系列文章 上一篇文章『最好用的流程编辑器bpmn-js系列之Palette』介绍了modeler模式下如何自定义左侧工具栏Palette,这篇文章将会介绍如果自定义Co ...

  8. 分布式事务中常见的三种解决方案

    分布式事务中常见的三种解决方案 目录 一.分布式事务前奏 二.柔性事务解决方案架构 (一).基于可靠消息的最终一致性方案概述 (二).TCC事务补偿型方案 (三).最大努力通知型 三.基于可靠消息的最 ...

  9. ApsaraDB for SQL Server 混合云场景一种解决方案

    ApsaraDB for SQL Server 混合云场景一种解决方案 场景说明 在服务客户时过程中,有用户需要一种解决方案,来建立本地SQL Server服务与RDS SQL Server服务之间的 ...

最新文章

  1. android gpio驱动实例,Android/Linux 驱动层对GPIO口的操作方法和相关代码
  2. Oracle免安装绿色版-PLSQL连接报12154
  3. [CareerCup] 9.4 Subsets 子集合
  4. C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式)
  5. 苹果CMS音乐猪自适应网站模板
  6. CI -持续集成及相关概念
  7. 【Java】函数使用
  8. 5-17 汉诺塔的非递归实现 (25分)
  9. python 初级笔记
  10. 程序员新电脑装机软件
  11. [AS3.0.1]蓝牙的基本使用,搜索和配对
  12. 大数据之大数据技术架构
  13. 关于临时指针变量和其他临时变量的区别
  14. 【大数据】医疗大数据“九大业务应用”相关研究
  15. Golang环境变量设置(二)--GOMODULEGOPROXY
  16. 区块链方向的论文如何查找
  17. 查看从机状态 mysql_mysql常用操作命令
  18. mysql 小球_c语言编程实例——小球跳动
  19. 【NXP出品PINS-TOOL-IMX】IMX6ULL引脚配置工具PINS-TOOL-IMX介绍
  20. 狂人C学习笔记(1)

热门文章

  1. [导入]朋友一条有趣的QQ个性签名
  2. 再见 Win10!下一代操作系统来了
  3. datafaker生成测试数据插入mysql
  4. eclpise插件安装问题
  5. 用站长工具综合查询查不出网站标题是什么情况?站长工具综合查询
  6. Java替换Word模板中的文字、图片、表格、水印
  7. 如何把chatgpt加入QQ群
  8. C# IEnumerator IEnumerable接口
  9. 如何在ubuntu系统中修改时区?
  10. permanently