当前位置:网站首页>compileflow 淘宝工作流引擎
compileflow 淘宝工作流引擎
2022-07-15 16:45:00 【靈熙雲】
compileflow是什么
compileflow是一个非常轻量、高性能、可集成、可扩展的流程引擎。
compileflow Process引擎是淘宝工作流TBBPM引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。
compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。
设计意图
- 希望为业务开发提供端至端,从设计至实现的业务流程解决方案。
- 提供多种流程引擎,实现从战略至商业能力,商业能力至业务流程,业务流程至系统,并最终实现业务的可视化全局架构。
- 设计高效的执行引擎,实现对服务的快速组合或扩展,提升idea(构思)至value(价值)的研发响应与交互速度。
特色
- 高性能:通过将流程文件转换生成java代码编译执行
(爽啊,Activiti可没这功能),简洁高效。 - 丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。
- 可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。
- 完善的插件支持:流程设计目前有IntelliJ IDEA、Eclipse插件支持,可以在流程设计中实时动态生成java代码并预览,所见即所得。
- 支持流程设计图导出svg文件和单元测试代码。
IntelliJ IDEA安装插件
注意: compileflow仅支持JDK 1.8及以上版本。
以IntelliJ IDEA 2019版本为例,下载最新包到本地

使用本地安装的方式安装,注意安装整个zip不用手动解压



重启IntelliJ IDEA就会生效
使用教程
如果Maven项目,需引入依赖
<dependency>
<groupId>com.alibaba.compileflow</groupId>
<artifactId>compileflow</artifactId>
<version>1.0.0</version>
</dependency>
简单示例
新建BPM文件
- 可在resources目录下创建,选中resources目录右键点击【Create New Bpm
File】。例如我这边创建在resources的bpm目录下。

- 输入文件名,例如:我这里的hello

- 插件默认会生成了hello.bpm文件,是一个简单的开平方根demo流程,如下图

可视化编辑
- 你可以选择下方【process-flow】进行可视化编辑,从左侧拖入节点到画布,或者选中节点拖动。

- 双击空白处可编辑全局参数

- 双击节点可以编辑节点参数(拖拽可调整节点位置)

Java代码预览
- 可以选择下方【java code】进行Java代码预览。

创建测试代码
- 选中文件右键,点击【Create New Bpm JUnit Test】可自动生成测试类

- 到指定路径查看生成的测试类(修改入参数运行整个demo就完成了)

边栏推荐
- Notes on custom types such as structs, enumerations, unions, etc
- 物理学\数学中常用的“等号”
- OTA 升级中的跟文件系统切换
- markdown学习笔记 第二章 基本语法 (markdown编辑器下显示)
- MySQL index
- PD QC诱骗取电应用IC《乐得瑞LDR6328S》广泛应用于各大小家电
- Gurobi——GRBModel
- MySQL - File /var/log/mysql/mysql-bin. index not found (Errcode 13 - Permission denied)
- Explore ZGC
- Segment tree beats~
猜你喜欢

【面试必刷101】哈希

C语言 栈的顺序表实现

How to break the magic spell with a good hand in the strong B & B industry?

Type-c边充边传数据应用OTG功能(LDR6028S)

1-初识FPGA

MySQL index

Distributed basic theory that cannot be ignored
![[Mori city] random talk on GIS data (IV) - coordinate system](/img/c8/9c58be36247c59582bd4c645ba3774.jpg)
[Mori city] random talk on GIS data (IV) - coordinate system

Type-C charging OTG chip (ldr6028s)

Among the top 50 intelligent operation and maintenance enterprises in 2022, Borui data strength was selected
随机推荐
"Immersive" accommodation experience - new bottle of hotel, old wine of B & B
MySQL数据库安装&问题
5阶多项式轨迹
Type-C application OTG function while charging and transferring data (ldr6028s)
dried food! Teach you how to build a highly available architecture
Ldr9201 audio digital decoding DAC plus ldr6023c digital plus PD fast charging scheme
C语言 第七章 预处理
OTA 升级中的跟文件系统切换
flask基本用法
翻转单词/Maxqueue/二次树的序列化和反序列化
Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)
CAN协议初介绍
Unet在电池分割项目上应用
设置dropout参数技巧
Great Cells & Counting Grids
What app should individuals use to buy stocks is safer and faster
win10 安装mmdetection记录
Explore ZGC
Redis介绍和安装
Notes on custom types such as structs, enumerations, unions, etc