Addressing OLTP Solutions with CICS: The Transaction Server ... - Ibm
Addressing OLTP Solutions with CICS: The Transaction Server ... - Ibm
Addressing OLTP Solutions with CICS: The Transaction Server ... - Ibm
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
10.7.1.1 Pseudo Conversational and Conversational <strong>Transaction</strong>s<br />
Pseudo conversational programming is based on the fact that, in a<br />
conversational transaction, the length of time spent in processing each of a<br />
user′s responses is extremely short when compared to the amount of time<br />
waiting for the input. A conversational transaction is one that involves more<br />
than one input from the terminal, so that the transaction and the user enter into<br />
a kind of conversation. A nonconversational transaction has only one input (the<br />
one that causes the transaction to be invoked). It processes that input, responds<br />
to the terminal, and terminates.<br />
In a conversational transaction, processor utilization times, even allowing for<br />
accessing files, are considerably shorter than terminal transmission times, which<br />
are considerably shorter than user response times. This is especially true if<br />
users have to think about the entry or enter many characters of input.<br />
Consequently, conversational transactions utilize storage and other resources<br />
for much longer than nonconversational transactions.<br />
A pseudo conversational transaction sequence contains a series of<br />
nonconversational transactions that look to the user like a single conversational<br />
transaction involving several screens of input. Each transaction in the sequence<br />
handles one input, sends back the response, and terminates.<br />
Before a pseudo conversational transaction terminates, it can pass data forward<br />
to be used by the next transaction initiated from the same terminal, whenever<br />
that transaction arrives. A pseudo conversational transaction can specify what<br />
the next transaction is to be, and it does this by setting the tranid of the<br />
transaction which is to handle the next input. However, be aware that if another<br />
transaction is started for that device, it may interrupt the pseudo conversational<br />
chain you have designed.<br />
No transaction exists for the terminal from the time a response is written until<br />
the user sends the next input and <strong>CICS</strong> starts the next transaction to respond to<br />
it. Information that would normally be stored in the program between inputs is<br />
passed from one transaction in the sequence to the next using the COMMAREA<br />
or one of the other facilities that <strong>CICS</strong> provides for this purpose.<br />
10.7.1.2 Correspondence of <strong>CICS</strong> Client Processes and <strong>Server</strong>s<br />
In a typical <strong>CICS</strong> system there is likely to be a small pool of application servers<br />
servicing requests from a much larger pool of <strong>CICS</strong> cicsterm and cicsteld<br />
processes.<br />
It is important to understand that a conversational transaction requires exclusive<br />
use of an application server, thereby reducing the total number of servers<br />
available to process other requests. <strong>CICS</strong> will create additional servers as<br />
dictated by system demand up to a maximum number that you can configure, but<br />
once you reach this limit no more will be created. <strong>The</strong>refore if you design all of<br />
your applications to be conversational, there is a considerable risk that <strong>CICS</strong> will<br />
be unable to service user requests to run transactions.<br />
Chapter 10. Application Design Considerations 151