第3章 レポートの確認

次のセクションに示すレポートの例は、MTA GitHub ソースリポジトリーにある jee-example-app-1.0.0.ear サンプルアプリケーションの com.acme パッケージおよび org.apache パッケージを分析した結果です。

ブラウザーを使用して、レポート出力ディレクトリーにある index.html ファイルを開きます。これにより、処理されたアプリケーションの一覧が表示されます。各行には、ストーリーポイント、インシデントの数、アプリケーションで発生したテクノロジーの概要が含まれます。

図3.1 アプリケーションリスト

Application list
注記

新しいルールが MTA に追加されると、インシデントと予測されるストーリーポイントが変わります。この値は、このアプリケーションをテストする際に表示される値と一致しない場合があります。

以下の表は、このメインの MTA ランディングページからアクセスできるレポートおよびページの一覧です。アプリケーションの名前 jee-example-app-1.0.0.ear をクリックして、アプリケーションレポートを表示します。

ページアクセス方法

アプリケーション

アプリケーションの名前をクリックします。

Technologies レポート

ページ上部にある Technologies リンクをクリックします。

Dependencies Graph レポート

ページ上部の Dependencies Graph リンクをクリックします。

複数のアプリケーションで共有されるアーカイブ

Archives shared by multiple applications リンクをクリックします。このリンクは、複数のアプリケーションに共有アーカイブがある場合にのみ利用できることに注意してください。

ルールプロバイダー実行の概要

ページの下部にある Rule providers execution overview リンクをクリックします。

使用される FreeMarker 機能およびディレクティブ

ページの下部にある FreeMarker methods リンクをクリックします。

フィードバックフォームを送信

トップナビゲーションバーの Send Feedback リンクをクリックし、MTA チームにフィードバックを送信できるフォームを開きます。

アプリケーションが、他の分析済みアプリケーションとアーカイブを共有している場合は、共有アーカイブからのストーリーポイントの数と、このアプリケーションに固有のストーリーポイントの数が表示されることに注意してください。

図3.2 共有アーカイブ

Shared archives

アプリケーション間で共有されるアーカイブに関する情報は、「複数のアプリケーションで共有されるアーカイブ」レポートを参照してください。

3.1. アプリケーションレポート

3.1.1. ダッシュボード

アプリケーションのリスト でアプリケーション名をクリックして、レポートランディングページからこのレポートにアクセスします。

ダッシュボードでは、アプリケーションの移行作業全体の概要が表示されます。つまり、以下のようになります。

  • カテゴリー別のインシデントおよびストーリーポイント
  • 提案された変更の作業レベル別のインシデントおよびストーリーポイント
  • パッケージ別のインシデント

図3.3 ダッシュボード

Dashboard

上部のナビゲーションバーには、このアプリケーションの移行に関する追加の詳細を含むさまざまなレポートが一覧表示されます。現在のアプリケーションに適用可能なレポートのみが利用できることに注意してください。

レポート説明

Issues

注意が必要なすべての問題の簡潔な概要を提供します。

Application Details

移行時に注意する必要がある可能性のあるアプリケーション内で見つかったすべてのリソースの詳細を説明します。

Technologies

機能を基にグループ化されたすべての埋め込みライブラリーを表示します。これにより、各アプリケーションで使用されるテクノロジーを迅速に表示できます。

Dependencies Graph

分析したアプリケーション内にあるすべての Java パッケージの依存関係のグラフを表示します。このグラフは、各依存関係の関係も示しており、ネストになった複数の依存関係を表示できます。

依存関係

アプリケーション内にある Java パッケージの依存関係をすべて表示します。

Unparsable

MTA が想定される形式で解析できなかったすべてのファイルを示しています。たとえば、.xml または .wsdl 接尾辞が含まれるファイルは XML ファイルであると仮定します。XML パーサーが失敗すると、問題はここに報告され、また個々のファイルがリストされている場所も報告されます。

Remote Services

アプリケーション内で見つかったすべてのリモートサービス参照を表示します。

EJB

アプリケーション内の EJB のリストが含まれます。

JBPM

分析中に見つかった JBPM 関連のリソースすべてが含まれます。

JPA

アプリケーションで見つかったすべての JPA 関連リソースの詳細が含まれます。

Hibernate

アプリケーションで検出されたすべての Hibernate 関連リソースの詳細が含まれています。

Server Resources

入力アプリケーションですべてのサーバーリソース (JNDI リソースなど) を表示します。

Spring Beans

分析中に見つかった Spring Bean の一覧が含まれます。

Hard-Coded IP Addresses

アプリケーションで見つかったすべてのハードコーディングされた IP アドレスの一覧を提供します。

Ignored Files

概要

3.1.2. Issues レポート

Issues リンクをクリックして、Dashboard からこのレポートにアクセスします。

このレポートには、選択した移行パスによって発生したすべての問題に関する詳細情報が含まれます。発生した問題ごとに以下の情報が提供されます。

  • 問題を要約するタイトル。
  • インシデントの合計数、または問題の発生回数。
  • 問題の 1 つののインスタンスを解決するルールのストーリーポイント。
  • この問題を解決するための推定作業量レベル。
  • 発生したすべてのインスタンスを解決するための全ストーリーポイント。これは、インシデントごとのストーリーポイントで検出されたインシデントの数を掛けて計算されます。

