Configuring Component Integration Services for Outbound RPCs

If Component Integration Services has been enabled, a client can use one of two methods to request that Component Integration Services handle outbound RPC requests.

When cis rpc handling is enabled, outbound RPC requests are not routed through the Adaptive Servers site handler. Instead, they are routed through Component Integration Services, which uses persistent Client-Library connections to handle the RPC request. Using this mechanism, Component Integration Services handles outbound RPCs as follows:

  1. Determines whether the client already has a Client-Library connection to the server in which the RPC is intended. If not, establish one.
  2. Sends the RPC to the remote server using Client-Library functions.
  3. Relays the results from the remote server back to the client program that issued the RPC using Client-Library functions

RPCs can be included within a user-defined transaction. In fact, all work performed by Component Integration Services on behalf of its client can be performed within a single connection context. This allows RPCs to be included in a transaction’s unit of work, and the work performed by the RPC can be committed or rolled back with the other work performed within the transaction.

The benefits of using Component Integration Services to handle outbound RPC requests are as follows:
  • Client-Library connections are persistent so that subsequent RPC requests can use the same connection to the remote server. This can result in substantial RPC performance improvements, since the connect and disconnect logic is bypassed for all but the first RPC.

  • Work performed by an RPC can be included in a transaction, and is committed or rolled back with the rest of the work performed by the transaction. This transactional RPC behavior is currently supported only when the server receiving the RPC is another SAP ASE or a DirectConnect which supports transactional RPCs.

  • Connect requests appear to a remote server as ordinary client connections. The remote server cannot distinguish the connection from a normal application’s connection, unless server logins are enabled. This affects the remote server management capabilities of an SAP ASE, since no verification is performed against sysremotelogins, and all connections must have valid SAP ASE login accounts established prior to the connect request (trusted mode cannot be used in this case).