compileflow 是什么
compileflow 是一个非常轻量、高性能、可集成、可扩展的流程引擎。
compileflow Process 引擎是淘宝工作流 TBBPM 引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成 java 代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。
compileflow 能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。
功能列表
- 高性能:通过将流程文件转换生成 java 代码编译执行,简洁高效。
- 丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。
- 可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。
- 完善的插件支持:流程设计目前有 IntelliJ IDEA、Eclipse 插件支持,可以在流程设计中实时动态生成 java 代码并预览,所见即所得。
- 支持流程设计图导出 svg 文件和单元测试代码。
- 支持基于 Java 反射和 Spring 容器的代码触发
快速上手
- 引入 compileflow jar 依赖
1 | xml复制代码<dependency> |
- 使用 compileflow 绘制了简单的流程图
- 查看编译出的流程业务Java代码(以下代码为compileflow自动根据流程图生成的)
1 | java复制代码public class PigFlow implements ProcessInstance { |
- 在设计好的 bpm 文件右键创建 单元测试
1 | java复制代码@Test |
- 执行流程单元测试,输出目标过程
1 | markdown复制代码假装在计算金额~~~~~~10 |
总结
- compileflow 极其容易上手,降低工作流学习的难度。
- compileflow IDEA 设计插件在 2021 版本兼容性存在问题。
- 自动生成的单元测试代码依赖版本较低不支持 Junit5
本文转载自: 掘金