17. アプリケーション検証機能

17.1. 概要

Javaアプリケーションのマイグレーション作業をサポートする機能です。


図16.1-1

アプリケーション検証機能では、インポートされたプロジェクトソースディレクトリやアプリケーションアーカイブなどを検証し変更が必要な場所などをHTMLレポートに出力します。
コンテナ向けマイグレーション検証、JDK非互換検証、WebLogicからのマイグレーション検証を行うことができます。
また、WebOTX Deveoperが未インストールの環境でアプリケーション検証ツールを使用する場合は、<WebOTXインストールディレクトリ>/Developer/migration_Toolkit ディレクトリを任意のディレクトリへコピーして
アプリケーション検証ツールコマンドを使用してHTMLレポートに出力することも出来ます。
コマンドツールによる実行方法については、[コマンドを使用したアプリケーション検証]を参照してください。

Memo
アプリケーションアーカイブの検証では、対象アーカイブファイル内に含まれるjar等のアーカイブファイルも検証対象となります。

17.2. 事前準備

ファイル選択によるアプリケーションアーカイブ(*.war、*.ear、*.rar、*.zip、*.jar)を検証する場合には、アプリケーション検証機能プロパティファイルの設定変更が必要です。

17.3. 利用手順

17.3.1. WebOTX Developerを使用したアプリケーション検証

アプリケーションの検証例を以下に示します。
  1. 検証対象アプリケーションのマイグレーション
  2. 検証対象アプリケーションのビルド
  3. 検証対象アプリケーションの検証
以下に、アプリケーション検証の流れの概要を示します。


Memo
ソースファイルを含んだプロジェクトを検証する場合は、[ソースファイルを含んだプロジェクトの検証手順]を参照してください。

17.3.2. 検証対象アプリケーションのマイグレーション

 検証対象アプリケーションを検証する場合には、マイグレーションアシスタントの機能を使用して検証対象アプリケーションのマイグレーションを行ってください。
 マイグレーションアシスタントの詳細は[マイグレーションアシスタントについて]を参照してください。

17.3.3. 検証対象アプリケーションのビルド

 検証対象アプリケーションのビルドを行い、コンパイルエラー等の問題を解決しjar、war、ear等へのパッケージングを行いアプリケーションアーカイブを作成します。

17.4. 検証対象アプリケーションの検証

17.4.1. アプリケーションアーカイブの検証手順

アプリケーションアーカイブの検証手順を以下に説明します。

アプリケーション検証機能プロパティファイル(config.properties)の、アトリビュート名:sourceModeの設定値をfalseに変更します。
プロパティファイルについてはプロパティファイルの設定変更を参照してください。

Windows のスタートメニューより、WebOTX Developer を起動し、対象プロジェクト配下のアプリケーションアーカイブを選択します。

Caution
フォルダを指定し、フォルダ内の複数のアーカイブファイルを同時に検証することも可能ですが、出力レポートに問題が生じる場合があります。
[注意事項 > 複数のアーカイブファイルを同時検証する際の注意事項]を参照してください。


図16.3.1.2-1


プルダウンメニュー > アプリケーション検証 を選択し、アプリケーション検証ウィザードを表示します。


図16.3.1.2-2

ウィザード画面上の 移行元のアプリケーション検証する非互換項目(複数選択可能)をチェックします。
レポート出力形式を選択し、 検証開始をクリックします。
検証完了後は、以下の画面が表示されます。
検証結果のレポート出力先は、<WebOTXインストールディレクトリ>/Developer/migration_Toolkit/report/{検証対象アーカイブ名}.reportです。


図16.3.1.2-3

Memo
レポート出力先に同名のディレクトリが存在する場合は、新しいレポート内容が上書き保存されます。
既存のレポート内容を保存する場合は、対象ディレクトリをリネームして保存してください。


レポート内容については、[アプリケーション検証レポート]を参照してください。

Memo
検証処理時のログは<WebOTXインストールディレクトリ>/Developer/migration_Toolkit/logに出力されます。


Memo
ソースファイルを含んだプロジェクトを検証する場合は、[ソースファイルを含んだプロジェクトの検証手順]を参照してください。

17.4.2. ソースファイルを含んだプロジェクトの検証手順

ソースファイルを含んだプロジェクトの、検証手順を以下に説明します。

Windows のスタートメニューより、WebOTX Developer を起動し、対象プロジェクト配下のソースディレクトリを選択します。


図16.3.1.1-1

プルダウンメニュー > アプリケーション検証 を選択し、アプリケーション検証ウィザードを表示します。

Memo
ソースディレクトリのプルダウンメニューにアプリケーション検証がない場合、[注意事項 > ソースディレクトリに対してのアプリケーション検証について] を参照してください。


図16.3.1.1-2

