Quickly evaluate your application binaries for rapid deployment on Liberty or newer versions of WebSphere traditional. The tool identifies the Java EE programming models in the application and recommends the right-fit IBM WebSphere Application Server edition. The tool can also highlight any Java SE, Java EE programming model and WebSphere API differences.

The Migration Toolkit team is proud to announce enhancements to our binary scanner for your compiled application — the Migration Toolkit for Application Binaries!

What’s new this release?

The Migration Toolkit for Application Binaries now supports migrating from WebLogic Application Server to IBM WebSphere Application Server traditional or Liberty. The WebLogic rules that were previously only available in the source scanner are now also available in the binary scanner. The WebLogic rules flag WebLogic specific references and resources throughout the application and provides detailed help on the identified issues. You can take advantage of these rules by specifying the --sourceAppServer=weblogic option.

The existing WebLogic JPA rules have been updated to reflect the JPA provider switch in WebSphere from OpenJPA to EclipseLink starting JPA 2.1.

A new rule was added to flag Java 8 behavior changes in the java.lang.String and java.util.regex.Pattern split methods.

So what does it do, you ask?

The tool generates four kinds of reports in two possible formats – HTML or JSON. The tool also generates a Liberty feature list configuration file in XML format.

The Application Migration Report is a consolidated migration report that contains the content of the Application Evaluation Report, the Application Inventory Report, the Detailed Migration Analysis Report, and the Liberty feature list configuration. The beginning of the report contains a technology evaluation summary, which indicates which IBM platforms support the technologies used by the application, and a rule severity summary that shows how many rules and rule results are flagged for each rule severity. The default report shows migration results for migrating from WebSphere Application Server V8.5.5 and Java SE 6 to Liberty and Java SE 8. You should modify the source and target options to fit your migration scenario. The Application Migration Details section of the report contains a section corresponding to each of the individual actions.

The Application Evaluation Report identifies the Java EE programming models in the application and provides a recommendation for the right-fit IBM WebSphere Application Server edition.

The Application Inventory Report contains a high-level inventory of the content and structure of each application, plus information about potential deployment problems and performance considerations. The report includes a dashboard that reports the number and types of archives found. The counts of Java Servlets, JSP files, JPA entities, EJB beans, and web services are reported per application as well as in an overall summary. For each archive, the Java EE module type and version are included. And for utility JAR files, the contained packages are reported up to and including the third sub-package.

The Detailed Migration Analysis Report highlights any Java SE, Java EE programming model and WebSphere API differences between versions of WebSphere Application Server traditional, and between WebSphere traditional and Liberty. The report also highlights differences when migrating from JBoss Application Server and WebLogic Application Server to WebSphere traditional or Liberty. The report offers advice and potential solutions to assess the ease of moving applications to Liberty or to newer versions of WebSphere traditional. It also informs you of any Java EE specification implementation differences that could affect your applications. If you are moving an application to a cloud platform, the report offers additional advice, suggestions, and best practices to ensure that the application runs correctly in those environments.

The Liberty feature list configuration file is generated and includes all of the application required features needed in a Liberty server based on scanning each application binary. Use this file to configure your Liberty server by copying the content to the Liberty server.xml file, or use the include element to include it in the server configuration.

Who is it for?

Since this command-line tool does not require Eclipse, it is perfect for both administrators and developers using other IDEs. It is also great for evaluating applications whose source code has been misplaced or simply lost.

How do I use the Migration Toolkit for Application Binaries?

The tool is an executable jar file with one required parameter, the binaryInputPath, which is an absolute or relative path to a binary file or a directory that contains binary files. Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. For a complete list of supported actions, run the following command:

java -jar binaryAppScanner.jar --help

Generating the Application Migration Report

For a complete list of supported options for the consolidated migration report, run the following command:

java -jar binaryAppScanner.jar --help --all

To display the HTML report, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --all

Application Migration Report

Application Migration Report

Generating the Application Inventory Report

For a complete list of supported options for application inventory, run the following command:

java -jar binaryAppScanner.jar --help --inventory

To display the HTML report, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --inventory

Application Inventory Report

Application Inventory Report

Generating the Detailed Migration Analysis Report

For a complete list of supported options for detailed migration analysis, run the following command:

java -jar binaryAppScanner.jar --help --analyze

To display the default report, an HTML report for a migration from WebSphere Application Server traditional V8.5.5 to Liberty, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --analyze



Detailed Migration Analysis Report

The report gives details about which rules were flagged for your application binaries. For each flagged result, the report lists the affected file along with the match criteria, the method name if applicable, and the line number if available. Line numbers are only available for results that occur within a method body.

Generating the Application Evaluation Report

For a complete list of supported options for evaluating your application, run the following command:

java -jar binaryAppScanner.jar --help --evaluate

To display the HTML report, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --evaluate

Application Evaluation Report

Application Evaluation Report

To output the report to a file, additionally specify the --output parameter with or without a filename. For example, the following command outputs the report to an HTML file with the default name of TechnologyReport.html in the specified directory:

java -jar binaryAppScanner.jar binaryInputPath --output=/myReports

Generating the Liberty feature list configuration file

For a complete list of supported options for feature list generation, run the following command:

java -jar binaryAppScanner.jar --help --featureList

To generate the Liberty feature list configuration XML file, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --featureList



Feature List configuration

Use these files to configure your Liberty server by copying the content to the Liberty server.xml file, or use the <include> element to include it in the server configuration.

So what are you waiting for? Give it a try!

Get it now! Ask a question on Stack Overflow

5 comments on"What is the Migration Toolkit for Application Binaries?"

  1. Mohan Basavarajappa March 21, 2018

    Hi

    Can we run this tool on both source/ binary? Does this evaluate migration of Portlets as well?
    Thanks

    • Cheryl_King March 21, 2018

      Hello,

      This tool is specifically for scanning your application binaries. It is able to detect everything that our Eclipse-based source scanner does. It scans XML documents, properties files, manifest files, JSP files, the bytecodes in the .class files and more.

      As for Portlet migration, there is a migration rule when migrating to Liberty that looks for references to the javax.portlet packages, and for instances of the element in WEB-INF/portlet.xml. Here are some of the documentation links provided in the migration rule detailed help for Java Portlet:

      Portlet Container: Differences between Liberty and full profile
      Developing portlet applications with WDT and Liberty profile

      Regards,
      Cheryl

  2. andre.weigelt March 25, 2015

    This is a very nice tool, but it would be great if I could specify output file / directory instead of using wamt/AnalysisReport.html or wamt/TechnologyReport.html

    It also would be great if I could exlcude directories in ear/war files like lib dir (for external jars)

    • Cheryl_King March 25, 2015

      We appreciate your feedback very much. As for specifying the output file/directory for the report, simply use the –output option. You can specify a directory, a file name, or a fully qualified path/file name. For more information on the available options, use one of the following commands:

      java -jar binaryAppScanner.jar –help –analyzeMigrationDetails
      java -jar binaryAppScanner.jar –help –evaluateApplication

      For your other comment, on the ability to exclude certain directories, we will take that into consideration for future enhancements.

  3. […] Migration Toolkit for Application Binaries (Tech Preview) Scans your application binaries without accessing the source code to quickly evaluate application binaries for rapid deployment on the WebSphere Application Server Liberty profile. […]

Join The Discussion

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