工作流流程编辑器的几种解决方案
前言
近阶段参与的项目需要集成工作流功能,在对比了市面上比较流行的极大框架后,最后不出意外应该是三个框架中的一个:Activiti
、Flowable
、Camunda
。
这里先不讨论工作流驱动引擎部分,单单就工作流流程编辑器部分展开探讨。
上面三个工作流驱动引擎,都兼容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/ 。有以下特点(来自官方网站):
工作流流程编辑器的几种解决方案相关推荐
- 【干货】深度学习实验流程及PyTorch提供的解决方案
转载自:[干货]深度学习实验流程及PyTorch提供的解决方案 [导读]近日,专知小组博士生huaiwen创作了一系列PyTorch实战教程,致力于介绍如何用PyTorch实践你的科研想法.今天推出其 ...
- 微信小程序中嵌套html_在微信小程序中渲染HTML内容3种解决方案及分析与问题解决...
大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题.但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 在微信小程序中渲 ...
- Activiti7工作流流程详解
前言 工作流程是我们日常开发项目中常见的功能,本文主要springboot整合activiti7,梳理activiti在工作中的一些常见用法和功能 一.工作流介绍 1.1 概述 工作流(Workflo ...
- HBase上关于CMS、GC碎片、大缓存的一种解决方案:Bucket Cache
介绍BucketCache前,先对HBase的Cache做个介绍: 一.HBase在读取时,会以Block为单位进行cache,用来提升读的性能: 二.Block可以分类为DataBlock(默认大 ...
- Java开发Web Service的几种解决方案
转自:http://blog.csdn.net/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的 ...
- Spring中部署Activiti流程定义的三种姿势
摘要:本文对工作流Activiti框架中流程定义的部署进行了详细说明介绍. 本文分享自华为云社区<项目中工作流部署详细解析!Spring中部署Activiti流程定义的三种姿势>,作者:攻 ...
- 编辑bpmn_最好用的流程编辑器bpmnjs系列之ContextPad
最好用的流程编辑器bpmn-js系列文章 上一篇文章『最好用的流程编辑器bpmn-js系列之Palette』介绍了modeler模式下如何自定义左侧工具栏Palette,这篇文章将会介绍如果自定义Co ...
- 分布式事务中常见的三种解决方案
分布式事务中常见的三种解决方案 目录 一.分布式事务前奏 二.柔性事务解决方案架构 (一).基于可靠消息的最终一致性方案概述 (二).TCC事务补偿型方案 (三).最大努力通知型 三.基于可靠消息的最 ...
- ApsaraDB for SQL Server 混合云场景一种解决方案
ApsaraDB for SQL Server 混合云场景一种解决方案 场景说明 在服务客户时过程中,有用户需要一种解决方案,来建立本地SQL Server服务与RDS SQL Server服务之间的 ...
最新文章
- android gpio驱动实例,Android/Linux 驱动层对GPIO口的操作方法和相关代码
- Oracle免安装绿色版-PLSQL连接报12154
- [CareerCup] 9.4 Subsets 子集合
- C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式)
- 苹果CMS音乐猪自适应网站模板
- CI -持续集成及相关概念
- 【Java】函数使用
- 5-17 汉诺塔的非递归实现 (25分)
- python 初级笔记
- 程序员新电脑装机软件
- [AS3.0.1]蓝牙的基本使用,搜索和配对
- 大数据之大数据技术架构
- 关于临时指针变量和其他临时变量的区别
- 【大数据】医疗大数据“九大业务应用”相关研究
- Golang环境变量设置(二)--GOMODULEGOPROXY
- 区块链方向的论文如何查找
- 查看从机状态 mysql_mysql常用操作命令
- mysql 小球_c语言编程实例——小球跳动
- 【NXP出品PINS-TOOL-IMX】IMX6ULL引脚配置工具PINS-TOOL-IMX介绍
- 狂人C学习笔记(1)
热门文章