ウィザード画面上の 移行元のアプリケーション検証する非互換項目(複数選択可能)をチェックします。
レポート出力形式を選択し、 検証開始をクリックします。

検証完了後は、以下の画面が表示されます。
検証結果のレポート出力先は、<WebOTXインストールディレクトリ>/Developer/migration_Toolkit/report/{検証対象ディレクトリ名}.reportです。


図16.3.1.1-3

Caution
JavaDoc構文が存在するjavaソースファイルを検証した場合、ソースレポート内で指摘される行数がずれる事があります。
JavaDoc構文が存在する場合のソースレポートについては、[JavaDoc構文が存在する場合のSource Report (移行課題があるソースの詳細)]を参照してください。


Memo
レポート出力先に同名のディレクトリが存在する場合は、新しいレポート内容が上書き保存されます。
既存のレポート内容を保存する場合は、対象ディレクトリをリネームして保存してください。


レポート内容については、[アプリケーション検証レポート]を参照してください。

Memo
検証処理時のログは<WebOTXインストールディレクトリ>/Developer/migration_Toolkit/logに出力されます。


17.4.3. プロパティファイルの設定変更

config.properties

ファイルパス:<WebOTXインストールディレクトリ>\Developer\Studio\plugins\com.nec.webotx.appmigtool_{バージョン名}\config.properties

アプリケーション検証機能の変更可能な設定項目

config.properties
属性名(attribute-name) 説明 既定値
sourceMode アーカイブファイルを検証する場合には false を設定します。
設定値による検証動作は以下のようになります。

true:
検証対象のアプリケーションに含まれているJavaソースファイル、xmlファイル等を解析します。
検証対象のアプリケーションにコンパイルされたアーカイブファイルが含まれている場合、アーカイブファイルのMaven座標等の情報を検証します。

false:
検証対象のアプリケーションに含まれているアーカイブファイルを展開、デコンパイルします。
展開されたJavaソース、xmlファイル等を検証します。

true
output レポート出力ディレクトリを指定する場合に設定します。
設定しない場合、レポート出力先は <WebOTXインストールディレクトリ>\Developer\migration_Toolkit\report\{検証対象ディレクトリ名}.report となります。
指定したディレクトリが存在しない場合、新たにディレクトリを作成してレポートを格納します。
既にディレクトリが存在する場合は、新しいレポート内容が上書き保存されます。
レポート出力ディレクトリを指定する場合、パス表記は [注意事項 > config.propertiesのoutputパラメータについて] を参照してください。
相対パスを指定する場合、レポート出力先は <WebOTXインストールディレクトリ>\Developer\Studio\{指定した相対パス}となります。
なし
userIgnorePath 検証除外設定ファイルを配置したディレクトリパスを指定します。 なし

Memo
プロパティファイルの設定値を変更した場合、WebOTX Developerの再起動は必要ありません。


17.4.4. コマンドを使用したアプリケーション検証

AMT-CLIコマンドにて、Developerでのアプリケーション検証と同等の検証を行うことができます。
AMT-CLIコマンドでのアプリケーション検証の動作環境は以下の通りです。
動作環境
OS CPUアーキテクチャ JDK メモリ
Windows10
※バージョン1809(2019LTSC, ビルド17763)
バージョン20H2(ビルド19042)以降
x64 Oracle JDK 8 (Update 202 以降) 最小4GB
(8GB以上を推奨)
Windows11
※バージョン21H2(ビルド22000)以降
Oracle JDK 11 (11.0.15 以降) LTS版
Red Hat Enterprise Linux 7 Server
※7.1以降
OpenJDK 8 (Update 202 以降)
Red Hat Enterprise Linux 8 Server
※8.1以降
OpenJDK 11 (11.0.15 以降)

Memo
Deveoperが未インストールの環境でアプリケーション検証ツールを使用する場合は、<WebOTXインストールディレクトリ>/Developer/migration_Toolkit ディレクトリをコピーしてご利用ください。
またコマンドの実行権は、環境に合わせて適宜設定してください。

17.4.4.1. アプリケーション検証ツールの構成

アプリケーション検証ツールのディレクトリ構成図を以下に示します。
AMT-CLIコマンド(sh/bat)はbin配下に格納されています。

アプリケーション検証ツールのディレクトリ構成
図16.3.2.1-1
コマンドツールでのアプリケーション検証の実行方法(Windows)を説明します。

ここでは、コマンドツールがインストールされているディレクトリ(<WebOTXインストールディレクトリ>/Developer/migration_Toolkit)を
{TOOL_DIR} とします。
  1. コマンドプロンプトを起動します。
  2. CD コマンドで {TOOL_DIR} のディレクトリにカレントを移動します。
  3. 以下のコマンドを実行します。
     {TOOL_DIR} > .\bin\amt-cli.bat --sourcemode --input {検証対象ディレクトリ} --output {検証結果出力先ディレクトリ} --target {移行先ターゲット}
  4. コマンド実行終了後、{検証結果出力先ディレクトリ}が作成され、{検証結果出力先ディレクトリ}配下にレポートが出力されます。

