In order to integrate new protocols within Waarp Gateway and Waarp R66, several options exist.
1) Native integration
For FTP, the protocol is already integrated, both in Server (Gateway only) and Client (Gateway and R66) modes. This integration is done through additional tasks done before or after a file transfer in the native protocol.
We note active for initiated file transfer request, as for initiating the underlying network connection, while passive stands for the opposite, as for receiving an incoming network connection.
Waarp Gateway
-
Waarp R66
Native protocol = R66 in server mode (passive and active)
-
Extended procotol = FTP (active) in pre, post or error commands
2) Task through integration
The idea is to use external implementation of other protocols through tasks executing external commands.
This implementation enables for instance to forward a file transfer into another protocol as in post task. This post task could be:
Using this way enables for instance to migrate from one protocol to R66 protocol smoothly by keeping one server in the old mode corresponding with one R66 server, both acting as a relay (or gateway) between the 2 protocols, as the Waarp Gateway FTP does for FTP.
Example: other protocol named XXX
Send XXX to R66
A standard XXX client sends a file to your XXX server
At the end of the reception in your XXX server, the transfer is transformed into a R66 file transfer using command line
-
If the post execution is blocking in your XXX server, you can get back the status on the file transfer in R66 protocol (using for instance a blocking mode) to inform back the XXX client of the overall result
Recv XXX through R66
A standard XXX client asks to receive a file from your XXX server
A blocking transfer is done with a R66 blocking command
-
Once the receive is done in R66, the XXX server respond to the XXX client with the file transfer
Send R66 to XXX
A R66 partner sends a file to your R66 server
At the end of the reception in your R66 server, a post task forward this transfer through your XXX client
-
Once the file transfer in XXX protocol is done, the script launched by R66 get the status of this transfer for R66 monitor
-
Recv R66 through XXX
A R66 partner asks to receive a file from your R66 server
A pre-task launches a receive file transfer operation from your XXX client
-
Once the receive is done in XXX protocol, your R66 server respond to the R66 partner with the file transfer and continue with the R66 protocol