図3.4 Issues レポート

Issues report

報告された各問題は、タイトルをクリックして追加情報を取得することで拡張できます。以下の情報が含まれています。

  • インシデントが発生したファイルの一覧と、各ファイル内のインシデントの数。ファイルが Java ソースファイルの場合は、ファイル名をクリックすると、対応するソースレポートが表示されます。
  • 問題の詳細情報。この説明は問題の概要を示し、既知の解決策を提供し、問題または解決策に関するサポートドキュメントを参照します。
  • 問題を生成したルールへの Show Rule というタイトルの直接リンク。

図3.5 拡張された問題

Expanded rule in the issues report

デフォルトでは、問題は 4 つのカテゴリーに分類されます。これらのカテゴリーに関する情報は、「カテゴリー」を参照してください。

3.1.3. Application Details レポート

Application Details リンクをクリックして、ダッシュボードからこのレポートにアクセスします。

レポートには、ストーリーポイント、パッケージごとの Java インシデント、およびアプリケーションで見つかったテクノロジーの発生回数が記載されます。以下は、移行プロセス中に生成されたアプリケーションメッセージの表示です。最後に、プロセス中に分析される各アーカイブにこの情報の内訳が表示されます。

図3.6 Application Details レポート

Application Details report

jee-example-app-1.0.0.ear/jee-example-services.jar を展開して、ストーリーポイント、パッケージごとの Javaインシデント、およびこのアーカイブで見つかったテクノロジーの発生数を確認します。この概要は、移行に割り当てられたストーリーポイントの合計で始まり、アーカイブ内の各ファイルに必要な変更の詳細を示す表が続きます。レポートには以下のコラムが含まれます。

列名説明

名前

分析されるファイルの名前。

Technology

分析するファイルのタイプ (例: Decompiled Java File または Properties)。

Issues

レビューまたは変更が必要なコードのエリアに関する警告。

Story Points

ファイルの移行に必要な作業レベル。

アーカイブがアプリケーションに複数回複製されると、そのアーカイブはレポートで 1 回だけ一覧表示され、[Included multiple times] でタグ付けされます。

図3.7 アプリケーションでのアーカイブの重複

Duplicate archive

アプリケーション内で重複するアーカイブのストーリーポイントは、そのアプリケーションの合計ストーリーポイント数に 1 回だけカウントされます。

3.1.4. Technologies レポート

Technologies リンクをクリックして、ダッシュボードからこのレポートにアクセスします。

レポートには、解析されたアプリケーションで機能別にグループ化されたテクノロジーが一覧表示されます。これは、アプリケーションに含まれるテクノロジーの概要であり、各アプリケーションの目的を素早く理解できるように設計されています。

以下の図は、jee-example-app で使用されるテクノロジーを示しています。

図3.8 アプリケーションのテクノロジー

Technology report Application view

3.1.5. アプリケーションの Dependencies Graph レポート

分析したアプリケーションの依存関係が、ダッシュボードから Dependencies Graph リンクからアクセスできるこのレポートに表示されます。

これには、サードパーティー JAR を含む WAR および JAR の一覧が含まれ、含まれる各ファイル間の関係をグラフ化します。グラフの各円は、アプリケーションで定義されている一意の依存関係を表します。

以下の図は、jee-example-app で使用される依存関係と、選択したアプリケーションがグラフの中央にあります。

図3.9 アプリケーションの依存関係グラフ

Dependencies Graph application view

依存関係グラフとの対話

依存関係グラフは、以下のいずれかを使用して調整できます。

  • 依存関係をクリックすると、左上隅にアプリケーションの名前が表示されます。選択されている間、依存関係には、上の画像の中央に見られるように、それを識別する影付きの円があります。
  • 円をクリックしてドラッグすると、再配置されます。マウスを放すと、依存関係がカーソルの位置に固定されます。
  • 固定された依存関係をクリックすると、依存関係がアプリケーションからデフォルトの距離に戻ります。
  • どこかをダブルクリックすると、グラフ全体がデフォルトの状態に戻ります。
  • 説明の項目をクリックすると、選択したタイプのすべての項目が有効または無効になります。たとえば、埋め込み WAR アイコンを選択すると、そのアイコンが有効な場合はすべての埋め込み WAR が無効になり、無効な場合はこれらの依存関係が有効になります。

3.1.6. ソースレポート

jee-example-services.jar の分析には、JAR 内のファイルと、各サービスに割り当てられた警告およびストーリーポイントが一覧表示されます。このテスト時の com.acme.anvil.listener.AnvilWebLifecycleListener ファイルには 22 個の警告があり、16 個のストーリーポイントが割り当てられています。ファイルリンクをクリックして詳細を表示します。

  • Information セクションは、ストーリーポイントの概要を説明します。
  • ファイルのソースコードが続きます。移行が必要な時点でファイルに警告が表示されます。

この例では、警告がさまざまなインポートステートメント、宣言、およびメソッド呼び出しに表示されます。各警告は、問題と実行すべきアクションを記述します。

図3.10 ソースレポート

Source Report