Mainframe Blog

Java on the Mainframe: z/OS vs Linux

Stephen Watts
5 minute read
Stephen Watts
image_pdfimage_print

In an ever-growing matrix of business technology powering day-to-day operations, it is a misconception that mainframe technology has lost out to cloud innovations. For those businesses who still use a mainframe, it can be both a sensible and powerful choice. A well-managed mainframe can offer many companies efficiency and cost savings, provided governance ensures resources are spent properly.

Organizations that use mainframes benefit from greater cost-effectiveness. Initial investments are steep, but relatively low residual costs combined with increases in value and versatility more than make up the difference. However, a new take on an old concept is bringing some attention to mainframes again. Java is becoming popular on mainframes. Outside of its common use of being run on JVMs, like Linux, it’s being deployed as a mainframe-wide platform against big systems on z/OS.

So, what’s the difference between these two implementations? How do you choose one for your organization’s mainframe? Keep reading to learn about Java on the mainframe for your enterprise business.

Linux vs z/OS

As it turns out, z/OS has a long and foundational history with mainframes. That’s because the 64-bit operating system developed by IBM was designed specifically to run on them. The z/OS product was created in 2001, but predecessors of z/OS date back to the 1960s.

It 2018, it’s become evident that naysayers of mainframes, those who thought the product was dead, are mistaken. BMC’s recent Annual Mainframe Research suggests 90% of respondents can see a viable use for mainframes in the future. Further, more than 80% of respondents were projecting their mainframe capacity to grow. And almost half of the respondent could envision mainframes taking on additional workloads that aren’t mapped today.

While Java has been utilized for mainframes for over a decade, the instances of Java on mainframes have increased in recent years. Today, 50% of companies are using Java on z in their production environment. This is compared to 22% who are only using it in non-production areas, like Linux VM. The rest of those surveyed weren’t using Java on the mainframe at all. The numbers suggest a vast majority of mainframe users run Java in some capacity.

So, what do you do? How should you approach using Java on an enterprise mainframe?

Benefits of Linux Virtualization

People who use a Linux VM to run Java on the mainframe, do it because it’s familiar. Pretty much any operation you can do on a Linux virtualization can be done on z, directly. But z/OS has a more antiquated foundation and lacks some of the finesse of Linux.

Because of a lack of momentum for the technology giant in the education space, many computer science programs no longer teach mainframes as a specialty. And with initial investments in technology being substantial, it’s difficult for someone to become self-taught on mainframes unless they do so on the job.

For those reasons, running Java directly on z/OS is not a comfortable position for many developers to be in. That might mean they run several Linux VMs and run java exclusively in these environments. Long story short, the benefits of running Linux breakdown, as follows:

  • A familiar and comfortable environment
  • Likely to have access to many trained employees who can code in this space

Beyond that, you could perform the same tasks using only Java on z/OS if you understand how to work the system.

Running Java on z/OS

Java is one of the more common languages run on z/OS, but it supports many. These include:

  • Assembler
  • COBOL
  • PL/I
  • C/C++
  • CLIST
  • REXX™

As an enterprise, you’d be hard-pressed to find people fluent in some of these languages. But Java, by design, can be written over a variety of foundational technology platforms.

That’s one reason why it’s increasingly being used on mainframes. Our research suggests, almost ⅔ of mainframe users apply Java in some form. But half of the mainframe users are using it in production, in ways Java traditionally wouldn’t have been used on a mainframe in the past. This suggests that Java is more useful on z/OS than previously thought.

One of the factors igniting an enterprise desire to run Java on z is new applications. Digital business disruption is a corresponding factor. More and more often, digital businesses are finding they need to be able to meet customer needs anytime, anywhere. This is causing a shift in how they operate, one where Java on z/OS is very handy in achieving the goal of round the clock customer care.

With demands changing for digital businesses, we’ve determined Java on z/OS is ready to meet the following needs:

  • Runs updated apps;
  • Less costly;
  • Optimized for skills of today’s developers; and
  • Improved platform agility

With that in mind, developers have little to lose running Java on z/OS. However, there is one big consideration to make before skipping the virtualization to run Java on z/OS:

Do You Have the Resources to Monitor and Control?

Implementing any mainframe system takes a need for skilled employees working under tight governance. However, when Java is involved system admins have to make special considerations. That’s because uncontrolled Java code can affect other programs coded in different languages.

In a different article, Jay Lipovich, Principal Product Manager for mainframe systems at BMC, likens Java on the mainframe to oregano, a somewhat invasive herb.

The herb oregano left to grow wildly in a garden will eventually spread to neighboring plants. And if you don’t watch it, it may end up in another garden and so on and so forth. Java treats your mainframe much the same way. If it isn’t monitored effectively, your Java code can impact other coding languages on the mainframe. But with a little TLC, much like fresh oregano is to the chef, Java can be a valuable asset to developers.

Which is Better?

Whether or not to run Linux or z/OS on an organization’s mainframe, depends on your available resources and primarily on the skill of your dev team. z/OS doesn’t lack any of the power of Linux, and with the right resources in play, it can be a powerful and low-cost implementation. BMC products support running Java directly on z/OS to make the most of all your development environments.

There is one issue to be aware of when you opt for the convenience and familiarity of Linux on a mainframe: mindset. Running a JVM on a mainframe isn’t the same as running it on other compute technology. Sometimes developers fall into a mindset trap when they don’t make themselves aware of the nuanced differences.

Is Java on the Mainframe Right for You?

Only companies prepared to dedicate the right resources to manage governance successfully should pursue using Java on the mainframe. One of the major complaints of using mainframes is its need for extensive management resources. When you add Java in the mix, there’s an increased need for monitoring.

Moreover, with the utilization of mainframes increasing, hopefully, educational programs will begin to include mainframes back into their subject matter. But for the time being, it seems like demand is increasing at a rate greater than mainframes techs can be churned out of universities and other self-taught initiatives.

With that in mind, it’s important to ensure that you are using systems that make sense for your business model and the skills of your system admins and development team. If you don’t have the bandwidth or knowledge base to use Java on the mainframe, you may have some work to do to prepare your business for this dynamic change in mindset.

BMC Can Help

That’s where BMC can help.

BMC recognizes the many opportunities that developers can exploit using Java on the mainframe with one product: MainView for Java Environments. MainView not only lets you deploy Java with confidence, but it also provides monitoring services that ensure your Java code is controlled. Among MainView’s monitoring services is:

  • Monitors desired metrics with real-time analysis and accuracy
  • Offers Improved analysis capacity
  • Uses customizable dashboards
  • Has Autodiscovery of JVMs
  • Detects unusual workloads
  • Ensures Java executes on zIIPs
  • Eliminates restrictions of virtualized Java
  • Optimizes overall operations

With a fistful of upgraded functions and an easy-to-use interface, MainView successfully helps businesses achieve greater overall efficiency and agility. For more information on how BMC can increase operations at your business with MainView, contact sales here.

Annual BMC Mainframe Survey

The 14th Annual BMC Mainframe Survey 2019 reports optimistic trends about the mainframe’s role in emerging and established businesses.
Download Now ›

These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.

See an error or have a suggestion? Please let us know by emailing blogs@bmc.com.

About the author

Stephen Watts

Stephen Watts

Stephen is based in Birmingham, AL and began working at BMC Software in 2012. Stephen holds a degree in Philosophy from Auburn University and is currently enrolled in the MS in Information Systems - Enterprise Technology Management program at University of Colorado Denver.

Stephen contributes to a variety of publications including CIO.com, Search Engine Journal, ITSM.Tools, IT Chronicles, DZone, and CompTIA.