Exact emulation - no optimization

 

WebSphere MQ Bridge Application                           3270 Transaction

MQPUT to     --MQCIH--------------------------------→ <Initial start>     
Bridge                     (Note 1)                   <business logic>   
RequestQ                           

MQGET from  ←--MQCIH+brmq_send_map+ADS+ADSDL--------  EC SEND MAP FROM(ads)
Bridge                     (Note 2)                   EC RETURN 
ReplyQ                                                   TRANSID(BAAA)

MQPUT to     --MQCIH--------------------------------→ <Start>     
Bridge                     (Note 3)                     
RequestQ                           

MQGET from  ←--MQCIH+brmq_receive_map_request+ADSDL-  EC RECEIVE MAP INTO(ads)
Bridge                     (Note 4)                         |
ReplyQ                                                      |
                                                          waits
Updates fields                                              |
                                                            |
MQPUT to     ----MQCIH+brmq_receive_map+ADS---------→       ↓
Bridge                     (Note 5)
RequestQ
                                                      <business logic>

MQGET from  ←--MQCIH+brmq_send_map+ADS+ADSDL--------  EC SEND MAP FROM(ads)
Bridge                     (Note 6)                   EC RETURN 
ReplyQ                                                   TRANSID(BAAA) 
                                                      ⋮

  1. The initial flow from the application contains just an MQCIH. The MQCIH includes control information specifying which transaction is to be started.

  2. The return flow from the 3270 transaction contains an MQCIH, which includes a facility token to be used for all subsequent flows, and diagnostic information if an error has occurred. It also contains a SEND MAP vector structure containing control information relating to the map itself, and data that represents the map. If the initiating application has requested it, an application data structure descriptor is also included.

  3. The bridge application sends a message back containing only an MQCIH. This contains control information to start the transaction once more.

  4. The 3270 transaction issues EXEC CICS RECEIVE MAP, as it does in the legacy environment. However, in the bridge environment the map data is not immediately available. The call is converted to a message containing an outbound RECEIVE MAP request vector. The application data structure descriptor is also included in the message. In this example, the transaction waits while the message is turned around by the bridge application. The model here is a little different from that in the legacy environment. However, the bridge architecture allows messages to contain more than one vector, so a number of requests could be satisfied by a single inbound message.

  5. Having updated fields in the application data structure, the bridge application sends an inbound RECEIVE MAP reply vector to satisfy the outbound request.

  6. The 3270 transaction issues EXEC CICS SEND MAP, which converts to a SEND MAP vector, and the cycle repeats.

If you examine the flows that are captured when such a transaction is run using the Passthrough tool (CICS SupportPac™ CA1E "CICS 3270 Bridge Passthrough"), we can identify the structures with the help of the available online documentation.

 

Parent topic:

From 3270 legacy to 3270 bridge - an example


fg15690_