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.

Table 5. XA-enabled and Non-XA-Enabled Relational Databases<br />

XA-Enabled<br />

Relational Database<br />

<strong>Transaction</strong>al information exchange between<br />

<strong>CICS</strong> for AIX and DB2 for AIX takes place.<br />

Coordinated commitment or rollback of both<br />

<strong>CICS</strong> resources and RDBMS table changes<br />

occurs through the EXEC <strong>CICS</strong> SYNCPOINT call.<br />

An XAD entry (Product Definition) is required<br />

for each database. <strong>CICS</strong> for AIX has to be cold<br />

started after any changes to the XAD stanza file<br />

or the addition of new XAD stanza file entries.<br />

Provides better performance because <strong>CICS</strong><br />

transactions can reuse an XA-managed<br />

database connection while the application<br />

server (cicsas) is running, <strong>with</strong>out having to call<br />

EXEC SQL CONNECT repeatedly.<br />

<strong>CICS</strong> immediately abends the region if it cannot<br />

open a connection to the database.<br />

<strong>CICS</strong> facilities for transactional control must be<br />

used. <strong>The</strong>se are the EXEC <strong>CICS</strong> SYNCPOINT<br />

and EXEC <strong>CICS</strong> SYNCPOINT ROLLBACK<br />

commands.<br />

<strong>CICS</strong> SYNCPOINT processing takes longer than<br />

an SQL COMMIT call because it includes<br />

coordination of syncpoint among all resources<br />

managers involved.<br />

<strong>CICS</strong> application programs must be compiled<br />

<strong>with</strong> the NOSQLINIT option.<br />

Database connection stays <strong>with</strong> the application<br />

server (cicsas). Hence it is conveyed across an<br />

EXEC <strong>CICS</strong> LINK or EXEC <strong>CICS</strong> XCTL call.<br />

Database connection is established according<br />

to the XAD definitions at <strong>CICS</strong> startup time.<br />

<strong>The</strong>re is no need for the <strong>CICS</strong> transaction to<br />

make the database connection.<br />

Non-XA-Enabled<br />

Relational Database<br />

<strong>Transaction</strong>al information exchange between<br />

<strong>CICS</strong> for AIX and DB2 for AIX does not take<br />

place.<br />

<strong>CICS</strong> application has to issue EXEC SQL<br />

COMMIT call or EXEC SQL ROLLBACK call<br />

explicitly for the changes of RDBMS tables.<br />

Only the <strong>CICS</strong> resource changes are affected<br />

by the EXEC <strong>CICS</strong> SYNCPOINT call.<br />

An XAD entry is not required. A <strong>CICS</strong><br />

application that wants to connect to a particular<br />

database has to issue an EXEC SQL CONNECT<br />

call.<br />

<strong>CICS</strong> applications have to issue the EXEC SQL<br />

CONNECT call to start the database connection<br />

for each transaction. Hence there is a greater<br />

overhead.<br />

<strong>CICS</strong> region keeps running when the EXEC SQL<br />

CONNECT call issued by a <strong>CICS</strong> application<br />

fails.<br />

RDBMS facilities must be used. <strong>The</strong>y are the<br />

EXEC SQL COMMIT, EXEC SQL ROLLBACK,<br />

and EXEC SQL SYNCPOINT commands.<br />

SQL COMMIT processing is faster, but it only<br />

works if no other resource managers are<br />

involved in the transaction. Furthermore, using<br />

SQL COMMIT in a transaction prevents you<br />

from issuing an EXEC <strong>CICS</strong> SYNCPOINT call in<br />

the same transaction.<br />

Special compile options are not required.<br />

Database connection cannot be conveyed<br />

across the EXEC <strong>CICS</strong> LINK or EXEC <strong>CICS</strong> XCTL<br />

call. You must disconnect from the database<br />

before these calls and reconnect in the called<br />

program.<br />

<strong>CICS</strong> transaction has to connect to the<br />

database through an EXEC SQL CONNECT call<br />

before making any SQL access calls.<br />

Chapter 7. Interactions <strong>with</strong> the DB2 Family of Products 93

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

Saved successfully!

Ooh no, something went wrong!