---
title: 流程定义
description: Juggle的流程定义是流程定义是流程设计阶段的产物，支持同步流程和异步流程，支持通过变量进行跨节点流转。
keywords:
  - 定制开发
  - 第三方系统集成
  - 流程设计
  - 微服务接口编排
createTime: 2024/10/18 15:09:38
permalink: /docs/guide/user/flow-definition/
---

# 流程定义

流程定义是流程设计阶段的产物，

### 新建流程定义

1.在**流程定义**页面，点击"**新建**"按钮

2.在右侧弹出的抽屉中，完成**流程名称**，**流程类型**，**流程描述**（非必填）

3.如果流程需要定义入参和出参，可以按需设置流程的出入参

4.点击“**确定**”按钮，创建流程定义





:::tip 同步流程和异步流程的区别
同步流程：在流程被触发的时候直接返回流程的结果，结果返回是实时的。

异步流程：流程被调用的时候只是返回一个流程的实例ID，如果需要流程结果，需要启动一个定时任务轮询去查询流程结果
:::



### 流程设计
1.在**流程定义**页面，点击"**流程**"按钮
2.在**流程设计**页面，根据需求添加**变量**，**方法节点**，**判断节点**等实体，设计出符合预期流程
![流程设计](images/flow_example.png)



### 调试流程
流程调试主要是为了保证设计出来的流程是符合预期的，通过调试能力也能让设计者不断调整和优化流程逻辑。

1.在**流程定义**页面，点击"**调试**"按钮

2.在**流程调试**页面，输入流程需要的请求参数

3.点击”**发送**“按钮，发起流程调用，请求成功后，流程结果数据会显示在**响应内容**的区域
![流程调用](images/flow_example_2.png)


### 部署流程
经过流程设计和流程调试阶段后，这个流程已经设计达到我们的预期的效果，如果需要交付正式使用之前就先要将流程定义部署，部署后的流程与正在设计的流程定义将完全隔离，且每次部署都会产生一个新版本，每个流程版本之间也是相互隔离的，可以达到多个流程版本同时运行和平滑切换的效果，具体可以参考流程版本介绍

1.在**流程定义**页面，点击"**部署**"按钮

2.在二次确认弹框中，再次点击“**部署**”按钮

![流程部署](images/deploy_flow.png)