Introduction to the Migration Toolkit for Applications

Table of Contents

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

1. Introduction to the Migration Toolkit for Applications

Migration Toolkit for Applications (MTA) is a set of tools that you can use to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. MTA looks for common resources and known trouble spots when migrating applications. It provides a high-level view of the technologies used by the application. MTA also generates a detailed report that evaluates a migration or modernization path. By using this report, you can estimate the effort required for large-scale projects and reduce the work involved.

By using the MTA, you can perform the following tasks:

  • Use the MTA extensive default questionnaire to assess your applications, or create your own custom questionnaire to estimate the difficulty, time, and other resources needed to prepare an application for containerization. You can use the results of an assessment for discussions between stakeholders to determine which applications are suitable for containerization.

  • Analyze applications by applying one or more sets of rules to each application. You can use these rules to determine which specific lines of the application must be modified before the application can be modernized.

  • Examine application artifacts, including project source directories and application archives, and produce an HTML report that highlights areas that require changes.

Note

The migration solution for Java applications that was provided in the Migration Toolkit for Applications 5.x releases (migration and modernization of Java applications) is now available with Migration Toolkit for Runtimes 1.0.

1.1. The MTA features

Migration Toolkit for Applications (MTA) provides the following features to simplify upgrades with more migration paths:

  • New application inventory and assessment modules to assist organizations in managing, classifying, and tagging their applications while assessing application suitability for deployment in containers, including flagging potential risks for migration strategies.

  • Full integration with source code and binary repositories to automate the retrieval of applications for analysis along with proxy integration, including HTTP and HTTPS proxy configuration managed in the user interface.

  • Improved analysis capabilities with new analysis modes, including source and dependency modes that parse repositories to gather dependencies and add these dependencies to the overall scope of the analysis. You can also use a simplified user experience to configure the analysis scope, including open source libraries.

  • Enhanced Role-Based Access Control (RBAC) powered by Red Hat Single Sign-On to define new differentiated personas (administrator, architect, and migrator) with different permissions to suit the needs of each user, including credentials management for multiple credential types.

  • Administration perspective to provide tool-wide configuration management for administrators.

  • Support for Red Hat OpenShift on AWS (ROSA) is introduced in MTA 7.0.0.

  • Support added for Azure Red Hat OpenShift (ARO) is introduced in MTA 7.0.0.

1.2. The MTA rules

The Migration Toolkit for Applications (MTA) contains rule-based migration tools (analyzers) that you can use to analyze the application user interfaces (APIs), technologies, and architectures used by the applications you plan to migrate. MTA analyzer rules use the following rule pattern:

when(condition)
 message(message)
 tag(tags)

You can use the MTA rules internally to perform the following tasks:

  • Extract files from archives.

  • Decompile files.

  • Scan and classify file types.

  • Analyze XML and other file content.

  • Analyze the application code.

  • Build the reports.

MTA builds a data model based on the rule execution results and stores component data and relationships in a graph database. This database can then be queried and updated as required by the migration rules and for reporting purposes.

Note

You can create your own custom analyzer rules. You can use custom rules to identify the use of custom libraries or other components that might not be covered by the provided standard migration rules.

For instructions on how to write custom rules, see [Rules Development Guide].

2. Supported Migration Toolkit for Applications migration paths

The Migration Toolkit for Applications (MTA) supports the following migrations:

  • Migrating from third-party enterprise application servers, such as Oracle WebLogic Server, to JBoss Enterprise Application Platform (JBoss EAP).

  • Upgrading to the latest release of JBoss EAP.

MTA provides a comprehensive set of rules to assess the suitability of your applications for containerization and deployment on Red Hat OpenShift Container Platform (RHOCP). You can run an MTA analysis to assess your applications' suitability for migration to multiple target platforms.

Table 1. Supported migration paths: Source platform ⇒ Target platform
Source platform ⇒ Migration to JBoss EAP 7 & 8 OpenShift (cloud readiness) OpenJDK 11, 17, and 21 Jakarta EE 9 Camel 3 & 4 Spring Boot in Red Hat Runtimes Quarkus Open Liberty

Oracle WebLogic Server

-

-

-

-

-

IBM WebSphere Application Server

-

-

-

-

JBoss EAP 4

[1]

-

-

-

-

-

JBoss EAP 5

-

