This document discusses automated transformation of legacy applications on z/OS to Java. It proposes an incremental migration approach that transforms code to maintainable Java while maintaining the same functionality. This allows sharing of live transactional data between legacy and Java systems during migration. The solution focuses on iso-functional transformation and replacement of mainframe tools with Java equivalents. It presents architectural options for the transformation including using z/OS transaction processing monitors like CICS as Java containers, deploying to WebSphere Application Server on z/OS, or moving applications to a private cloud.
4. http://www.eranea,com 4 / 21
Value proposition
● Incremental system migration approach
– automatic legacy code transformation to
maintainable and iso-functional Java
– no freeze of application maintenance during
migration
– replacement by equivalent system / admin tools
● Safe transformation process
– automated replay of test scenarios
– big-bang avoided through incremental safe steps
– leverage on existing HA features : Data
replication, Sysplex, GDPS, etc.
5. http://www.eranea,com 5 / 21
Solution fundamentals
● Iso-functionality: exact same results "to the last bit and
pixel" produced during execution
● Replacement of CICS+BMS, SDF, JCL/JES2, DFSORT,
ICETOOL, IDCAMS, SCF, SDSF, …
● Interfacing with MQ, DB2, PdfLib, LDAP, SMTP, FTP, SOAP,
REST, ...
● Live transactional data sharing: access to the same data
sources during the transformation
● System tooling:
– industrialized and repeatable DevOps processes for
continuous delivery and automated "hot" deployments
– advanced production monitoring / administration
– build & source code management and development tools
6. http://www.eranea,com 6 / 21
Why iso-functionality ?
● Needed to guarantee the same results after
transformation
● Critical to allow live sharing of same data
sources between legacy and Java, enabling
incremental migration
● Allows objective and quantified tests: all data
produced by tests run in legacy (Cobol) and
Java must be identical
● Transparency for end-users and other
applications
7. http://www.eranea,com 7 / 21
Incremental migration
time
DB2
TP / batch
z/OS
DB2DB2shared data sources
TP / batch
z/OS CPs
TP / batch
zIIPs or (z)Linux
incremental
migration users & jobs
maintenance in Cobol
maintenance
in Cobol or Java
start end
TP / batchTP / batch
(Java)
TP / batch
(Java)
TP / batch
(Cobol)
TP / batch
(Cobol)
data sourcesdata sources
z/OS CPs zIIPs or (z)Linux
8. http://www.eranea,com 8 / 21
Tests automation
● Online :
– automated screens and data captures on the original
system
– automated replays and captures on the Java system
– advanced automated comparison of screens and
database changes
● Batch :
– automated captures (files, database changes) on the
original system
– automated replays and captures on the Java system
– advanced automated comparison of produced data /
files
11. http://www.eranea,com 11 / 21
Nota Bene
● Next slides describe a limited proposition
of incremental migration steps
● Discrete stages described hereafter are
excerpted of a larger palette of possibilities:
– Cobol <> Java direct calling capabilities
– Java <> legacy interfaces (JNI, etc.)
– accessors / gateways to legacy (CICS
CTG, IMS Open Connect, WAS Wola, etc.)
12. http://www.eranea,com 12 / 21
Pipelined transformation
...
start
end
time
completion
0%
100%
continuous
progress
DMJava TPM WAS CLOUD Appl 1
Appl 2
Appl 3
At time t, different applications
may:
- use a different pipeline
- have a different target
- be in a different progress stage
DMJava WAS CLOUD
Java TPM WAS
DMJava CLOUD Appl N
Java: Cobol to Java
TPM: TPM on z/OS as Java container
WAS: WAS on z/OS as Java container
CLOUD: JAS on cloud as Java container
DM: Data migration (transformation)
13. http://www.eranea,com 13 / 21
TPM on z/OS as container
TPM
(CICS, IMS, MQ)
TP / batch
Application (Java)
data sources
(DB2, IMS-DB, MQ, etc.)
z/OS
(files, GRS, etc. )
LPAR
SYSPLEXDISTRIBUTOR
CF
JVM (in TPM)
runtime
JCICS / JIMS JDBC JZOS
14. http://www.eranea,com 14 / 21
Achievements / benefits
● Required operations:
– Cobol to Java
– use of TPM Java APIs (JCICS, JIMS)
– use of z/OS java APIs (JZOS)
– use of standard Java data access (JDBC,
MQ, ...)
● Benefits:
– platform architecture unchanged
– development in Java becomes possible
– generate savings: CP → zIIPs
15. http://www.eranea,com 15 / 21
WAS on z/OS as container
TP / batch
Application (Java)
data sources
(DB2, IMS-DB, MQ, etc.)
z/OS
(files, GRS, etc. )
LPAR
SYSPLEXDISTRIBUTOR
CF
WAS
runtime
JDBC JZOS
16. http://www.eranea,com 16 / 21
Achievements / benefits
● Required operations:
– Cobol to Java
– replacement of legacy TPM by WAS with implementation
in Java (Eranea's runtime features) of CICS and IMS APIs
– use of z/OS java APIs (JZOS)
– use of standard Java data access (JDBC, MQ, ...)
● Benefits:
– platform evolution (Sysplex):
● legacy middleware support → WAS support
● unchanged services: scheduling, SDR, etc.
– Java portability
– generate bigger savings: zNALC, additional CP → zIIP
offload
17. http://www.eranea,com 17 / 21
JAS on cloud as container
TP / batch
Application (Java)
data sources
(DB2, IMS-DB, MQ, etc.)
z/OS
(files, GRS, etc. )
LPAR
SYSPLEXDISTRIBUTOR
CF
WAS
runtime
JDBC JZOS
TP / batch
Application (Java)
Linux
instance SC
WAS or other JAS
runtime
JDBC
Private cloud
WLMANAGER
NB: Private cloud can also be on System z via zLinux, LinuxOne, etc.
18. http://www.eranea,com 18 / 21
Achievements / benefits
● Required operations:
– all actions for WAS as container
– design and implement a high-availability and
high-performance transactional private cloud
● Benefits
– cost savings
– synergy: reuse of x86 Java platform (when it
exists)
– new architecture: private cloud → state-of-
the-art
19. http://www.eranea,com 19 / 21
Data migration (DM)
WLMANAGER
SC
TP / batchApplication (Java)
Linux
instance
WAS or other JAS
runtime
JDBC
Private Cloud
RDB
JMS
etc.
20. http://www.eranea,com 20 / 21
Achievements / benefits
● Required operations:
– extract, transform and load data
– guarantee transparent mapping to
legacy API
● Benefits
– additional savings
– legacy data formats (ex: IMS-DC)
abandoned