快速开始
1.运行环境
- JDK1.8
- mysql
2.开发环境
- JDK1.8
- mysql
- maven 3.1+
- IntelliJ IDEA
maven
流程引擎核心功能集合
xml
<dependency>
<groupId>com.didiglobal.turbo</groupId>
<artifactId>engine</artifactId>
<version>1.0.0</version>
</dependency>开发demo,非必须依赖
xml
<dependency>
<groupId>com.didiglobal.turbo</groupId>
<artifactId>demo</artifactId>
<version>1.0.0</version>
</dependency>3. 配置必要信息
执行建表语句,在属性文件中配置属性信息
bash
# 必要属性
spring.datasource.dynamic.primary=engine
spring.datasource.dynamic.datasource.engine.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.dynamic.datasource.engine.username=username
spring.datasource.dynamic.datasource.engine.password=password
spring.datasource.dynamic.datasource.engine.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.dynamic.datasource.engine.url=jdbc:mysql://127.0.0.1:3306/db_engine4. 根据demo开始你的Turbo之旅吧
根据上文提到的turbo支持的特性,给出了两个例子,其中整体的流程如下图所示:
其中与业务相关的是流程的定义和流程的执行,跟着下面的两个例子来看流程引擎的使用:
Demo1:团购售后
Demo2:请假流程
注:例子使用两个service是为了封装sop,在实际开发中sop是有前端页面传递进入,并非是必须再次开发。
5. Turbo与LogicFlow交互demo
LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。使用LogicFlow与Turbo接口交互可实现流程图创建,编辑,保存,发布功能,发布完成流程图即可参考第四部分文档,执行流程。
后端代码:FlowController FlowControllerTest
前端代码:https://github.com/Logic-Flow/turbo-client
使用文档:LogicFlowGuide
代码提供基本用法示例,使用方可以根据自己的业务场景参考使用
6. 上菜啦~本期新菜品:新增Turbo插件扩展能力
为了提高Turbo的易扩展性,我们提供了插件机制,通过插件机制,可以扩展节点类型、表达式计算规则以及id生成规则。
为更好地回应社区伙伴的需求,我们推出了并行网关插件,不仅为流程引擎赋予并行执行能力,还可作为插件开发的参考样例,供大家借鉴。
