
# 如何开发服务编排
#### 服务编排开发流程
开发服务编排前，请先了解整个服务编排的开发流程，如[图1]。
图1服务编排开发流程图   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886304.png)
 #### 如何创建服务编排
1. 参考[登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，登录经典版应用设计器。
2. 将鼠标放在Logic文件夹上，单击"+"，选择"服务编排"。
3. 设置服务编排参数，单击"添加"。 
   图2创建服务编排   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045692.png "点击放大")
   - 创建一个新的服务编排：从零开始，创建一个新的服务编排。
   
   - 使用已有的服务编排：基于同一租户或基线里已有的服务编排，来创建一个服务编排，方便用户快速继承已有服务编排的配置，增加效率。
   
   - 类型：服务编排的类型。
     - Autolaunched Flow：自启动Flow，在接口调用后会立即执行服务编排模型定义的逻辑。
     
     - Event Trigger：事件触发的服务编排，在事件触发时才会开始执行服务编排模型定义的逻辑。当选择该类型时，您需要配置具体的事件以及条件规则。
      
   
   - 标签：新建服务编排的标签名，用于在界面展示。
   
   - 名称：服务编排在系统中的唯一标识，创建后不支持修改。系统会自动在名称前添加"{命名空间}__"，当其他功能调用服务编排时，调用的是服务编排的名称，而不是标签。
   
   - 描述：新建服务编排的描述信息，通常设置为服务编排的功能。
   
   
   
   
 
#### 初识服务编排编辑器
服务编排编辑器页面由上方按钮区域、左侧图元面板区域、中间画布区域和右侧参数配置区域四部分组成。
图3服务编排编辑器页面   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125089.png "点击放大")
表1区域说明 
| 区域     | 区域说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|
| 按钮区域   | 功能按钮区域，包括启用（或者禁用）、保存、另存为新版本或者新服务编排、执行服务编排、操作回退、撤销回退等，支持快捷键操作，即可脱离鼠标直接用键盘操作。 服务编排启用后，单击页面右上角的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284901.png)，可查看该组件的调用关系图。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 图元面板区域 | 图元面板区域呈现服务编排编辑器的图元算子。服务编排编辑器以图元算子为基础，可直接将图元算子拖入画布区域进行逻辑编排。图元算子包括如下五类： - 基本：基本类型图元，能够实现在服务编排中进行脚本或者服务编排的调用，增/改/删/查对象记录，以及发送邮件、发送事件的功能。  - 逻辑：逻辑判断图元，能够实现在服务编排中进行变量赋值Assignment、循环Loop、跳出循环Break、决策Decision、等待Wait的功能。  - BO：商业对象图元，即将封装好的BO能力作为服务编排中的一个节点，实现特定的业务功能图元。  - Native服务：原生服务图元，用于调用原生服务提供的接口。  - 连接器：与第三方系统对接的图元，例如将短信发送、支付等第三方连接器作为当前服务编排中的一个节点图元。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 画布区域   | 服务编排设计操作区域，在该区域可对服务编排进行具体流程设计、图元放置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 配置区域   | 整个服务编排或图元的属性设置区域。选择画布区域服务编排中具体图元时，右侧配置区域为该图元的属性设置区域。选择服务编排中空白区域或者开始图元时，右侧配置区域为该服务编排的设置区域。 - ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284821.png)：服务编排基本信息配置菜单。  - ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125057.png)：显示服务编排类型、是否启用。  - ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125077.png)：整个服务编排的入参、出参，可从"全局上下文"中，选择变量拖拽到服务编排的入参、出参中。  - ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125029.png)：服务编排使用的私有结构体。  - ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284861.png)：全局上下文变量，主要用于创建服务编排中需要使用的变量、公式以及结构体变量等。   |
   
#### 创建您的第一个服务编排
此处以创建一个根据传入的用户名，配置欢迎信息的简单业务场景为例，向您介绍如何创建一个服务编排。
1. 参考[如何创建服务编排]中操作，创建名称和标签为"HelloFlow"的服务编排。
2. 创建变量。 
   1. 在服务编排设计器中，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045724.png)，进入全局上下文页面。
   
   2. 单击"变量"后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284829.png)，创建[表2]中的变量。
      图4创建变量   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886320.png "点击放大") 
   
   
    表2变量说明 
   | 变量名      | 类型 | 变量说明   |
   |:---|:---|:---|
   | userName | 文本 | 传入的用户名 |
   | message  | 文本 | 欢迎信息   |
      
   ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
   在全局上下文中，除了创建基本类型的变量，还可以创建"常量"、"公式"、"对象变量"、"系统变量"和"全局常量"，详情请参见[变量及输入输出参数配置](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0019.html)。
   
   
3. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886324.png)，配置服务编排的输入输出参数。
   
   图5配置输入输出参数   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886372.png "点击放大")
   
   
4. 将"逻辑"中的"赋值"图元，拖拽到画布中。 
   赋值图元可以实现对全局上下文中变量等参数进行赋值，其他图元的详细介绍，请参见[图元配置](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0020.html)。
   图6选择赋值图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886352.png "点击放大")
   
   
5. 配置图元。 
   1. 选择赋值图元，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045716.png)。
   
   2. 在"赋值"页面中，单击"新增行"，参照下图将创建的变量拖拽到相应的位置。 将""Hello,""赋值给message变量，并将userName变量拼接到message变量中，赋值语句将从上往下依次执行。
      图7配置赋值图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045740.png "点击放大") 
   
   
   
   
6. 连接图元指定逻辑关系，即从开始图元连向赋值图元，表示服务编排开始执行后，执行赋值图元的赋值语句。 
   图8连接图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886388.png)
   
   
7. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045760.png "点击放大")，保存服务编排。
8. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125085.png "点击放大")，进入服务编排调试页面。
   
   在输入参数中，输入如下内容，并单击"运行"。
   ```
   {
       "userName": "AstroZero"
   }
   ```
   运行结果如下，输出"Hello,AstroZero"。
   图9运行结果   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045768.png)
   
   
9. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125013.png "点击放大")，启用服务编排。
10. 调试已创建的服务编排。 
    1. 在经典版应用设计器中，单击页面下方的"服务"。
    
    2. 在公共接口中，单击"新建"，新建一个helloFlow公共接口，单击"保存"。
       图10新建公共接口helloFlow   
       ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045680.png "点击放大") 
    
    3. 在公共接口列表中，单击接口后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284877.png)。
    
    4. 在预览页面，单击"测试一下"，输入示例模型，单击"执行"。
       图11测试接口   
       ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045732.png "点击放大")
       图12查看API测试结果   
       ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002015282357.png "点击放大") 
    
    
    
    
 