-

-

-

-

JBoss EAP 6

-

-

-

-

-

JBoss EAP 7

-

-

-

-

Thorntail

[2]

-

-

-

-

-

-

-

Oracle JDK

-

-

-

-

-

-

Camel 2

-

-

-

-

-

Spring Boot

-

-

-

Any Java application

-

-

-

-

-

-

Any Java EE application

-

-

-

-

-

-

-

3. Prerequisites for the Migration Toolkit for Applications installation

The following are the prerequisites for the Migration Toolkit for Applications (MTA) installation:

  • Java Development Kit (JDK) is installed. MTA supports the following JDKs:

    • OpenJDK 11

    • OpenJDK 17

    • Oracle JDK 11

    • Oracle JDK 17

    • Eclipse Temurin™ JDK 11

    • Eclipse Temurin™ JDK 17

  • 8 GB RAM

  • macOS installation: the value of maxproc must be 2048 or greater.

4. The Migration Toolkit for Applications tools

You can use the following Migration Toolkit for Applications (MTA) tools for assistance in the various stages of your migration and modernization efforts:

  • User interface

  • Migration Toolkit for Applications Operator

  • CLI

  • IDE add-ons for the following applications:

    • Eclipse

    • Visual Studio Code, Visual Studio Codespaces, and Eclipse Che

    • IntelliJ IDEA

  • Maven plugin

Review the details of each tool to determine which tool is suitable for your project.

4.1. The MTA Operator

By using the Migration Toolkit for Applications Operator, you can install the user interface on OpenShift Container Platform versions 4.13-4.15.

For more information about the prerequisites for the MTA Operator installation, see OpenShift Operator Life Cycles.

4.2. The MTA user interface

By using the user interface for the Migration Toolkit for Applications, you can perform the following tasks:

  • Assess the risks involved in containerizing an application for hybrid cloud environments on Red Hat OpenShift.

  • Analyze the changes that must be made in the code of an application to containerize the application.

4.3. The MTA CLI

The CLI is a command-line tool in the Migration Toolkit for Applications that you can use to assess and prioritize migration and modernization efforts for applications. It provides numerous reports that highlight the analysis without using the other tools. The CLI includes a wide array of customization options. By using the CLI, you can tune MTA analysis options or integrate with external automation tools.

For more information about using the CLI, see CLI Guide.

4.4. The MTA IDE add-ons

You can migrate and modernize applications by using the Migration Toolkit for Applications (MTA) add-ons for the following applications:

  • Eclipse

  • Visual Studio Code, Visual Studio Codespaces, and Eclipse Che

  • IntelliJ IDEA, both the Community and Ultimate versions

You can use these add-on to perform the following tasks:

  • Analyze your projects by using customizable sets of rules.

  • Mark issues in the source code.

  • Fix the issues by using the provided guidance.

  • Use the automatic code replacement, if possible.

Appendix A: Getting involved in the Migration Toolkit for Applications development

A.1. Contributing to the project

To help the Migration Toolkit for Applications cover most application constructs and server configurations, including yours, you can help with any of the following items:

  • Send an email to jboss-migration-feedback@redhat.com and let us know what MTA migration rules must cover.

  • Provide example applications to test migration rules.

  • Identify application components and problem areas that might be difficult to migrate:

    • Write a short description of the problem migration areas.

    • Write a brief overview describing how to solve the problem in migration areas.

  • Try Migration Toolkit for Applications on your application. Make sure to report any issues you meet.

  • Contribute to the Migration Toolkit for Applications rules repository:

    • Write a Migration Toolkit for Applications rule to identify or automate a migration process.

    • Create a test for the new rule.

    For more information, see Rules Development Guide.

  • Contribute to the project source code:

    • Create a core rule.

    • Improve MTA performance or efficiency.

Any level of involvement is greatly appreciated!

A.2. Reporting issues

MTA uses Jira as its issue tracking system. If you encounter an issue executing MTA, submit a Jira issue.

Use the following resources to learn and contribute to the Migration Toolkit for Applications development:


Revised on 2024-11-23 19:18:46 CST


1. Although MTA does not currently provide rules for this migration path, Red Hat Consulting can assist with migration from any source platform to JBoss EAP 7.
2. Requires JBoss Enterprise Application Platform expansion pack 2 (EAP XP 2)