Memo
コマンド詳細については、[その他機能 > アプリケーション検証ツールコマンド]を参照してください。


17.4.5. アプリケーション検証レポート

アプリケーション検証ツールが生成するアプリケーション検証レポート例を説明します。

ブラウザーを使用して、レポート出力ディレクトリにあるindex.htmlファイルを開きます。
これにより、検証されたアプリケーションをリストするメインページが開きます。
アプリケーションリストの部品名称
番号 説明
検証されたアプリケーション名
クリックすることで、Dashboard (レポートインデックス) 画面に遷移します。
検証されたアプリケーションのストーリーポイント(※1)
Cloud Mandatoryカテゴリごとの検出数(※2)
Informationカテゴリごとの検出数(※2)
総検出数
使用されている技術
ヘッダメニュー
ヘッダメニューから表示されるレポートは複数アプリケーションの情報が表示されます。

(※1) ストーリーポイント
(※2) カテゴリごとの検出数

テクノロジーの部品名称
番号 説明
検証されたアプリケーションに使用されている技術を機能別に分類し
「EJB」などの項目をクリックすると、3のソート対象データをもとに降順/昇順で並べ替えられます。
検証されたアプリケーション名
表示項目の「Name」をクリックすることでファイル名でソートされます。
検証されたアプリケーション名をクリックすることで検証されたアプリケーション単位の
Technologies (使用されている技術)に遷移します。
ソート対象データ
検証されたアプリケーションで使用されている技術がどのように分散されているかを示しています。
検証されたアプリケーションのサイズ、ライブラリの数、ストーリーポイントの合計が表示されます。


   検証されたアプリケーション単位のテクノロジーは、上記テクノロジーの部品名称2をクリックすることで表示されます。
   アプリケーションに見られるテクノロジの概要であり、ユーザーが各アプリケーションの目的をすばやく理解できるように表示されます。


図16.3.3.1-3


デペンデンシーグラフ部品名称
番号 説明
複数のアプリケーション単位の各依存関係が表示されます。
選択されたファイル名
グラフ表示されたアイコンが選択されている場合に表示されます。
グラフアイコンの凡例
※3rd-party JARs について
アプリケーション検証機能内のリポジトリからMaven座標を取得し、Maven座標が存在するライブラリを3rd-party JARsとします。
一部3rd-party JARsとして判定できないjarが存在します。[注意事項 > 3rd-party JARsについて] を参照してください。

Dashboard (レポートインデックス)の部品名称
番号 説明
カテゴリごとの検出インシデント数とストーリーポイント数
検出カテゴリ(※2)毎の検出インシデント数
検出カテゴリ(※2)の検出インシデント数とストーリーポイント数
ストーリーポイントレベル(※1)に対する検出インシデント数、ストーリーポイント数
ストーリーポイントレベル(※1)毎の検出インシデント数
カテゴリ別の検出インシデント数
Javaパッケージ毎の検出インシデント数
Javaパッケージ毎の検出インシデント数の構成比

(※1) ストーリーポイントレベル
(※2) 検出カテゴリ


次の表に、アクセスできるすべてのレポートとページを示します。
レポート 説明
Issues (移行課題) 注意を要するすべての問題の簡潔な要約を提供します。
Application Details (アプリケーション詳細) アプリケーション内で見つかった、移行中に注意が必要なすべてのリソースの詳細な概要を提供します。
Technologies (使用されている技術) 機能別にグループ化されたすべての埋め込みライブラリを表示し、各アプリケーションで使用されている技術を表示します。
Dependencies Graph (依存関係グラフ) 分析されたアプリケーション内で見つかったすべてのJavaパッケージの依存関係のグラフを表示します。
Dependencies (依存関係) アプリケーション内で見つかったすべてのJavaパッケージの依存関係を表示します。
Shaded-jar の解析についての注意事項があります。 [注意事項 > Shaded-jarの解析について] を参照してください。
Remote Services (Remote) アプリケーション内で見つかったすべてのリモートサービス参照を表示します。
EJB Report (Java EE EJB Bean) アプリケーション内で見つかったEJBのリストを表示します。
情報内に「unknown」が出力される事象が発生する場合があります。[注意事項 > EJBレポートに出力される「unknown」情報について] を参照してください。
Server Resources (Server) アプリケーションのすべてのサーバーリソース(JNDIリソースなど)を表示します。
Ignored Files (除外ファイル) 処理されなかったアプリケーションで見つかったファイルを表示します。
詳細については、--userignorepathオプションを参照してください。

17.5. 注意・制限事項

17.5.1. 注意事項

17.5.2. 制限事項

特にありません。