IBM z Systems Supports Modern Languages, Tools, Optimization and Processes

z Systems modernization
Illustration by Martin O’Neill

Applications must be easy to run, test and deploy. For that, we turn to the runtime environment. The term refers to the collection of software that runs the code as well as the support libraries, configuration files and other binary files the software needs to function.

Node.js, a popular JavaScript* runtime environment for Linux, is now available for z Systems. In standard web communications, the client initiates communications (e.g., a mobile application checking a balance on a server). With Node.js, both client and server can initiate communications in real time. It’s particularly well-suited to network applications that require it to manage a large volume of simultaneous, high-throughput connections. Examples include live chat, data streaming, queued inputs and APIs on top of object databases.

Consider a grocery store chain that’s developed a mobile coupon distribution app. It analyzes customer buying habits and identifies needs: A customer buying cat food will probably need cat litter. Over Node.js, the app can select the appropriate coupons and push them to the mobile device during the customer’s typical shopping time. When used with LinuxONE, Node.js delivers 60 percent faster response time compared with an x86 platform, and 2.5x better throughput (

Building the perfect application isn’t enough. When it comes to deployment or testing, that perfect software may suddenly become erratic or fail because the software environment around the application has just as much of an effect on its operation as the code itself. If software is written on an older release of a language, the next release might not have the same permissions or exceptions. Or maybe the runtime environment is missing an essential library or the library lacks certain information.

These types of headaches led to the development of containers, which package an application plus the runtime environment and any other tools the software needs to run. The container is loaded to a hub from which it can be downloaded to other machines and devices as desired. Once it has been transferred, the application will run correctly, no matter what native runtime environment is on the machine.

This is an important attribute for developers, who often want to pass applications back and forth or test them on one machine and run them on another. It speeds production, testing and deployment, and eliminates considerable frustration. It also makes it easy to deploy alternative configurations—just set up different containers.

One of the most common containerization platforms is Docker, a popular choice for applications using Node.js. That’s one of the reasons the availability of the Ubuntu Linux distribution for the mainframe is so important. Ubuntu holds over 70 percent of Docker hubs ( This brings the power of the mainframe to DevOps teams wanting to improve application development and performance.

Easy Improvements

IBM also has tools to support modernization of the workhorse COBOL applications that constitute the foundation of a business.

Kristin Lewotsky is a freelance technology writer based in Amherst, N.H.

comments powered by Disqus



2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Modernizing Your Enterprise

IBM has business-value-driven solutions to improve application and employee productivity

Leveling the Playing Field

IBM Rational software advances mainframe development

The Agile Enterprise and Beyond

Proper tools can bring flexibility to application development

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
Mainframe News Sign Up Today! Past News Letters