Professional Documents
Culture Documents
S36
JCA Connection between J2EE and CICS
Product Update and Strategy
Mark Cocker
CICS Technical Strategy and Planning, Hursley Lab, IBM United Kingdom Ltd.
Mark_Cocker@uk.ibm.com
Abstract
The CICS Transaction Gateway (CICS TG) is a market leading connector proven to be a high performing,
secure, scalable and tightly integrated method of e-business access to CICS. It benefits from ease of
installation and flexible configuration options, that requires minimal or no changes in CICS. It provides a
range of networking options and provides a choice of Java and non-Java client APIs. This session will
provide information on the usability, systems management and performance enhancements in the latest
version of the product as well as providing insight into future strategic directions.
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 2
What is the CICS TG?
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 3
CICS Transaction Gateway and Universal Clients
Web Browser
CICS TG v6.0/v6.1 for z/OS
IPLA OTC product with sub-cap pricing
Multi-user server gateway
Desktop PC Flagship product
Web App Server
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 4
CICS Transaction Gateway - Toplogies
WebSphere
Topology 1 Application Server
and CICS TG on a
distributed platform
Topology 2
zSeries
WebSphere
Application Server CICS TG
on a distributed
z/OS
platform
WebSphere
Application Server
CICS
Topology 3 and CICS TG
Network on zSeries
HTML
•Proven characteristics:
– High performing
– Secure
– Scalable
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 6
Strategic options to access CICS
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 7
CTG v6 – What’s in the box?
•Performance/Scalability
•Systems Management
•Security
•Ease of Use
•CICS TG v6 ECI and EPI Resource Adapters will support JCA 1.5 only
– i.e. CICS TG v6 RARs support WebSphere Application Server v6 only
– WebSphere v5/5.1 customers can use CICS TG v5.1 (JCA 1.0) RARs to
talk to a remote CICS TG v6 Gateway daemon
– CICS TG v5.1 RARS are available for download in Supportpac CC03
•Tooling integration:
– CICS Transaction Gateway and IMS resource adapters are provided
with the J2C tooling component in Rational Application Developer v6
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 9
WebSphere and CICS TG interoperation
1. For WAS v5, the CICS TG v5.1 JCA 1.0 resource adapter can be used to
communicate with CICS TG v5.1 or later
WAS v5/v5.1
CICS TG v5.1
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 10
JCA 1.5 Connection Optimisations
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 11
Performance - improvements
•CTG/CUC on multi-platforms
– Internal runtime processing improvement
– NPTL Linux threading model on SLES9 and RHEL3
•CTG z/OS
– Improved scalability with EXCI pipes
– Compiler optimizations
– EXCI null truncation optimization (up to ~200K instructions )
– zSeries crypto support for SSL handshakes via JSSE
– zAAP support
•Java/JCA client
– Optimized data handling when returning data to Java client that
contains trailing nulls
•JCA 1.5
– Architectural connection optimisations
• Lazy transaction enlistment
• Lazy connection association
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 12
Performance – Windows/UNIX/Linux
2500.0
(Potential throughput at 100% CPU)
2000.0
1500.0
ITR tps
CICS TG v6
CICS TG v5.1
1000.0
500.0
0.0
100 bytes 4K 8K 16K 32K
COMMAREA size (KB)
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 13
Performance - Linux
2000.0
•NPTL is more scalable at high
1800.0
thread utilisations (many 100s)
1600.0
Internal Transaction Rate (ITR)
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 14
Performance – z/OS
WebSphere CICS
CICS TG EXCI
•Many applications are written to be data size agnostic – so just flow 32K data areas into CICS
•CICS, the EXCI transport and the CICS TG have automatic optimisations to remove trailing nulls from an
ECI COMMAREA flowed into or out of CICS
•CICS TG v6 has optimised code within CICS TG Java/EXCI interface
•Maximum saving on a 32KB COMMAREA with minimal non-null data is ~220K instructions
– Equates to max 40% saving in CICS TG code
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 15
Performance – z/OS
•General improvements
–Improved garbage collection in CICS TG Java code
–More highly optimized JNI (C) code
•Max saving of ~10K
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 16
Performance – z/OS zAAP
•zAAP - Java off-load
processors
libCTGJNI
daemon MRO
Java TCP EXCI
client Protocol •Java:
handler RACF – Inbound socket handling
RRS – Thread handling
– Logging
CICS TG z/OS infrastructure
•Native:
– Pipe allocation, data
Aim: The intent of the zAAP is to provide better price marshalling
– Logging and I/O
performance (hardware and software) for Java
– CICS EXCI libraries
workloads running on z/OS – RACF
• ~40% offload to zAAP (IFA) in benchmarks for ECI – RRS
workload using Gateway daemon
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 17
zAAP architecture
z/OS Partition
Executable on zAAP Executable on General Purpose CP
EXCI
JVM Resource
CTG
Adapter J
RACF
.so
N
(Native Code)
J2EE I Pgm
C asm
app CCI jni_ code
code
jvm
classes
N
J
.so
(JVM Native Code)
c code
ZP ZP ZP CP CP CP CP
9
datastream containing trailing nulls
8 •Up to 12% CPU savings measured on
7
Windows, AIX
txn per sec/cpu
6
CTG v5.1
•Up to 150K instructions saving measured on
5
CTG v6.0
4 z/OS
3 •Note: Additional performance benefit also
2
gained if using the RAD J2C beans vs. the
1
0
WSAD-IE WSIF tooling (see talk C32)
100 100 8000 31950 31950
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 19
EXCI pipe scalability
•CTG v6 feature - EXCI Pipe usage
–Improved diagnostics for pipe information messages
•Messages on startup to inform of EXCI limit
•Messages at thresholds to warn as limit approached, and breached
(90%,100%)
•CICS TS v2.3
–Improved performance of EXCI pipe de-allocate in CICS TS
v2.3 (~20%)
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 20
EXCI pipe scalability -2
Workers
CICS TG EXCI
1st request • Allocate
• Open
• DPL request
• Close
Next request
• Open CICS
• DPL request
• Close
Gateway
Termination • Deallocate
•CICS TS v1.3 limits max of 100 EXCI pipes per calling address space
•CICS TG v2.2 allows limit to be raised to 250 pipes
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 21
EXCI pipe reuse
Sockets Connection Worker Pipes
Managers threads
Worker2
Java client CM2 CICS B
CM3 Worker3
Java client
CICS C
Each allocate pipe will remain allocated to each worker thread unless
the variable CTG_PIPE_REUSE=ONE is set
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 22
Systems management
•Quiesce support
– Normal and immediate shutdown options
– Normal shutdown allows running transactions to terminate
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 23
System management – z/OS
•Logging to JES
– New CTGBATCH shell launcher supports logging to JES
(SYSOUT=*) or any DD.
– Easier to configure single address space
– Improved diagnostics when running CTGBATCH
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 24
Security - JSSE
the CICS TG
– Improved diagnostics
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 27
Ease of use - Infocenter
•Highly searchable
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 28
Removed components
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 29
Supported software – CICS TG v6.0
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 30
CTG v6.0.1- Service Update
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 31
CTG v6.0.2- Service Update
•CICS TG v6.1 for z/OS announced October 4th 2005, announce letter 205-248
•GA date of November 11th
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 33
XA transaction support – Two phase commit
Web browser
JSP Java
servlet
Servlet Resource
Transaction Manager
Gateway
Gateway
Manager cicseciXA CICS A
EJB resource Daemon
Daemon
Session bean
JCA adapter
TCP EXCI
JDBC or
SSL CICS B
Datasource
Resource
RRMS
DB2 Resource Manager
Manager
Note:
• CTG v6.1 cicseciXA.rar must be deployed into WebSphere to exploit XA transactions
• J2EE application server (WebSphere) can run also on z/OS or z/OS.e
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 34
XA support - new components
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 35
Migrating to XA support
1. Application does not use transactions
– EJB deployed with the transaction attribute NotSupported or simple servlet
– Can use cicseci.rar or cicseciXA.rar
– Gateway daemon does not need to be enabled for XA, or for CTGRRMS
2. Application uses transactions:
Recommened to install APAR APAR PK17426 (CICS TS V3.1) and APAR PK17427 (CICS
TS v2.x), to force rollback of units of work on an abend.
2A. Application needs to make multiple updates to the same CICS region as one unit-of-
work
• Use the CICS ECI resource adapter (cicseci.rar) and local transactions
• Will avoid the overhead of unnecessary XA flows
• Gateway daemon does not need to be enabled for XA, or for CTGRRMS
2B. Application needs to update 2 or more resource managers (i.e CICS, DB/2, IMS) as part
of a global transaction
• Use the XA resource adapter (cicseciXA.rar)
• Gateway daemon needs to be enabled for XA and CTGRRMS
• ctgmaster required if support for TCP/IP port sharing required
• If using the CTG in local mode with WAS v6 on z/OS, then either cicseci.rar or cicseciXA.rar can be
used as both support the RRS transaction support in WAS z/OS
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 36
Migrating to v6.1
WAS v6
CICS ECI
resource adapter
J2EE CICS TG v6.1 1pc CICS
Res-ref
Component Transaction
CICS
Gateway
CICS ECI XA V6.1
resource adapter 2pc (XA)
CICS TG v6.1
• If you wish to migrate applications over to XA support, you can deploy any
two resource adapters into WAS as long as both are at the same level
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 37
TCP/IP RAS enhancements
• IP bind support
–Allows Gateway to bind to a specific IP address
• IP subsystem reconnect
–Gateway reconnects to a failed/restarted TCP/IP stack
• SocketConnectionTimeout
–New property on ECIConnectionSpec in resource adapter
–Allows timeout to be set for establishing sockets
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 38
CICS TG and JCA – Trends and directions
Interoperation/Standards:
•64-bit
•IP v6
•eWLM
•Other J2EE Application Servers
Architectural limits
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 39
Extra information
•Whitepapers
– Integrating WebSphere Application Server and CICS using the JCA,
G224-7218 http://w.ww.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi
Redbooks
–Java Connectors for CICS, SG24-6401
–CICS TG v5, The WebSphere Connector for CICS, SG24-6133-01
–CICS TG v6.1, SG24-6171 (Now availabe in draft)
–Exploring WSAD-IE V5, SG24-6200-00
© IBM Corporation 2006 S36 JCA Connection between J2EE and CICS Page 40