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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

10.3.3 Writing ECI and EPI Application Programs<br />

ECI and EPI application programs that run on <strong>CICS</strong> on Open Systems clients can<br />

be written in COBOL, C, or PL/I. Programs that do not make operating-specific<br />

calls are portable between <strong>CICS</strong> on Open Systems clients and other <strong>CICS</strong> client<br />

products. Application programs can use the facilities of both the ECI and the<br />

EPI.<br />

To use the ECI and EPI, programs must be linked to the appropriate ECI and EPI<br />

libraries. Sample programs are supplied <strong>with</strong> auxiliary files that help <strong>with</strong><br />

linking the programs.<br />

For more information about the ECI and EPI interfaces see <strong>CICS</strong> Family:<br />

Client/<strong>Server</strong> Programming, SC33-1435-00.<br />

10.4 How <strong>CICS</strong> Runs Your <strong>Transaction</strong>s<br />

<strong>The</strong> major components of the <strong>CICS</strong> for AIX run-time system are:<br />

• <strong>The</strong> <strong>CICS</strong> client processes<br />

• <strong>The</strong> transaction scheduler<br />

• A pool of application servers<br />

• <strong>CICS</strong> queue and file manager<br />

• A PPC Gateway <strong>Server</strong><br />

See 3.2.1, “Components” on page 28 for more details.<br />

<strong>The</strong>re are two steps when <strong>CICS</strong> executes your transaction:<br />

1. Requesting a transaction to be run<br />

2. <strong>Transaction</strong> execution<br />

148 <strong>CICS</strong> for AIX as the <strong>Transaction</strong> <strong>Server</strong><br />

When you enter a <strong>CICS</strong> transaction identifier through a <strong>CICS</strong> client, it sends an<br />

RPC to the transaction scheduler. <strong>The</strong> transaction scheduler selects an<br />

application server to run the transaction and requests it to do so <strong>with</strong> an RPC.<br />

When you link-edit a <strong>CICS</strong> program to be run under <strong>CICS</strong> (for example, using the<br />

<strong>CICS</strong>-provided command, cicstcl, to translate, compile, and link), the object you<br />

create is not directly executable by the operating system because it contains<br />

some unresolved symbols and expects to be run by a <strong>CICS</strong> application server.<br />

<strong>The</strong> <strong>CICS</strong> application server provides a complete environment for running the<br />

loadable objects produced by cicstcl. To run your transaction, <strong>CICS</strong> looks up the<br />

name and location of its first <strong>CICS</strong> program and uses the operating system<br />

dynamic loading facility to load that program into the application server. <strong>The</strong><br />

unresolved symbols in the program are then resolved by symbols provided by<br />

the server, and the program begins execution. <strong>The</strong> resolution of symbols<br />

applies irrespective of the language in which the program is written. Programs<br />

produced by the C compiler (or by the IBM COBOL or IBM PL/I compilers) are<br />

built as standard XCOFF objects and are thus shared automatically among<br />

multiple application servers on the same machine.

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

Saved successfully!

Ooh no, something went wrong!