IBM Support

WebSphere Migration Knowledge Collection: Migrating to Liberty

Product Documentation


Abstract

Liberty is the WebSphere container-ready runtime available to run everything from your Java™ EE monoliths to your Microprofile microservices to your Spring Boot deployable JAR files. Moving to Liberty is recommended for modernizing both your runtime and operational environment. This page gives more information on moving applications from traditional WebSphere® Application Server to Liberty.

Content

Why Liberty

Liberty is a container-ready Java™ EE application server that is perfect for containerized environments.

When you adopt a container strategy, Liberty images are available for both Open Liberty and WebSphere Liberty on Docker Hub as well as Red Hat certified images. Open Liberty is also included as part of the Red Hat Runtimes.

Liberty has one of the fastest startup times of any Java EE application servers, and it keeps getting better.  It has high server throughput to handle your most important workloads.

So what is the difference between Open Liberty and WebSphere Liberty?

Open Liberty is the open-source Liberty application server that is developed fully in the open at http://openliberty.io. It supports the Java EE 7 and Java EE 8 full profile programming models. If you want a fast, composible, production-ready, open-source Java EE application server, look no further than Open Liberty.

WebSphere Liberty is built from Open Liberty and contains more features for Java EE 6 web profile to ease some migration scenarios where we had different underlying implementations for Java EE technologies like JPA, JAX-RS, and CDI.

Zero Migration

The Liberty zero-migration architecture means that you can update the product runtime files and continue to use you existing unmodified applications and configuration with no unwanted or unexpected behavior changes. Zero migration allows you to create new images or set up new binaries comes with no surprises.

If you choose to update your application to a later Java EE level, you can do so to get the latest capability. It is a choice, not a requirement, and the WebSphere migration tools help you with that move as well.

Application Modernization Assessment and Detailed Analysis

There are two parts to application modernization: runtime and operations. Runtime modernization refers to moving applications from traditional WebSphere Application Server to Liberty or perhaps rewriting the front end to use Node.js. Operational modernization refers to updating your deployment operations to use container orchestration and with new DevOps and GitOps best practices. Using IBM® Cloud Pak for Applications and OpenShift, all your runtimes can be managed with consistency.

The tools described here evaluate your applications to move to Liberty for runtime modernization. There are some differences between traditional WebSphere Application Server and Liberty that takes some migration effort if your application uses older, deprecated technologies or proprietary APIs. For example, WebSphere Liberty supports Java EE 6 web profile (not Java EE 6 full profile). Liberty has Java EE 7 and 8 full profile support, but it does not include optional Java EE technologies such as JAX-RPC and Entity EJB beans. Some of the WebSphere proprietary APIs that were superseded by Java EE APIs were also removed from Liberty. When you have a Java EE application running on Liberty, the zero migration architecture gives you confidence that it is easy to keep it running there.

As described in the Getting Started guide, developing a strategy and plan are an important part of any modernization project. The modernization and migration tools show you the differences and make it easy to understand which applications are affected so that you can plan.

To start your modernization process, here is a comparison of the capability available in our tools:

image-20200526145235-1

Transformation Advisor

To get the large picture of the migration effort for your application estate, start with IBM Cloud Transformation Advisor.  The Transformation Advisor data collector scans your entire cell and uploads the results to the Transformation Advisor UI where you can compare application migration complexities, estimate development costs, and produce migration artifacts for containerized environments. Transformation Advisor reports on runtime modernization for moving from traditional WebSphere to Liberty and assists with operational modernization by producing migration artifacts to deploy your workloads in OpenShift. 

When you cannot move an application to Liberty, Transformation Advisor also gives guidance on moving applications to traditional WebSphere containers to at least modernize your operations. Keep in mind that Liberty is the preferred container-ready runtime.

image-20200526145235-2

WebSphere Admin Console

