Application Migration Report

The Migration Toolkit for Application Binaries can generate a consolidated migration report that contains the content of the Application Technology Evaluation Report, the Application Inventory Report, the Detailed Migration Analysis Report, and the WebSphere configuration. This report makes it easier than ever to analyze your application binaries for migration to later releases of WebSphere traditional or Liberty.

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.

After determining whether your target platform is fully supported for your application, explore the details in the Technology Evaluation Details section. Any technology that is not supported for your target platform is linked to an analysis rule in the Detailed Migration Analysis section. For each analysis rule, detailed help is provided that describes the migration issue and any possible resolution. The analysis rule results list the affected files 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.

The Detailed Migration Analysis section of the report contains all the migration issues that are flagged for the application. All severe migration issues must be addressed, and warning migration issues must be evaluated to determine if changes to the application are necessary. Information migration issues are items to be aware of, such as the use of deprecated APIs that could be removed in a later release.

The Inventory section of the report contains a high-level inventory of the content and structure of each application and information about potential deployment problems and performance considerations.

Finally, if your target platform is Liberty, the Liberty Configuration section of the report includes configuration for the Liberty server based on scanning application binaries and WebSphere traditional configuration. If you are migrating between WebSphere traditional versions, a separate wsadmin script is generated when configuration is discovered. See the Configuration Migration section for more details.

The only required parameter is the binaryInputPath, which is an absolute or relative path to a .ear or .war file, or to a directory that contains .ear and .war files. If the binaryInputPath is to a deployed application in a WebSphere traditional installation, additional configuration will be generated.

If no application server options are specified, then --sourceAppServer=was855 and --targetAppServer=liberty are the default.

It is best practice to identify your custom application class packages with the --includePackages option. By doing so, you avoid scanning Java EE and third-party packages which should not affect your migration effort. If no --includePackages or --excludePackages options are specified, the tool excludes Java EE and some third-party packages by default. These packages are identified as scan options near the beginning of the report.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. For a complete list of supported options for evaluating your application, run the following command:
java -jar binaryAppScanner.jar --help --all

The following examples demonstrate different ways to generate the report using the command options:

  • 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
                        
  • To save the report to a specific file, additionally specify the --output parameter with a file name. If the file name is not fully qualified, the file is created in the current directory.
    For example, the following command outputs the report to the /MyAppDir/MyAppReport.html file.
    java -jar binaryAppScanner.jar MyApp.ear --all --sourceAppServer=was70
    					--targetAppServer=liberty --targetCloud=cfIBMCloud --output=/MyAppDir/MyAppReport.html
  • To create a JSON-formatted report file with the default name of MyApp.war_MigrationReport.json in the current directory where binaryInputPath is set to /MyAppDir/MyApp.war, run the following command:
    java -jar binaryAppScanner.jar /MyAppDir/MyApp.war --all --format=json
  • To create separate report files for the Technology Evaluation, Detailed Migration Analysis, Inventory, and Configuration reports rather than a full consolidated report, specify the --all-separate-reports parameter.
    java -jar binaryAppScanner.jar /MyAppDir/MyApp.war --all-separate-reports
  • To exclude specific files, directories, or archives from being scanned, specify the --excludeFiles parameter with a regular expression. In order for the regular expression to match successfully, it is important to make sure the specified pattern performs complete matches rather than partial matches.
    For example, the following command will exclude everything contained in a resource directory file.
    java -jar binaryAppScanner.jar MyApp.ear --all --sourceAppServer=was70
    					--targetAppServer=liberty --excludeFiles=.*/resource/.*
  • To specify user-defined rules, specify the --userRuleLocation parameter with the directory containing your rule definitions and lists. For more information on creating user-defined rules, see User-Defined Rules.
    For example, the following command will run the user-defined rules along with the rules for migrating from WebSphere traditional to Liberty.
    java -jar binaryAppScanner.jar MyApp.ear --all --sourceAppServer=was90 --targetAppServer=liberty --userRuleLocation=/path/to/rules
Figure 1. Application Migration Report in HTML format
Application Migration Report

The Liberty Configuration section is only included in the report when the target platform is Liberty. When migrating between WebSphere traditional versions, a separate wsadmin script is generated in the same directory as the report.