A brief overview of four migration tools that can help you move applications to Liberty from traditional WebSphere Application Server.

Tools simplified!

If you want to move applications to Liberty or Liberty for Java on IBM Bluemix, there are four migration tools that can help speed up the process:

  • Migration Toolkit for Application Binaries
  • WebSphere Migration Discovery Tool
  • WebSphere Application Server Migration Toolkit
  • WebSphere Configuration Migration Tool

See our migration home page for a description of each of these tools.

Tools for each step along the way

The migration tools can help in each step of the migration process:

  1. Initial application evaluation and planning: Migration Toolkit for Application Binaries or the Eclipse-based Migration Toolkit and the WebSphere Migration Discovery Tool
  2. Detailed analysis: Migration Toolkit for Application Binaries or the Eclipse-based Migration Toolkit
  3. Application development: Eclipse-based Migration Toolkit
  4. Configuration migration: WebSphere Configuration Migration Tool

Also use the WebSphere Developer Tools for additional help with adding features to your configuration and for an overall great developer experience.

1. Initial application evaluation and planning

As a first step, I prefer to use the Migration Toolkit for Application Binaries to scan application binaries. The new Application Migration Report makes it easier than ever to analyze your application binaries for migration to Liberty. This report combines the content of the Application Evaluation Report (–evaluate), the Detailed Migration Analysis Report (–analyze), the Application Inventory Report (–inventory), and the feature list configuration file (–featureList). The Application Migration Report is generated with the –all action, which is the new default action.

Running the binary tool is as simple as:

java -jar binaryAppScanner.jar MyApplication.ear

This creates an Application Migration Report in HTML format as shown below. Use the --help option to learn the other options including the JSON format option.


Application Migration Report

Application Migration Report

To just evaluate application binaries for the technologies they use and the IBM platforms that support those technologies, you can use the –evaluate action.

java -jar binaryAppScanner.jar MyApplication.ear --evaluate

Evaluate the report to determine where the application is best suited to run. If there is no check mark for a technology, it is not supported on that WebSphere edition without a more substantial technology shift. If you point to a folder, a summary of the applications and the IBM platforms that fully support the technologies used by each application is included at the top of the report. You can select a particular application in the summary to see the details on the technologies used and where they are supported.



Application Evaluation Report

If you want a simple yes/no answer whether your application’s technologies are supported on a particular platform you might find the summary in the JSON report useful to provide the answer.


{
   "report": "technology",
   "version": "1.0",
   "options": [
   ],
   "applications": [
      "/apps/PlantsByWebSphereV7.ear"
   ],

   .... technology data is omitted

   "summary": {
      "bluemixLiberty": false,
      "libertyCore": false,
      "liberty": false,
      "websphereTraditional": true,
      "ndLiberty": false,
      "ndTraditional": true,
      "zosLiberty": false,
      "zosTraditional": true
   }
}

You can also use the Migration Toolkit for Application Binaries to produce an inventory report of your applications. The inventory report helps you understand the content of the application such as how many Servlets, JPS files, EJBs, utility JAR files, and more. This information is useful when filling out the questionnaire in the WebSphere Migration Discovery Tool which is used to estimate the effort required for your migration project.

Produce this report by running:

java -jar binaryAppScanner.jar MyApplication.ear --inventory

The default Application Inventory Report format is HTML as shown below. There is a lot more information in this new report than can be shown here, so check it out.



Application Inventory Report

 

2. Detailed analysis

The next level of scanning can be done with either the Eclipse-based tool or using the Detailed Migration Analysis report from the binary scanning tool. With the detailed report from the binary scanning tool, you can investigate further without access to the source code. The binary scanning tool includes the same rules that the Eclipse-based Migration Toolkit provides for WebSphere version-to-version rules (V6.1+) and Java SE (V5+) migration rules. If you are moving your application from older releases (before WebSphere Application Server V6.1) or third-party application servers, you will need to use the Eclipse-based tool.

Detailed analysis gives you insight to application issues such as:

  • Cloud connectivity considerations
  • Changes to the Java™ Runtime Environment (JRE) encountered in Java SE 5, 6, 7 and 8
  • 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
  • Java EE 7 differences
  • Deployment descriptor differences when moving from third-party application servers.

Using the --analyze parameter to run the binary scanner tool for detailed analysis, just set your source and target application server parameters. For example,

java -jar binaryAppScanner.jar MyApplication.ear --analyze
          --sourceAppServer=was70 --targetAppServer=liberty --targetCloud=bluemix

Again, use --help for more options.

3. Application development

When you are ready to make code changes, use the Eclipse-based Migration Toolkit to scan your application and quickly associate application differences with the source code that needs changing. 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 applying the fix.

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


After you click Analyze, the results of your scan are displayed, and you can go through each result to determine the changes needed to your application. Whether in the configuration dialog or in the Software Analyzer Results view, select any rule and press F1 (Shift+F1 for Linux) to get rule-specific help.

When you are in development mode, the IBM WebSphere Application Server Developer Tools for Liberty, available from WASdev.net or Eclipse Marketplace, enables you to easily interact with the running Liberty server for deploying and debugging. As you deploy applications to the server, the tools also dynamically adds features to the server configuration that are required by the application.

4. Configuration migration

Depending on where you are migrating from, we have additional tools to help move configuration.

When you are moving from Tomcat, the migration toolkit has a Tomcat configuration migration tool included to assist in moving Tomcat server and application configuration.

When you are moving from JBoss, WebLogic, and WebSphere traditional, the WebSphere Configuration Migration Tool helps move Java EE resource configuration to the Liberty server.xml.

No matter where you are migrating from, the feature list configuration generation available with the binary scanner tool is useful for getting your Liberty server ready to host your application. A feature list XML configuration file is generated when using the –featureList action. The feature list content can be copied to your Liberty server.xml, or the XML file can be included using the <include> element. The feature list information is also included in the Application Migration Report generated with the –all action.

Ready, Set, Go!

Take advantage of these free tools to step through the migration process with ease.

Get the Eclipse-based tools! Get the command-line tool!

10 comments on"Move applications to Liberty using the Migration Toolkit"

  1. In case I want to do a migration to Liberty there is a nice feature in the Eclipse plugin to generate a server.xml. Is it possible to generate this file also via command line? Or any other way except going via Eclipse? Thanks!

  2. NARENDRA NAIDU July 03, 2016

    Can I add more custom rules to the toolkit?
    For e.g. I want to add rules for Hibernate or a third-party library.

  3. Tried this from Eclipse to migrate a Tomcat app. Only seleced migrate app. Just hangs. Kill eclipse then try again.. says it’s been migrated to the server.. but there are compile errors since the app uses catalina classes etc. (import org.apache.catalina.realm.GenericPrincipal;)

    Probably didn’t complete at all.

    Will try again… and try to migrate server too.

    • CindyHigh May 16, 2016

      Can you give a little more information on what hung? Did you get analysis results. Running analysis should have told you about the org.apache.catalina classes in use. You will need to manually migrate use of those classes manually.

  4. Hi,

    I tried to use the Websphere Configuration Migration Toolkit but the file input button isn’t showing. All I see is this messages

    Step 1: Specify Input
    – start
    – go to
    – Execute the following command

    I have the properties files but no way of putting it in as input.

    Cheer
    lupin

    • Hi,
      Can you size the WebSphere Configuration Migration window? It looks like there is a problem with automatic sizing of the wizard.

      Cindy

  5. very helpful in providing the inital considerations and planning for any migration

Join The Discussion

Your email address will not be published. Required fields are marked *