Direct RPC

Direct RPC is a component that enables RPC clients and RPC servers to connect directly to the EntireX Adapter without the EntireX Broker. This document covers the following topics:


Configuring Direct RPC

To enable Direct RPC, choose Direct RPC Administration in the EntireX Adapter's administration menu and follow the wizard. The table below gives an overview of parameters to be specified:

Name Values Default Action Description
Status Stopped, Running Stopped Start or stop. Current status of the Direct RPC component.
Logging Level
Fatal Fatal errors, Direct RPC cannot work correctly.
Error Severe errors, Direct RPC continues to work correctly.
Warning Errors with low severity.
Info To follow the flow of requests between RPC clients, servers and Direct RPC.
Debug All communication buffers will be written to the log file.
Trace Internal use only (Software AG Support).
Fatal Change logging level. Logging level.

Log file wmentirex.directrpcYYYYMMDD.log is located in folder logs in the Integration Server installation folder. To change the default location, see Adapter Settings.

It is not recommended to use "Info", "Debug" or "Trace" in a production environment.

TCP Port Number Port number 1971 Change port number. TCP listening port for Direct RPC.
SSL Port Number Port number - Change port number. SSL/TLS listening port for Direct RPC.
Keystore Alias (for SSL) The alias name of a keystore defined in the Integration Server. - Change alias name. Only needed for SSL. Defined in the IS Web Administration Security > Keystore.
Truststore Alias (for SSL) The alias name of a truststore defined in the Integration Server. - Change alias name. Only needed for SSL. Defined in the IS Web Administration Security > Keystore.
FIPS Mode Enabled, Disabled Disabled Enable or disable Running in FIPS 140-2 compliant security mode.
Auto Start Enabled, Disabled Disabled Enable or disable. Automatic start of Direct RPC during startup of the Adapter.

Encoding for RPC Clients and Servers (Default and Available Codepages)

The default encoding of an RPC client or server is the same as the default encoding of the platform used. The table below gives an overview of default and available codepages:

Platform Default Codepage Available Codepages (single byte only)
Linux/Windows ISO 8859-1 ASCII codepages
IBM mainframe (z/OS, z/VSE) CP037 EBCDIC codepages
Fujitsu mainframe (BS2000) CP273 EBCDIC codepages

To specify the encoding of an RPC client or server, see Configuration and Usage for links to the respective sections of the documentation.

Monitoring

The following table gives an overview of monitored objects:

Item Description
Servers Number of registered servers.
RPC Requests Number of RPC requests.
Socket Connections Number of plain socket connections (TCP) from RPC clients or servers.
Secure Socket Connections Number of secure socket connections (SSL/TLS) from RPC clients or servers.
Direct Connections Number of direct connections from Adapter services or Adapter Listeners.
Calls Number of calls (including calls such as logon).
Conversations Number of conversational calls.

Notes:

  1. For each item the following information is provided: Current (number of items currently active), maximum (high watermark) and total (number of activations so far).
  2. If Direct RPC connections are enabled, the value of Direct Connections can be greater than zero even if Direct RPC is stopped.

Services

The following information is displayed for each service:

Name The name of the service
Type "External RPC Server" or "Direct RPC Server".
Instances Number of registered replicates.
Wait for Server Number of client requests that are waiting for a free server to be processed. The percentage (number of calls waiting compared to the total number of calls) is helpful in deciding if further server replicates are necessary.
Action Shutdown (only for external RPC servers).

Note:
As a prerequisite, at least one server must be registered or listener enabled.

Servers

The following information is displayed for each service:

Service Name The name of the service
Type "Listener" or "RPC Server".
Name Name of the Direct Listener or the external RPC server.
Host Host where the external RPC server is running.
Version Version of the external RPC server.
Start Time Start time of the RPC server.
Action Shutdown (only for external RPC servers).

Note:
Host, Name and Version can only be displayed if the RPC server provides this information.

Built-in Services for Direct RPC

