ページの本文へ

Hitachi

OSS(オープンソース・ソフトウェア)

Red Hat社

JBossはRed Hat社が提供するオープンソースのミドルウェア製品群です。 本コラムでは、JBoss製品情報や関連する技術動向、ビジネスの現状などをご紹介します。

第2回 JavaEEアプリケーション移行アセスメントツール - Red Hat Application Migration Toolkit

既存システムに新しい技術要素をどのように組み込むか

あらゆる企業がデジタルトランスフォーメーションを推進する中、IT基盤を事業部門の要求に迅速に対応していく必要性が高まっています。 インフラの観点では、プライベートクラウド、パブリッククラウドを使い分けるハイブリッドクラウドへの対応が求められ、アプリケーション開発の観点では、Linuxコンテナ技術を活用した開発プラットフォームの最適化やアジャイル開発プロセスの導入が進んでいます。 またインフラの管理を安全かつ効率的に運用するための自動化技術も取り入れなければなりません。

これらの技術要素を既存システムに組み込むためには、一足飛びには困難を伴うため、段階的に取り組む必要があります。 レガシーシステムの基盤のみを最新のアーキテクチャーに移行する「リフト&シフト型」、既存機能にAPIを追加して再利用しながら段階的に書き換えていく「リファクタリング型」、機能ごと最新テクノロジーで書き換えてしまう「リライト型」と大きく3つのアプローチがあります。 これらの戦略をどのように組み合わせて移行のロードマップを考えていくかが、今のIT部門に求められている重要課題です。

Java EEの資産を移行するRed Hat Application Migration Toolkit

企業内での膨大なJava EEのスキルや資産を活かしつつ、次世代のコンテナ基盤への移行を目指すには、単体でもコンテナ上でも同じアプリケーションが動作する軽量なJava EEアプリケーションサーバーである、Red Hat JBoss EAPが最適な選択肢となります。 今回紹介するRed Hat Application Migration Toolkit (RHAMT)は、大規模なJavaアプリケーションに対してソースコードの分析をし、最新のクラウドネイティブなアーキテクチャーにも対応するために必要な修正箇所や作業工数を見積もるツールです。 (RHAMTはOSSのWindupプロジェクトがupstreamで、OSSとして開発が進められています。)

Red Hat Application Migration Toolkitの画面例

見積もり対象の既存アプリケーションは、WebLogicやWebSphere、または古いバージョンのJBoss EAPなどで開発されたレガシー資産をサポートしています。 製品固有のパッケージを使用している箇所を特定し、JavaEEの標準仕様への記述の変更を促したり、マイクロサービス化の障壁となるコンポーネント間のRMI接続を洗い出し、REST APIなどへのインターフェース変更を提案したりします。ハードコードされたIPアドレスやJNDIルックアップなど移行に際して問題となりそうな箇所も洗い出します。

このツールを用いることで、詳細な移行計画を開始する前に概算の移行工数の見積もりを行うことができ、プロジェクト化における工数見積もりの根拠として利用できます。

また、これらの分析条件はルールで記述されており、お客様で自由にナレッジを追加することもできますので、自社独自のノウハウを蓄積して見積もり精度を向上させることも可能です。

実行環境はWeb、コマンドライン、Eclipseの3種類が選択できます。

Red Hat Application Migration ToolkitのEclipse実行環境


Red Hat Application Migration Toolkitが生成するレポートの例

RHAMTが生成するレポート例をいくつか紹介します。

「ダッシュボード画面」


ソースコードの問題箇所を重要度別に集計し、移行工数の全体的な見積もりを行います。以下の定量的な数値を集計します。
・カテゴリー別のインシデント数とストーリーポイント数
・修正にかかる難易度別のインシデント数とストーリーポイント数
・パッケージ別のインシデント数

「アプリケーション詳細画面」


アプリケーションに含まれるモジュール単位でパッケージの利用頻度を把握できます。またモジュール単位でのストーリーポイント数も把握でき、移行で修正が必要となるアプリケーション機能の配置を把握することができます。

「ソースレポート画面」


問題のソースコードを指摘し、修正提案を具体的に説明します。

Red Hat Application Migration Toolkitを試す

RHAMTは簡単に試すことができます。Red Hat Developer Program (個人の開発用途に限定してRed Hat製品を無償提供するプログラム) の以下のページからダウンロードして使ってみてください。

RHAMTの使い方や機能説明は以下のページをご参照ください。


コラム執筆者
レッドハット株式会社 プロダクトソリューション本部