Javaアプリケーションの近代化
WebSphere® Application Server 従来のアプリケーションを含め、エンタープライズ Java アプリケーションを Liberty に近代化することができます。 アプリケーションを最新化するには、まず移行計画をアップロードするか、アプリケーションを構築して分析し、アプリケーションの問題を修正します。
バージョン 1.1 以降、 Application Modernization Accelerator Developer Tools をMaven以外のツールでビルドされたアプリケーションで使用できますが、制限があります。 詳細については、 非Mavenビルドツールでビルドされたアプリケーションを参照してください。
開始前に
- エンタープライズJava環境を設定してください。
- 拡張 Visual Studio Code 機能をインストールする、プラグ Eclipse IDE インをインストールする、 または IntelliJ IDEA IDE プラグインをインストールする。
アプリケーション移行プランをアップロードする手順、またはアプリケーションを分析する手順のいずれかを完了します。 一連の手順を完了したら、移行に関する問題を修正することができる。 問題を解決する手順は、移行計画のステップとアプリケーション分析の両方で同じである。 問題を修正した後、最新化されたアプリケーションが完成する。
問題が発生した場合、 トラブルシューティングページを参照してください Application Modernization Accelerator Developer Tools。
コード解析に要する時間
申請書の分析にかかる時間はさまざまです。 以下の時間は典型的なものである。
| 時刻 | アプリケーション詳細 |
|---|---|
| 数秒から数分 | 100クラス未満 |
| 2~10分 | 20,000~50,000行のコード |
| 10分以上 | 30万行のコード |
Application Modernization Accelerator Developer Tools 、アプリケーションを解析する際、デフォルトでは一部のサードパーティ製パッケージはコード解析の対象から除外される。 詳細については、 「アプリケーション分析から除外されるサードパーティ製パッケージ」 を参照してください。
マイグレーションプランを使用してアプリケーションを最新化する
以下の手順は、移行計画を生成 IBM Application Modernization Accelerator するためにを使用していることを前提としています。 移行計画には、対処すべき近代化問題のリストが含まれている。 また、 Liberty でアプリケーションが正しく機能するように、自動的に生成される設定情報も含まれています。
- プロジェクトの移行計画をすでにアップロードして分析している場合、新しい移行計画をアップロードすると、既存の分析は上書きされます。
- アプリケーションをモダナイズする前に、アプリケーションの完全なビルドを行い、既知の良好なアプリケーションのビルドから始めていることを確認してください。 このビルドは、クラス・ファイルが最新のソース・コードに対応していることを確認するのにも役立つ。 Java 、バージョンアップのための変更を追加するオートメーションを実行する前に、最新の状態にしておく必要がある。
コードの変更を元に戻した場合、アプリケーションを再度モダナイズしたい場合は、 Returnをクリックしてアップロード/分析を行い、完全な分析を行う必要があります。
- IDE で、モダナイズしたいアプリケーションのディレクトリ内の階層にある項目を右クリックして Modernize Java Applicationsをクリックし、「 Modernize to Liberty 」をクリックします。
- Modernize <アプリケーション名> ページで、移行プランをアップロードします。
IDEはプロジェクトフォルダを分析し、アプリケーションに関する情報を収集し、 Application Modernization Accelerator が生成した移行プランをアップロードします。
- 移行計画のアップロードをクリックします。
- リストからアーカイブファイルのアプリケーションプランを選択し、「 開く 」をクリックします。
移行プランをアップロードするプロセスが完了すると、 Modernize <アプリケーション名> ページにプランに含まれる以下の構成ファイルが表示されます:
- server.xml は Liberty の設定ファイルで、アプリケーションを起動するために必要です。
- Containerfile が必要なのは、 Liberty アプリケーション用のコンテナ・イメージを構築するときだけである。
プロジェクトに追加するファイルを選択し、 Proceedをクリックします。
- (必須) server.xml ファイルを選択します。
- (オプション) Liberty アプリケーション用のコンテナ・イメージを構築する場合のみ、 Containerfile ファイルを選択します。
移行プランのアップロードが完了すると、修正またはレビューすべき課題が表示されます。
解析の結果、アプリケーションで JAX-RPC サービスが検出された場合は、画面の指示に従って JAX-RPC サービスを JAX-WS サービスに移行してください。
-
修正すべき問題によって、修正能力は自動化されることもあれば、自己管理されることもある。 追加情報] タブのissueはコード変更の必要はありませんが、検証やテストが必要な場合はコード変更を行う必要があるかもしれません。
アプリケーションを分析してモダナイズする
以下のステップは、アプリケーションを近代化するために Application Modernization Accelerator 移行計画を使用するのではなく、アプリケーションを分析することを想定しています。 この分析では、対処すべき問題のリストと、 server.xml ファイル内の限定的なサーバー構成が提供されます。 server.xml ファイルには、アプリケーションが使用する機能のリストが含まれていますが、データベース接続やJMSコンフィギュレーションなど、その他のコンフィギュレーション情報は含まれていません。
コードの変更を元に戻した場合、アプリケーションを再度モダナイズしたい場合は、 Returnをクリックしてアップロード/分析を行い、完全な分析を行う必要があります。
IDEで、モダナイズしたいディレクトリを右クリックし、 Modernize Java Applications をクリックし、 Modernize to Liberty をクリックします。
Modernize <アプリケーション名> ページで、[ Analyze application] を展開し、[ Start analysis] をクリックします。
アプリケーション・サーバーを分析するルールを定義する分析パラメーターを選択します。
アプリケーション・サーバー・ソースとアプリケーション・サーバー・ターゲットを選択します。
オプションで、 Java SEソースを変更する。自動的に推奨値が表示される。
推奨値は、 Application Modernization Accelerator Developer Tools がアプリケーション・サーバー・ソースに推奨する Java SE バージョンに基づいています。 アプリケーション・サーバーが、推奨されているものとは異なる Java SE バージョンを使用している可能性があります。 もしそうなら、 Java SEのソースを、アプリケーション・サーバーが使用するバージョンに変更してください。
たとえば、アプリケーションサーバーが以前のバージョンの Java SEを使用している場合でも、 Application Modernization Accelerator Developer ToolsWebSphere Application Server V8.5.5 ではJava SE 8を推奨しています。
重要: Java の最低サポートバージョンは Java 5 です。Java SEターゲットを選択する。
アプリケーションを構築し、それを分析する。
アプリケーション解析はアプリケーションバイナリに対して行われる。 分析開始前にアプリケーションを構築する必要がある。
- Mavenビルドの場合、手動または自動でアプリケーションをビルドすることができる。
手動でアプリケーションをビルドした後に Analyzeをクリックするか、 Build and analyzeのどちらかをクリックして、自動的にアプリケーションをビルドして分析します。
アプリケーションがビルドされ、分析されると、修正またはレビューすべき問題が表示されます。
ビルドして分析] をクリックすると、アプリケーションは現在の Java ソースバージョンでビルドされ、 Java アップグレードの問題を分析できます。 IDE が正常にアプリケーションをビルドできるように、 Java ソース・バージョンの Java 開発者キットで IDE を構成してください。
- Mavenを使用しないビルドの場合は、手動でアプリケーションをビルドし、アプリケーション・バイナリを選択して、[ Analyze] をクリックします。
アプリケーションがビルドされ、分析されると、修正またはレビューすべき問題が表示されます。
- Mavenビルドの場合、手動または自動でアプリケーションをビルドすることができる。
解析の結果、アプリケーションで JAX-RPC サービスが検出された場合は、画面の指示に従って JAX-RPC サービスを JAX-WS サービスに移行してください。
-
Mavenビルドの場合、修正すべき問題によって、修正能力は自動化されることもあれば、自己管理されることもある。
IBM Application Modernization Accelerator Developer Tools 、Mavenを使用しないビルドの自動化を実行することはできないため、修正すべき問題は自己責任となる。
追加情報] タブのissueはコード変更の必要はありませんが、検証やテストが必要な場合はコード変更を行う必要があるかもしれません。
JAX-RPC サービスから JAX-WS サービスへの移行
- Jakarta EE 9またはそれ以降のJakarta EEバージョンに移行する場合は、まず、 JAX-RPC サービスを JAX-WS サービスに移行してください。 そうでない場合、 JAX-RPC サービスは Jakarta EE 9 から利用できないため、 JAX-RPC ソース移行ヘルパーは支援できません。
- また、他の近代化修正を行う前に、 JAX-RPC サービスを JAX-WS に移行する必要があります。 他の近代化の修正を先に行った場合、近代化によって Java EE が JAX-RPC サービスをサポートしないバージョンに更新される可能性があります。
JAX-RPC サービスを手動で JAX-WS サービスに移行するか、[ 続行] をクリックします。 続行] をクリックすると、 JAX-RPC から JAX-WS へのソース移行ヘルパーが移行を支援します。
以下の手順は、[ 続行] をクリックしたと仮定しています。
- .wsdl ファイルの修正をすべて完了する。
JAX-RPC マイグレーションでは、リスト内の別の .wsdl ファイルを作業する前に、 .wsdl ファイルの修正をすべて完了する必要があります。
JAX-RPC 移行のメインページには以下の情報が表示される。 これを使用して移行を完了する。- 再始動
- 移行を再開したい場合は、 Restartをクリックします。重要:
- Restartをクリックすると、マイグレーションを再開する場合は、自動修正と手動修正で行ったすべてのコード変更を元に戻す必要があるというメッセージが表示されます。 すべての変更を元に戻してマイグレーションを再開しないと、 .wsdl 、以前にオートメーションを実行したファイルが「 Unsupported (Manual migration required)」 セクションに表示されます。
- コードの変更を元に戻さずに JAX-RPC マイグレーションを再起動した場合は、もう一度再起動をクリックします。 自動更新、手動更新、またはその両方によって、 JAX-RPC のフローを変更する前のバージョンのアプリケーションコードに戻る。
- 保留中
- 1つ以上の .wsdl ファイルがリストされている保留セクションがある場合は、セクションを選択します。.wsdl の各ファイルを選択し、それに関連する以下の作業を行う。
- オートメーションの実行オートメーションを実行すると、以下のアクションが実行される。
- アプリケーションは、 JAX-RPC サービスを JAX-WS サービスに移行するために修正される。
- 手動アップデートのセクションには、特定の Java ファイルを手動でアップデートするための指示とリンクがあります。
- Review newly generated files セクションには、レシピが作成した新しい Java パーツが入力される。
- 指定された Java ファイルの手動更新を完了する。
- 新しく生成されたファイルを確認する。
- 手動でアプリケーションをコンパイルする。
- オートメーションの実行
- 完了
- セクションを選択する。
完成した .wsdl ファイルのリストが表示され、リストは自動的に更新される。
- 未サポート(手動移行が必要)
- セクションを選択する。.wsdl ファイルに JAX-RPC ソース移行ヘルパーがサポートしていない機能がある場合、そのファイルは未サポートとしてマークされます。 また、 .wsdl ファイルに対してオートメーションを実行して失敗した場合、サポート対象外としてマークすることもできます。
- ソース移行ヘルパーが .wsdl ファイルをサポート対象外に追加した場合は、 .wsdl ファイル内の JAX-RPC サービスを手動で移行します。
ソース移行ヘルパーは、 .wsdl ファイルにサポートされていない機能が含まれている場合、 .wsdl ファイルをサポートされていないセクションに追加します
- .wsdl ファイルをサポート外としてマークした場合は、 .wsdl ファイル内の JAX-RPC サービスを手動で移行できます。 代わりに、 JAX-RPC サービス移行を再起動して、 .wsdl ファイルの自動化を実行することもできます。
- ソース移行ヘルパーが .wsdl ファイルをサポート対象外に追加した場合は、 .wsdl ファイル内の JAX-RPC サービスを手動で移行します。
- 未使用(削除しても問題ない)
- 未使用の .wsdl ファイルを表示するセクションを選択します。
アプリケーションでは使用しないので、ファイルを削除することができます。
.wsdl ファイルの修正をすべて完了したら、つまり、 WSDL の合計を修正する必要があるインジケータは
0で、 JAX-RPC ソース移行ヘルパーが支援できる部分については、 JAX-RPC 移行が完了します。注記: 表示される 「ビルドして分析する 」ボタンをクリックする前に、 JAX-WS サービスへの移行が完了するように、サポートされていないセクションの .wsdl ファイルを手動で移行してください。 - ビルドして分析する 」をクリックする。
JAX-WS サービスに移行したアプリケーションは、残っている近代化の問題がないか再スキャンされます。
-
Mavenビルドの場合、修正すべき問題によって、修正能力は自動化されることもあれば、自己管理されることもある。
Mavenを使用しないビルドの場合、修正すべき問題は自己責任となる。
追加情報] タブのissueはコード変更の必要はありませんが、検証やテストが必要な場合はコード変更を行う必要があるかもしれません。
アプリケーションの問題点の修正と追加情報の確認
修正すべき問題によって、修正能力は自動化されることもあれば、自己管理されることもある。 追加情報] タブのissueはコード変更の必要はありませんが、検証やテストが必要な場合はコード変更を行う必要があるかもしれません。
Modernize <アプリケーション名> ページには、以下の情報が表示されます:
- アプリケーションサーバーのソースとターゲット
- Java SEバージョンのソースと Java SEバージョンのターゲット
- 技術レポート、インベントリーレポート、分析レポートへのリンク
- 修正すべき問題(自動修正または自己修正)、および追加情報のタブ。
Java バージョン・ターゲットの変更が行われた後、自動修正を実行したり、アプリケーションをビルドする際には、ターゲット Java デベロッパー・キットが必要となる。 ターゲットの Java 開発者キットが IDE 用に設定されていることを確認してください。
- Eclipse IDE と IntelliJ IDE 用のプラグインは、自動的に正しい Java 開発者キットを見つけようとします。 Java 開発者キットは、IDE で設定されているすべての Java 開発者キットのセットから、 Java バージョンのターゲットに一致する必要があります。
- Visual Studio Code IDE では、 Java developer kit configuration を手動で変更する必要があります。
- Mavenビルドの自動修正完了
自動修正タブに1つ以上の修正がある場合は、そのタブを選択します。
Application Modernization Accelerator Developer Tools があなたのために修正を完了するので、あなたはコードを変更する必要はない。
- 説明書を広げて読む。
- オプションでissueを開き、issueの説明を確認することができます。
- 自動修正プログラムの実行 ]をクリックします。
- 自動化された修正は修正された。
- 外部issueは、関連する依存関係を更新するまでリストに残ります。
- 自動修正の実行が完了したら、[ Rebuild and refresh ]をクリックしてissueリストを更新します。
重要: 自動修正プログラムの実行に失敗し、コンソール出力にコンパイルエラーが表示される場合は、maven-compilerプラグインのバージョンを 3.13.0 以降に更新してください。- 自己責任による修正を完了させる
Self-directed fixes タブに1つ以上の修正がある場合は、そのタブを選択します。
あなたはコードを変更し、コードを修正する方法を決定する。
- Instructionsを展開し、指示に従ってください。
- 各号を拡大する。
- 続きを読む "をクリックすると拡大します。
- issueにリストされているファイルをクリックします。 ファイルはエディターで開きます。
- 問題を修正したら、すべての自己指示による修正が修正されるまで、 「再構築」をクリックして更新します。
ヒント: 特定の自己主導型修正については、生成AI機能を利用できる場合があります watsonx Code Assistant™ for Enterprise Java Applications。- 追加情報への対応
追加情報タブに1以上の数字がある場合は、そのタブを選択します。
タブに表示される課題は、他のタブに表示される課題と同じ方法で決定されます。 追加情報の問題は、あなたのコードを変更する必要はありませんが、あなたのコードが移行されたときにアプリケーションが動作していることを確認できるように、問題を確認してください。
追加情報は、APIにおける些細な動作の変化や、データベースやユーザー登録における接続性の懸念などの問題や、それに対する対処法を示すかもしれない。
例えば、アプリケーションが接続するデータベースがあるとする。 このような状況を想定して問題を読んだのだろう。 そして、アプリケーション用に設定されたホストとポートが有効で、アプリケーションが移行されたときにアクセス可能であることを確認します。
指示を拡大し、それに従うこと。
各号をクリックしてください。
- 続きを読む "をクリックすると拡大します。
- issueに記載されているファイルのリンクをクリックし、コードを確認してください。
- 現在のアプリケーション以外の外部課題に取り組む
修正に取り組んでいる間に、現在のアプリケーションの外部で発生した問題として分類されるものもあるかもしれない。 これらの問題のソースコードは、現在のソースアプリケーションの一部ではない特定のアーカイブにあります。
アーカイブが組織が所有するライブラリである場合は、以下の手順を実行します。
- 関連するソースコードを別のアプリケーションとして開き、 Application Modernization Accelerator Developer Tools 。
- 修復された新しいバージョンを使用するように、現在のアプリケーションを更新してください。
アーカイブがあなたの組織が所有していないライブラリである場合、次のステップを完了します。
- この問題を含まないバージョンにアップデートしてください。
そのようなバージョンが存在しない場合は、別のテクノロジーを使う必要があるかもしれない。