文档首页> Astro轻应用 AstroZero> 常见问题> 服务编排> 如何实现某一资源被多个应用的服务编排调用?
更新时间:2023-03-02 GMT+08:00
分享

如何实现某一资源被多个应用的服务编排调用?

处理思路

在BO中,新建并开发该资源,再封装成公共接口,在多个应用中内部依赖或外部依赖导入BO,再调用该资源。

操作步骤

  1. 创建BO,将需要调用的资源封装为BO中的公共接口。

    1. 参考创建BO中操作,创建一个标签和名称为“BOTest”的BO。
    2. 在BO中,新建需要调用的资源“命名空间__FlowC”,并启用。

      新建“命名空间__FlowC”后,该资源可见性默认为“公开”,表示在其他应用中可调用该资源。

    3. 参考图1图2,在BO中新建公共接口,该接口用于封装“命名空间_FlowC”。

      在BO开发页面中,单击左下角的“服务”新建API时,需要指定版本号,且接口区分“公共接口”和“私有接口”。

      “公共接口”是提供REST接口给第三方系统或者内部系统调用。“私有接口”是提供SDK接口给内部系统调用。本示例选择“公共接口”。

      图1 新建公共接口
      图2 封装“命名空间__FlowC”

  2. 进入需要调用资源的应用,引入BO,在应用的服务编排中使用BO图元调用接口,从而调用资源。

    1. 进入需要调用资源的应用开发工作台,单击“Internal dependencies”或“External dependencies”旁的“+”,选择“BO服务”,添加“BOTest”。
      添加后,在该应用的服务编排中,才可以调用BO服务。
      • “Internal dependencies”为内部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时也会随应用打包发布出去。
      • “External dependencies”为外部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时不会打包出去。
      图3 应用中添加BO服务
      图4 选择BO
    2. 参考图5,在服务编排“命名空间__FlowA”中使用BO图元,调用该公共接口,注意API类型选择“REST”。
      在服务编排“命名空间__FlowA”编辑器页面左侧,选择“BO”,从“Others”下拖拽2.a中定义的“BOTest”至画布。在画布中,选中BO图元,单击,在“BO”页面进行配置,使用BO图元调用接口。
      图5 调用BO

分享:

服务编排 所有常见问题

more