工作流

简介

什么是工作流

工作流是指业务过程部分或整体在计算机应用环境下的自动化.是对工作流程及其各操作步骤之间业务规则的抽象,概括描述

在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分

就好比一般的请假流程,小明会先提出请假申请,然后由Leader审批或者Manager进行审批,直至审批通过或者拒接。

如果让我们实现请假单状态的切换,那么用一个字段来标识就可以了。

然而对于复杂的状态或者状态维度增加且状态流转的条件极为复杂,可能单纯用字段记录状态的实现方式就会不那么理想。

工作流解决的痛点在于,解除业务宏观流程和微观逻辑的耦合,让熟悉宏观业务流程的人去制定整套流转逻辑,而让专业的人只需要关心他们应当关心的流程节点,就好比大家要一起修建一座超级体育场,路人甲只需要关心他身边的这一堆砖是怎么堆砌而非整座建筑。

主流工作流框架

目前主流的开源框架就是activiti/camunda/Flowable

先是有了jbpm4,随后出来了一个Activiti5,Activiti5经过一段时间的发展,核心人员出现分歧,又分出来了一个Camunda。

activiti5发展了4年左右,紧接着就出现了Flowable。

activiti

activiti是一个针对业务人员,开发人员和系统管理员的轻量级工作流业务和流程管理(BPM)平台.它的核心是用于java的超快速和坚如磐石的BPMN2流程引擎.它是开源的并在APache许可下分发.activiti开源在任何java应用程序,服务器,集群,或云中运行.它与spring完美集成,非常轻量级,基于简单的概念

Activiti Cloud 现在是新一代的业务自动化平台,提供一组旨在在分布式基础架构上运行的云原生构建块。

Flowable

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

主要服务类:flowable服务类和activiti类似,没有太大的变化

设计器:eclipse插件,支持5.x版本,不支持6.x版本中新增加的节点和属性,online web设计器基于AngularJs1.x版本开发

camunda

camunda是一个基于java的框架,支持用于工作流和自动化的BPMN,用于案例管理的CMMN和用于业务决策管理的DMN

Last modification:August 25, 2022
如果觉得我的文章对你有用,请随意赞赏