All data exchange between the PPM server and PPM user interface is based on Java RMI objects. The PPM user interface calls methods in its environment that are executed on the PPM server. The functions of the PPM server are realized in multiple RMI objects.
Upon launch, each PPM client server registers at the RMI registry server with a unique name. With this name, the PPM front-end can query the exact connection information from the registry and establish the connection with the PPM client server.
The data exchange via RMI is completely transparent for the Java application. All RMI network connections must be available during the entire PPM software runtime.
The RMI objects themselves are designed for direct network communication. The address information contained in the RMI objects (IP address and port number) cannot be evaluated by the firewalls when transferred across network boundaries.
The following figure and table illustrate the RMI data flow described:
|
Client |
Server |
Process |
---|---|---|---|
1 |
PPM client |
RMI registry |
During startup, the client server registers at the registry server with its name. |
2 |
PPM front-end |
RMI registry |
Query whether the relevant client server is available (specification of the client name in the login dialog) |
3 |
PPM front-end |
RMI registry |
The RMI registry returns the RMI object reference of the client server started. |
4 |
PPM front-end |
PPM client |
The front-end executes methods of the client server using the RMI object reference provided. |
5 |
PPM front-end |
PPM client |
The client server returns results. |
RMI communication through firewalls
Firewalls are programs that protect certain areas of the internal LAN in corporate networks. Port firewalls allow data transfer only on particular known ports for required network applications. Proxy servers running on the firewall monitor and control communication on application-specific data streams.
If there are firewalls between the PPM client server and front-end, the socket connections of the RMI protocol used by the PPM system are normally blocked. In this case, you can either open the required ports in the firewall, or you use suitable data transmission procedures, such as http/https tunneling (see chapter Data transfer operation modes).
If PPM front-end and client server are in different network segments of a LAN or WAN, multiple firewalls between the PPM components are conceivable and need to be configured accordingly.
RMI data transfer modes
You can set different operating modes for RMI communication between PPM front-end and PPM client server, which are described in the following chapters. After you created a client, the Compressed data transfer mode described in chapter Compressed data transfer is set.