Application objectives

Each application type has a different purpose, and its ease-of-use varies depending on whether the program is a standard DL/I, modified standard DL/I, or a CPI Communications driven application program.

The following table lists the purpose and ease-of-use for each application type (standard DL/I, modified standard DL/I, and PI-C driven). This information must be balanced with IMS resource use.

Table 1. Using application programs in APPC
Purpose of application program   Ease of use  
Standard DL/I program Modified standard DL/I program PI-C driven program
Inquiry Easy Neutral Very Difficult
Data Entry Easy Easy Difficult
Bulk Transfer Easy Easy Neutral
Cooperative Difficult Difficult Desirable
Distributed Difficult Neutral Desirable
High Integrity Neutral Neutral Desirable
Client Server Easy Neutral Very Difficult

Choosing conversation attributes

The LU 6.2 transaction program indicates how the transaction is to be processed by IMS. Two processing modes are available: synchronous and asynchronous.

Synchronous conversation

A conversation is synchronous if the partner waits for the response on the same conversation used to send the input data.

Synchronous processing is requested by issuing the RECEIVE_AND_WAIT verb after the SEND_DATA verb. Use this mode for IMS response-mode transactions and IMS conversational-mode transactions.

Example:
MC_ALLOCATE TPN(MYTXN)
MC_SEND_DATA  'THIS CAN BE A RESPONSE MODE'
MC_SEND_DATA  'OR CONVERSATIONAL MODE'
MC_SEND_DATA  'IMS TRANSACTION'
MC_RECEIVE_AND_WAIT

Asynchronous conversation

A conversation is asynchronous if the partner program normally deallocates a conversation after sending the input data. Output is sent to the TP name of DFSASYNC.

Asynchronous processing is requested by issuing the DEALLOCATE verb after the SEND_DATA verb. Use asynchronous processing for IMS commands, message switches, and non-response, non-conversational transactions.

Example:
MC_ALLOCATE TPN(OTHERTXN)
MC_SEND_DATA  'THIS MUST BE A MESSAGE SWITCH, IMS COMMAND'
MC_SEND_DATA  'OR A NON-RESP NON-CONV TRANSACTION'
MC_DEALLOCATE

Asynchronous output delivery

Asynchronous output is held on the IMS message queue for delivery. When the output is enqueued, IMS attempts to allocate a conversation to send this output. If this fails, IMS holds the output for later delivery. This delivery can be initiated by an operator command (/ALLOC), or by the enqueue of a new message for this LU 6.2 destination.

MSC synchronous and asynchronous conversation

MSC remote application messages from both synchronous and asynchronous APPC conversations can be queued on the multiple systems coupling (MSC) link. These messages can then be sent across the MSC link to a remote IMS for processing.