The functionality of Direct RPC as shown on the IS Administration Console's page is available with built-in services in the WmEntireX package. They correspond to the parameters on the IS Administration Console's page. When a service is executed, the signature of the input and output parameters is shown. The following services are available:

  • pub.wmentirex.directrpc.admin:getAutoStart

  • pub.wmentirex.directrpc.admin:getIbmMainframeDefaultCharset

  • pub.wmentirex.directrpc.admin:getKeyStoreAlias

  • pub.wmentirex.directrpc.admin:getLoggingLevel

  • pub.wmentirex.directrpc.admin:getSSLPortNumber

  • pub.wmentirex.directrpc.admin:getSiemensMainframeDefaultCharset

  • pub.wmentirex.directrpc.admin:getStatus

  • pub.wmentirex.directrpc.admin:getTCPPortNumber

  • pub.wmentirex.directrpc.admin:getWindowsUnixDefaultCharset

  • pub.wmentirex.directrpc.admin:setAutoStart

  • pub.wmentirex.directrpc.admin:setIbmMainframeDefaultCharset

  • pub.wmentirex.directrpc.admin:setKeyStoreAlias

  • pub.wmentirex.directrpc.admin:setLoggingLevel

  • pub.wmentirex.directrpc.admin:setSSLPortNumber

  • pub.wmentirex.directrpc.admin:setSiemensMainframeDefaultCharset

  • pub.wmentirex.directrpc.admin:setTCPPortNumber

  • pub.wmentirex.directrpc.admin:setWindowsUnixDefaultCharset

  • pub.wmentirex.directrpc.admin:start

  • pub.wmentirex.directrpc.admin:stop

In addition, there are 8 services for advanced configuration of the SSL transport:

  • pub.wmentirex.directrpc.admin:getSSLClientAuthentication

  • pub.wmentirex.directrpc.admin:getTrustStoreAlias

  • pub.wmentirex.directrpc.admin:getTLSProtocols

  • pub.wmentirex.directrpc.admin:getCipherSuites

  • pub.wmentirex.directrpc.admin:setSSLClientAuthentication

  • pub.wmentirex.directrpc.admin:setTrustStoreAlias

  • pub.wmentirex.directrpc.admin:setTLSProtocols

  • pub.wmentirex.directrpc.admin:setCipherSuites

Note:
Use the setSSLClientAuthentication service to switch on SSL client authentication. Client authentication requires that a truststore alias has been set with pub.wmentirex.directrpc.admin:setTrustStoreAlias. The truststore alias is defined in the IS web admin Security > Keystore. Note that the names of the keystore alias and the truststore alias must be different.

Use the setTLSProtocols service to change the set of enabled TLS protocols. The default is defined by the Java Runtime. Only protocols that are supported by the Java Runtime can be used. The set of enabled and supported protocols are shown in the log file if the logging level is set to DEBUG or TRACE. Note that the getTLSProtocols service returns the value previously set by the setTLSProtocols service.

Use the setCipherSuites service to change the set of enabled cipher suites. The default is defined by the Java Runtime. Only cipher suites that are supported by the Java Runtime can be used. The set of enabled and supported cipher suites are shown in the log file if the logging level is set to DEBUG or TRACE. Note that the getCipherSuites service returns the value previously set by the setCipherSuites service.

Limitations of Direct RPC

  • Reliable RPC is supported using the Direct RPC Reliable Listener Connection. Other use cases are not supported. See Connection Parameters for Direct RPC and Direct Reliable RPC Listener Connections.

  • Command and Information Services (CIS) are not supported. Using this API can result in errors, or the data returned is incomplete or missing.

  • An adapter listener and an external RPC server cannot be registered for the same service.

  • Replicates of external RPC servers must use the same encoding.

  • EntireX Security is not supported.

  • ACI applications are not supported. For Natural RPC clients or servers, Broker ACI is only supported for versions higher than 1. See the documentation on the ACIVERS parameter in Parameter Reference in your Natural for Mainframe documentation.