VSOA 事件

更新时间:
2024-04-25
下载文档

VSOA 事件

本节介绍 AutoCode VSOA 事件。

概述

AutoCode 实现了 VSOA 调用(CALL),订阅发布(PUB-SUB) , 数据报(DATAGRAM)通信接口。组件中与服务输入输出端口直接连接的事件是 VSOA 事件,事件相应的端口是 VSOA 端口。

VSOA-CALL 事件

事件描述

CALL 事件输入端口:服务接收到客户端调用请求,在组件视图中,该端口与服务输入端口连接,是事件会话的开始;AutoCode 将在事件接口中创建调用返回程序,用户可以通过端口 reply 属性,指定在一个会话(事件调用链)任何端口处返回调用结果。

CALL 事件输出端口:客户端发起调用事件,在组件视图中,该端口与服务输出端口连接,实现调用功能,该端口事件将创建两个回调接口,一个是事件正常接口,用户可以设置请求数据,另一个是请求返回响应接口,用户可以接收请求数据。

端口属性

VSOA-CALL 输入输出端口属性配置如下:

表 1 VSOA-CALL 端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeVSOA/VSOAno输入端口类型
InputFromserc2-/serc2/elema/get/自动配置no服务端口 ID
InputReentranttruetrue, falsetrueyes会话可重入选项
InputReplyfalsetrue, falsetrueyes当前端口是否执行 reply 操作
OutputTypeVSOA/VSOAno输出端口类型
OutputTimeOut0/0yesVSOA-CALL 超时时长(ms), 0 表示一直等待
OutputReplyfalsetrue, falsefalseyes当前端口是否执行 reply 操作

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

reply 属性:

  • 如果一个会话(事件链)由 VSOA-CALL 事件发起,那么这个会话上每个事件端口都有 reply 属性,VSOA-CALL 请求回复 reply 操作将在 reply 属性设为 true 的端口事件执行。如果所有属性都是 false,请求回复 reply 操作将在会话第一个事件端口执行;

  • 在服务组件编辑视图中,用户设置会话中某个端口 reply 属性为 true 时,组件中该端口事件名以粗体显示,同时会话中所有其它端口 reply 属性将自动设置为 false

  • reply 属性设置在 Input 端口时,在事件接口中将立即执行 reply 操作;当 reply 属性设置在 Output 端口时,reply 操作将在输出端口事件行为完成后执行。

  • reply 属性设置在 VSOA-CALL Output 端口时, reply 操作不在当前事件接口执行,而是在 Output 端口 VSOA-CALL 调用返回接口中执行。

事件接口

VSOA-CALL 输入端口

端口实现示例如下:

图中各区域说明:

    1. VSOA-CALL 输入参数。
    1. VSOA-CALL 输出端口请求数据定义。
    1. 用户在此区域处理数据及业务,填充输出端口 VSOA-CALL 数据。
    1. 执行输出端口 VSOA-CALL 请求。
    1. 用户在此区域清除资源,控制接口返回结果。

VSOA-CALL 输出端口

端口实现示例如下:

图中各区域说明:

    1. VSOA-CALL 输出端口响应数据 。
    1. VSOA-CALL 输入端口 REPLY 数据定义。
    1. 用户在此区域处理僌数据及业务,填充输入端口 REPLY 数据。
    1. 执行输入端口 REPLY 操作。
    1. 用户在此区域清除资源,控制接口返回结果。

VSOA-PUB 事件

事件描述

PUB 事件输出端口:服务端发布事件,在组件视图中,该端口与服务输出端口连接,实现发布功能。

SUB 事件输入端口:客户端收到订阅事件,在组件视图中,该端口与服务输入端口连接,是事件会话的开始。

端口属性

VSOA-SUB, VSOA-PUB 端口属性配置如下:

表 2 VSOA-SUB, VSOA-PUB 端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeVSOA/VSOAno输入端口类型
InputFromserc2-/serc1/elemc/pub/自动配置no服务端口 ID
InputReentranttruetrue, falsetrueyes会话可重入选项
OutputTypeVSOA/VSOAno输出端口类型

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

事件接口

  • VSOA-SUB, VSOA-PUB 事件接口实现示例:

图中各区域说明:

    1. VSOA-SUB 输入参数。
    1. VSOA-PUB 输出端口发布数据定义。
    1. 用户在此区域处理僌数据及业务,填充输出端口 VSOA-PUB 数据。
    1. 执行输出端口 RPC-PUB 发布操作。
    1. 用户在此区域清除资源,控制接口返回结果。

VSOA-DATAGRAM 事件

事件描述

DATAGRAM 事件输入端口:服务接收到客户端发送的数据,在组件视图中,该端口与服务输入端口连接,是事件会话的开始;

DATAGRAM 事件输出端口:客户端发起数据报事件,在组件视图中,该端口与服务输出端口连接,实现数据报发送功能;

端口属性

VSOA-DATAGRAM 输入输出端口属性配置如下:

表 3 VSOA-DATAGRAM 端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeVSOA/VSOAno输入端口类型
InputFromserc2-/serc2/elemb/send/自动配置no服务端口 ID
InputReentranttruetrue, falsetrueyes会话可重入选项
OutputTypeVSOA/VSOAno输出端口类型

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

事件接口

VSOA-DATAGRAM 事件接口实现示例:

图中各区域说明:

    1. VSOA-DATAGRAM 输入参数。
    1. VSOA-DATAGRAM 输出端口发送数据定义。
    1. 用户在此区域处理僌数据及业务,填充输出端口 VSOA-DATAGRAM 数据。
    1. 执行输出端口 VSOA-DATAGRAM 发送操作。
    1. 用户在此区域清除资源,控制接口返回结果。

组件类型

AutoCode 服务由组件实现,一个服务内包含一个或多个组件,组件由一组事件组成,组件之间通过事件有向连接。AutoCode 组件可分为以下类型:

  • 基本组件(Component):基本组件是通用组件,组件可以创建一组事件,每个事件有一个输入端口和一个可缺省的输出端口,输入端口可以和一个其它组件输出端口相连接;输出端口可以连接到一个或多个其它组件输入端口。
  • 管道组件:管道组件在基本组件基础上,对事件进行约束,最多只有一个外部输入事件,每个事件输出端口最多只能与一个外部事件相连接;管道组件输出只能连接管理组件;管道组件有单通道与多通道两种类型。
  • 单通道管道组件(PipeCom):单通道管道组件是只有一个事件的管道组件。
  • 多通道管道组件(MPipeCom):多通道管道组件有一个或多个事件,只有第一个事件的输入端口可以与外部事件连接,其它事件的输入端口由第一个事件驱动。

在通用组件基础上对事件类型、属性、接口等进行约束或扩展,从而实现一些具有特定功能的组件。AutoCode 提供了以下功能组件:

  • 异步调用组件(AsyncCallMCom):异步调用组件是多通道管道组件;异步调用组件可以发起一次或多次 VSOA-CALL 调用请求,组件收到所有调用请求之后触发结束事件。
  • 连接同步组件(ConnSyncMCom):连接同步组件是多通道管道组件,用于客户端连接或重连时,向服务端发起 GET 请求,同步据资源,数据将从相应资源订阅接口返回。
  • 变速器组件(SubRegulMCom):变速器组件组件是多通道管道组件,当一个服务从其它服务订阅资源时,使用变速器组件,可以配制该资源输出频率。
文档内容是否对您有所帮助?
有帮助
没帮助