About Proxy
As a system administrator, you use the Proxy in combination with the Automation Engine. This application allows you to combine the Java communication process (JCP) connections of the Automation Engine components, such as agents and Automic Web Interface instances, into one connection and reverse the direction in which it was set up.
This page includes the following:
Terminology
The following terms and concepts help you get acquainted with the topics comprised in this page:
-
Proxy: Product that combines and reroutes Java communication process (JCP) connections.
-
Proxy Client: Instance that runs on the side of the Java communication processes (JCPs).
It establishes a connection to the Proxy Server and forwards its connections (agents, AWI instances, and so on) to a JCP.
-
Proxy Server: Instance that runs on the side of the AE components which connect to a Java communication process (JCP).
It reroutes the connections from agents, APIs, AWI instances, and so on to the Proxy Client.
-
Server component: Core component of the Automation Engine.
It consists of different server processes, such as Java communication processes (JCPs). For more information, see Types of Server Processes.
-
Java communication process (JCP): Server process to which components such as agents, AWI instances, and APIs connect.
-
Routing port: Port of the Proxy Server to which components such as agents and the AWI instances connect.
-
Load balancing: The Proxy Client performs a load-dependent JCP selection.
Understanding the Proxy
Different components such as agents, instances of the Automic Web Interface, and the JavaAPI connect to the Java communication process (JCP). Each of these dedicated connections must be specifically permitted when using a firewall and requires an instance of the Proxy on both sides.
Every Proxy that runs on the side of the Java communication process (JCP) is referred to as a Proxy Client, while the one on the side of the AE component is referred to as a Proxy Server.
Each Proxy Client requires a Proxy Server, as they run as a Proxy pair. This means that the Proxy Server allows the connection to one Proxy Client. Therefore, you have to configure the connections from the Proxy in the firewall just once. New components, such as agents, must be allocated to only one respective Proxy Server.
The Proxy Client connects to the Automation Engine as an agent through a technical connection. Therefore, you need to define the routing, server (Proxy Server), and JCP (Proxy Client) ports in the INI file of the Proxy Client:
- serverProxy=4321
- routingPort=2217
You only need to define ports in the INI file of the Proxy Client, as the Proxy Server does not have its own INI file.
The Proxy Client connects to the Proxy Server and assigns the necessary settings. The port of the Proxy Server is passed on through the command line.
Example
java -cp proxy.jar com.uc4.proxy.Server -keyStore=keystore.jks -keyStorePwd=passwd -servicePort=4321
This initial connection is called service connection and is used by the Proxy Client and Server to send signals.
It is recommended to run at least two Proxy pairs in parallel for the same AE component and link them to one another to increase the reliability in case one Proxy pair fails. You can link them in the [OTHER_SP_LIST] section of the INI file of the Proxy Client. For more information, see Proxy as an Agent.
Alternatively, you can also define Proxy segments. In this case, the Proxy Client itself distributes the Proxy Server information automatically, thus rendering the definition and maintenance of the [OTHER_SP_LIST] section of the INI file unnecessary. For more information, see Segmentation of Proxy Pairs.
Note: Nested Proxies are not supported. For example, it is not possible to route an agent over two Proxies: Agent > Proxy Server < Proxy Client > Proxy Server < Proxy Client > JCP process.
File transfers are processed through a direct connection between two agents. This still applies even if a Proxy is being used since the Proxy does not tunnel file transfers.
You can use the Proxy together with the net area function in Automation Engine, where the agent would connect via the Proxy with the Java communication processes (JCPs) contained in one net area. This applies when load balancing is active.
More information:
Proxy as an Agent
The Proxy Client connects as an agent to a Java communication process (JCP). Proxy Clients are displayed in the Agents page of the Administration perspective and show which Proxy pairs are online or offline. The [JCPLIST] section of the INI file is filled in automatically during technical connection set up.
Important! If you define Proxy segments, the information in the [OTHER_SP_LIST] section of the INI file of the Proxy is overruled.
More information:
- Proxy INI file
- Agents (HOST)
Segmentation of Proxy Pairs
The Proxy pairs (Client and Server) of an Automation Engine system can be clustered into segments. To do so, use the segment= parameter in the [GLOBAL] section of the INI file of the respective Proxy Client. Make sure to enter the same segment name in the INI file of each Proxy Client that should be part of the segment. For more information, see Proxy INI file.
Starting a Proxy segment enables the Automation Engine system to store the IP address information and distribute it. The system also keeps track of the status of the Proxies and updates the IP list accordingly.
In this case, the definition and maintenance of the [OTHER_SP_LIST] section of the INI file unnecessary as it is overruled by the Proxy Server information, which is managed and distributed by the AE system.
Load Balancing
The Proxy Client can select a Java communication process (JCP) depending on the load of the JCP. If load balancing is activated, the Proxy Client searches for other JCPs from the same AE system and automatically connects to the one that has the fewest connections. This procedure is followed for all connections to JCPs to which the Proxy Clients connect.
You can activate and deactivate load balancing in your environment using the JCP_ENDPOINT parameter in the UC_SYSTEM_SETTINGS variable. The Proxy Client connects to a specific JCP, if load balancing is deactivated. Furthermore, you can control load balancing on the JCP side using the JCPLIST section of the INI file of the Proxy.
More information:
Inactive Load Balancing
In this example, the load balancing option is deactivated (default). In this case, the Proxy Clients (PC) 1 and 2 are connected to a single JCP.
Important! This setting is required if you are using instances of the Automic Web Interface and CallAPIs.
Active Load Balancing
In this example, the load balancing option is activated.
When establishing the connection, the Proxy Clients select the one JCP from all of the available JCPs depending on the load. Only JCPs within the same net area are considered. For more information, see Net Areas in the Automation Engine.
Proxy Client 1 (PC1) forwards connections from agents 1 and 2 from Proxy Server 1 (PS1) to JCP1 and JCP3. Proxy Client 2 forwards connections from agent 2 and Automic Web Interface 1 to JCP2 and JCP4.
Proxy and the CallAPI
As of version 21, the communication between the JCP and the Proxy uses TLS/SSL exclusively. Since the CallAPI does not support TLS/SSL and it still connects to the CP, using the CallAPI with the Proxy is not possible.
See also: