PreviousIntroduction to Remote IMS RequirementsNext"

Chapter 15: How Remote IMS Works

The general concept for the Remote IMS product is:

This chapter describes these steps in more detail and highlights specific issues with the Remote IMS product. It also covers CPI-C driven transactions in general.

When you are familiar with this basic operation you should also review the chapters Technical Specifications and Communication Details for more information.

15.1 Processing Steps

The following sections look at each of these steps in detail.

15.1.1 Step 1: Application Calls CBLTDLI

An application running under the IMS Option product makes a call to DL/I using a database PCB. All of the IMS Option supported call interfaces are supported. That is, CBLTDLI, ASMTDLI, PLITDLI, CBLHSSR, PLIHSSR, CEETDLI, AIBTDLI and any other language-dependent entry points supported by IMS Option. In addition, any user-written entry points based on the USRTDLI sample program in IMS Option are supported.

15.1.2 Step 2: Validation and Call Routing

IMS Option looks up the DBD-name for the database PCB in its Database Catalog. If the DBD-name is not a Remote Database, the database call is processed by IMS Option as it would normally. If the DBD-name is a Remote Database, IMS Option edits the DL/I call construct using the DBD and PSB information Genned to the IMS Option system. For example, the call function and SSA syntax are validated against the dynamically created IMS Option "ACB". If call validation fails, the results are returned immediately to the application program.

15.1.3 Step 3: Route Call to Remote Requester

IMS Option calls the Requester and passes it control information and the application program's DL/I call parameters.

15.1.4 Step 4: Establish Conversation to Remote IMS Server

If an LU 6.2 conversation to the Server is not already active, one is established. A popup window is displayed indicating the conversation start-up is in progress - the popup is cleared when the conversation is established. Once established, the Remote Server occupies an IMS/ESA dependent region and can access IMS/ESA resources. Security checking is performed at this time by the communications product, APPC/MVS, IMS/ESA and RACF as defined by your installation. If the conversation is rejected due to invalid authorization, the Requester prompts you for a user ID and password and re-try the connection. The Requester and Server exchange configuration information. This exchange coordinates variable options and enables changing the version numbers of the Requester and Server software versions at different times without disrupting ongoing applications.

15.1.5 Step 5: Schedule PSB on IMS/ESA

For the first call to a Remote Database after a PSB scheduling in IMS Option, the Remote Requester sends a message to the Remote Server to have it issue an APSB call (allocate PSB). The PSB-name used is the same name used by IMS Option when it scheduled the application.

15.1.6 Step 6: Requester Sends Call to Server

The Requester packages the DL/I call into an LU 6.2 message and sends it to the Server. The message is constructed using the IMS Option PSB and DBD definitions to determine SSA lengths and segment I/O area lengths and types (fixed or variable, logical children, concatenated segments, etc.). The length information for the segments is used by the Requester to construct the message packets for update calls. This length data is sent to the Server so it can construct the packets for retrieval calls.

15.1.7 Step 7: Server Issues Call and Sends Back Results

The Server receives the message and translates it into a call to CBLTDLI or AIBTDLI. It issues the call, packages the results into an LU 6.2 message and sends it back to the Requester.

15.1.8 Step 8: Return Results to Application

The Requester receives the message and returns the results to the application program's calling parameters. The application resumes processing and can make subsequent calls to Remote Databases or any other IMS Option database type. In other words, processing returns to Step 1. The conversation between the Requester and Server is maintained so that database position and record locks are maintained between DL/I calls. The state of update calls remain "in-flight" until a syncpoint occurs.

15.2 Security - Userid and Password

Remote IMS automatically prompts you for a user ID and password (in Step 4 above) when connecting to a remote system which requires them. If the remote system does not require a user ID and password, Remote IMS does not prompt you for one. Alternatively, some communication products enable you to store a user ID and password in the CPI-C Side File definition. See the chapter Configure PC Communications for more details of each communication product's security handling.

Remote IMS prompts you for the user ID and password in a popup window. This popup window includes an option to save the values for subsequent connections. You can save them in memory or in a disk file depending on the "UseridFile" setting in the rmtims.ini file. If saved, the password is encrypted to avoid unwanted disclosure. See the chapter Advanced Requester Configuration for details on saving the user ID and password.

15.3 Syncpoint and PSB Termination

Syncpoint requests are issued by IMS Option to the Requester according to the rules for IMS applications, for example, commits at GU to the IO PCB and normal termination and backout on application request or abnormal termination. See the chapter Syncpoint Considerations for more information.

The Requester forwards syncpoint requests, if necessary, to the Server for processing. The Server issues SRRCMIT or SRRBACK calls to IMS/ESA for commit and rollback as required for CPI-C driven applications. The Requester does not send a sync point request to the Server if no Remote Databases were accessed in the unit-of-work.

When the application terminates, IMS Option notifies the Requester of the PSB termination. The Requester sends a message to the Server requesting it to issue a DPSB call to deallocate the PSB.

15.4 Requester/Server Conversation Duration

The Server occupies an IMS/ESA dependent region until the conversation between the Requester and Server is terminated. Once terminated, this region is available for use by other transactions.

The Requester can be configured to terminate the conversation at two different events:

Ending the conversation with the application program minimizes your use of IMS/ESA dependent regions. Ending the conversation with the Application Region provides the best performance when running multiple online applications in series. For example, when message switching from transaction to transaction. See the chapter Advanced Requester Configuration for a description of the "KeepConversation" and "WhenStopTp" configuration settings. By default, the conversation is terminated when the Application Region terminates.


Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.

PreviousIntroduction to Remote IMS RequirementsNext"