当前位置: 首页 > Web前端 > HTML

看看CabloyJS工作流引擎是如何实现Activiti边界事件的

时间:2023-03-28 19:53:21 HTML

看看CabloyJS工作流引擎是如何实现Activiti边界事件的,大部分用于数据CRUD管理、中层聚合、中层代理等工具场景,很少深入到业务领域的核心。许多使用NodeJS开发的最小可行产品(MVP)最终都会被重构。这是原因之一。作为业务开发平台,NodeJS还缺少很多核心基础组件,NodeJS工作流引擎就是其中之一。CabloyJS从4.0版本开始专注于NodeJS工作流引擎的开发,作为内置的基础核心模块(同样开源免费),进一步拓展了NodeJS在后端的应用场景,提供了深入的各种商业业务逻辑的研发。基础支持2.特性更简单的配置:使用JSON配置流程定义,告别XML配置文件的凌乱更清晰的架构:基于分层机制,使用多个核心模块构建工作流引擎的架构,让工作流边界事件的概念和实现1.Activiti的边界事件在Activiti流程引擎中,边界事件可以用来将特定目的的处理逻辑附加到流程节点上。例如,在流程节点中添加定时器边界事件。如果节点没有在指定时间内执行,则自动触发边界事件。2.CabloyJS的节点行为边界事件的本质是给流程节点附加特定的行为。因此,CabloyJS采用节点行为机制来实现类似Activiti中边界事件的功能。CabloyJS为节点行为设计了统一的开发规范,允许第三方开发自定义节点行为类型。CabloyJS系统本身会根据业务的实际需求和优先级不断增加内置的节点行为类型。建立连接在CabloyJS中,直接在主动节点的JSON配置中添加行为配置,使得流程定义文件更加简洁、紧凑,易于开发:Activiti中提供了几个内置的边界事件,大部分场景基于对这些内置的边界事件进行了开发,但很少有人尝试开发自定义边界事件。在CabloyJS中,提供了非常清晰的编程接口,不仅内置了常用的节点行为,还允许第三方轻松开发自定义节点行为类型。下面演示动图演示:给review节点添加超时行为,系统自动分配颜色区分不同的行为配置:Duration从行为中拉出一条传输线,指向起草节点效果:超过指定时如果要进一步研究如何创建完整的流程定义,请参考:Demo:CMSApprovalWorkflowDemo:CMSApprovalWorkflow(VisualEditing)JSON规范支持节点行为,在原有流程定义的基础上,主动的JSON规范节点和传输线的JSON规范同时展开??,参见:流程定义JSON规范主动节点JSON规范传输线JSON规范1、主动节点JSON规范在常规主动节点JSON规范中behaviors属性已经被添加到。由于一个节点可以附加多个行为,行为是一个数组{id:'activity_1',name:'Review',type:'activityUserTask',options:{assignees:{vars:'flowUser',},},behaviors:[{id:'behavior_1',name:'Overtime',type:'overtime',color:'#FF3B30',options:{cancelActivity:true,timeDuration:3000,},},],},行为名称描述idbehavior唯一标识名称behaviornametypebehaviortypecolor行为颜色。由于行为也会导致转接线路,因此可以使用不同的颜色来区分options行为配置,对应不同的行为类型2.转接线路JSON规范在常规转接线路JSON规范基础上增加了一个行为属性来标识转接线路对应的behaviorId{id:'edge_3',source:'activity_1',target:'startEvent_1',behavior:'behavior_1',},name表示行为对应的行为Id,不设置就是绘制的传输线来自节点本身的相关链接CabloyJS网站:https://cabloy.com/NodeJS工作流引擎文档:https://cabloy.com/zh-cn/arti...GitHub源码仓库:https://github.com/真南/c...