It is well known that Java is one of the most popular programming languages in use. In this session we'll look at how CICS allows you to make use of OSGi, the service orientated approach to Java. We'll also look at the fast and lightweight Java web container that is provided in CICS TS V5. Liberty Profile technology in CICS provides the rich features of Java Servlet and JavaServer Pages specifications, and fast local access to your existing CICS applications and data. Add the CICS VUE and Java on CICS just makes sense!
2. Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
4. CICS JVM Server - Aims
1. Provide new APIs for Java applications deployed into CICS
– Enable porting of JEE applications to CICS from other application servers
2. Update CICS to provide same features and functions as WebSphere Liberty
Profile
– Priority to API based functions
– Support QoS features and integrate with CICS as required
– Keep up to date with Liberty service stream
1. Continue to provide a robust JVM hosting environment for other components
and services
– ODM, SAML
– PHP, Modern Batch, Mobile …
5. JVM server environments – V4/V5
Axis2
OSGi bundles
OSGi bundles and
Liberty Web
Dynamic
Scripting
OSGi enabled CLASSPATH
Mobile
Modern
Batch
SAML
Initial Pgm
DPL
Web/JEE
JAXWS
Web/PHP
ODM
6. 7
JVM server - runtime
Dispatcher
LE Enclave
JVM Server
JVM
LE Enclave
JVM Server JVM
thread
thread
Pool of T8 TCBs
Pool of T8 TCBs
pthread
pthread
pthread
thread
pthread
CICS Region
pthread
7. 8
JVM server – OSGi Framework
•Class Loading
– Each bundle has its own loader
– No flat classpath
– Class sharing and visibility decided by declarative dependencies, not by class loader
hierarchies
– OSGi framework works out the dependencies including versions
9. 10
OSGi bundle deployment
Bundle Directory
Jar File
z/OS
CICS region
Unix System ServicesEclipse IDE
packageexampl es. hel l o
publ i c cl ass Hel l oWor l d
{
publ i c st at i c voi dmai n( St r i ngar gs[ ] )
{
Syst em. out . pr i nt I n( " Hel l oCI CS" ) ;
}
}
CICS Explorer SDK
CICS Bundle Project
OSGi Bundle Project
Workstation
BUNDLE definition
JVM Server
OSGi
bundle
Middleware
Bundles
Export to USS
16. 18
Liberty in CICS JVM server
22/05/14 18
Explorer
SDK CICS
Liberty
JVM server
Web
Client
HttpRequest
HttpResponse
URIMAP
Web
App
Export
Wizard
CICS
Bundle
EBA
Deploy
install
server.xml
JVMProfile
Tran
ID
security
Web.xml
<security_constraint>
OSGi
bundl
e
COBOL
We
b
App
EBA
VSAM
DB2
17. 19
Application deployment – Liberty JVM server
Explorer
SDK
CICS Bundle resource
WAR, EBA
Liberty dropins directory
Liberty application definition
Liberty bundle repository
Explorer
SDK
CICS
Liberty
JVM server
WAR
Export
Wizard
CICS
Bundle
EBADeploy
install
EBA
Aplication
definitions
Bundle
repositor
y
OSGi
bundl
e
Dropins
directory
OSGi
bundl
e
We
b
App
EBA
Application
definition
18. 20
Configuring Liberty in CICS
1. Create JVM server
– Set WLP variables in JVM profile
– Enable autoconfiguration system property
2. Start JVM server
– Creates zFS Liberty directory structure
– Creates Server.xml
– HTTP and HTTPS listeners
– DB2 driver configuration
3. Deploy applications
– CICS bundles
– Liberty dropins
– Liberty application defintions
4. Remove autoconfiguration
– Edit server.xml
– Customise .. security
19. 24
Benefits for CICS
Provides “off the shelf” Web-server capabilities (JSPs and
Servlets)
Potential to re-use even more WebSphere technology in CICS.
JSP and Web servlets have direct, local, access to CICS data
and resources.
Servlets can take advantage of existing CICS OSGi applications
to provide a Dynamic Web front end.
20. 25
Oct2012
CICS Liberty Roadmap - 2014
WAS 8.5.0
Liberty profile
WAS 8.5.5
Liberty core
Liberty base
EJB, JMS, clusterring,
jax-ws
20132012
CICS TS V5.1
Liberty 8.5.0
Servlet/jsp
Explorer SDK for Web
2014
CICS TS V5.2 open beta
Liberty 8.5.5.1
JTA
JDBC
zosSecurity, appSecurity
jndi,
2Q12
WAS 8.5.0.1
WAS 8.5.0.2
WAS Liberty Vnext
alpha
JCA 1.6
Web sockets
EJB 3.2
…..
April2013
2Q13
4Q2012
2Q2013
Oct2013
V5.1APAR PM91667
Liberty 8.5.5
V5.1 APAR
PM85279
JAX-RS, JSON
V5.1 APAR
PM80214
Liberty 8.5.0.1
EBA support
WAS
8.5.5.1
WAS
8.5.5.2
21. 41
As little customization as we can get away with.
–Do things the Liberty way first, and if appropriate, only the Liberty way.
–Ensure Server.xml can be configured dynamically by the user.
–Support Liberty monitored drop-ins directory for applications.
Provide CICS enhancements only where absolutely necessary (Security,
Tasks, JDBC, MQ)
Provide End-to-end Development and Deployment experience to enable non-
mainframe professionals to develop for CICS.
Fully compatible with existing CICS OSGi Java applications running within the
same JVM server.
22. 42
Specifications
Java 7 (64-bit)
Equinox 3.7 as the OSGi framework.
– Implements the OSGi R4.3 specification
WAS Liberty Profile 8.5.5
IBM CICS SDK for WebSphere Application Server Liberty profile v5.2
Eclipse 3.6.2
23. 47
CICS TS V5.2 – Liberty runtime extensions
Liberty 8.5.5
Integrated and
optimized for CICS
Web workloads
JEE Roles
RACF keyrings
LTPA single signon
Form based security
SSL client authentication
Trust Association Interceptors
Security
JTA
JDBC
JNDI naming
DB2 DataSource
Java
global
transactions
IBM Java SDK V7.1
26. 54
Liberty Features in CICS
8.5.0
– appSecurity
– Bean validation
– Blueprint
CICS security
– JAX-RS
– JDBC (Type 2 and Type 4 DataSource)
– JNDI
– JPA – Java persistence architecture
JSF
– JSON
JSP
– JTA Transactions
– Local JMX, Monitoring, REST connector - JMX
SSL ( RACF keyrings)
Servlet
– Session datasource– HA for http sessions
– Server status
– WAB
– z/OS workload management
– z/OS Security
– z/OS transaction management
8.5.5
– CDI & managedBeans - CDI applications
– collectiveController/clusterMember - clustering
– Webcache/ distributedMap - dynacache
– EJBLite – local EJB
– JAXWS and JAXB – Web services
– WS-Security – Security for JAX-WS
– ldapRegistry – LDAP security registry
– JMS (jmsMdb, wasJmsClient, wasJmsSecurity)
– MongoDB – file base d/b
– Oauth – security trust
– Osgiconsole – debug for OSGi
– Timedoperations – timeout of jdbc calls
IBM Confidential
V5.1
V5.1 APARs
V5.2
27. 55
CICS TS V5.2 – Liberty/Java function
1. Java
– Java7.1
• Improved performance on EC12
– Flexible SDK toleration:
• Java 7.0 or Java 7.1
– Optimized EI domain internal tracing
• significant improved performance at level 1
1. New Liberty features
– JNDI, bean validation, jdbc, appSecurity, jaxws, jaxb
1. Security integration
RACF keyrings for SSL
Liberty standard authentication mechanisms
1. JDBC
– Type 2 data sources and JNDI support
– Type 4 data sources for remote databases
1. JTA
– UserTransaction API integration
-> Provides transactional integration for CICS UOW and Type4 JDBC
28. 56
Java Transaction API
Support for UserTransaction API in servlet/Web applications in CICS
Integration of JTA UserTransaction with CICS UOW/syncpointing
Two phase commit for Liberty Web applications
Liberty will be TM, and CICS UOW will be restricted to DPL subset
Integration with CICS RM provides single CICS UOW for
VSAM
TS/TD etc
CICS DB2
MQ
Type4 JDBC (Derby, DB2 etc)
Enabler for future transactional features such as EJB
29. 57
Java Transaction API (JTA)
CICS TS 5.2 beta
Transaction
Manager
CICS Java
Application
CICS
XAResource
Database
Liberty JVM server
OT Domain
RM Domain
JTA provides coordination of updates
across CICS UOW and a remote XA
Resources:
• JDBC type 4 database driver
T4 d/b
driver
30. 58
JDBC
Support JDBC DataSource API and JNDI definitional model for type 2
(local) DB2 connections and type 4 remote JDBC databases.
DataSource interface as API for defining databases and acquiring d/b
connections
Prereqs JNDI directory service for lookup of data sources
DriverManager remains supported
DataSource and JNDI only supported in Liberty JVM server
Type 2
Integrate with CICS DB2CONN for security and UOW support
Does not require JTA for UOW support in CICS
Type 4
Uses Liberty JDBC feature
Requires JTA for UOW integration with CICS
31. 60
CICS TS V5.2 – Liberty Security
RACF keyrings for SSL
SSL keyrings can be stored in RACF
SSL client certs can be used for authentication
Integration of zosSecurity feature with cicsts:security-1.0 feature
AppSecurity feature
Extended authentication options
• HTTP basic authentication
• Form logon
• TAI/ JAAS
• SSL client authentication
• Customer user registry
New authorisation options:
• JEE roles
• EJB roles (RACF)
• SynctoOSthread
– USS security
CICS Transaction and Resource security
Authenticated userid is set as Task ACEE
Used for CICS Transaction and Resource security checks
Not used in monitoring (CMF), or task association, or GLUEs/TRUES
32. 61
Liberty JVM server security
WLP Angel process used to control access to MVS authorized services
Password authentication
Role authorization (EJBROLEs)
All WLP application security options supported in CICS TS V5.2
WLP Authentication cache provides significant performance improvement
compared to V5.1
• <authCache initialSize="100" maxSize="50000" timeout="15m"/>
Single sign on (SSO) via LTPA cookies
• Supports a security cluster
• Can include Liberty JVM servers, WAS or WLP instances that
share the same ltpa key store
Pluggable authentication
• Trust association interceptor (TAI)
• JAAS login modules
33. 62
Summary of benefits
Local. Lightweight. Fast. Web Applications run
locally in CICS with direct access to CICS data and
resources. No adapters, no converters, same address
space.
Standard tools for developers. Familiar, industry
standard tools with Eclipse and Dynamic Web Projects.
CICS Explorer SDK enhances the deployment
experience.
Portable. Presentation logic in Servlets, business logic
in OSGi bundles. Servlets are portable across runtimes.
Bundles provide componentization.
Modular design. Architected in a modular way using
OSGi, the server only enables and starts the features
required by the applications and configuration. If
you're not using a feature, it won't start in your server
runtime
Dynamic runtime. Features can be added to the
server dynamically, using the OSGi framework, while
the server is running, with zero downtime and server
restarts. Similarly server and application config can be
updated without the need to restart.
Eclipse based tools. The eclipse tools for the Liberty
Profile are small and very well integrated with the
Liberty Profile environment
34. Real users speaking about CICS…
3072 CPSM Optimized Workload
Routing
Weds: 14.15, Delfino 4005
2880: Tales from the trenches
Weds: 15.45, Delfino 4005
3073: z/OS & CICS Consolidation
project
Weds: 13.00, Delfino 4005
2436: Modernizing the
mainframe
Thurs: 10.30, Delfino 4005
1966: Best practices for CICS SOA
Connectivity Weds: 13.00, Delfino 4102
35. Follow us…
CICSbuzz
ibm.com/cics/news
CICS Hursleyibmcics@ibm cics_ibmcics CICS Hursley
Visit us at…
Lost?
System z Software Solutions Suite
Toscana 3609
Monday 11:00 – 18:00
Tuesday & Wednesday 8:00 – 18:00
Thursday 8:00 – 16:00
Book your appointment at ibm.biz/zsolsuite
Plus Lunch & Learns 12:00 – 13:00 daily
– book a slot!
System z Peds
Infrastructure Matters zone of the
EXPO
Monday 10:00 – 19:30
Tuesday 10:00 – 19:30
Wednesday 10:00 – 14:30
Pop by for a chat about CICS!
Dazed and confused about CICS or z at Impact?
Visit the zConcierge - System z Software Solutions Suite - Toscana 3609
36. Generation z
No sales pitches, no marketing, just
drinks with other Generation z’s
19:30 Wednesday April 30
Public House, The Venetian
[noun] those with under 10 years
experience on the mainframe
Follow us:
Join us:
Meet us:
@ibmgenz
System z
Stack Exchange
Build a community of like-minded people
Get the lowdown on what’s going on
37. Win a CICS Workshop!
Collecting CICS session
stickers for your entry?
Don’t forget to
pick one up
before you go!
39. We Value Your Feedback
Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to
continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to
quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions
you’ve attended
71