一、      概述

用户利用已定义的通信协议来进行通信时,会使用到TCP 网关。 利用独自创建的协议而不是使用已定义的标准应用协议来进行联动时,如果协议是基于TCP/IP,则可利用TCP网关。

TCP网关的功能有,解析各种形式的协议并根据事先定义的规则接收到信息之后,再该对信息进行解析并将请求传送到流程(入站)或者连接到已定义的目标主机并传送(出站)信息。

TCP网关可以处理固定长度和可变长度的信息,还可以处理包含其他形式的信息。此外根据信息的特定部分值,接收的信息形式也会不同的情况下,也可以进行处理,原则上以处理用户定义的所有形式信息为目标。

TCP网关支持入站和出站,一个类可支持这2种。即,网关本身并不是分为用于入站或者出站的类型,而是按网关要处理的线路分类的。

 

二、      网关规则

网关规则是保存信息处理方式的有关信息的资源,即保存信息形式、要处理信息的Service/Operation的有关信息、此外有关信息处理的选项信息等。在这里,Service/Operation信息是在信息传送到流程时指定信息处理的模块,是最重要的信息。

网关规则并不附属于特定网关或者适配器,还可用于其他网关。

 

三、      网关的运作方式

按功能,TCP网关可以分为入站网关和出站网关。

入站网关是一种TCP服务器的作用,即打开指定端口并等待外部请求。接收到请求信息之后对该信息进行解析之后查询适当网关并将该信息传送到流程。如果从流程接收到回复,则会将回复再传送到之前的外部系统。

出站网关会将从流程接收到的信息传送到已设置的外部服务器。接收到回复,则会再该信息传送到流程。

 

四、      Marshal & Unmarshal

在上面说明网关的运作方式时只提到了网关向流程传送信息或者流成向网关传送信息,但传送过程中实际上还有信息的转换过程。

ProBus内部以DTO(Data Transfer Object或者ProMapper Structure)形式处理信息。因此适配器(包括网关)将从外部接收到的信息转换为DTO并传送到流程,流程则将接收到的DTO转换为外部信息形式并且进行发送。

在这里,与外部进行传送的信息定义成ProMapper Message。利用此Message类来互相转换MessageDTO的过程叫marshal/unmarshal

unmarshal Message DTO 的转换

marshal DTO Message的转换

可以通过marshal/unmarshal过程将标准化的Structure传送到流程,ProMapper支持各种message type(FixedlengthDelimiterXML)之间的marshal/unmarshal