Migration Toolkit for Applications
The tools, reports, and knowledge that help developers accelerate application modernization and migration projects.
Migration Toolkit for Applications overview
Modernize and migrate applications and move to cloud and containers
The Migration Toolkit for Applications (MTA) is an assembly of tools that support large-scale Java application modernization and migration projects across a broad range of transformations and use cases. It accelerates application code analysis, supports effort estimation, accelerates code migration, and helps you move applications to the cloud and containers.
Migration Toolkit features and benefits
Manage projects and upload your application
Within the web console, developers and business owners can manage multiple projects by either uploading single apps or grouping bigger application portfolios with dozens or hundreds of applications into projects for analysis. The web console also helps developers create and optimize their reports to detail challenges and create solutions.
Automated source code analysis
When adding a new project, you can select which type of transformations you would like to analyze for. You can decide to exclude certain packages and set some advanced options if needed. MTA will start decompiling your application binaries, and analyze the code against your desired migration paths, and create a powerful set of reports.
Understanding your application portfolio
Once the analysis is finished, you can now either go straight into the analysis report, or even download a csv file with all the data if you would like to do further processing in a spreadsheet application.
The project’s overview pages will show you a list of all analyzed applications. For each application you can see a story point based effort estimation and technologies identified. MTA will also indicate suitable target runtimes, for example whether an application can be deployed on Tomcat, or JBoss EAP. The report is dynamic, so you can filter the list, for example by certain technologies.
Understand application dependencies and shared code
When dealing with large application portfolios, it is critical to understand code dependencies, but also code that is shared between multiple applications. MTA automatically detects and visualizes these dependencies for you.
Understand migration challenges and support effort estimation
It allows you to browse the source code for identified migration tasks, and gives inline hints with suggestions and recommendations. That not only saves teams a lot of time you would otherwise spend on analysis, but also minimizes the risk.
With these capabilities the Migration Toolkit helps detail the scope of work and supports estimating the effort necessary to complete the transformation tasks.
Code transformation: support for popular IDEs
Once you’re starting the actual transformation, you will want to switch to your favorite IDE. We provide a range of IDE plugins such as CodeReady Studio / Eclipse, CodeReady Workspace / Eclipse Che, and a Visual Studio Code Extension.
The plugins come with all the reporting capabilities of the Web Console, plus additional features such as a task list, support for automatic code changes, and a guided rules editor to easily create new rules based on newly identified migration challenges, so these can be shared with the rest of the team or contributed upstream.
Automate application analysis - pipeline or batch processing
You can also automate analysis by either adding a maven plugin into your release pipeline, or use the command line interface for batch processing. This is not only popular for migration projects, but also for validating code against organizational standards.
Last but not least, the Migration Toolkit is highly extensible by allowing you to create your own rule sets and target runtime labels. Custom rules can be developed to extend existing rule sets, build new migration paths, or enforce certain code standards in your teams. Best of all, it’s very easy to write new rules - either as XML, or using the guided rules editor in the IDE plug-ins. Target runtime labels assess the technologies discovered within applications to determine if they are supported by a specific runtime. JBoss EAP and JWS are the 2 shipped target runtime labels.
How developers use Migration Toolkit
Explore an example of how Migration Toolkit is being used in everyday work platforms