OneCode低代码引擎-流程引擎白皮书

一,前言

在低代码应用中,应用比例非常高的一种应用便是以流程+表单驱动为模型的各种审批类引用。但流程在低代码平台中的应用绝不是简简单单的流程+表单的模型。而是站在更高的层次上在自然时间轴为基础的维度上,将事件、数据、响应、人工交互等因素进行特定场景下的编排逻辑处理。

开源地址:wenzhang

在线演示地址: http://cluster.raddev.cn:9090/RAD/DSMdsm/projectManager

流程引擎的核心作用则是:

(1)流程定义期间:提供静态的数据规则,事件规范、响应逻辑、以及人工干预的规则和时机.

(2)流程运行期间:根据预定义的规则规范,处理转换逻辑,自动响应突发事件,执行响应逻辑以及规范认为参与过程。

(3) 流程归档期间:针对运行期特定的数据运行完成历史数据痕迹保留,完整的记录执行过程,以便于特殊应用下可以进行还原仿真等操作。同时在归档期间针对数据做便于检索和还原的数据结构处理。

流程定义

二,OneCode流程定义工具(BPD)

OneCode流程引擎采用的是完全符合国际工作流联盟(wfmc)标准的XPDL2.0语言,支持BPMN2.0的标准扩展开放标准,任何组织或个人都可以直接获取流程定义描述,并可以通过任何工具完成相关XML文件编辑上传至流程引擎服务器。

OneCode流程定义工具(以下简称BPD)是在XPDL2.0标准开源编辑工具(jawe)基础上,通过插件扩展及通用工程化来满足流程引擎的业务定义需求。

(1)流程定义(BPD)基本结构:

流程定义工具分为5个基本区域,

(1) 全图导览:方便大型流程图的快速导航查询

(2) 流程工程导航:针对工程配置以及流程类型进行分类管理

(3)主绘图区域:主绘图区域是图形元素编辑和管理的区域支持,圈选、批量复制,深度克隆、跨流程复制等操作。

(4)XPDL代码区域:代码与视图是同步更新的,便于对于标准语句的处理。

(5)图形工具栏:图形工具栏是一组可拖动的活动元素,是流程抽象的核心节点体现。

(2)流程编排元素:

流程定义工具(BPD)中将活动(节点)元素根据业务的基础模型进行了抽象与分类。

(1) 消息活动

当收到消息时可以作为自触发启动或推动流程运行,当流程推进到该节点时可以触发消息事件。

(2) 人工活动

人工活动是业务中最常见的类型,主要包括参与人员权限控制。以及流转过程中(表单、页面的操作)

人工活动属性

权限设定

1, 单人、多人、会签等常见需求

2, 办理方式支持,抢占、顺序、并行等多种方式

3, 办理方式支持、办理人、传阅人、代签等常见方式。

(3)定时任务

定时任务是流程中常见的自驱动节点,通过对自定义的规则以及用户扩展的应用完成流程自足驱动配置。

(4)微服务(API编排)

API编排是针对后端Api结合规则引擎,而设定的DSL表达式端口,通过规则引擎简化业务逻辑,实现动态逻辑嵌入。

(5)设备

通过从IOT引擎,读取设备列表并进行管理逻辑设定

(6)场景

场景是工作流应用中的一个特殊应用,场景应用可以为流程引擎提供一个特殊的运行上下文环境。

(7)子流程

在流程比较复杂时通常会对流程进行拆分重组,BPD在这设计之初既支持了流程的多重嵌套应用。

三,流程引擎

(1)功能概览

(2)页面流转控制

页面驱动部分主要负责将数据与页面表单的常用逻辑进行封装实现常用数据存储和管理逻辑。

数据表单

数据控制选项

(3)IOT引擎

(4)服务编排

五,IOT烟雾报警实例

(1)新建流程

新建紧急流程

(2)监听设备事件

(3)响应配置服务

(4)通知社区管理员

(5)解除报警

(6)设置完毕激活流程

六,请销假

(1)绘制配置流程

新建

绘制流程

(2)设置权限

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

权限设定

(3)表单数据源

(4)仿真运行

(七)插件

(1)流程插件

OneCode 插件体系针对流程进行了独立设计支持。并将插件体系直接植入到流程定义的各个环节。允许用户根据自身行业以及项目要求,自由定义扩展功能。并可以通过OneCode扩展 基于流程定义的扩展面板。

流程插件管理

流程插件展示

(2),无代码插件(宏公式 )

宏公式是专为普通用户开发插件设计的无代码开发工具。普通用户可以通过类似execl宏公式的方式参与插件开发。

添加一个组件授权插件宏公式

为参数选择器绑定选择器

公式编辑器示例

用户实际使用

点击公式后弹出参数选择器

猜你喜欢

转载自blog.csdn.net/wenzhangli/article/details/129174194