04.04.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!