VSOA 事件
本节介绍 AutoCode VSOA 事件。
概述
AutoCode 实现了 VSOA 调用(CALL),订阅发布(PUB-SUB) , 数据报(DATAGRAM)通信接口。组件中与服务输入输出端口直接连接的事件是 VSOA 事件,事件相应的端口是 VSOA 端口。
VSOA-CALL 事件
事件描述
CALL 事件输入端口:服务接收到客户端调用请求,在组件视图中,该端口与服务输入端口连接,是事件会话的开始;AutoCode 将在事件接口中创建调用返回程序,用户可以通过端口 reply
属性,指定在一个会话(事件调用链)任何端口处返回调用结果。
CALL 事件输出端口:客户端发起调用事件,在组件视图中,该端口与服务输出端口连接,实现调用功能,该端口事件将创建两个回调接口,一个是事件正常接口,用户可以设置请求数据,另一个是请求返回响应接口,用户可以接收请求数据。
端口属性
VSOA-CALL 输入输出端口属性配置如下:
表 1 VSOA-CALL 端口说明
I/O 类型 | 名称 | 值 | 选项 | 缺省值 | 是否可配置 | 说明 |
---|---|---|---|---|---|---|
Input | Type | VSOA | / | VSOA | no | 输入端口类型 |
Input | From | serc2-/serc2/elema/get | / | 自动配置 | no | 服务端口 ID |
Input | Reentrant | true | true, false | true | yes | 会话可重入选项 |
Input | Reply | false | true, false | true | yes | 当前端口是否执行 reply 操作 |
Output | Type | VSOA | / | VSOA | no | 输出端口类型 |
Output | TimeOut | 0 | / | 0 | yes | VSOA-CALL 超时时长(ms), 0 表示一直等待 |
Output | Reply | false | true, false | false | yes | 当前端口是否执行 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 输入端口
端口实现示例如下:
图中各区域说明:
- VSOA-CALL 输入参数。
- VSOA-CALL 输出端口请求数据定义。
- 用户在此区域处理数据及业务,填充输出端口 VSOA-CALL 数据。
- 执行输出端口 VSOA-CALL 请求。
- 用户在此区域清除资源,控制接口返回结果。
VSOA-CALL 输出端口
端口实现示例如下:
图中各区域说明:
- VSOA-CALL 输出端口响应数据 。
- VSOA-CALL 输入端口 REPLY 数据定义。
- 用户在此区域处理僌数据及业务,填充输入端口 REPLY 数据。
- 执行输入端口 REPLY 操作。
- 用户在此区域清除资源,控制接口返回结果。
VSOA-PUB 事件
事件描述
PUB 事件输出端口:服务端发布事件,在组件视图中,该端口与服务输出端口连接,实现发布功能。
SUB 事件输入端口:客户端收到订阅事件,在组件视图中,该端口与服务输入端口连接,是事件会话的开始。
端口属性
VSOA-SUB, VSOA-PUB 端口属性配置如下:
表 2 VSOA-SUB, VSOA-PUB 端口说明
I/O 类型 | 名称 | 值 | 选项 | 缺省值 | 是否可配置 | 说明 |
---|---|---|---|---|---|---|
Input | Type | VSOA | / | VSOA | no | 输入端口类型 |
Input | From | serc2-/serc1/elemc/pub | / | 自动配置 | no | 服务端口 ID |
Input | Reentrant | true | true, false | true | yes | 会话可重入选项 |
Output | Type | VSOA | / | VSOA | no | 输出端口类型 |
Reentrant
属性:
- 客户端连接事件是会话的第一个事件, 如果
Reentrant
属性配置为false
, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。 - 如果
Reentrant
属性配置为true
,允许会话重入。
事件接口
- VSOA-SUB, VSOA-PUB 事件接口实现示例:
图中各区域说明:
- VSOA-SUB 输入参数。
- VSOA-PUB 输出端口发布数据定义。
- 用户在此区域处理僌数据及业务,填充输出端口 VSOA-PUB 数据。
- 执行输出端口 RPC-PUB 发布操作。
- 用户在此区域清除资源,控制接口返回结果。
VSOA-DATAGRAM 事件
事件描述
DATAGRAM 事件输入端口:服务接收到客户端发送的数据,在组件视图中,该端口与服务输入端口连接,是事件会话的开始;
DATAGRAM 事件输出端口:客户端发起数据报事件,在组件视图中,该端口与服务输出端口连接,实现数据报发送功能;
端口属性
VSOA-DATAGRAM 输入输出端口属性配置如下:
表 3 VSOA-DATAGRAM 端口说明
I/O 类型 | 名称 | 值 | 选项 | 缺省值 | 是否可配置 | 说明 |
---|---|---|---|---|---|---|
Input | Type | VSOA | / | VSOA | no | 输入端口类型 |
Input | From | serc2-/serc2/elemb/send | / | 自动配置 | no | 服务端口 ID |
Input | Reentrant | true | true, false | true | yes | 会话可重入选项 |
Output | Type | VSOA | / | VSOA | no | 输出端口类型 |
Reentrant
属性:
- 客户端连接事件是会话的第一个事件, 如果
Reentrant
属性配置为false
, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。 - 如果
Reentrant
属性配置为true
,允许会话重入。
事件接口
VSOA-DATAGRAM 事件接口实现示例:
图中各区域说明:
- VSOA-DATAGRAM 输入参数。
- VSOA-DATAGRAM 输出端口发送数据定义。
- 用户在此区域处理僌数据及业务,填充输出端口 VSOA-DATAGRAM 数据。
- 执行输出端口 VSOA-DATAGRAM 发送操作。
- 用户在此区域清除资源,控制接口返回结果。