第3章 レポートの確認
次のセクションに示すレポートの例は、MTA GitHub ソースリポジトリーにある jee-example-app-1.0.0.ear サンプルアプリケーションの com.acme
パッケージおよび org.apache
パッケージを分析した結果です。
このレポートは、以下のコマンドを使用して生成されました。
$ <MTA_HOME>/bin/mta-cli --input /home/username/mta-cli-source/test-files/jee-example-app-1.0.0.ear/ --output /home/username/mta-cli-reports/jee-example-app-1.0.0.ear-report --target eap6 --packages com.acme org.apache
ブラウザーを使用して、レポート出力ディレクトリーにある index.html
ファイルを開きます。これにより、処理されたアプリケーションのリストが表示されます。各行には、ストーリーポイント、インシデントの数、アプリケーションで発生したテクノロジーの概要が含まれます。
図3.1 アプリケーションリスト
新しいルールが MTA に追加されると、インシデントと予測されるストーリーポイントが変わります。この値は、このアプリケーションをテストする際に表示される値と一致しない場合があります。
以下の表は、このメインの MTA ランディングページからアクセスできるレポートおよびページのリストです。アプリケーションの名前 jee-example-app-1.0.0.ear をクリックして、アプリケーションレポートを表示します。
ページ | アクセス方法 |
---|---|
アプリケーション | アプリケーションの名前をクリックします。 |
Technologies レポート | ページ上部にある Technologies リンクをクリックします。 |
複数のアプリケーションで共有されるアーカイブ | Archives shared by multiple applications リンクをクリックします。このリンクは、複数のアプリケーションに共有アーカイブがある場合にのみ利用できることに注意してください。 |
ルールプロバイダー実行の概要 | ページの下部にある Rule providers execution overview リンクをクリックします。 |
アプリケーションが、他の分析済みアプリケーションとアーカイブを共有している場合は、共有アーカイブからのストーリーポイントの数と、このアプリケーションに固有のストーリーポイントの数が表示されることに注意してください。
図3.2 共有アーカイブ
アプリケーション間で共有されるアーカイブに関する情報は、複数のアプリケーションで共有されるアーカイブレポートを参照してください。
3.1. アプリケーションレポート
3.1.1. ダッシュボード
Application List でアプリケーション名をクリックして、レポートランディングページからこのレポートにアクセスします。
ダッシュボードでは、アプリケーションの移行作業全体の概要が表示されます。つまり、以下のようになります。
- カテゴリー別のインシデントおよびストーリーポイント
- 提案された変更の作業レベル別のインシデントおよびストーリーポイント
- パッケージ別のインシデント
図3.3 ダッシュボード
上部のナビゲーションバーには、このアプリケーションの移行に関する追加の詳細を含むさまざまなレポートがリスト表示されます。現在のアプリケーションに適用可能なレポートのみが利用できることに注意してください。
レポート | 説明 |
---|---|
Issues | 注意が必要なすべての問題を簡潔に説明します。 |
Insights | アプリケーションで使用されているテクノロジーと、コード内でのその使用状況に関する情報を提供します。ただし、Insights は移行には影響しません。 |
Application Details | 移行時に注意する必要がある可能性のあるアプリケーション内で見つかったすべてのリソースの詳細を説明します。 |
Technologies | 機能を基にグループ化されたすべての埋め込みライブラリーを表示します。これにより、各アプリケーションで使用されるテクノロジーを迅速に表示できます。 |
Dependencies | アプリケーション内にある Java パッケージの依存関係をすべて表示します。 |
Unparsable |
MTA が想定される形式で解析できなかったすべてのファイルを示しています。たとえば、 |
Remote Services | アプリケーション内で見つかったすべてのリモートサービス参照を表示します。 |
EJB | アプリケーション内の EJB のリストが含まれます。 |
JBPM | 分析中に見つかった JBPM 関連のリソースすべてが含まれます。 |
JPA | アプリケーションで見つかったすべての JPA 関連リソースの詳細が含まれます。 |
Hibernate | アプリケーションで検出されたすべての Hibernate 関連リソースの詳細が含まれています。 |
Server Resources | 入力アプリケーションですべてのサーバーリソース (JNDI リソースなど) を表示します。 |
Spring Beans | 分析中に見つかった Spring Bean の一覧が含まれます。 |
Hard-Coded IP Addresses | アプリケーションで見つかったすべてのハードコーディングされた IP アドレスの一覧を提供します。 |
Ignored Files |
特定のルールおよび MTA 設定に基づいてアプリケーションに含まれるファイルを一覧表示し、処理されませんでした。詳細は、 |
About | 現在のバージョンの MTA を説明し、詳細なヘルプリンクを提供します。 |
3.1.2. Issues レポート
Issues リンクをクリックして、Dashboard からこのレポートにアクセスします。
このレポートには、選択した移行パスによって発生したすべての問題に関する詳細情報が含まれます。発生した問題ごとに以下の情報が提供されます。
- 問題を要約するタイトル。
- インシデントの合計数、または問題の発生回数。
- 問題の 1 つののインスタンスを解決するルールのストーリーポイント。
- この問題を解決するための推定作業量レベル。
- 発生したすべてのインスタンスを解決するための全ストーリーポイント。これは、インシデントごとのストーリーポイントで検出されたインシデントの数を掛けて計算されます。
図3.4 Issues レポート
報告された各問題は、タイトルをクリックして追加情報を取得することで拡張できます。以下の情報が含まれています。
- インシデントが発生したファイルの一覧と、各ファイル内のインシデントの数。ファイルが Java ソースファイルの場合は、ファイル名をクリックすると、対応するソースレポートが表示されます。
- 問題の詳細情報。この説明は問題の概要を示し、既知の解決策を提供し、問題または解決策に関するサポートドキュメントを参照します。
- 問題を生成したルールへの Show Rule というタイトルの直接リンク。
図3.5 問題の拡張
デフォルトでは、問題は 4 つのカテゴリーに分類されます。これらのカテゴリーに関する情報は、カテゴリーを参照してください。
3.1.3. Insights
Insights はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
以前は、作業量がゼロのルールによって生成された違反が、静的レポートに問題としてリストされていました。このような違反は、Insights としてリストされるようになりました。問題は一般的なルールによって生成されますが、文字列タグはタグ付けルールによって生成されます。文字列タグは、テクノロジーが存在することは示しますが、コードの場所は示しません。Insights の導入により、アプリケーションで使用されているテクノロジーと、コード内でのその使用状況を確認できるようになりました。
たとえば、今回の移行には影響しない、コード内の非推奨の API の使用を検索するルールなどがあります。そのような API を追跡し、将来必要になったときに修正できます。
Insights は、問題とは異なり、移行を正常に実行するために修正する必要はありません。Insights は、正の作業量値とカテゴリーが割り当てられていないルールによって生成されます。Insights には、メッセージやタグがある場合があります。
Insights は、該当または存在する場合、自動的に生成されます。現在、MTA は、CLI を使用したアプリケーション分析実行時の Insights 生成をサポートしています。
Insights は、静的レポートの Insights タブで表示できます。
例: 作業量が未定義のタグ付けルールによって生成された Insights
- customVariables: [] description: Embedded library - Apache Wicket labels: - konveyor.io/include=always links: [] ruleID: mvc-01000 tag: - Apache Wicket - Embedded library - Apache Wicket when: builtin.file: pattern: .*wicket.*\.jar
例: 作業量がゼロのタグ付け以外のルールによって生成された Insights
- category: potential customVariables: [] description: RESTful Web Services @Context annotation has been deprecated effort: 0 message: Future versions of this API will no longer support `@Context` and related types such as `ContextResolver`. ruleID: jakarta-ws-rs-00001 when: java.referenced: location: ANNOTATION pattern: jakarta.ws.rs.core.Context
3.1.4. Application Details レポート
Application Details リンクをクリックして、ダッシュボードからこのレポートにアクセスします。
レポートには、ストーリーポイント、パッケージごとの Java インシデント、およびアプリケーションで見つかったテクノロジーの発生回数が記載されます。以下は、移行プロセス中に生成されたアプリケーションメッセージの表示です。最後に、プロセス中に分析される各アーカイブにこの情報の内訳が表示されます。
図3.6 Application Details レポート
jee-example-app-1.0.0.ear/jee-example-services.jar
をデプロイメントして、ストーリーポイント、パッケージごとの Java インシデント、およびこのアーカイブで見つかったテクノロジーの発生数を確認します。この概要は、移行に割り当てられたストーリーポイントの合計で始まり、アーカイブ内の各ファイルに必要な変更の詳細を示す表が続きます。レポートには以下のコラムが含まれます。
列名 | 説明 |
---|---|
Name | 分析されるファイルの名前。 |
Technology | 分析するファイルのタイプ (例: Decompiled Java File または Properties)。 |
Issues | レビューまたは変更が必要なコードのエリアに関する警告。 |
Story Points | ファイルの移行に必要な作業レベル。 |
アーカイブがアプリケーションに複数回複製されると、そのアーカイブはレポートで 1 回だけリスト表示され、[Included multiple times]
でタグ付けされます。
図3.7 アプリケーションでのアーカイブの重複
アプリケーション内で重複するアーカイブのストーリーポイントは、そのアプリケーションの合計ストーリーポイント数に 1 回だけカウントされます。
3.1.5. Technologies レポート
Technologies リンクをクリックして、ダッシュボードからこのレポートにアクセスします。
レポートには、解析されたアプリケーションで機能別にグループ化されたテクノロジーがリスト表示されます。これは、アプリケーションに含まれるテクノロジーの概要であり、各アプリケーションの目的を素早く理解できるように設計されています。
以下の図は、jee-example-app
で使用されるテクノロジーを示しています。
図3.8 アプリケーションのテクノロジー
3.1.6. ソースレポート
ソースレポートには、移行の問題が検出されたソースファイルのコンテキストで表示されます。
図3.9 ソースレポート