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 的转换。如果有任何问题或建议,欢迎交流讨论
热门推荐
说走就走,秋日的第一场徒步就从古蜀道开启!
打造区域医疗高地 增进群众健康福祉——石家庄公立医院改革与高质量发展纪实
拯救干痒喉咙:摆脱夜间咳嗽魔咒
为什么《三国》里的人物多单名?
如何聪明选配游戏PC?从入门到发烧全攻略
八字命理如何看出你是否适合从事经营活动
黄家驹是超群绝伦,还是被过度“神话”
使用生姜片能否止牙痛
业主停车位维权策略
近期高发,这种病让人又痒又痛!最近返乡或去旅游的一定要注意(不是感冒)
王者荣耀东皇太一技能使用顺序
中澳之战门票15分钟售罄,“大莲花”准备好了吗?
泰国留学专业硕士申请条件
盎格鲁-撒克逊人的发展历史
如何提升CDN带宽:从内容优化到多CDN策略
【罕见病】Alport综合征
北京社保断交后如何解决?解决断交问题需要考虑哪些因素?
大脑5-HT2A受体结合与个性化抑郁风险标记的积极关联
AI时代:对服装企业的变革与影响
机器人和人类的协作未来
四川省发改委:全球近20%的柔性屏幕贴上“四川造”标签
如何合理规划汽车保养预算以降低维护成本?不同里程的保养费用有何差异?
恋爱关系中的互相支持与包容
喝茶怕失眠?無咖啡因茶推薦!「漢方茶」提神還能幫助入睡,安心品嘗好處多!
au750和18k金有什么区别?
物业管理规约的性质及与合同的关系
小区地下车位是否是业主共同产权
发现宇宙中最大的结构:天文学家将其命名为“Quipu”
常备药不能当“长期饭票” 重庆药监提醒:药物滥用或影响免疫力
赵伟:比特币vs黄金,谁是避险之王?