添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

compileflow 是一个非常轻量、高性能、可集成、可扩展的流程引擎。compileflow Process 引擎是淘宝工作流 TBBPM 引擎之一,是 专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成 java 代码编译执行,简洁高效 。当前是阿里业务中台交易等多个核心系统的流程引擎。compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。

compileflow 特性

  • 高性能:通过将流程文件转换生成java代码编译执行,简洁高效。

  • 丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。

  • 可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。

  • 完善的插件支持:流程设计目前有IntelliJ IDEA、Eclipse插件支持,可以在流程设计中实时动态生成java代码并预览,所见即所得。

  • 支持流程设计图导出svg文件和单元测试代码。

compileflow 使用

1)compileflow demo 使用示例

compileflow 官方 demo 项目中有一个 ktv 唱歌的例子,如果价格大于等于300的话打九折,否则不打折( demo源码地址 https://github.com/compileflow/compileflow-demo )。示例如下:

maven 依赖
<dependency>
    <groupId>com.alibaba.compileflow</groupId>
    <artifactId>compileflow</artifactId>
    <version>1.2.0</version>
</dependency>
compileflow-designer 使用

compileflow-designer 是 compileflow 开放的流程设计插件,可直接在上面编辑流程文件,同时可实时动态生成java代码并预览,比较清楚看到流程内容。

//执行流程的入参 Map<String, Object> context = new HashMap<>(); List<String> pList = new ArrayList<>(); pList.add("wuxiang"); pList.add("yusu"); pList.add("xugong"); pList.add("fandu"); context.put("pList", pList); try { ProcessEngine processEngine = ProcessEngineFactory.getProcessEngine(); Map<String, Object> result = processEngine.start(code, context); System.out.println(result.get("price")); } catch (Exception e) { e.printStackTrace();

2)流程引擎对比

相对于其他流程引擎,compileflow 具有以下优点:

  • compileflow 极其容易上手,降低工作流学习的难度

  • compileflow 专注于纯内存执行,无状态的流程引擎,更偏向于代码流程编排,即编排引擎

compileflow 标签

compileflow 原生只支持淘宝 BPM 规范,为兼容 BPMN 2.0 规范,做了一定适配,但仅支持部分 BPMN 2.0 元素,如需其他元素支持,可在原来基础上扩展。

compileflow 整体架构

compileflow 运行阶段如下:

compileflow 定义了一套协议可以解析 xml 文件,并生成 java 类,再编译成 class 文件,加载内存后反射生成对象缓存起来,等引擎需要执行指定的 xml 流程时就会调用该对象。

流程引擎系列文章

compileflow 是一个非常轻量、高性能、可集成、可扩展的流程引擎。compileflow Process 引擎是淘宝工作流 TBBPM 引擎之一,是**专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成 java 代码编译执行,简洁高效**。当前是阿里业务中台交易等多个核心系统的流程引擎。compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。 :open_book: 英文文档| 它是什么? com pil e flow -idea-designer是一个Idea插件。 它使您可以轻松完成编译 流程 引擎 过程的编码设计和属性编辑。 Com pil e flow 引擎 开源地址: : 下载最新的插件安装包,下载地址:: 如果您是idea的2020版及更高版本,请下载此文件: XML源文件预览:支持编辑和预览XML源文件 流程 友好的可视化:支持XML源文件进行Swing图预览,并将图片导出到本地 过程友好且可编辑:支持直接在Swing图画布中拖放节点,设计过程以及编辑节点属性,全局属性等。 大量显示Java源代码:该过程最终将被编译成Java代码以执行,并且设计者支持XML到Java代码的预览效果 XML语法错误提示:如果打开的XML源文件中存在语法错误,则会在Java源代码预览区域中提示该错误。 可扩展性:可以轻松扩展以 定义了起点、终点以及起点到终点需要执行的活动、执行路径、执行策略。 2 流程 实例 ( Flow Instance) 一个 流程 可能会被多次执行,比如同一个场景的审批流是一个 流程 ,每次有人提交审批这个 流程 都会被执行一次。 流程 每执行一次,对应一个 流程 实例。 3 流程 元素 ( Flow Element) *考虑兼容性问题, 流程 元素设计参考了BPMN规范。 构成 流程 中的各种元素通称为 流程 元素 ( Flow Element),包括节点 ( Flow Node)和顺序流 (Sequence Flow )。 3.1 节点 ( Flow Node) 3.1.1 事件节点 (EventNode) 开始节点 (StartEvent):标
com pil e flow 是什么 com pil e flow 是一个非常轻量、高性能、可集成、可扩展的 流程 引擎 com pil e flow Process 引擎 是淘宝工作流 TBBPM 引擎 之一,是专注于纯 内存 执行,无状态的 流程 引擎 ,通过将 流程 文件转换生成 java 代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的 流程 引擎 com pil e flow 能让开发人员通过 流程 编辑器设计自己的业务 流程 ,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。 高性能:通过将 流程 文件转换生
工作流框架 flow able6与activiti7的比较选择 flow able与activiti的历史渊源主流 flow able6与activiti7的比较 flow able6与activiti7 GitHub社区活跃度比较总结 flow able与activiti的历史渊源 Activiti和 Flow able都是来自于一个叫JBPM的开源工作流。在早期Jboss(现已被ReHat收购)发行JBPM4的时候,因为合作伙伴关系闹的不开心。于是其中一个核心人员离职。加入了Alfresco(Activiti所在的公司)。并
com pil e flow 是一个非常轻量、高性能、可集成、可扩展的 流程 引擎 com pil e flow Process 引擎 是淘宝工作流TBBPM 引擎 之一,是专注于纯 内存 执行,无状态的 流程 引擎 ,通过将 流程 文件转换生成java代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的 流程 引擎 com pil e flow 能让开发人员通过 流程 编辑器设计自己的业务 流程 ,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。 com pil e flow -idea-designer是一款Idea插件。能够让你轻松完成