适用场景

基本上所有可抽象为流程的场景都适用JDEasyFlow。常见的场景有两类:

1、服务编排类,如订单处理、信贷授信等,示例如下:

java 审核派单 java审批流_github

2、审批流,如下图:

java 审核派单 java审批流_java_02

实际上服务编排和审批流都属于流程编排,甚至二者可以混合使用。

整体上,JDEasyFlow是一款通用的流程编排技术工具,它把流程编排相关的技术功能进行抽象、封装和支持,提供极简极灵活的使用方式,目的是让使用的研发人员将工作尽可能的聚集在业务流程及节点的抽象和实现上,编排相关的技术类工作就交给JDEasyFlow好了。

功能模块架构

以上为JDEasyFlow的整体功能模块架构,各模块介绍如下:

  • 流程引擎模块: JDEasyFlow的核心模块,负责流程定义规范、解析流程定义、执行流程实例,其他模块均基于此模块扩展,可理解为流程执行的发动机、CPU。
  • BPMN规范模块:支持通过BPMN可视化面板方式定义BPMN规范的流程,模块内部将BPMN规范转换为JDEasyFlow自定义规范,BPMN设计器界面如下:

java 审核派单 java审批流_java-ee_03

  • 定义管理模块:支持流程定义的统一管理、流程定义自动从本地上报、流程定义版本管理等
  • 实例管理模块:支持流程实例的持久化及流程和节点的生命周期管理
  • 任务审批模块:支持任务创建、任务分配、任务执行等功能,常见的任务撤销、驳回、加签、会签等功能均支持

        流程引擎模块和BPMN规范模块相对轻量级,现已开源,直接引入jar包按手册编写流程定义文件、开发流程节点和流程调用的代码便可;定义管理和实例管理模块是基于流程引擎和BPMN规范模块的功能扩展,相对重一些,依赖数据库和管理后台,后续开源;任务审批模块依赖定义管理和实例管理模块。

后续章节说明

后续章节将先介绍已开源的流程引擎模块和BPMN模块的使用指南和实现原理,欢迎大家使用,有问题可随时与作者沟通。