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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
10.7.2 Data Operations<br />
<strong>The</strong> third issue concerns the relative performance profiles of the two transaction<br />
types. Although it is better for overall throughput to design your transactions to<br />
be pseudo conversational, conversational transactions use less processing<br />
power. <strong>The</strong> reasons are:<br />
• It may be necessary for an application server to be created to run the<br />
transaction. This involves a large amount of processing because <strong>CICS</strong> must<br />
create an environment for the transaction that is persistent across failures.<br />
You should try to avoid application server creation by setting the value of the<br />
RD stanza attribute Minservers to a value appropriate for your expected<br />
workload.<br />
• When each pseudo conversational transaction starts, the server has to be<br />
initialized for it. This initialization may include having to load the <strong>CICS</strong><br />
program for it if it is not already loaded in shared memory.<br />
<strong>The</strong> fourth issue is the delicate balance of transaction throughput and response<br />
times. In a heavily loaded system, once a conversational transaction is running,<br />
it will give more predictable response times than a pseudo conversational one.<br />
When the user presses an attention identifier (AID) key in the latter case, no<br />
application server may be available to process it, and the limit on the number of<br />
servers may have been reached. Conversely there should be better transaction<br />
throughput in the pseudo conversational case.<br />
<strong>The</strong>re are factors other than performance overhead to consider when choosing<br />
between pseudo conversational and conversational design for <strong>CICS</strong> applications,<br />
as described below. <strong>The</strong> method you choose can affect how you write the<br />
application programs. You may need extra <strong>CICS</strong> requests for pseudo<br />
conversations, particularly if you are updating recoverable files. Once you have<br />
done this, however, operational control (performance monitoring, capacity<br />
planning, recovery, system shutdown, and distributing system messages) may be<br />
much easier.<br />
10.7.1.4 <strong>CICS</strong> Program Design<br />
Having decided whether your transaction is best written to be conversational or<br />
pseudo conversational, your next task is to design it. Most organizations<br />
mandate a modular approach of some sort to this design task, and a primary<br />
consideration here is your choice of <strong>CICS</strong> on Open Systems, operating system,<br />
and programming language facilities.<br />
<strong>The</strong> <strong>CICS</strong> file services API is designed to allow access to data files whose size<br />
can range from small to large, in a variety of file organizations and access<br />
methods, and which are usually of a more permanent nature.<br />
<strong>The</strong> transient data and temporary storage service API commands allow access<br />
to sequential and random access queues.<br />
<strong>The</strong> journal services API allows you to write journal records for audit trails or<br />
other purposes for offline processing.<br />
In addition, <strong>CICS</strong> allows access to relational databases that provide a<br />
programmable interface through EXEC SQL commands in one of the supported<br />
<strong>CICS</strong> programming languages.<br />
Chapter 10. Application Design Considerations 153