10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Bob の Liberty 移行機能とApplication Modernization Accelerator (AMA) を使って、tWAS アプリを Liberty に移行してみた

10
Last updated at Posted at 2026-04-14

この記事では、IBM Application Modernization Accelerator (AMA)IBM Bob の Liberty 移行機能 を使って、従来型の WebSphere Application Server (tWAS) 上のアプリケーションを Liberty に移行する流れを試してみます。

今回は、AMA による事前分析から、Bob を使った修正・デプロイ・動作確認までを一通り実施しました。

この記事で分かること

  • AMA を使った tWAS 環境の分析方法(概要)
  • Discovery Tool の実行と分析結果の取り込み
  • Bob を使った Liberty への移行手順
  • Liberty 上での動作確認までの流れ

前提条件

Bob で Liberty 移行機能を利用するには、以下の 2 つの条件を満たす必要があります。

  1. IBM Bob の Liberty 移行機能
    Bob の Add-on である Java Modernization Premium Package が必要です。
    ※ 2026/04/13 時点では未リリースです。

  2. AMA の利用
    WebSphere の上位ライセンスである IBM Enterprise Application Runtimes が必要です。

AMA をお試しで触ってみたい場合は、 90 日間の無償ライセンス を使用することができます。
本番環境で利用する場合は、IBM Enterprise Application Runtimes など適切なライセンスが必要です。

今回は tWAS 環境として、RHEL8 に ModResorts というサンプルアプリを構築しています。

image.png

全体像

今回の記事の内容の全体像は以下のとおりです。

image.png

今回は tWASサーバーの実行環境と AMA を別の環境として構築していますが、tWAS サーバー上に AMA を構築することも可能です。

同一環境で AMA と Discovery Tool を実行している場合は、収集データが AMA に自動アップロードされます。

AMA のインストール・起動

まずは、AMA 自身の実行環境を構築します。

手順の詳細については、以下の Qiita 記事を参照してください。

https://qiita.com/autonomura/items/cbb16b2b58f080d7ae53

今回は MacBook 上の podman を使用してAMAを構築しています。

image.png

AMA を起動したら、まずワークスペースを作成します。

image.png

ディスカバリーツールのインストール・実行

次に表示される画面から、ディスカバリーツール をダウンロードします。
ディスカバリーツールは、対象のミドルウェア環境をスキャンして、アプリケーション構成や設定情報、依存関係などを収集するためのツールです。

image.png

今回は RHEL8 上の tWAS アプリをスキャンするため、OS は Linux を選択します。

image.png

ディスカバリーツールを tWAS 環境に配置し、AMA に記載の手順に従ってインストールします。

image.png

インストール後、tWAS環境でツールを実行します。

今回は、以下の設定で実行しました。

  • ドメイン: IBM WebSphere
  • 分析タイプ: アプリおよび構成

ドメインは WebSphere のほかに Db2 / WebLogic / JBoss / Tomcat なども選択できます。
また、分析タイプとしては アプリのみ.earまたは.warファイル も選択可能です。

image.png

同一環境で AMA と Discovery Tool を実行している場合は、収集データが AMA に自動アップロードされます。
今回は別環境で実行したため、tWAS の環境でzip 形式の分析結果ファイルが出力されました。
image.png

この zip ファイルを AMA にアップロードします。

image.png

続いて、ターゲットとしてどの環境へ移行するかを選択します。

今回は Liberty に移行したいため、Liberty を選択します。

image.png

AMA で分析結果を確認

AMA では、アプリケーション環境をスキャンした結果を確認できます。

AMA では対象となる環境における DB やキューを含む依存関係を可視化することができます。
(今回は WAS にシンプルなサンプルアプリを乗せているなので絵面が地味ですが、複雑なアプリケーション環境では特に便利そうですね。)

image.png

さらに、評価タブではアプリケーションごとの複雑さを可視化し、移行にかかるコストを比較することが可能です。

image.png

今回の分析対象のアプリである modresorts-test.ear をクリックしてみます。

アプリの詳細画面からは、それぞれのアプリで修正が必要な箇所や分析結果のレポートを確認できます。

image.png

image.png

image.png

マイグレーション計画のページからは、分析結果の成果物をダウンロードすることができます。

この後の工程では、こちらを使用して Bob で Liberty への移行機能を試してみます。

image.png

Bob による Liberty 移行

ここからは、ダウンロードしたマイグレーション計画を使用して、Bob で tWAS から Liberty への移行を進めていきます。

Bob で tWAS アプリケーションのプロジェクトを開き、Java モダナイゼーションのワークフローを開始します。

image.png

Liberty リプラットフォーミング を選択します。

image.png

先ほどダウンロードしたマイグレーション計画の zip ファイルをアップロードします。

image.png

OpenRewrite によって自動で修正できる箇所は、自動修正が可能です。

image.png

次に、Bob による修正を実施します。
ローカルにLibertyのデプロイメントを実施するためのサブタスクを開始します。

image.png

確認が必要な項目がある場合、Bob はユーザーに対して質問をしてくれます。

image.png

Bob がどのようにコードを修正したかを確認しながら、承認して進みます。

image.png

アプリのデプロイが完了すると、curl コマンドで正常に起動しているか確認してくれます。

image.png

アプリがデプロイされた URL にアクセスすると、無事にアプリケーションが Liberty 上で動作していることが確認できました!

image.png

まとめ

今回は、AMA を使って tWAS アプリケーションを分析し、その結果をもとに Bob の Liberty 移行機能で Liberty への移行を試してみました。

AMA を使うことで、依存関係の可視化移行難易度の把握 ができ、移行前の見積もりや計画立案に役立つことが分かりました。
さらに、Bob を組み合わせることで、OpenRewrite による自動修正対話型のコード修正支援 を活用しながら、効率的に移行作業を進められます。

実際に使ってみると、OpenRewrite で機械的に置き換えられる部分と、Bob が対話的に補ってくれる部分がうまく分かれており、移行作業をスムーズに進めやすい印象でした。

IBM Bobを試す

IBM Bob の30日間の無料トライアルでは、Bob の利用に必要なクレジット”Bobコイン”を、40Bobコイン分ご利用いただけます。
お申し込みはこちらから行えます。
Bobコインの追加が必要な場合は、こちらから少額よりご購入いただけます。

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?