You can analyze applications for their Liberty readiness directly from the WebSphere administrative console when you are running WebSphere Application Server version 8.5.5.16 and 9.0.0.11 or higher.  Using the Analyze > Run scanner option, you can start the binary scanner to produce a consolidated migration report that can be exported. To learn more, click through this online demo.

image 4070

Binary Scanner

Transformation Advisor and the WebSphere Admin console use the same binary scanner tool that you can also download and run easily from the command line, so all of these tools produce migration reports that include:
  • Application Technology Evaluation Report
  • Application Inventory Report
  • Detailed Migration Analysis Report
  • Liberty or traditional WebSphere configuration
You can run the binary scanner to produce all 4 reports by default:
  java -jar binaryAppScanner.jar MyApplication.ear
This command creates an Application Migration Report in HTML format. Use the --help option to learn the other options including the JSON format option. From here, we will go through each of the reports.

Application Technology Evaluation Report

The Technology Evaluation Report shows the editions of WebSphere Application Server that are best suited to run the application. The report provides a list of Java EE programming models that are used by the application, and it indicates whether the application can be supported by traditional WebSphere or Liberty.

image-20200526145235-3

Application Inventory Report

The Inventory Report helps you understand your application contents including the number of modules and the Java EE technologies used by those modules. It also gives you a view of all the utility JAR files in the application that tend to accumulate over time. Potential deployment problems and performance considerations are also included.

image-20200526145235-4

As of version 20.0.0.2, the Inventory Report includes new insights on how to migrate WebSphere Application Server Network Deployment qualities of service to a Kubernetes environment.

image 4173

Detailed Migration Analysis Report

The Migration Analysis Report gives insights to dive in deeper to understand the details of the migration effort. Based on your source and target application server, Java EE levels, and Java SE levels, a set of analysis rules are run against your application binaries. The detailed analysis results give you insight to application issues such as:

  • Java EE differences going back as far as Java EE 6
  • Changes to the Java Runtime Environment (JRE) encountered in going back as far as Java SE 5
  • Removal of previously deprecated features
  • Behavior changes in product APIs
  • Changes resulting from Java EE specification clarifications
  • Deprecated features
  • WebSphere APIs not available on Liberty
  • Optional Java EE technologies not available on Liberty
  • Differences in technology implementations
  • Cloud connectivity considerations
  • Deployment descriptor differences for third-party application servers.

Every issue flagged has a detailed help with useful links to help you mitigate migration issues.

image-20200526145235-5

Configuration

When the application is scanned from a deployed environment or from backup configuration, the tools also produce configuration for deploying to Liberty or traditional WebSphere containerized environments. At a minimum for Liberty, a feature list is created which provides you the set of features needed to run the application. By only adding the features you need, you create a server that is right-sized for the application needs. 

image-20200526145235-6

Developing with the Source Scanner

After your completing your initial analysis by using Transformation Advisor, the admin console, or the binary scanner, the WebSphere Application Server Migration Toolkit Eclipse plugin helps developers make the source code changes easier.  You run the same set of rules based on your source and target application server, Java EE levels, and Java SE levels against your application source files including Java, JSP, XML, XMI, and properties files. Where possible, the Eclipse-based tool has quick fixes that you can optionally use to make changes to your code. When a quick fix is provided, you can use a side-by-side compare tool to see and understand the changes being recommended before you apply the fix.

Configure the analysis tool by selecting the Run > Analysis menu. Create a Software Analyzer configuration. Choose the scope of the analysis and select the rules to run. Select the WebSphere Application Server Version Migration Rule Set and click Set to configure the migration rules for your scenario.

The Software Analyzer Results view show the issues found in your code. From the result, you can double-click to open the source code in the editor and view the rule help in the Eclipse Help view.

image 4078
Take advantage of these free tools to step through the modernization process with ease.

Original Publication Date

15 June 2020

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m50000000CdIIAA0","label":"Install Update or Migration->Liberty->Liberty Migration"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Version(s)","Line of Business":{"code":"LOB15","label":"Integration"}}]

Document Information

Modified date:
28 October 2020

UID

swg27008725