IBM Destination Z - Group home

Planning for the Future

By Destination Z posted Mon December 23, 2019 03:43 PM


This is the first article on Java and application modernization on IBM Z. This article provides a quick introduction to Java and modernization ideas on the platform. The second article in the series will discuss eight compelling reasons why Java does and should play a key role in application modernization on IBM Z.

IT departments operate in the day-to-day world of IT while planning and preparing for the future on a more strategic timeline. This is the challenge of living with technology while it is in constant change. For many mainframe customers, Java now has an important role as a result of deliberate planning that took place years ago.

IT leaders recognized the ability of Java to connect with a new generation of developers while making use of Java’s greater ability to integrate with newer architectures and standards. Mainframe planners and architects also recognized that Java on the mainframe was designed to work well with COBOL, C/C++, high level assembler and PL/1 in environments that made extensive use of CICS, IMS and WebSphere Application Server. 

Java on the mainframe, on z/OS, isn’t new, but it is growing, mostly in area of new applications or new business functions written in Java to enhance and interface core systems typically written in COBOL. A recent survey of 95 IBM Z clients indicated that more than 4 out of 5 had Java in production. And 80 percent said their initiatives were successful or very successful.

A Quick Java Primer

Java is an object-oriented programming language developed by Sun Microsystems Inc. used for developing conventional mainframe commercial applications, as well as internet and intranet applications that use standard interfaces like HTTP and architectural styles like RESTful web services.

Java is an increasingly popular programming language used for many applications across multiple OSes. IBM is a major supporter and user of Java across all of the IBM computing platforms. The z/OS Java products provide the same, full function Java APIs as on all other IBM platforms, and mainframe Java has been enhanced to support access to z/OS unique file systems. z/OS programming languages such as Enterprise COBOL and Enterprise PL/I provide interfaces to programs written in Java.

The various Java Software Development Kits (SDKs) for z/OS help application developers use the Java APIs to write and run applications across multiple platforms or use Java to access data that resides on the mainframe. Some of these products allow Java applications to run in only a 31-bit addressing environment.

However, with 64-bit SDKs for z/OS, pure Java applications that were previously storage-constrained by 31-bit addressing can execute in a 64-bit environment. Also, some mainframes support a special processor for running Java applications called the IBM zEnterprise Application Assist Processor. Programs can be run interactively through z/OS UNIX or in batch. Because of its strengths and flexibility, Java is at the heart of application transformation for mainframe modernization efforts.

Why Java for z/OS Application Modernization

Application modernization can be defined as taking what you have today: applications written in one or more languages are exploiting proven middleware and rewriting, updating and improving them to meet the needs of today’s users. IT consumers access applications in new ways including the web, cloud systems and mobile technologies. How does Java help with this?

The answer to this question is discussed in detail in the next article in the series. In this upcoming article, the focus of the discussion on why Java works so well is Java’s ability to integrate with modern IT architectures and standards and with other programming languages. Java also has excellent support with powerful middleware like CICS and IMS. There is also specific support for Java in batch. Java fits well with a strategy of smaller application changes (e.g., microservice versus monolith approaches) and Java skills are easier to find than COBOL. IBM supports Java with both 31- and 64-bit SDKs and has powerful developer kits and support tools.
All About Java?

Java is important to application modernization because it interfaces well with new architectures and standards and other languages and important middleware. If it weren’t embraced so fully in IBM Z, then it would be a different story, but since the implementation of Java has been so carefully engineered it’s language and development paradigm is central for now and the future.