Migration Toolkit for Applications: Use cases and migration paths

Developer-focused assessments of application portfolios

Migration Toolkit for Applications use cases and migration paths

The Migration Toolkit for Applications (MTA) contains a rich set of skill sets (rules and code hints) and supports multiple migration paths and use cases. The toolkit is highly extensible, allowing developers to either extend their existing skills sets or create their own. 

Application modernization and migration use cases

MTA supports reviewing applications compliance against JEE profiles, so that they do not contain code specific to the application server and, therefore can be migrated to JBoss EAP from competitors’ Enterprise Application Servers (e.g. Oracle® WebLogic® Server). The toolkit can also be used for reviewing the upgrades to the latest release of JBoss EAP and executing them with confidence. MTA also assesses the technologies identified within each application against those supported not just by JBoss EAP but also by JBoss WS, Red Hat’s supported build of Apache Tomcat. MTA has a comprehensive set of cloud and container readiness rules to assess applications for suitability for deployment on OpenShift. An analysis execution can assess applications for multiple targets (e.g. EAP7, cloud readiness and OpenJDK).

We've summarized the most commonly used migration paths in the following table.

Source Platform

Targets
Migration to JBoss EAP 6 Migration to JBoss EAP 7 OpenShift (cloud readiness) OpenJDK
8 & 11
Camel 3 Spring Boot in Red Hat Runtimes
Oracle® WebLogic Server - -
IBM® WebSphere® Application Server - -
JBoss EAP 4 ✘ [1] - -
JBoss EAP 5 - -
JBoss EAP 6 N/A - -
JBoss EAP 7 N/A - -
Oracle JDK - - - -
Camel 2 - - -
Spring Boot - - -
Any Java application - - - -
             
[1] Although MTA does not currently provide rules for this migration path, Red Hat Consulting can assist with migration from any source platform.

Other use cases

MTA is highly extensible, allowing developers to create their own set of rules and hints or adapt to their own needs. New transformation paths is one example. Many developers use MTA for non-migration use cases as part of their build process (via Maven plugin or Command Line Interface) in order to validate code on a regular basis against organizational standards or to ensure application portability. 

Another common use case is the enforcement of certain libraries and frameworks (use a single logging framework instead of pick-your own). Developers also leverage MTA to avoid the usage of proprietary libraries.

The Rules development guide provides instructions about how to customize existing or create new rules and rule-sets.

Ready to migrate your Java apps to containers?

Most Java applications in production today are running on virtual machines (VMs), likely on an application platform that is not container friendly. So, how can you migrate them from the current platform to containers on Kubernetes?