OneCode- 流程引擎设计
一,前言
在低代码应用中,应用比例非常高的一种应用便是以流程+表单驱动为模型的各种审批类引用。但流程在低代码平台中的应用绝不是简简单单的流程+表单的模型。而是站在更高的层次上在自然时间轴为基础的维度上,将事件、数据、响应、人工交互等因素进行特定场景下的编排逻辑处理。
开源地址:OneCode
在线演示地址: http://demo.raddev.cn:9080/RAD/DSMdsm/projectManager
OneCode 开源低代码引擎 412 播放 · 0 赞同视频

流程引擎的核心作用则是:
(1)流程定义期间:提供静态的数据规则,事件规范、响应逻辑、以及人工干预的规则和时机.
(2)流程运行期间:根据预定义的规则规范,处理转换逻辑,自动响应突发事件,执行响应逻辑以及规范认为参与过程。
(3) 流程归档期间:针对运行期特定的数据运行完成历史数据痕迹保留,完整的记录执行过程,以便于特殊应用下可以进行还原仿真等操作。同时在归档期间针对数据做便于检索和还原的数据结构处理。

编辑切换为居中
流程定义
二,OneCode 流程定义工具(BPD)
OneCode 流程引擎采用的是完全符合国际工作流联盟(wfmc)标准的 XPDL2.0 语言,支持 BPMN2.0 的标准扩展开放标准,任何组织或个人都可以直接获取流程定义描述,并可以通过任何工具完成相关 XML 文件编辑上传至流程引擎服务器。
OneCode 流程定义工具(以下简称 BPD)是在 XPDL2.0 标准开源编辑工具(jawe)基础上,通过插件扩展及通用工程化来满足流程引擎的业务定义需求。
(1)流程定义(BPD)基本结构:
流程定义工具分为 5 个基本区域,

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(1) 全图导览:方便大型流程图的快速导航查询
(2) 流程工程导航:针对工程配置以及流程类型进行分类管理
(3)主绘图区域:主绘图区域是图形元素编辑和管理的区域支持,圈选、批量复制,深度克隆、跨流程复制等操作。
(4)XPDL 代码区域:代码与视图是同步更新的,便于对于标准语句的处理。
(5)图形工具栏:图形工具栏是一组可拖动的活动元素,是流程抽象的核心节点体现。
(2)流程编排元素:
流程定义工具(BPD)中将活动(节点)元素根据业务的基础模型进行了抽象与分类。
(1) 消息活动

编辑切换为居中
添加图片注释,不超过 140 字(可选)
当收到消息时可以作为自触发启动或推动流程运行,当流程推进到该节点时可以触发消息事件。
(2) 人工活动
人工活动是业务中最常见的类型,主要包括参与人员权限控制。以及流转过程中(表单、页面的操作)

编辑切换为居中
人工活动属性

编辑切换为居中
权限设定

编辑切换为居中
添加图片注释,不超过 140 字(可选)
1, 单人、多人、会签等常见需求
2, 办理方式支持,抢占、顺序、并行等多种方式
3, 办理方式支持、办理人、传阅人、代签等常见方式。
(3)定时任务
定时任务是流程中常见的自驱动节点,通过对自定义的规则以及用户扩展的应用完成流程自足驱动配置。
(4)微服务(API 编排)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
API 编排是针对后端 Api 结合规则引擎,而设定的 DSL 表达式端口,通过规则引擎简化业务逻辑,实现动态逻辑嵌入。
(5)设备
通过从 IOT 引擎,读取设备列表并进行管理逻辑设定

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(6)场景
场景是工作流应用中的一个特殊应用,场景应用可以为流程引擎提供一个特殊的运行上下文环境。

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(7)子流程
在流程比较复杂时通常会对流程进行拆分重组,BPD 在这设计之初既支持了流程的多重嵌套应用。
三,流程引擎
(1)功能概览

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(2)页面流转控制
页面驱动部分主要负责将数据与页面表单的常用逻辑进行封装实现常用数据存储和管理逻辑。

编辑切换为居中
数据表单

编辑
数据控制选项

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(3)IOT 引擎

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(4)服务编排

编辑切换为居中
添加图片注释,不超过 140 字(可选)
五,IOT 烟雾报警实例
(1)新建流程

编辑切换为居中
新建紧急流程
(2)监听设备事件

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(3)响应配置服务

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(4)通知社区管理员

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(5)解除报警

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(6)设置完毕激活流程

编辑切换为居中
添加图片注释,不超过 140 字(可选)
六,请销假
(1)绘制配置流程

编辑切换为居中
新建

编辑切换为居中
绘制流程
(2)设置权限

编辑切换为居中
活动事件面板支持常见流转功能:预警、退回、串行、并行发送、特送等选项可供选择。

编辑切换为居中
权限设定

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(3)表单数据源

编辑
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(4)仿真运行

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(七)插件
(1)流程插件
OneCode 插件体系针对流程进行了独立设计支持。并将插件体系直接植入到流程定义的各个环节。允许用户根据自身行业以及项目要求,自由定义扩展功能。并可以通过 OneCode 扩展 基于流程定义的扩展面板。

编辑切换为居中
流程插件管理

编辑切换为居中
添加图片注释,不超过 140 字(可选)

编辑切换为居中
流程插件展示

编辑切换为居中
添加图片注释,不超过 140 字(可选)
(2),无代码插件(宏公式 )
宏公式是专为普通用户开发插件设计的无代码开发工具。普通用户可以通过类似 execl 宏公式的方式参与插件开发。

编辑切换为居中
添加一个组件授权插件宏公式

编辑切换为居中
为参数选择器绑定选择器

编辑切换为居中
公式编辑器示例

编辑切换为居中
用户实际使用

编辑切换为居中
点击公式后弹出参数选择器

编辑切换为居中
添加图片注释,不超过 140 字(可选)
评论