华为云ASTRO轻应用-约束与限制:服务编排

时间:2025-03-03 11:33:59

服务编排

表7 服务编排约束与限制

限制项

约束与限制

服务编排命名

  • 驼峰命名,首字母小写,不要携带下划线。
  • 动宾结构,例如,notifyOrderCompletion,错误样例OrderCompletionNotification。
  • 尽量不用缩写,除非是专有名词,例如,invokeCRM,错误样例paymentCbk。
  • 应简单明了,表示业务意义,而不是内部实现。例如createPayment,错误样例InsertAndUpdatePayData。
  • 长度不能超过64个字符,名称必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

变量命名

  • 输入变量和输出变量:命名遵循接口设计文档的要求。
  • 内部变量:元素命名遵循驼峰命名原则。
  • 变量为单数时,命名包含对象名称(如Level1Catalog、Level2Catalog),变量为复数时命名包含集合名称(如Level1CatalogList或者Level2CatalogArray)。
  • 数组型变量的下标命名要符合规范,当使用I、J、K等字母来命名时,需要明确变量含义,勿重复使用。

图元命名

采用动词和名词短语的形式,每个单词首字母大写,单词之间有空格。名称一般不要超过五个单词,短语尽可能简明,描述该图元的主要作用,例如Valid Input、Call Device Service。

连接线命名

在服务编排的图元中,除了Decision连接线外,其他图元的连接线采用系统的固定命名。

Decision连接线名称使用英文,采用单词首字母大写,一般不要超过三个单词。采用动词和名词短语的形式,尽可能简明、准确的描述该条件的判断逻辑。

图元编排

为了服务编排画布排版美观以及方便后续的服务编排检视,服务编排的图元编排遵循以下原则:

  • 在配置服务编排前,需明确具体步骤和子流程的分解,合理编排图元。
  • 业务逻辑采用自上而下、从左往右的页面布局方式,业务逻辑展示清晰,同一任务多个步骤,横向排列,不同任务之间竖向排列。利用横向和竖向,做到层次缩进。
  • Decision图元里的Default改为表示主流程,类似于If Error Else MainProcess这种结构,把异常处理优先标出。
  • 在同一个版面中,图元之间的间隔大小相同。
  • 尽量避免连接线相互交叉。
  • 创建或查询较复杂的父子对象结构场景(如创建订单和相关对象),应将父对象和典型子对象的创建和查询编排到子流程中,供多个流程共享。
  • 对于服务编排中常用到的业务功能(如获取Offer实例),可以考虑编排到子流程或用脚本实现,供多个流程共享。
  • 编排每个服务编排时,首先都应该设置入参校验步骤,图元类型为“Decision”,分支优先考虑异常场景。服务编排流程中,其他的“Decision”图元也要首先考虑异常场景。
  • 避免使用循环套循环。
  • 不允许在子流程中结束,所有结束出口应在最外层服务编排中体现。子流程中,应始终返回出参。

参数定义

  • 服务编排的入参和出参,需要根据设计文档做必填参数校验。
  • 出入参数需要定义清楚每个字段。如果存在结构体,结构体中也应定义清楚每个字段。除了本身是预留的定制扩展的结构体之外,不允许有空结构的结构体。
  • 服务编排中,暴露给用户由用户输入的参数,必须放到服务编排的“入参”中。服务编排中,不能存在用户能够使用但不在“入参”及“出参”的参数。

调用约束

  • 不允许在应用项目的服务编排中,调用BO的内部服务编排。
  • 不允许在应用项目的服务编排中,编排调用BO的脚本。
  • 不允许跨BO调用脚本和内部服务编排。

    例如,人员BO的服务编排不允许调用空间BO的内部服务编排和脚本。

support.huaweicloud.com/productdesc-astrozero/astrozero_03_0006.html