中文文档请参见中文文档。
Compileflow是一个非常轻量级、高性能、可集成和可扩展的流程引擎。
Compileflow流程引擎是淘宝业务流程管理(TBBPM)的重要组成部分,致力于优化阿里巴巴淘宝商城的运营。具体来说,Compileflow旨在通过转换进程文件来生成、编译和执行java代码,专注于纯内存执行和无状态进程引擎。
目前,compileflow 为阿里巴巴的电商商店和交易等多个核心系统提供支持。
Compileflow允许开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,在设计师和开发工程师之间架起一座桥梁。
1.提供从业务发展思路的设计到执行的端到端业务流程解决方案。
2.提供多种流程引擎,实现可视化全局架构,使战略轻松转化为可视化,从而增强业务能力、流程和系统。
3.设计高效的执行引擎,能够支持公司快速部署新业务,并能够精简流程,加快开发响应和交互速度。
1.高性能:通过进程文件转换生成java代码,编译执行简单高效。
2、应用场景多样:广泛应用于阿里巴巴中台解决方案;支持导购、交易等多种业务场景。
3.可集成:轻量、简洁的设计使其极其容易集成到各种解决方案和业务场景中。
4.完整的插件支持:Compileflow目前支持IntelliJ IDEA和Eclipse插件。在流程设计过程中可以动态生成并实时预览Java代码。所见即所得。
5.工艺设计图:支持导出为SVG文件和单元测试代码。
插件下载地址:https://github.com/alibaba/compileflow-idea-designer
安装说明:请使用IntelliJ IDEA本地安装方式进行安装。然后重启IntelliJ IDEA即可激活。
< dependency >
< groupId >com.alibaba.compileflow</ groupId >
< artifactId >compileflow</ artifactId >
< version >1.2.0</ version >
</ dependency >
在 search.maven.org 检查可用版本。
注意:Compileflow 仅支持 JDK 1.8 及以上版本。
参考下面的KTV demo,通过demo的演示和实践来了解节点和属性的配置以及API的使用。
演示说明:N个人去ktv唱歌。每个人唱一首歌。 KTV一般收费为30元/人,但总价超过300元可享受10%的折扣。但如果团体总费用低于300元,则需要支付全价。
创建bpm文件,如下图:
注意:bpm文件的路径必须与代码一致。当流程引擎以文件加载方式执行时,会根据代码找到文件。
通过插件设计流程或者直接编写流程xml文件。
编写以下单元测试:
public void testProcessEngine () {
final String code = "bpm.ktv.ktvExample" ;
final Map < String , Object > context = new HashMap <>();
final List < String > pList = new ArrayList <>();
pList . add ( "wuxiang" );
pList . add ( "xuan" );
pList . add ( "yusu" );
context . put ( "pList" , pList );
final ProcessEngine < TbbpmModel > processEngine = ProcessEngineFactory . getProcessEngine ();
final TbbpmModel tbbpmModel = processEngine . load ( code );
final OutputStream outputStream = TbbpmModelConverter . getInstance (). convertToStream ( tbbpmModel );
System . out . println ( processEngine . getTestCode ( code ));
processEngine . preCompile ( code );
System . out . println ( processEngine . start ( code , context ));
}
Compileflow 旨在支持淘宝 BPM 规范。它进行了一些调整以兼容 BPMN 2.0 规范,但仅支持部分 BPMN 2.0 元素。如果需要其他元素,可以在原有基础上进行扩展。
演示快速启动
原淘宝BPM规范详解
请联系@余苏@徐工@梵度@哲良@无相
欢迎注册本期公司名称:#9