组件类型
AutoCode 服务由组件实现,一个服务内包含一个或多个组件,组件由一组事件组成,组件之间通过事件有向连接。AutoCode 组件可分为以下类型:
- 基本组件(Component):基本组件是通用组件,组件可以创建一组事件,每个事件有一个输入端口和一个可缺省的输出端口,输入端口可以和一个其它组件输出端口相连接;输出端口可以连接到一个或多个其它组件输入端口。
- 管道组件:管道组件在基本组件基础上,对事件进行约束,最多只有一个外部输入事件,每个事件输出端口最多只能与一个外部事件相连接;管道组件输出只能连接管理组件;管道组件有单通道与多通道两种类型。
- 单通道管道组件(PipeCom):单通道管道组件是只有一个事件的管道组件。
- 多通道管道组件(MPipeCom):多通道管道组件有一个或多个事件,只有第一个事件的输入端口可以与外部事件连接,其它事件的输入端口由第一个事件驱动。
以上定义的基本组件和管道组件都是通用组件,它们的区别在于组件连接结构上不同。
在通用组件基础上对事件类型、属性、接口等进行约束或扩展,从而实现一些具有特定功能的组件。AutoCode 提供了以下功能组件:
- 异步调用组件(AsyncCallMCom):异步调用组件是多通道管道组件;异步调用组件可以发起一次或多次 VSOA-CALL 调用请求,组件收到所有调用请求之后触发结束事件。
- 连接同步组件(ConnSyncMCom):连接同步组件是多通道管道组件,用于客户端连接或重连时,向服务端发起 GET 请求,同步据资源,数据将从相应资源订阅接口返回。
- 变速器组件(SubRegulMCom):变速器组件组件是多通道管道组件,当一个服务从其它服务订阅资源时,使用变速器组件,可以配制该资源输出频率。