compileflow 轻量级可扩展流程引擎开源项目

我要开发同款
匿名用户2020年08月20日
36阅读
开发技术Java
所属分类程序开发、工作流引擎
授权协议Apache

作品详情

compileflow是一个非常轻量、高性能、可集成、可扩展的流程引擎。

compileflowProcess引擎是淘宝工作流TBBPM引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效。

compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。

DesignIntention希望为业务开发提供端至端,从设计至实现的业务流程解决方案。提供多种流程引擎,实现从战略至商业能力,商业能力至业务流程,业务流程至系统,并最终实现业务的可视化全局架构。设计高效的执行引擎,实现对服务的快速组合或扩展,提升idea至value的研发响应与交互速度。Features高性能:通过将流程文件转换生成java代码编译执行,简洁高效。丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。完善的插件支持:流程设计目前有IntelliJIDEA、Eclipse插件支持,可以在流程设计中实时动态生成java代码并预览,所见即所得。支持流程设计图导出svg文件和单元测试代码。QuickStartStep1:下载安装IntelliJIDEA插件(可选)插件下载地址:https://github.com/alibaba/compileflow-idea-designer

安装说明:请使用IntelliJIDEA本地安装方法进行安装,重新启动IntelliJIDEA就会生效。

Step2:引入POM文件

首发包暂时还未上传到公网,后续稳定后会进行上传

<dependency><groupId>com.alibaba.compileflow</groupId><artifactId>compileflow</artifactId><version>1.0.0</version></dependency>注意: compileflow仅支持JDK1.8及以上版本。

Step3:流程设计下面以ktvdemo为例,通过demo的演示和实践了解节点及属性的配置和API的使用。

demo描述:N个人去ktv唱歌,每人唱首歌,ktv消费原价为30元/人,如果总价超过300打九折,小于300按原价付款。

S3.1创建bpm文件,如下图:

注:bpm文件路径要和code保持一致,在文件加载模式下流程引擎执行时会根据code找到文件。

S3.2通过插件进行流程设计或者直接编写流程xml文件。

S3.3调用流程编写如下单元测试:

@TestpublicvoidtestProcessEngine(){finalStringcode="bpm.ktv.ktvExample";finalMap<String,Object>context=newHashMap<>();finalList<String>pList=newArrayList<>();pList.add("wuxiang");pList.add("xuan");pList.add("yusu");context.put("pList",pList);finalProcessEngineprocessEngine=ProcessEngineFactory.getProcessEngine();finalTbbpmModeltbbpmModel=(TbbpmModel)processEngine.load(code);finalOutputStreamoutputStream=TbbpmModelConverter.getInstance().convertToStream(tbbpmModel);System.out.println(outputStream);System.out.println(processEngine.getTestCode(code));processEngine.preCompile(code);System.out.println(processEngine.start(code,context));}compileflow原生只支持淘宝BPM规范,为兼容BPMN2.0规范,做了一定适配,但仅支持部分BPMN2.0元素,如需其他元素支持,可在原来基础上扩展。

更多资料DEMO快速开始原始淘宝BPM规范详细说明
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论