IBM TechXchange Virtual WebSphere z/OS User Group

 View Only

Can I run Open Liberty on z/OS?

By David Follis posted Wed April 14, 2021 08:42 AM

I posted this as a discussion topic, but I'm also posting as a blog also because blogs are visible to non-community members..

I get asked this question from time to time and I thought I’d try to write up an answer without using the words “it depends”. 

Before we start, I’m going to use the terms “WebSphere Application Server”, and “WAS”, and “WebSphere” interchangeably. 

First of all, remember that the WAS for z/OS product includes both WebSphere traditional and WebSphere Liberty.  WebSphere traditional is the WebSphere Application Server that’s been around for over 20 years.  Liberty is newer at about eight years old.  If you have a license for WAS for z/OS, you’ve got Liberty and can use it, fully supported, without buying anything else.  I’m not going to get into differences between traditional and Liberty here.

If you don’t have a license for WebSphere aren’t there copies of Liberty embedded inside other products like z/OS Connect and CICS?  Yes, but those are licensed for use with those products and you can’t just take a copy of the code and go start your own server with it (well ok, you could, but you aren’t supposed to).  And there’s a copy of WebSphere Liberty embedded in z/OS itself for use by z/OSMF.  That’s a bit of a special case and we’ll get to that…hang on. 

Now wait a minute.  I’ve been saying WebSphere Liberty, but the question is about Open Liberty.  What’s the difference?  Open Liberty is the open source version of Liberty.  WebSphere Liberty is the product (on z/OS it is part of WAS for z/OS, elsewhere…well, there are a bunch of options and I’m going to ignore them all because we’re talking about z/OS). 

In the early days of Open Liberty, the core server and stuff we needed to be Java EE spec compliant were all that was there.  WebSphere Liberty is the name given to the product (not open source) that contained all the rest.  Over time pretty much everything has moved from WebSphere Liberty (the product) to Open Liberty.  There are a few odds and ends that remain, but the big things are collectives and the z/OS extensions. 

What are the z/OS extensions?  That’s things like the Angel, integration with SAF, WLM, SMF, and so on, the ability to easily launch as a started task, Modify command support, etc. 

Back to the question – can I run Open Liberty on z/OS?  Well yes.  You can put all the bits in a zFS directory and configure a server and start it.  The one catch that we know of is that the ‘server’ shell script is in ASCII and z/OS will expect it to be in EBCDIC, so you’ll have to ‘tag’ the file as ASCII so the shell can understand it.  Easy enough to do (see chtag), and that is something we handle in the .pax file that makes up WebSphere Liberty on z/OS.  And, unless you rig something up, you’ll start it from the shell using the server script and not as a started task.  And you’re missing all the z/OS integration stuff.  You should read into the phrase ‘that we know of’ the fact we don’t do any specific testing of Open Liberty on z/OS. 

Also remember that you’re not supported.  This is Open Liberty.  You’re free to go get the source from github and debug your own problems and submit fixes, or you can ask questions on forums.  If you want support, buy WAS for z/OS.

What if you want the z/OS extensions?  Well, it turns out that’s even easier than getting Open Liberty.  There’s a copy of WebSphere Liberty (yup, the whole product, not just Open Liberty) right there in z/OS called Liberty Embedded.  It is there to be used by IBM products like z/OSMF.  But you’ll find if you dig around in the terms and conditions for z/OS that you’re allowed to use it for non-production purposes (which basically means you aren’t supported – which is exactly the same not-supported you have with Open Liberty).  Even though you aren’t supported, you can still get updates, right?  New levels of Liberty (Open Liberty and WebSphere Liberty) come out every four weeks (roughly).  Can you get those? 

For Open Liberty you certainly can.  As soon as the new level is available you can get it and put the files in your zFS and off you go.  For Liberty Embedded, updates come every six months through SMP/E PTFs (roughly in April and October, using the .3 and .9 levels of WebSphere Liberty). 

What about z/OS Connect?  There’s a copy of Liberty in there (and in several other IBM products).  Can you use it for your own applications?  Why would you want to?  The Liberty inside z/OS Connect isn’t supported for any use besides z/OS Connect.  And it is the same Liberty as the Liberty Embedded in z/OS.  Updates for the Liberty in z/OS Connect come whenever z/OS Connect decides to rebase on a newer level, where updates to Liberty Embedded will come on the regular schedule mentioned above.  And it will show up as z/OS Connect images in your SCRT reports and you probably don’t want that.

Before I wrap up, let’s revisit my rather glib statement earlier that Liberty Embedded is just as not-supported as Open Liberty when Liberty Embedded is used for your own applications.  That’s not quite true.  Liberty Embedded will get security-integrity fixes and fixes needed by IBM exploiters (like z/OSMF) through SMP/E PTFs in between the April/October updates, but you can’t apply any other fixes to it.  Even if a fix is available, you aren’t supported so you can’t request it and it likely won’t show up until the next update.

With Open Liberty you can get updates about every four weeks.  If you ask a question on a forum and get pointed to some fix, you can get it.  You can’t do that with Liberty Embedded.

And what about CICS?  If you have CICS you can run the full Liberty (z/OS extensions and everything) inside of the CICS JVM server and you’re fully supported through your CICS license.  That’s especially useful if the Liberty applications you want to deploy are going to interact a lot with CICS. 

In summary, Liberty Embedded offers z/OS integration and SMP/E maintenance which isn’t bad for an unsupported thing.  Open Liberty has no z/OS integration and more flexibility in getting updates which is pretty normal for an open source thing. 

What do I think you should do?  If being able to open a support case is important to you, then you should buy a license for WAS on z/OS (or run Liberty inside of CICS if that makes sense for you).  If you’re willing to run unsupported then you are probably less worried about getting up-to-the-minute fixes and just want something you can quickly deploy and get going with.  Liberty Embedded has the advantage over Open Liberty because it is already there, and it includes all the z/OS extensions.  Plus it does get security integrity fixes through SMP/E which might help you get along with your auditors better than having a self-maintained copy of Open Liberty in some zFS directory.

So, what should you do?  Well…I guess it depends…