The Multi-Environment transfer process in TimeXtender utilizes both assigned and dynamic firewall ports. Environments with particularly strong firewall configurations may encounter issues with this process. This article describes how TimeXtender communicates across multiple environments to help you understand the process and potentially address these issues.
TimeXtender communicates between environments by transferring XML over TCP/IP protocol. Due to the long running nature of deployment and execution, the two servers will communication back and forth as these tasks begin and end.
Establishing a Connection
The communication starts when a user opens the “Multiple Environment Transfer” window, sending a message over a outbound dynamic range (This is a port assigned by the OS typically in the range of 49152 – 65535). The message is sent to the assigned inbound "remote" port of the next environment in the chain (the remote port assigned in the Environment properties for Production, for example).
After receiving the command, the server will acknowledge the successful transfer back to the client over the already established connection and the connection is terminated
Sending a Task
When a user sends a command to the subsequent environment (e.g Transfer, Deploy, or Execute) message is sent over a outbound dynamic range to the assigned inbound "remote" port just like when establishing a connection. However, in this case, due to the long running nature of these tasks, the local environment terminates the connection before the command is complete.
In order to confirm an assigned task has been completed, the above scenario is reversed. The destination environment sends a confirmation of the completed task back over a outbound dynamic range to the originating environment's assigned inbound "local" port (the local port assigned in the Environment properties for Production).
The above process is repeated until all the work is done – back and forth between the two environments.
Therefore, both servers will have to be able to access the server port that is configured in the Multi Environment setup window from dynamically assigned outbound ports.
- Environment 1 (Dynamic range) -> Environment 2 (Environment's "Remote" Port)
- Environment 1 (Environment's "Local" Port) <- Environment 2 (Dynamic range)
It is incorrect to assume that the communication flows between the two server ports.