JSON转工作流引擎能识别的BPMN
创作时间:
作者:
@小白创作中心
JSON转工作流引擎能识别的BPMN
引用
CSDN
1.
https://blog.csdn.net/QQ1941338475/article/details/139044923
在现代软件开发中,业务流程管理(BPMN)和工作流引擎广泛应用于自动化和优化业务流程。BPMN(Business Process Model and Notaion)作为一种标准的流程建模语言。因此,将JSON转换为BPMN以便工作流引擎识别和执行,作为一个重要的需求。
本文将介绍如何将JSON格式的业务流程描述转换为BPMN,以便被工作流引擎识别和执行。
完整转BPMN代码:lowflow-design-converter: 低代码流程设计器转bpmn (gitee.com)
什么是BPMN?
BPMN是一种用于业务流程模型的图形表示法,它能够让业务人员或技术人员在同一个平台上交流。
BPMN使用图形符号来表示业务活动、事件和决策、具有良好的可读性和标准化特性。
BPMN核心的元素包括:
- 流程(Process)
- 任务(Task)
- 网关(Gateway)
- 事件(Event)
- 连接线(Sequence Flow)
将JSON转换为BPMN
步骤1:解析JSON
首先、需要解析JSON,提取出描述业务流程的关键信息。假设我们的JSON描述了一个简单的业务流程。
{
"code": "test",
"name": "测试模型",
"process": {
"id": "root",
"type": "start",
"name": "发起人",
"child": {
"id": "node_bi7kz",
"pid": "root",
"type": "approval",
"name": "审批人",
"child": {
"id": "end",
"pid": "node_bi7kz",
"type": "end",
"name": "结束"
},
"assigneeType": "user",
"formUser": "",
"formRole": "",
"users": ["admin"],
"roles": [],
"leader": 1,
"orgLeader": 1,
"choice": false,
"self": false,
"multi": "sequential",
"nobody": "pass",
"nobodyUsers": [],
}
},
"remark": ""
}
步骤2:创建节点类
分别为:
- StartNode: 开始节点
- CcNode: 抄送节点
- ApprovalNode: 审批节点
- ConditionNode:条件节点
- ExclusiveNode:互斥分支节点
- TimerNode: 计时等待节点
- EndNode: 结束节点
步骤3:创建模型类
创建一个类名为:ProcessModel类,并提供一个toBpmnModel方法将类转为BpmnModel
步骤4:节点转换
以审批节点为例子,创建UserTask类并赋值对应的属性配置
配置完用户审批节点后,创建SequenceFlow类连接到下一个节点
步骤5:转为BPMN
导入转换依赖
Flowable的bpmn转换依赖
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-converter</artifactId>
<version>6.8.0</version>
</dependency>
Activiti的bpmn转换依赖
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-bpmn-converter</artifactId>
<version>7.1.0.M6</version>
</dependency>
转换BPMN并下载
结论
将 JSON 转换为 BPMN 是一个将数据格式标准化的重要步骤,确保业务流程能够在不同系统之间无缝衔接和执行。通过解析 JSON 并生成相应的 BPMN XML,可以实现这一目标。
希望本文能够为您提供有价值的参考,帮助您在实际项目中实现 JSON 到 BPMN 的转换。如果有任何问题或建议,欢迎交流讨论
热门推荐
你如何利用满月的力量?
射频PCB与常规PCB的区别有哪些?
羽毛球拍磅数高低大不同,你真的选对了吗?
暗黑破坏神2:揭秘符文之语公式大全
面部过敏发红快速消除方法
警告处罚的执行方式详解(必须掌握的规则和方法)
公司法题库简答题的法律框架及其实践应用分析
广州珠江职业技术学院(民办)高职高考简介
伦敦交通系统完全指南:地铁、巴士和火车使用攻略
心碎!全瓷牙不到半年就裂开了怎么办?全瓷牙绷瓷了能修复吗?急求专科医生回答!
酿酒酵母表面展示与抗体筛选:构建高效抗体库的关键策略
跨部门沟通称呼的讲究
如何正确理解lx单位?这个单位在哪些领域有应用?
鱼俱罗之死:历史谜团与真实探讨
昆明房地产市场显暖意,政策利好如何影响购房者?
全流程管控确保锂电池安全
《猩球崛起4》上映,新旧世界碰撞下,未来在人猿谁手中?
科学家证实:酸奶与多种癌症风险降低有关,还有这些意想不到的健康功效
互联网时代传播的话语权
拨码开关原理深度解析:二进制编码的巧妙应用
放射性污染防治法:守护环境与健康的坚实盾牌
直降50万!2025考研人数388万,人数持续下降
茶室内小叶赤楠养护指南:打造生机勃勃的绿色空间
杭州算力大会 最全最核心概念股梳理
关于防晒霜的一切
拼音的历史超过400年,还是外国人发明的!我国古人如何注音?
换了车ETC怎样变更?两种情况详解
如何改善毛孔粗大和皮肤粗糙?从清洁到饮食全方位护理指南
IR2110/IR2113的引脚图、工作原理及其典型应用电路与中文资料分析
Windows 11文件资源管理器使用指南