创建空白AstroZero服务编排
服务编排是一种通过简单的拖拉拽式流程编排以及参数配置的方式,来进行服务开发的能力。本章节以创建一个根据传入的用户名,配置欢迎信息的简单业务场景为例,向您介绍如何从零开始创建一个服务编排。
创建服务编排
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“逻辑”。
- (可选)单击编排后的,为服务编排添加目录。
服务编排默认存放在根目录下,在创建服务编排前,您可以先创建服务编排存放的目录,也可以在服务编排创建后将其拖拽到指定目录。
- 将鼠标放在已创建的服务编排目录上,单击,进入“添加服务编排”页面。
如果未创建服务编排目录,请直接单击编排后的,进入添加服务编排页面。
- 设置参数,单击“添加”。
图1 创建服务编排
表1 添加服务编排参数说明 参数
说明
标签
新建服务编排的标签名,用于在界面展示,创建后可修改。
取值范围:1~64个字符。
名称
服务编排在系统中的唯一标识,创建后不支持修改。系统会自动在名称前添加“{命名空间}__”,当其他功能调用服务编排时,调用的是服务编排的名称,而不是标签。
命名要求如下:
- 长度不能超过64个字符,包括前缀命名空间的长度。
说明:
名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。
- 名称必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。
类型
在下拉框中,选择服务编排的类型。- Autolaunched Flow:自启动Flow,在接口调用后会立即执行服务编排模型定义的逻辑。
- Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。当选择该类型时,您需要配置具体的事件以及条件规则。
默认值:Autolaunched Flow。
描述
请根据实际需求,输入服务编排的描述信息,建议设置为服务编排的功能介绍。
取值范围:1~255个字符。
- 长度不能超过64个字符,包括前缀命名空间的长度。
- 创建变量。
- 在服务编排设计器中,单击,进入全局上下文页面。
- 单击“变量”后的,创建表2中的变量。
图2 创建变量
在全局上下文中,除了创建基本类型的变量,还可以创建常量、创建公式变量、创建私有结构体和创建对象变量/结构体变量/事件变量。
- 单击,配置服务编排的输入输出参数。
图3 配置输入输出参数
- 将“逻辑”中的“赋值”图元,拖拽到画布中。
赋值图元可以实现对全局上下文中变量等参数进行赋值,其他图元的详细介绍,请参见为AstroZero服务编排设置图元。
图4 拖拽赋值图元到画布
- 配置图元。
- 连接图元指定逻辑关系,即从开始图元连向赋值图元,表示服务编排开始执行后,执行赋值图元的赋值语句。
图6 连接图元
- 单击页面上方的,保存服务编排。
- 单击,进入服务编排调试页面。
在输入参数中,输入如下内容,并单击“运行”。
{ "userName": "Flow" }
运行结果如下,输出“Hello,Flow”。
图7 运行结果
- 单击页面上方的,启用服务编排。
服务编排启用后,才可以在脚本、工作流等操作中引用。
- 调试已创建的服务编排。
- 在应用设计器左侧导航栏中,选择“集成”。
- 单击开放接口后的“+”,新建一个helloFlow开放接口,单击“保存”。
图8 新建开放接口helloFlow
- 接口创建后,在开放接口中,将鼠标放在已创建的接口上,单击,选择“查看”。
- 在预览页面,单击接口后的。
- 单击“测试一下”,输入示例模型,单击“运行”。
图9 测试接口
图10 查看API测试结果
创建常量
编排服务流程或交互时,不会改变的值或参数,通常定义为常量,例如服务标识、访问地址和错误码等。
- 在服务编排设计器右侧,选择。
- 在全局上下文页面,单击“常量”后的。
- 单击新增常量后的“...”,选择“设置”。
- 设置页面参数,单击“保存”。
图11 配置常量
表3 常量参数说明 参数
说明
名称
新建常量的名称,名称是变量在流程中引用的唯一标识。修改变量名不会改变图元中的引用,但是会导致流程不可用。
数据类型
常量的数据类型,直接在下拉框中选择即可,默认为“文本”类型。
值
新建常量的取值,字符串常量输入需要用双引号括起来,例如“"abc"”。
描述
根据实际需求,输入变量的描述信息。
外部使用
如果勾选该选项,表示该变量为外部使用变量,编译时不校验其是否被使用。
默认为不勾选。
创建公式变量
在服务编排中,公式变量主要用于变量赋值、表达式计算、参数传递等。
- 在服务编排设计器右侧,选择。
- 在全局上下文页面,单击“公式”后的。
- 设置页面参数,单击“保存”。
图12 配置公式变量
表4 公式变量参数说明 参数
说明
名称
输入新建公式变量的名称。
数据类型
公式变量的数据类型,直接在下拉框中选择即可,默认为“文本”类型。
描述
根据实际需求,输入公式变量的描述信息。
外部使用
勾选该选项,表示该变量为外部使用变量,编译时不校验其是否被使用。
默认为不勾选。
表达式
设置新增变量的表达式。如果表达式中需要运用公式,可根据需要双击“公式”区域中系统预置的公式,该公式会显示在右侧“表达式”区域中。当表达式中需要有变量参数时,可从变量区域中直接选择变量拖入到表达式中。
创建私有结构体
服务编排中如果涉及复杂的结构体参数,可以先创建全局或私有结构体,并用作参数类型。创建全局结构体和私有结构体后,再参考创建对象变量/结构体变量/事件变量中操作,创建全局结构体变量和私有结构体变量,作为服务编排的参数类型。
- 在服务编排设计器右侧,选择,在私有结构体页面单击“新增”。
该“私有结构体”页面有两个“新增”按钮,单击上面的“新增”按钮,是通过设置页面参数新建私有结构体。单击下面的“新增”按钮,是通过输入JSON Schema类型的数据源码定义私有结构体。图13 添加私有结构体类型
- (如果上一步单击“私有结构体”页面上方的“新增”按钮,请执行该步骤)设置页面参数。
- 在“基本信息”中,输入结构体名字、描述信息。
- 在“结构体成员”中,设置自定义成员变量,包括设置成员变量的名称、数据类型、是否必填、是否是集合和描述信息等。单击“新增”,可增加成员变量,支持设置全局结构体或私有结构体成员变量。当私有结构体的成员变量包含结构体类型时,您需要提前定义成员结构体。例如,下图中成员变量“hobby”为私有结构体类型,需要提前创建“create”私有结构体。
图14 配置私有结构体
- (如果上一步单击“私有结构体”页面下方的“新增”按钮,请执行该步骤)在“创建JSON Schema”页面中,定义结构体名称,在“JSON源码”中输入数据源码,单击,系统会进行校验,转换成服务编排中的结构体类型,单击“保存”。
图15 创建JSON Schema
数据源码示例如下:
{ "name": "xiaoming", "age": 18, "father": { "name": "daliu", "gender":"male" }, "brother": { "name": "xiaolei", "gender":"male" } }
创建成功后,页面显示如下。
图16 创建成功
该方式创建的结构体中,包含成员结构体时,成员结构体具体定义不会在界面显示,且其他结构体不可引用。
JSON结构体支持嵌套,例如上述创建的“family”结构体,在“JSON Schema结构体”区域再次单击“新增”,新增“company”结构体,里面“ceo”嵌套引用“family”结构体,如下图所示,在定义结构体输入值时,您可以输入“$”符号,选择当前服务编排中的其它结构体进行嵌套引用。
图17 引用其他结构体
创建对象变量/结构体变量/事件变量
对象变量用于在服务编排中引用或操作特定的对象实例,用于较简单的业务流程中。结构体变量允许将多个不同类型的数据项进行组合,通常用于较复杂的业务流程中。事件变量用于表示系统或业务流程中发生的事件,事件可以是系统内部产生的,也可以是外部触发的。
- 在服务编排设计器右侧,选择。
- 在全局上下文页面,单击“对象变量”后的。
- 设置页面参数,以创建对象变量为例进行介绍。
图18 配置对象变量
表5 对象变量参数说明 参数
说明
名称
输入新建对象变量的名称,名称是变量在流程中引用的唯一标识。修改变量名不会改变图元中的引用,但是会导致流程不可用。
对象
请直接在下拉框中,选择具体的对象。选择“对象”类型时,该参数才会显示。
全局结构体
请直接在下拉框中,选择具体的全局结构体。选择“全局结构体”类型时,该参数才会显示。
私有结构体
请直接在下拉框中,选择具体的私有结构体。选择“私有结构体”类型时,该参数才会显示。
事件
请直接在下拉框中,选择具体的事件。选择“事件”类型时,成员变量为事件的自定义字段,不包括系统预置的标准字段。选择“事件”类型时,该参数才会显示。
默认值
请直接输入变量的默认值或从下拉框中选择。
描述
请根据实际需求,输入变量的描述信息。
取值范围:1~255个字符。
是否为数组
是否为数组变量,即集合变量。
默认为不勾选。
外部使用
勾选该选项,表示该变量为外部使用变量,编译时不校验其是否被使用。
默认为不勾选。