What is the CA Gen Diagram Trace Utility connection sequence for client/server transactions when using the Transaction Enabler.
Component: CGDT : CA Gen Diagram Trace
If the Gen server is running under a Transaction Enabler (TE), the server itself only connects to aefad.
The aefuf is connected to the aefad listening port (-c) and the client connects to the aefuf listening port (-i).
So the connects are all one way i.e. Client ----> aefuf -----> aefad <-------- Gen server
When tracing with Diagram Tace Utility (DTU) the connection sequence is covered below. This assumes that all code has been generated in Trace and that the only application.ini file being used is on the Client:
1. The executed client load module reads the application.ini file, checks whether tracing is enabled, and gets the TRACE_HOST and TRACE_PORT information. The client load module uses this information to attempt to connect to the DTU listening port and send trace information to the DTU.
2. The client then flows to aefuf/aefad and to the Gen server. The TRACE_HOST and TRACE_PORT information is sent in the common format buffer (CFB) to the Gen server..
3. The Gen server extracts the trace information from the CFB sent by the client in the previous step and attempts to connect to the DTU listening port. The Gen server also opens a listening port using the first available ephemeral port (temporary port) and sends this information to the DTU.
4. DTU accepts connections from Gen servers. This connection is called the 'Trace Channel'.
The DTU tries to connect to the Gen server using the temporary port information sent by the Gen Server. This connection is called the 'Control Channel'. The control channel is for speeding up the trace process (smart mode). Even if this channel is not created, tracing may be performed, which may be slow.
5. The Gen Server will now be able to send trace information to the DTU.
NOTE: In step 3, if the TRACE_HOST value (IP address or hostname) sent from the client via CFB to the Gen server cannot be recognized on the server side such as on NAT (Network Address Translation) environment, the Gen server cannot send trace information. Therefore, to be able to use DTU on both the client and server, the TRACE_HOST value (IP address or host name) must be recognized by both the client and server machines.