[JAVA] I tried using the Migration Toolkit for Application Binaries

The Migration Toolkit for Application Binaries from IBM is a free tool that diagnoses migrations between Java application versions and migrations to Liberty. A Java application war / ear file is required for diagnostics. image.png

https://developer.ibm.com/wasdev/downloads/#asset/tools-Migration_Toolkit_for_Application_Binaries

The procedure is --Install JDK --Download and install this Migration Toolkit --Preparing the war / ear file --Execution of diagnosis

Migration options

The migration source and source application servers supported by this tool are JBoss, Liberty, Liberty Core, Apache Tomcat, WebSphere, WebLogic

Migration destination, target application server Liberty, Liberty Core, WebSphere Application Server traditional V8.5.5, WebSphere Application Server traditional V9.0

Also, it seems that you can specify the Java version. Originally, the Java version of the source is  Java (11,14), IBM Java (5,6,7,8), Oracle Java (5,6,7,8) The target Java version is  Java (11,14), IBM Java (7,8), Oracle Java (7,8)

It seems that you can also diagnose when migrating to IBM Cloud, and you have the following options. `` --targetCloud=[containers|cfIBMCloud|thirdParty|vmIBMCloud] Rules for migrating to the specified target cloud runtime environment Incorporate. There is no default. Source or target application server If you specify this option without specifying it, only cloud rules are included. The following options are valid.


##JDK installation
I downloaded and installed the JDK from here.
 https://www.oracle.com/java/technologies/javase-downloads.html
The following command should work.

java --version

Output example
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/8c1fdaee-6810-dbe0-84be-aa5e27286cb9.png)


##Download and install Migration Toolkit
Click Download from this page to download.
https://developer.ibm.com/wasdev/downloads/#asset/tools-Migration_Toolkit_for_Application_Binaries
 binaryAppScannerInstaller.A file called jar will be downloaded. I saved it anywhere on my PC.
Then go to the saved folder and install with the following command

java -jar binaryAppScannerInstaller.jar

A folder called wamt will be created after installation. Therefore, enter the following command and check the operation.

cd wamt java -jar binaryAppScanner.jar --help --all

How to use it will come out as follows.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/a352c9e3-4db9-ec08-b939-ebae563b18b6.png)


## war/Ear file preparation
I created a war file with reference to this.
https://techacademy.jp/magazine/23660#:~:text=WAR%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95,-WAR%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF&text=%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7,%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82

##Perform diagnostics
If you enter the following command in the prepared war file, the diagnosis will start after a while. After that, the browser will start and the diagnostic result will be displayed. Hello Servelet here.Diagnose war

java -jar binaryAppScanner.jar HelloServlet.war

It was displayed as follows.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/b0df8740-eebd-2933-d176-098fdb221a9e.png)

As the name suggests, the above app only outputs Hello, so it is natural that there is no problem, but please try it with various apps.



Recommended Posts

I tried using the Migration Toolkit for Application Binaries
I tried using Docker for the first time
[Rails] I tried deleting the application
[Rails] I tried using the button_to method for the first time
I tried using the cache function of Application Container Cloud Service
[For beginners] I tried using DBUnit in Eclipse
[For beginners] I tried using JUnit 5 in Eclipse
[API] I tried using the zip code search API
I tried touching Docker for the first time
I tried using the profiler of IntelliJ IDEA
I tried using TestNG
I tried using Galasa
I tried using the Server Push function of Servlet 4.0
I tried using Docker Desktop for Windows on Windows 10 Home
I tried using an extended for statement in Java
I tried using azure cloud-init
I tried the Docker tutorial!
I tried using Apache Wicket
I tried the VueJS tutorial!
I tried using Java REPL
I tried the FizzBuzz problem
Guide: Deploy your application using the Alibaba Cloud Toolkit plugin
I tried to build the environment little by little using docker
I tried using the CameraX library with Android Java Fragment
I tried to touch the asset management application using the emulator of the distributed ledger Scalar DLT
I tried using anakia + Jing now
Java14 came out, so I tried record for the time being
I tried using Spring + Mybatis + DbUnit
I tried using JOOQ with Gradle
I tried to explain the method
I tried the Java framework "Quarkus"
I tried to build a simple application using Dockder + Rails Scaffold
I tried using Java8 Stream API
After learning Progate, I tried to make an SNS application using Rails in the local environment
I tried using JWT in Java
[Android] I tried using Coordinator Layout.
I tried using Pari gp container
I tried to display the calendar on the Eclipse console using Java.
I tried using WebAssembly Stadio (2018/4/17 version)
I tried using Java memo LocalDate
I tried using GoogleHttpClient of Java
I tried to make a simple face recognition Android application using OpenCV
I want to display the number of orders for today using datetime.
I tried to summarize the stumbling points when developing an Android application
I tried to make a talk application in Java using AI "A3RT"
Deploy a Node.js application to an ECS instance using the Cloud Toolkit
I tried to publish the reflex measurement application on the Google Play store
I tried using Elasticsearch API in Java
I tried to summarize the methods used
I tried using Java's diagnostic tool Arthas
I tried using UICollectionViewListCell added from Xcode12.
I tried Cassandra's Object Mapper for Java
I tried using Scalar DL with Docker
I tried the new era in Java
I tried using OnlineConverter with SpringBoot + JODConverter
It's new, but I tried using Groonga
I tried to implement the Iterator pattern
I tried using OpenCV with Java + Tomcat
I tried to summarize the Stream API
I tried the AutoValue library in Intellij
[Question] I cannot obtain a license for a business package application from the license server.