JDEasyFlow流程编排技术组件介绍

新知榜官方账号

2023-10-23 00:04:50

JDEasyFlow流程编排技术组件介绍

JDEasyFlow是企业金融研发部自研的通用流程编排技术组件,适用于服务编排、工作流、审批流等场景,该组件已开源(https://github.com/JDEasyFlow/jd-easyflow),目前在部门的内部业务系统和科技输出系统中广泛应用,其他部门也有使用。它的特点是简单、灵活、易扩展,开发人员一般30分钟可入门上手,半天可掌握其原理。它分为一个核心模块和若干扩展模块,模块之间松耦合,开发使用时可按需选择、快速集成、渐进式应用,同时支持JSON内置规范和BPMN规范。它的实现原理也有其特色,后面有介绍。

SEO关键词

  • JDEasyFlow
  • 流程编排
  • 企业金融
  • 工作流
  • 审批流
  • 开源

摘要

JDEasyFlow是一个简单、灵活、易扩展的流程编排技术组件,适用于服务编排、工作流、审批流等场景。该组件已开源,目前在部门的内部业务系统和科技输出系统中广泛应用。它分为一个核心模块和若干扩展模块,模块之间松耦合,开发使用时可按需选择、快速集成、渐进式应用,同时支持JSON内置规范和BPMN规范。

内容

JDEasyFlow是企业金融研发部自研的通用流程编排技术组件,适用于服务编排、工作流、审批流等场景。它的特点是简单、灵活、易扩展,开发人员一般30分钟可入门上手,半天可掌握其原理。它分为一个核心模块和若干扩展模块,模块之间松耦合,开发使用时可按需选择、快速集成、渐进式应用,同时支持JSON内置规范和BPMN规范。它的实现原理也有其特色,后面有介绍。

JDEasyFlow支持顺序流转、条件流转、循环流转等类型的节点流转,支持脚本节点、用户节点和消息节点等类型的节点功能。节点串并类型支持串行执行、并行执行、串并组合执行等。流程交互场景支持单次交互一次执行多节点、多次交互一次执行一节点、多次交互一次执行多节点等。JDEasyFlow还支持子流程的场景,可将把复杂的流程节点拆分为子流程,便于业务逻辑抽象。流程任务审批方面,JDEasyFlow提供了流程任务审批的能力,支持常用的审批、撤销、驳回、会签、加签等功能,既支持从页面发起和操作流程任务,也支持API的方式,京东OA审批系统也有对接。

JDEasyFlow的功能架构如下图,功能模块之间松耦合,开发时可按需选择、快速集成、渐进式应用。最简单的使用方式为只在业务应用端引入jar包使用流程引擎。如果需要流程可视化功能,可集成BPMN规范模块,如果还需要流程实例持久化、流程定义持久化等更丰富功能,则可以集成其他相关模块。

JDEasyFlow的核心模块是流程引擎模块,提供了基于JSON格式的JDEasyFlow规范进行流程编排的能力,其他模块均基于该模块扩展,相当于流程执行的发动机、CPU。该功能模块为独立组件,无数据库依赖,应用中引入jar包便可使用。BPMN规范模块提供了基于BPMN规范进行流程定义和可视化的能力,流程可视化基于bpmn-js,其本质为提供了将BPMN格式流程定义转换为JDEasyFlow格式的能力。该模块为独立组件,仅依赖流程引擎模块,无数据库和服务依赖,应用中引入jar包便可使用。JDEasyFlow还包含流程定义和实例管理模块、任务/审批模块等,支持流程定义的中心化、版本化管理,支持流程实例的持久化和生命周期管理。流程的任务审批流转是在服务端执行,一方面取决于流程服务端的计算性能,另一方面同样取决于数据库的查询和插入效率。

JDEasyFlow的完整系统架构如下,主要有三个端:业务应用端、流程服务端、流程管理端,三个端可部署在单体应用中,也可分开部署。中间件依赖包括关系型数据库、缓存、服务通讯框架等。数据库数据模型比较简单清晰,性能上主要依赖于数据库的查询和插入效率。对于流程任务审批功能,流程的任务审批流转是在服务端执行,一方面取决于流程服务端的计算性能,另一方面同样取决于数据库的查询和插入效率。

JDEasyFlow的实现原理是参考了计算机指令执行模型而实现,引擎内部通过类似程序计数器(PC)的待执行节点栈来维护后继节点,可以理解为是一种高级业务编程语言,它同时也是图灵完备的。流程引擎核心模型名词只有一个:节点(Node),节点的功能为执行逻辑并输出后续节点。

JDEasyFlow可满足任何流程场景,它主要可解决流程可编排、功能松耦合和流程可视化等问题。在实际软件系统开发过程中,如果有业务流程是有明显的多个节点组成、希望流程可灵活变更、业务流程级别比程序流程高一层,在编程语言级别难以聚合和治理等诉求,可考虑使用JDEasyFlow流程编排技术组件。

本页网址:https://www.xinzhibang.net/article_detail-17673.html

寻求报道,请 点击这里 微信扫码咨询

关键词

JDEasyFlow 流程编排 企业金融 工作流 审批流 开源

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