...

WebSphere Application Migration Tool バージョンのマイグレーショ ン用

by user

on
Category: Documents
542

views

Report

Comments

Transcript

WebSphere Application Migration Tool バージョンのマイグレーショ ン用
WebSphere Application Server
WebSphere バージョンのマイグレーショ
ン用 Application Migration Tool
(Rational Software Analyzer テクノロジーを使用)
バージョン 3.5.1
2012 年12 月3 日
共同作業:
IBM ソフトウェア・グループ、アプリケーションおよび統合ミドルウェア・ソフトウェア
IBM ソフトウェア・グループ、Rational ソフトウェア
©
Copyright IBM Corp. 2009 年, 2012 年
2 | Application Migration Tool | 目次
目次
概説 ......................................................................................................................................3
このリリースの新機能.........................................................................................................5
バージョン 3.5.1..................................................................................................................................... 5
サポート.................................................................................................................................6
マイグレーション・ツールのインストールと更新.........................................................7
アプリケーションのインポート.......................................................................................11
共用 Java プロジェクト...................................................................................................................... 12
EAR レベルのライブラリー...................................................................................................12
Web モジュール・ライブラリー........................................................................................... 13
Java EE ランタイム・ライブラリーの構成......................................................................................13
分析用のマイグレーション・ツールの構成...................................................................16
マイグレーションのためのコード分析...........................................................................21
コード品質を最適化するための追加規則の実行...........................................................24
WebSphere Application Developer Tools for Eclipse......................................................25
WebSphere Application Server
バージョンのマイグレーション規則およびクイック・フィックス......................26
Java コード・レビュー....................................................................................................................... 26
JSP コード・レビュー.........................................................................................................................32
XML ファイル・レビュー..................................................................................................................33
推奨されないフィーチャー................................................................................................................ 36
Java SE バージョンのマイグレーション....................................................................... 48
トラブルシューティング...................................................................................................55
ソフトウェア分析プログラムのオプションが表示されない........................................................ 55
Java EE 構造か JSP を正しく読み取らない..................................................................................... 55
ロギングとトレース............................................................................................................................ 55
レポートと履歴.................................................................................................................................... 56
マーカー................................................................................................................................................ 56
既知の問題............................................................................................................................................ 57
著作権および商標...............................................................................................................60
概説
Application Migration Tool - WebSphere Version to Version フィーチャーは、IBM® WebSphere® Application Server
Migration Toolkit の一部です。 このツールキットは、あるアプリケーション・サーバーから IBM WebSphere
Application Server へのマイグレーションにおいてお客様を支援するための、全体的戦略および計画の一部で
す。Application Migration Tool - WebSphere Version to Version フィーチャーは、以前のバージョンの WebSphere
Application Server から WebSphere Application Server バージョン 7、8、または 8.5 へのアプリケーションのマイ
グレーションをサポートします。
WebSphere Application Server のバージョン間におけるマイグレーション・プロセス全体には、マイグレーショ
ンへのアクセス、関係する作業の計画、コードのマイグレーションと開発、ランタイムの管理、結果のテス
ト、および新しいリリースのロールアウトのための一連の手順が関係しています。このツールは、コードのマ
イグレーションと開発を支援します。
WebSphere Application Server リリース間での移行作業をする場合、コードのマイグレーションと開発のステッ
プに影響を及ぼす問題が多数あります。そうした問題の一部を以下に記します。
•
•
•
•
•
Java SE 5、6、および 7 での Java ランタイム環境 (JRE) の変更
旧来の非推奨のフィーチャーの削除
製品 API での振る舞いの変更
Java Enterprise Edition (Java EE) 仕様明確化による変更
推奨されないフィーチャー
そうしたマイグレーション・プロセスには、Java ソース・コード、JavaServer Pages (JSP)、およびデプロイメ
ント記述子を変更することが含まれます。 Application Migration Tool は、この種のコード変更の実行を支援す
ることができます。
本書は、変換プロセスを支援するための、ツールのインストール方法、構成方法、および使用方法を説明
しています。 マイグレーション・ツールのベースである IBM Rational® Software Analyzer は、アプリケー
ションの正常性を識別し、分析し、最適化するための単一ソリューションです。 マイグレーション・ツール
は、Rational Software Analyzer のスキャン機能を使用して、コンパイルおよびアプリケーション・サーバー・
ランタイム動作に影響を及ぼす可能性のある、WebSphere Application Server のバージョン間で変更された特定
の構造を探索します。その後、このツールは、問題のコードをレビューし、問題に関するヘルプを入手し、
場合によってはコードを自動修正して、アプリケーションが IBM WebSphere Application Server バージョン
7、8、または 8.5 上で稼働できるようにします。
WebSphere Application Server バージョンのマイグレーションでは、このツールは以下をサポートしています。
マイグレーション元:
•
•
•
•
•
WebSphere Application Server バージョン 5.1
WebSphere Application Server バージョン 6.0
WebSphere Application Server バージョン 6.1
WebSphere Application Server バージョン 7.0
WebSphere Application Server バージョン 8.0
マイグレーション先:
•
•
•
WebSphere Application Server バージョン 7.0
WebSphere Application Server バージョン 8.0
WebSphere Application Server バージョン 8.5
競合製品からのマイグレーションについては、『競合製品からのマイグレーションのための Application
Migration Tool』の文書を参照してください。
WebSphere Application Server 関連のマイグレーション・トピックに関する包括的な情報が掲載され
た「WebSphere Application Server V8.5 Migration Guide」が利用可能になりました。この文書では、例に
Application Migration Toolkit が使用されており、豊富な情報が提供されています。以前のバージョンの
WebSphere Application Server からのマイグレーションについては、Part 4 を参照してください。
このリリースの新機能
バージョン 3.5.1
Application Migration Tool - WebSphere Version to Version V3.5.1 では、次の規則が追加されています。
•
global-transaction エレメントの誤った属性を検出する
•
WebSphere V6.1 以前からアプリケーションをマイグレーションする場合にバージョン 1.4 以下のアプリケー
ションを使用する
•
推奨されない Common Event Infrastructure パッケージを使用しない
レポートの追加
HTML および PDF のレポート機能が、XML、JSP、およびクラスパスの規則に利用可能になりました。 これ
らのレポート・タイプは、以前のリリースでは Java 規則のみに利用可能でした。
•
JSP コード・レビューの結果
•
JSP コード・レビューの重大度の要約
•
カテゴリー別 JSP コード・レビューの重大度
•
XML ファイル・レビューの結果
•
XML ファイル・レビューの無視された結果
•
XML ファイル・レビューの重大度の要約
•
カテゴリー別 XML ファイル・レビューの重大度
サポート
このリリースには、バグ修正とフィールド・サポートの修正が追加されました。
Eclipse 4.2 をサポートします。
6 | Application Migration Tool | サポート
サポート
この Application Migration Tool は、WebSphere Application Server バージョン 5.1、6.0、6.1 または 7.0から
WebSphere Application Server バージョン 7.0、8.0、または 8.5 にマイグレーションされるアプリケーション
で、数々の既知の問題をスキャンします。可能な場合にはクイック・フィックスが提供され、バージョン間
での変更内容に対応するためにコード変更が行われます。サポートされているマイグレーション規則とクイッ
ク・フィックスは、WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィッ
クス(26 ページ)というセクションで説明します。新しい規則とクイック・フィックスが使用可能になる
と、developerWorks™ で更新されます。
マイグレーション・ツールで「クイック・フィックスのプレビュー」サポートを使用すると、提案されるコー
ドの変更を受け入れるかどうかを決定するのに役立ちます。また、規則のヘルプ情報を表示して、クイック・
フィックスを実行するかどうか決定できます。常に、ソース・コードのバックアップ・コピーを取ってから、
マイグレーションを開始するようにしてください。
規則の中には、設計変更およびコードの書き直しを必要とするコードがスキャンによって検出されるものもあ
ります。ツールはこれらの問題の場所を強調表示しますが、クイック・フィックスは提供しません。
このツールは、すべての問題を識別するわけではありません。ツールによってフラグが立てられていない問題
が生じる場合、Application Migration Tool フォーラムを介してフィードバックしてください。このフォーラム
には書き込み入力が可能であり、質問に対する回答も得ることができます。(http://www.ibm.com/developerworks/
forums/forum.jspa?forumID=2106)。
IBM パスポート・アドバンテージにアクセスできる場合、お客様の問題レポートを開けます。他のユーザー
が、フォーラムを使用して、問題を報告したり提案や質問をしたりしています。
Application Migration Tools は、Eclipse および Rational Application Developer でサポートされている Windows オ
ペレーティング・システムおよび Linux オペレーティング・システムでサポートされています。
マイグレーション・ツールのインストールと更新
Application Migration Tool は、既存の Eclipse または Rational Application Developer 環境にインストールする
Eclipse フィーチャーです。 バージョン・マイグレーション・ツールは、 Eclipse 3.6.2 、3.7.2、および 4.2
(http://www.eclipse.org から入手可能) でサポートされます。 Eclipse を使用している場合は、Eclipse IDE for Java
EE Developers をお勧めします。これには、前提条件が含まれています。また、これを使用すると Java プロ
ジェクトの作成時に役立ちます。 Rational Application Developer バージョン 7.5 から 8.5 までもサポートされて
おり、これらに前提条件が組み込まれています。 Liberty Profile Developer Tools を使用している場合、サポート
されるプラットフォームは Eclipse 4.2、3.7.2、および 3.6.2 です。
バージョン・マイグレーション・ツールのインストールは、Eclipse Marketplace を通して、またはリポジト
リー・アーカイブをダウンロードすることによって行えます。次の手順でそれらのオプションを示します。
1. IDE を開始します。
2. マイグレーション・ツールのバージョン 3.5.1 をインストールする前に、バージョン 1.0、1.1、1.2、2.0、
および 3.5 Beta をアンインストールします。バージョン 2.1、3.0、3.1、および 3.5 は、バージョン 3.5.1 に
アップグレードできます。
3. Rational Application Developer 環境で使用する場合は通常、前提条件プラグインがすべて、デフォルトでイ
ンストールされています。インストールの際、「Business Intelligence and Reporting Tools」フィーチャー
および「Web Development Tools」フィーチャーが選択されていることを確認します。 Rational Application
Developer 環境を使用しない場合は、ご使用の Eclipse バージョンに応じて、 Juno、Indigo、Helios、または
Galileo サイトのいずれかから、 前提条件プラグインをインストールしてください。
Eclipse バージョン
インストール・アクション
Eclipse 4.2
•
Eclipse メニュー・バーから、「ヘルプ」 > 「新規ソフトウェアのイン
ストール」を選択します。
•
Juno 更新サイト (http://download.eclipse.org/releases/juno)を使用して、
「Business Intelligence, Reporting and Charting)」および「Web, XML
and Java EE Development」をインストールします。
•
Eclipse メニュー・バーから、「ヘルプ」 > 「新規ソフトウェアのイン
ストール」を選択します。
•
Indigo 更新サイト (http://download.eclipse.org/releases/indigo)を使用し
て、 「Business Intelligence, Reporting and Charting」および「Web,
XML and Java EE Development」をインストールします。
•
Eclipse メニュー・バーから、「ヘルプ」 > 「新規ソフトウェアのイン
ストール」を選択します。
•
Helios 更新サイト (http://download.eclipse.org/releases/helios) を使用し
て、Business Intelligence, Reporting and Charting と Web, XML and
Java EE Development をインストールします。
Eclipse 3.7
Eclipse 3.6
注: 入手可能なプラグインのカタログは大規模であるため、ダウンロードに数分かかることがあります。
8 | Application Migration Tool | マイグレーション・ツールのインストールと更新
図 1 : Eclipse 4.2 プラグイン・インストール・ダイアログ
4. Eclipse Marketplace によって、バージョン・マイグレーション・ツールを最も簡単な方法でインストールま
たは更新することができます。
a) 「ヘルプ」>「Eclipse Marketplace...」を選択します。
b) WebSphere migration を検索します。
c) 「インストール」ボタンを選択します。
d) インストール・ステップに進みます。
図 2 : Eclipse Marketplace ダイアログ
5. Rational Application Developer を使用している場合、または Eclipse Marketplace がない場合には、以下のス
テップを行って、ダウンロードしたリポジトリーをセットアップします。
a) 最新バージョンの Application Migration Tool - WebSphere Version to Version フィーチャーを
developerWorks サイト (http://www.ibm.com/developerworks/websphere/downloads/migration_toolkit.html) から
ダウンロードし、ローカルに保存します。
b) 「ヘルプ」>「新規ソフトウェアのインストール...」を選択してインストール・ダイアログを開
き、Application Migration Toolkit をインストールまたは更新します。
Application Migration Tool | マイグレーション・ツールのインストールと更新 | 9
c) 「追加」をクリックして、更新サイトのダウンロード・ファイルを指示します。
d) 「サイトの追加」ウィンドウで、図 3 : ツールのインストールに示されている以下の情報を入力しま
す。
•
名前: Application Migration Tool
•
ロケーション 「アーカイブ」ボタンを使用して、ダウンロードした圧縮ファイルを見つけます。
図 3 : ツールのインストール
e) 「OK」をクリックします。
6. 「インストール」ウィンドウで、図 4 : プラグインの選択に示されている以下のアクションを実行します。
a) メインフィーチャーとその他の組み込みフィーチャーの両方を選択するための「Application
Migration Tool」のチェック・ボックスを選択します。その他の組み込みフィーチャーは、共通フィー
チャー、JRE フィーチャー、およびフレームワーク・フィーチャーです。アップグレード時には、共通
フィーチャーを組み込むことが特に重要です。
b) 「必要なソフトウェアを検索するために、インストール時にすべての更新サイトに接続する」ための
チェック・ボックスを選択し、「次へ」をクリックします。
注: Rational Application Developer 7.5 にインストールする場合は、リポジトリー・サイトから「カテゴリー
なし」を選択しないことをお勧めします。これらのプラグインは、選択内容にかかわらず自動的にインス
トールされます。「カテゴリーなし」を選択すると、Application Migration Tool をアンインストールする場
合に、プラグインが自動的にはアンインストールされなくなります。
7. 「インストールの詳細」パネルで「次へ」をクリックします。
8. 「ライセンスの確認」パネルで、条件を読み、ご使用条件を受け入れます (それが提示された場合)。「終了
(Finish)」をクリックします。インストール状況ウィンドウに、インストールの進行状況が表示されます。
図 4 : プラグインの選択
9. 「ソフトウェア更新」ウィンドウが表示されたら IDE を再始動します。
図 5 : 再始動ダイアログ
アプリケーションのインポート
マイグレーションに関してアプリケーションを分析するには、アプリケーションが Eclipse ベースの IDE にイ
ンポートされていなければなりません。 アプリケーションを効果的かつ完全に分析するために、アプリケー
ション・モジュールは、EAR ファイル、WAR ファイル、および EJB ファイルとして、その構造を反映したプ
ロジェクト内に編成されている必要があります。 特に、Web および EJB のバインディングおよび拡張を分析
するマイグレーション規則は、動的 Web プロジェクトおよび EJB プロジェクトとして作成されたプロジェク
トの分析時にのみ機能します。
これを実現するには、既存の EAR、Web アーカイブ (WAR)、または Enterprise JavaBeans (EJB) のモジュールを
インポートするか、EAR、WAR モジュール、EJB モジュールごとにワークスペースに新しいプロジェクトを
手動で作成します。 「インポート」の Eclipse オプションを使用して、正しいプロジェクト構造を作成できま
す。 これらのプロジェクトを適切に作成するには、Rational Application Developer または Eclipse for Java EE 開
発者ツールが必要です。
例えば、EAR ファイルをインポートするには、「ファイル」>「インポート...」メニュー・オプションを選択
します。 「Java EE」の後に「EAR」を選択して、EAR ファイルの場所を入力します。 Eclipse インポート機
能により、EAR ファイルのプロジェクトと、アプリケーションの各モジュールのプロジェクトが作成されま
す。
アプリケーションをインポートすることで、デプロイメント記述子の情報を使用して適切なプロジェクト構
造が作成されます。 EAR ファイルにソース・コードが含まれる場合には、それも Eclipse プロジェクトにイ
ンポートされます。 ただし、ほとんどの EAR ファイルおよびモジュール・ファイルには Java ソース・コー
ドが含まれていないため、 ソース・コードを正しいソース・フォルダーにコピーする必要があります。 同
様に、「ファイル」>「インポート...」オプションを使用して、ファイル・システムから、またはアーカイブ
(zip) ファイルからソース・コードをインポートします。 この手順を繰り返して、各モジュールのソース・
コードをインポートしてください。
プロジェクトを手動で作成する場合は、EAR ファイルは、「ファイル」>「新規」>「エンタープライズ・
アプリケーション・プロジェクト」オプションを使用して作成します。 各 WAR ファイルは、「ファイ
ル」>「新規」>「動的 Web プロジェクト」オプションを使用して作成し、 各 EJB モジュールは、「ファイ
ル」>「新規」>「EJB プロジェクト」オプションを使用して作成します。 「ファイル」>「インポート...」オ
プションを使用して、ソース・ファイルをプロジェクト内の正しい場所にコピーします。
12 | Application Migration Tool | アプリケーションのインポート
プロジェクトを構造化する上で、以下のガイドラインを検討してください。
•
WAR ファイル用の Java ソース・コード (例えば、サーブレット、モデル、またはユーティリティー・クラ
ス) は、プロジェクトの src フォルダーにあります。src フォルダーは、プロジェクトの Java Build Path プ
ロパティーで定義したり変更したりすることができます。 Java ソース・コードを複数の WAR ファイルで
参照する必要がある場合には、本書の「共用 Java プロジェクト」セクションを参照してください。
•
EJB モジュールの Java ソース・コードは、EJB プロジェクトの ejbModule フォルダーに入れることがで
きます。
•
WAR ファイル用のプリコンパイルされた Java アーカイブ (JAR) ライブラリーは WebContent/WEB-INF/
lib フォルダーにあります。
•
EAR レベルの JAR ライブラリーは、エンタープライズ・アプリケーション・プロジェクトの EarContent
フォルダーに入れることができます。ご使用のプロジェクトに APP-INF/lib フォルダーが含まれている
場合、それを EarContent フォルダーに入れることができます。ただし、クラスパス規則とそのクイッ
ク・フィックスを実行して、クラスパスを正しく更新する必要があります。
アプリケーションのインポート方法に関する詳細なステップバイステップの説明については、 「WebSphere
Application Server V8.5 Migration Guide」 (http://www.redbooks.ibm.com/redpieces/pdfs/sg248048.pdf) を参照してく
ださい。
共用 Java プロジェクト
Web プロジェクトから共用 Java クラスを参照するための 2 つのオプションがあります。
1. Java プロジェクトの JAR ファイルの単一コピーを EAR ファイル内に作成します。各 WAR ファイルは JAR
ファイルを参照します。 この方法では、EAR ファイルのサイズが削減されます。
2. 各 WAR ファイル内に JAR ファイルのコピーを作成します。 この方法は、ただ 1 つの WAR ファイルが JAR
ファイルを参照している場合に使用します。
デプロイメント・アセンブリーの構成について詳しくは、 「Java EE Deployment Assembly」を参照してくださ
い。
EAR レベルのライブラリー
以下の手順を実行して、Java ソース・ファイルを別のプロジェクトに入れます。
1. 新しい Java プロジェクトを作成し、Java ソースをプロジェクトの src フォルダーに追加します。
2. 「プロジェクト」ビューで該当するプロジェクトを右クリックし、「プロパティー」を選択します。 左側
で「デプロイメント・アセンブリー (Deployment Assembly)」の項目を選択します。右側で「追加...」ボタ
ンを選択して、参照する Java プロジェクトを組み込みます。
Application Migration Tool | アプリケーションのインポート | 13
図 6 : Java EE EAR モジュール依存関係
Web モジュール・ライブラリー
2 番目の方法は、各 WAR ファイル内に JAR ファイルのコピーを作成するもので、以下の手順を実行します。
1. Web プロジェクトの「プロパティー」ダイアログを開きます。
2. 「プロジェクト」ビューで該当するプロジェクトを右クリックし、「プロパティー」を選択します。 左側
で「デプロイメント・アセンブリー (Deployment Assembly)」の項目を選択し、Web デプロイメント・アセ
ンブリーを表示します。右側で「追加...」ボタンを選択して、参照する Java プロジェクトまたはアーカイ
ブを組み込みます。
3. 「OK」を選択して変更内容を保存します。
Java EE ランタイム・ライブラリーの構成
Java EE ツールがインストールされている Eclipse を使用する場合、ターゲットの Java EE ランタイム環境が構
成されていなければ、Java コンパイラーは Java EE API への参照を解決することができません。
以下のステップに従って、Java EE ランタイム・ライブラリーを構成します。
1. Eclipse の「ウィンドウ」メニューで「設定」を選択することにより、Eclipse 設定を開きます。
2. 左側の「サーバー」 > 「ランタイム環境」項目にナビゲートします。
14 | Application Migration Tool | アプリケーションのインポート
図 7 : サーバー・ランタイム環境
3. 「追加」をクリックします。「基本」 > 「J2EE ランタイム・ライブラリー」を選択します。
4. 次のウィザード・ページで、「参照」をクリックしてライブラリー・ロケーションを選択し、ご使用の
WebSphere Application Server インストールの dev/JavaEE フォルダーを位置指定して、該当する Java EE
バージョンを選択します。そのフォルダーには、Java EE API のある j2ee.jar ファイルが含まれていま
す。
Web または EJB プロジェクトでこのランタイム・ライブラリーを使用するには、プロジェクト・プロパ
ティー・ダイアログに移動します。 「プロジェクト」ビューで該当するプロジェクトを右クリックし、「プロ
パティー」を選択して「ターゲット・ランタイム」項目を選択します。
Application Migration Tool | アプリケーションのインポート | 15
図 8 : ターゲット・ランタイム
「ターゲット・ランタイム」ウィンドウで、最近構成した Java EE ランタイム・ライブラリーの隣にある
チェック・ボックスを選択して、「OK」をクリックします。
WebSphere Application Server Developer Tools がインストールされている場合には、WebSphere Application Server
と Liberty Profile をターゲットにすることで、同じ効果が得られます。
16 | Application Migration Tool | 分析用のマイグレーション・ツールの構成
分析用のマイグレーション・ツールの構成
実行する規則のセットを定義し、ワークスペース内での分析のスコープを定義するために、ツールを構成す
ることができます。 スコープは、プロジェクト、作業セット、またはワークスペース全体とすることができ
ます。 スコープを定義すると、分析構成を保存して、後で使用したり変更したりできます。 マイグレーショ
ン・ツールがインストールされていれば、分析を構成して実行するための新たな分析オプションを使用できま
す。 Eclipse の「実行」メニュー、「起動」ツールバー、およびエクスプローラーのポップアップ・メニュー
にあるオプションにアクセスできます。 以下の図表は、Application Migration Tool を使用して分析を実行でき
る、各種の方法を示しています。
Eclipse メニューから:
「Eclipse の起動 (Launch Eclipse)」ツールバーから:
エクスプローラーのポップアップ・メニューから:
図 9 : ツールの実行のためのオプション
Application Migration Tool | 分析用のマイグレーション・ツールの構成 | 17
ソフトウェア分析プログラム (Software Analyzer) のオプションが表示されない場合は、ソフトウェア分析プロ
グラムのオプションが表示されない(55 ページ)を参照してください。
ツールバーを使用して分析を構成するには、以下のステップを実行します。
1. ツールバーで、「ソフトウェア分析プログラム (Software Analyzer)」(
) > 「ソフトウェア分析プログラ
ムの構成 (Software Analyzer Configurations)」を選択して、メイン構成ダイアログを表示します。
ダイアログ内のアイコンを使用することにより、分析の構成を追加したり除去したりすることができま
す。
2. 構成リストで、「ソフトウェア分析プログラム (Software Analyzer)」を選択します。その後、「新規」
クリックします。ダイアログの右側が切り替わって、基本構成インターフェースが表示されます。
を
18 | Application Migration Tool | 分析用のマイグレーション・ツールの構成
3. 「ソフトウェア分析プログラムの構成 (Software Analyzer Configuration)」ダイアログで、「AppMigration」
など、構成の名前を入力します。
4. ワークスペース内のすべてのプロジェクトをスキャンするには、「スコープ (Scope)」タブで、「ワークス
ペース全体の分析」を選択します。
作業セットまたは、選択したプロジェクトを分析する場合は、このダイアログで他のオプションを使用す
ることにより、分析のスコープを限定することができます。
ヒント: エクスプローラーのポップアップ・メニューを使って分析を実行するときは、分析のスコープは、
メニュー項目が選択されたプロジェクト内のノードに限定されます。これによって、限定されたコードの
セットに対して素早く分析を実行することができます。
5. 「規則」タブでは、「規則セット」リストを使用して、実行する分析のタイプを選択します。 実行する
個々の規則を選択することもできます。
ヒント: 規則に関する追加情報を得るには、その規則を強調表示して F1 を押してください。 その規則のヘ
ルプが構成ダイアログに表示されます。 最初のヘルプ・ページには、簡略説明と、詳細情報へのリンクが
あります。
Application Migration Tool | 分析用のマイグレーション・ツールの構成 | 19
WebSphere Application Server バージョン間のマイグレーション用の 1 つの規則セット 「WebSphere
Application Server バージョン・マイグレーション」が追加されました。
これらの規則セットのいずれかからすべての規則を自動的に選択するには、リストからいずれかを選択し
て、「設定」をクリックします。
•
Java コード・レビュー
•
JSP コード・レビュー
•
XML ファイル・レビュー
規則セットを選択し、「設定...」ボタンを押すと、 必要な Java マイグレーション規則を選択するためのダ
イアログが表示されます。
マイグレーション先の WebSphere Application Server バージョン (V7、V8、または V8.5) を選択します。
また、使用されていたマイグレーション元の Java バージョンを選択します。 マイグレーション先の
WebSphere プラットフォームが V8.5 の場合は、 マイグレーション先の Java バージョン (Java 6 または Java
7) を選択することもできます。 IBM 提供の Java ランタイム環境を Liberty プロファイル・サーバーと共
に使用していない場合のみ、 「最終ターゲットは、Oracle Java で稼動する Liberty profile server です」
チェック・ボックスを選択します。
注: 分析構成ダイアログに表示される規則の数は、ツールがインストールされているプラットフォームに
よって異なります。 分析規則は Rational Application Developer など、いくつかの Rational 製品で使用可能で
す。 そのため、含まれる規則セットは異なる可能性があります。
6. 規則の構成を保存するには、「適用」をクリックします。
7. 分析で使用する規則または規則のグループを選択またはクリアするには、 「ソフトウェア分析構成」ダイ
アログを使用します。 例えば、分析後に、選択された規則セットの特定の規則によって、 指摘された変更
を行う必要がないことがわかった場合は、 その選択をクリアしてオフにすることができます。
a) 規則を検索するための構成ダイアログのナビゲーションは、結果のツリー・ビューに表示される フォル
ダーに似ています。規則を検索するには、フォルダー名を使用します。
b) 規則の選択をクリアします。
c) 「適用」ボタンをクリックします。
d) 「分析」ボタンをクリックします。
選択解除された規則は、次の分析に含まれません。
マイグレーションのためのコード分析
分析を実行して結果を表示します。
1. 分析を開始するには、「構成 (Configuration)」ダイアログの「分析」をクリックしてください。
2. 結果は、「ソフトウェア分析結果 (Software Analysis Results)」ビューに表示されます。
結果ビューの内容は、実行する規則によって異なる可能性があります。マイグレーション・ツールで生成され
る結果は、以下のいずれかのタブに表示されます。
パネルに何も結果が表示されない場合、スキャン中に何も問題が見つからなかったということを示します。
個々の結果を右クリックすると、問題が発生しているソース・コードの表示や、提供されているフィックスで
問題を訂正するなどのオプションが表示されます。
22 | Application Migration Tool | マイグレーションのためのコード分析
すべての規則ですべてのアクションが使用可能というわけではありませんが、以下のアクションが使用可能で
す。
•
「結果の表示 (View Result)」 - 規則のトリガーになったソース・ファイルを表示するエディターを開
きます。問題の原因が強調表示され、規則違反アイコンがエディターの左マージンに表示されます。
•
「クイック・フィックス」 - 結果リスト・アイコン (
) に「電球」も重なって表示されている場合、そ
の規則にはクイック・フィックスがあることを示しています。このオプションを選択すると、影響される
Java コード、XML ファイル、JSP またはマニフェスト・ファイルを修正する変換が実行され、WebSphere
Application Server で実行できるようになります。クイック・フィックスは、コードを直接変更することも、
フィックスを完了するために必要なステップを示すこともあります。
•
「クイック・フィックスのプレビュー」 - このオプションは、オリジナルのコードとクイック・フィックス
適用後のコードを横並びに比較するための表示がサポートされている規則で使用可能です。このオプショ
ンにより、変更を行う前に変更点を確認できます。
•
「結果を無視」 - このオプションは、コードを変更せずにリストから規則を削除します。Java ファイルの場
合、コメント・アノテーションがファイルに追加され、その後に実行される分析では規則がトリガーされ
なくなります。
•
「すべてにクイック・フィックスを実行」 - このオプションは、指定された規則で問題とされるものすべて
を解決します。
•
「すべてのカテゴリーにクイック・フィックスを実行」 - このオプションでは、規則が属するカテゴリー
に対して指定されたすべてのクイック・フィックスが実行されます。規則は、「すべてのカテゴリーにク
イック・フィックスを実行」オプションでそのクイック・フィックスが実行されるためには、「すべてに
クイック・フィックスを実行」が有効になっていなければなりません。例えば、Java 規則でこのオプショ
ンを選択した場合、「すべてにクイック・フィックスを実行」オプションのあるすべての Java 規則のク
イック・フィックスが実行されます。
Application Migration Tool | マイグレーションのためのコード分析 | 23
それぞれの結果の選択に応じて、コンテキスト・ヘルプが「ヘルプ」ビューに表示されます。最初のパネル簡
略説明です。「詳しいヘルプ」をクリックすれば、さらに詳細な情報が得られます。F1 を押すと、「ヘルプ」
ビューがまだ表示されていない場合には開きます。
24 | Application Migration Tool | コード品質を最適化するための追加規則の実行
コード品質を最適化するための追加規則の実行
クイック・フィックスを実行するかまたは人手によるコード変更を加え、マイグレーション・ツールで明らか
にされた問題を修正した後に、コードの品質を改良するのに役立つ Rational Software Analyzer 製品によって追
加の規則が提供されます。これらの規則は、変換には必要とされません。 図 10 : その他のアーキテクチャー上
の規則および Java 規則は、追加の規則の例を示しています。
図 10 : その他のアーキテクチャー上の規則および Java 規則
新しい分析構成を作成するか、または既存のものを変更することによって、これらの規則にアクセスします。
これらの規則は、Application Migration Tool 規則セットの一部として自動的には選択されません。
選択した規則を実行し、必要な変更がなされたら、更新されたアプリケーションをエクスポート
し、WebSphere Application Server でテストする必要があります。 Rational Application Developer を使用している
場合には、デプロイメントを作成して Rational Application Developer 環境内でアプリケーションをテストするの
に使用可能なツールがあります。
WebSphere Application Developer Tools for Eclipse
アプリケーション開発のために Eclipse IDE を使用している場合は、 単一の軽量な Eclipse IDE 内でマイグレー
ション、開発、デプロイ、 およびテストするためのマイグレーション・ツールキットと共に 使用することが
できる多数のツールがあります。 従来の WebSphere Application Server 用と 新しい Liberty プロファイル・サー
バー用の両方のツールがあります。
•
•
•
•
IBM WebSphere Application Server v8.5 Liberty Profile Developer Tools
IBM WebSphere Application Server v8.5 Developer Tools
IBM WebSphere Application Server v8.0 Developer Tools
IBM WebSphere Application Server v7.0 Developer Tools
これらのツールは、Eclipse Marketplace から入手でき、 以下のように、Eclipse 内から簡単にインストールする
ことができます。
1. Eclipse ワークベンチを開始します。
2. 「ヘルプ」 > 「更新の検査」をクリックして最新の更新をインストールします。
3. 「ヘルプ」 > 「Eclipse Marketplace」 をクリックします。
4. 「検索」 フィールドに、WebSphere と入力します。
5. 結果のリストで、適切な WebSphere Application Server Developer Tools を見つけて、 「インストール」をク
リックします。
これらのツールは、WebSphere のターゲット・リリースのケイパビリティーに機能とフィーチャーを提供しま
す。 また、これらには、サーバーの管理、ローカル・サーバーまたはリモート・サーバーへの公開、およびイ
ンクリメンタル公開の 制御を行うための機能も含まれます。HTML ファイルを編集したり、Dojo ウィジェッ
トを HTML ページに追加したり、 モバイル・デバイス向けの Web ページを作成して編集したりする操作を
容易にする Rich Page Editor (WYSIWYG エディター) が組み込まれています。一般的なディスカッション、デ
モ、情報の各リンクについて詳しくは、 http://wasdev.net を参照してください。
Liberty プロファイルは、開発者による Web アプリケーションのテストを非常に容易にする 簡易化された
アプリケーション・サーバー・ランタイム環境を提供します。 対応する WebSphere Application Server V8.5
Liberty Profile Developer Tools は、WebSphere Application Server V8.5 Liberty プロファイル・サーバー を基
盤として、Web アプリケーションの開発、アセンブリー、およびサーバーへのデプロイ をサポートしま
す。Liberty プロファイル・サーバーについての学習を始めるには、 Liberty プロファイルを参照してくださ
い。 また、Liberty プロファイル・サーバーのサポートされるフィーチャーおよび機能については、 Liberty プ
ロファイル: フィーチャー管理 を参照してください。
26 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
WebSphere Application Server バージョンのマイグレー
ション規則およびクイック・フィックス
Application Migration Tool - WebSphere Version to Version フィーチャーは、Java コード、JSP コード、およびデ
プロイメント記述子を、一連の分析の一部として評価します。このセクションでは、提供されている規則とク
イック・フィックスについての特定の詳細を説明します。
WebSphere Application Server 変換規則は、以下の分析ドメインに含まれています。
Java コード・レビュー
「Java コード・レビュー」規則セットでは、「WebSphere バージョンのマイグレーション」カテゴリー
に、WebSphere Application Server バージョン 5.1、6.0、6.1、および 7.0 からバージョン 7.0、8.0、または 8.5
へのマイグレーションに関する規則が含まれています。規則について詳しくは、構成ダイアログまたは結果
ビューアーで規則を表示しているときに F1 を押してください。
クイック・フィックスが使用可能な場合もあります。クイック・フィックスのない規則には規則違反のフラグ
が立てられるので、それらの使用法を評価し、手動でコードをマイグレーションすることができます。
表 1 : V5.1 から V6.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
ServletResponse デフォルト・コンテ
ンツ・タイプの振る舞いの変更を確
認する
なし
HttpServletResponse のデフォルト・コンテンツ・
タイプは、コンテンツ・タイプを設定しないサーブレッ
トのために「text/html」から「text/plain」に変更されまし
た。
正符号が含まれる URL の振る舞いの
変更を確認する
なし
この規則は、照会パラメーターの一部ではない URI に
プラス (「+」) 文字が含まれる Uniform Resource Locators
(URL) を作成する、Java コード内の呼び出しにフラグを
立てます。プラス (「+」) は、URL の照会ストリングの
部分でのみ予約されています。
ServletResponse sendRedirect() メソッ
ドの予測される動作を確認する
なし
WebSphere Application Server での ServletResponse
sendRedirect() メソッドの実装では、最後のスラッ
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 27
規則名
クイッ
ク・
フィッ
クス
行われるアクション
シュまでパス情報が省略されます。新しいカスタム・プ
ロパティーを使用すると、この動作を修正できます。
Web コンテナー内で実行中のコード
からスレッドを開始しない
なし
WebSphere Application Server V6.0 で制限が追加さ
れ、Web コンテナー内で実行中のコードはスレッドの開
始が許可されなくなりました。
新規スレッドを作成する代わりに、作業マネージャーを
使用して非同期 Bean をスケジュールに入れます。
ServletContext getResource() 要求およ
び getResourceAsStream() 要求に先頭
スラッシュを使用する
なし
サーブレットの仕様で
は、ServletContext.getResource() メソッドおよ
び ServletContext.getResourceAsStream() メ
ソッドに渡されるストリング値の先頭がスラッシュであ
ることが必要ですが、実際にそうなっているかどうかを
簡単に判別することができない場合、この規則により、
それらの呼び出しにフラグが立てられます。
削除されたアクティビティー・コン
ポーネント・フィーチャーを使用し
ない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れたアクティビティー・コンポーネント・クラスおよび
インターフェースの使用にフラグを立てます。
削除された Ant タスク・フィー
チャーを使用しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れた Ant タスク・クラスおよびインターフェースの使用
にフラグを立てます。
削除された非同期 Bean フィーチャー
を使用しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れた非同期 Bean クラスおよびインターフェースの使用に
フラグを立てます。
削除されたオブジェクト・プール・
フィーチャーを使用しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れたオブジェクト・プール・クラスの使用にフラグを立
てます。
削除された RAS フィーチャーを使用
しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れた RAS クラスおよびインターフェースの使用にフラグ
を立てます。
削除されたスケジューラー・フィー
チャーを使用しない
なし
この規則は、WebSphere Application Server V6.0 で除去さ
れたスケジューラー・クラスおよびインターフェースの
使用にフラグを立てます。
削除されたセキュリティー・フィー
チャーを使用しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れたセキュリティー・クラスおよびインターフェースの
使用にフラグを立てます。
28 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
クイッ
ク・
フィッ
クス
行われるアクション
削除された EarUtils クラスを使用し
ない
なし
この規則は、WebSphere Application Server V6.0 で除去さ
れた EarUtils クラスの使用にフラグを立てます。
除去された setJMSPriority() メソッド
を使用しない
なし
この規則は、com.ibm.websphere.scheduler.
MessageTaskInfo インターフェースからの
setJMSPriority メソッドの使用にフラグを立てます。
このメソッドは Websphere Application Server V6.0 リリー
スで非推奨で、getJMSPriority メソッドに置き換えら
れました。
削除されたユーザー・プロファイ
ル・フィーチャーを使用しない
なし
この規則は、WebSphere Application Server V6.0 で削除さ
れたユーザー・プロファイル・クラスおよびインター
フェースの使用にフラグを立てます。
表 2 : V6.0 から V6.1 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
EJBContext.setRollbackOnly() メソッド
での動作の変更を確認する
なし
特定のシナリオでの setRollbackOnly の呼び出し
は、V6.0.2 より前の WebSphere Application Server リリー
スでは異なる結果をもたらす可能性があります。
削除された Common Connector
Framework フィーチャーを使用しな
い
なし
この規則は、WebSphere Application Server V6.1 で削除さ
れた Common Connector Framework API パッケージの使用
にフラグを立てます。
削除された WebSphere Ant
StopServer.setHost() メソッドを使用し
ない
なし
この規則
は、com.ibm.websphere.ant.tasks.StopServer
クラスでの削除されたメソッド setHost(String s) の
使用にフラグを立てます。
オープン・ソース JDOM 実装を使
用して、除去された JDOM フィー
チャーを置き換える
なし
この規則は、WebSphere Application Server V6.1 で除去さ
れた JDOM パッケージの使用にフラグを立てます。
オープン・ソース Mozilla Rhino 実装
環境を使用して、除去された Rhino
フィーチャーを置き換える
なし
この規則は、WebSphere Application Server V6.1 で除去さ
れた Rhino パッケージの使用にフラグを立てます。
除去された CustomRegistry インター
フェースを置き換えるものとして
なし
この規則は、WebSphere Application Server V6.1 で除去さ
れた CustomRegistry インターフェースの使用にフラ
グを立てます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 29
規則名
クイッ
ク・
フィッ
クス
行われるアクション
UserRegistry インターフェースを使用
する
表 3 : V6.1 から V7.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
JAXB コンテキスト・ファクトリー
初期化クラスを確認する
なし
JAXB の以前のバージョンからコンテキスト・ファ
クトリー・メソッドが変更されたので、 この規則は
JAXBContext newInstance() メソッドにフラグを立
てます。
Java EE 5 以降では JAX-WS アノテー
ションのみを使用する
なし
この規則は、Java EE 5 より前のエンタープライズ・プロ
ジェクトにおける JAX-WS アノテーションの使用を検出
します。
除去された DistributedLockingMap イ
ンターフェースを使用しない
なし
この規則は、除去された
com.ibm.websphere.cache.DistributedLockingMap インター
フェースにフラグを立てます。
削除された InvalidationEvent または
ChangeEvent のコンストラクターを使
用しない
なし
この規則は、com.ibm.websphere.cache.
InvalidationEvent または
com.ibm.websphere.cache.ChangeEvent クラスで
の削除されたコンストラクターの使用にフラグを立てま
す。 新しいコンストラクターには追加のフィールドがあ
ります。
削除された SequeLinkDataStoreHelper
クラスを使用しない
なし
この規則は、com.ibm.websphere.rsadapter.
SequeLinkDataStoreHelper クラスの使用にフラグを
立てます。
削除された WebSphere
UserTransactionWrapper クラスを使用
しない
なし
com.ibm.websphere.servlet.session.
UserTransactionWrapper クラスは除去されたため、
使用しないでください。UserTransaction を、除去された
クラスにラップしないで、HTTP セッションに直接格納
します。
削除された
WSConnectJDBCDataStoreHelper クラ
スを使用しない
なし
この規則は、削除された
com.ibm.websphere.rsadapter.
WSConnectJDBCDataStoreHelper クラス
および com.ibm.websphere.rsadapter.
30 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
クイッ
ク・
フィッ
クス
行われるアクション
DataStoreHelper.WSCONNECTJDBC_HELPER フィー
ルドの使用にフラグを立てます。
削除された Web サービス・ゲート
ウェイ・カスタマイズ API を使用し
ない
なし
Web サービス・カスタマイズ API を使用しないでくださ
い。この規則は、パッケージ com.ibm.wsgw.beans.*
の使用にフラグを立てます。
除去された WebSphere サーブレッ
ト・フィルター・クラスの代わりに
Java EE サーブレット・フィルターを
使用する
なし
com.ibm.websphere.servlet.filter クラスは
除去されたため、使用しないでください。代わりに
javax.servlet.filter クラスを使用します。
DataDirectDataStoreHelper クラスの代
わりに ConnectJDBCDataStoreHelper
クラスを使用する
あり
com.ibm.websphere.rsadapter.
DataDirectDataStoreHelper オブジェクトは除去さ
れたため、使用しないでください。
クイック・フィックスは、代わりに
com.ibm.websphere.rsadapter.
ConnectJDBCDataStoreHelper を使用するように
コードを変更します。
MSSQLDataStoreHelper クラスの代わ
りに MicrosoftSQLServerDataStore ヘ
ルパー・クラスを使用する
あり
com.ibm.websphere.rsadapter.
MSSQLDataStoreHelper クラスは除去されたため、使
用しないでください。
クイック・フィックスは、代わりに
com.ibm.websphere.rsadapter.
MicrosoftSQLServerDataStoreHelper を使用する
ようにコードを変更します。
表 4 : V7.0 から V8.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
Web モジュール内にある EJB の振る
舞いの変更を確認する
なし
この規則は、Java ファイルがバージョン 2.5 以上の Web
モジュールに含まれる場合に、それらのファイルの中で
EJB アノテーションにフラグを立てます。
ApplicationException 継承の振る舞い
の変更を確認する
なし
この規則は、属性 inherited が設定されていない EJB
ApplicationException アノテーションにフラグを立
てます。 inherited 属性は EJB 3.1 で追加されたもので
あり、それによって EJB 3.0 アプリケーションのデフォル
トの振る舞いが変更されました。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 31
規則名
クイッ
ク・
フィッ
クス
行われるアクション
アウトバウンド・メッセージの
SOAP アクション設定の振る舞いの
変更を確認する
なし
この規則は、アウトバウンド・メッセージの SOAP アク
ション設定で振る舞いが変更している 可能性がある JAXWS Dispatch クライアント・アプリケーションにフラグを
立てます。
SOAPMessage メソッドでの振る舞い
の変更を確認する
なし
この規則は、SOAPMessage の getSOAPHeader() メソッド
および getSOAPBody() メソッドの呼び出しにフラグを立
てます。これらの呼び出しは、それぞれヘッダーまたは
本文が存在しない場合、null を返す のではなく例外をス
ローするようになりました。
Web サービスの SOAP 障害コードお
よびストリングの振る舞いの変更を
確認する
なし
この規則は、JAX-WS および JAX-RPC の SOAP 障害コー
ドとストリングを取得するアプリケーションにフラグを
立てます。 これは、バージョン 8.0 では一部のコンテン
ツが変更されたからです。
EntityManager refresh(Object entity) メ
ソッドでの振る舞いの変更を確認す
る
なし
この規則は、EntityManager.refresh() メソッドの振る舞い
が変更されると、この呼び出しにフラグを立てます。
OpenJPAEntityManager detach(T pc) メ
ソッドでの振る舞いの変更を確認す
る
あり
この規則は、OpenJPAEntityManager detach(T
pc) メソッドにフラグを立てます。このメソッドの戻り
の型は、2.0 JPA 仕様をサポートするように変更されまし
た。
クイック・フィックスにより、detach() メソッドが
detachCopy() に変更されます。
SipFactory メソッドの振る舞いの変更
を確認する
なし
この規則は、振る舞いが変更されている、String「to」、
「from」、または「addr」パラメーターを使用する特
定の SipFactory メソッドにフラグを立てます。
一部の Server MBean 操作の振る舞い
の変更を確認する
なし
この規則は、変更された Server MBean 操作
getComponentVersion、getEFixVersion、
getPTFVersion、getExtensionVersion、
getVersionsForAllComponents、およ
びgetVersionsForAllEFixesstartTransports の
使用にフラグを立てます。
除去された Apache SOAP API を使用
しない
なし
この規則は、org.apache.soap および com.ibm.soap
パッケージ内の除去されたクラスの使用にフラグを立て
ます。
32 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
クイッ
ク・
フィッ
クス
行われるアクション
ServletErrorReport から除去されたメ
ソッド getCause() を使用しない
なし
この規則は、com.ibm.websphere.servlet.error.
ServletErrorReport クラスでの削除されたメソッド
getCause() にフラグを立てます。
旧バージョンの代わりに Oracle 11g
ヘルパーを使用する
あり
この規則は、Oracle 10g ヘルパーおよびフィールドの使
用にフラグを立てます。バージョン 8.0 は、Oracle 11g
JDBC ドライバーおよびヘルパーのみサポートします。
クイック・フィックスは、ランタイム構成が変更されて
いることを確認した後、Oracle 11g ヘルパーを使用するよ
うにコードを変更します。
表 5 : V8.0 から V8.5 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
JPA カスケード・ストラテジーの振
る舞いの変更を確認する
なし
この規則は、カスケード・タイプ PERSIST、MERGE、ま
たは ALL を使用する JPA エンティティー関係を使用する
プロジェクトにフラグを立てます。これは、WebSphere
Application Server V8.5 では振る舞いの変更が発生してい
る可能性があるからです。 この振る舞いの変更を検出す
るための対応する XML 規則があります。
JSP コード・レビュー
JSP コード・レビュー・セットでは、「WebSphere バージョンのマイグレーション」カテゴリーに、以下の表
に記載されている規則があります。詳細な情報については、結果ビューアーに規則が表示されている時に F1
を押してください。
注: このリリースでは、XML 構文で作成された JSP ページ (JSP 文書) はサポートされていません。
表 6 : バージョン 5.1 からのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
組み込まれる JSP エンコードの動作
の変更を確認する
なし
JSP 2.0 では、ページ・エンコードはファイル単位で行わ
れます。この規則は、親 JSP と異なるページ・エンコー
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 33
規則名
クイッ
ク・
フィッ
クス
行われるアクション
ドを持つ、静的に組み込まれた JSP ファイルを検出しま
す。
request.getAttribute() メソッドの動作
の変更を確認する
なし
この規則は、ストリングへの自動キャストを使用する
JSP ファイル内の request.getAttribute() への呼び出しにフ
ラグを立てます。 ただし V6 では、request.getAttribute()
メソッドはストリングではなくオブジェクトを返しま
す。
正符号が含まれる URL の振る舞いの
変更を確認する
なし
この規則は、URI にプラス (「+」) 文字が含まれるもの
の照会パラメーターの一部ではない、JSP リンク・タグ
(<a>) または form action タグ (<form action=...) 内の URI に
フラグを立てます。プラス (「+」) は、URL の照会スト
リングの部分でのみ予約されています。
JSP インポート・ステートメントで
デフォルトのパッケージを使用しな
い
なし
JSP 2.0 以降、名前の付いていない (デフォルト) パッケー
ジからクラスを参照することはできません。この規則
は、デフォルト・パッケージからのクラスが含まれる
JSP インポート・ディレクティブを検出します。
表 7 : V6.1 から V7.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
taglib 接頭部の再定義を確認する
なし
この規則は、同じ JSP 内または静的に組み込まれた JSP
ファイル内で、異なる接頭部を持つ taglib の再定義を検
出します。JSP ファイルまたは静的に組み込まれた JSP
ファイル内で taglib が複数定義されている場合には、接
頭部が同じでなければなりません。
XML ファイル・レビュー
XML ファイル・レビューは、デプロイメント記述子、およびその他の XML ファイルの問題を検出するための
いくつかの規則を提出しています。
34 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
表 8 : V6.1 から V7.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
global-transaction エレメントの誤った
属性を検出する
なし
この規則は、ibm-ejb-jar-ext.xml ファイル内の globaltransaction エレメントの無効なトランザクション・
タイムアウト属性にフラグを立てます。
EJB 3.0 プロジェクトで Bean 管理
パーシスタンスを使用しない
なし
この規則は、EJB 3.0 プロジェクトでの Bean 管理パーシ
スタンスの使用を検出します。これは IBM WebSphere
Application Server V6.1 Feature Pack for Enterprise JavaBeans
3.0 では有効ですが、WebSphere Application Server V7.0 で
は有効ではありません。
WebSphere V6.1 以前からアプリケー
ションをマイグレーションする場合
にバージョン 1.4 以下のアプリケー
ションを使用する
あり
WebSphere バージョン 6.1 以前からマイグレーションする
場合、この規則は、バージョン 1.4 より上のアプリケー
ションがあれば、そのすべてにフラグを立てます。
アノテーションなしで Java EE 5 モ
ジュールの metadata-complete 属性を
使用する
なし
この規則は、metadata-complete 属性セットを持たない
Java EE 5 モジュールにフラグを立てます。
WebSphere V6.1 以下からアプリケー
ションをマイグレーションする場合
は、Web モジュール・バージョン 2.4
以下を使用する
あり
WebSphere バージョン 6.1 以下からマイグレーションす
る場合、この規則は、マイグレーション問題を引き起こ
す可能性があるバージョン 2.5 以上を使用するすべての
Web モジュールにフラグを立てます。
固有の EJB 3.0 バインディング名を使
用する
なし
WebSphere Application Server V6.1 Feature Pack for EJB 3.0
では、EJB 3.0 バインディング・ファイルに重複バイン
ディング名を含めることができました。 V7.0 サーバー・
ランタイム環境では、EJB 3.0 バインディング・ファイ
ルで使用される名前の固有性検査が追加されました。固
有性エラーのあるアプリケーションは、同じアプリケー
ションが Feature Pack for EJB 3.0 で機能していた場合で
あっても、V7.0 では始動しません。
この規則は、バインディング名の固有性を確認するため
に EJB 3.0 バインディング・ファイルを検証します。 こ
れによって、セッション・インターフェースとインター
セプターのクラス名が完全修飾されていることの検証も
行われます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 35
表 9 : V7.0 から V8.0 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
Web モジュール内にある EJB の振る
舞いの変更を確認する
なし
この規則は、EJB アノテーションがある .class ファイルが
Web モジュール・バージョン 2.5 以上に含まれている場
合に、このモジュールの web.xml ファイルにフラグを立
てます。.class ファイルがライブラリー (WEB-INF/lib 内
の .jar ファイル) 内になければなりません。
ApplicationException 継承の振る舞い
の変更を確認する
なし
この規則は、inherited 属性が設定されて
いない、ejb-jar.xml ファイル内の EJB
ApplicationException 定義にフラグを立てま
す。inherited 属性は EJB 3.1 で追加されたものであ
り、それによって EJB 3.0 アプリケーションのデフォルト
の振る舞いが変更されました。
Java Server Faces (JSF) アプリケー
ションの振る舞いの変更を確認する
なし
WebSphere V8.0 では JSF コンテナーのデフォルト実装が
変更されたので、この規則は Java Server Faces (JSF) アプ
リケーションにフラグを立てます。
<is-xml> および <page-encoding> オプ
ションの JSP 構成での振る舞いの変
更を確認する
なし
この規則は、<is-xml> および <page-encoding> という JSP
構成オプションにフラグを立てます。バージョン 8 で
は、これらの構成オプションと組み込まれる JSP ファイ
ルについて JSP 仕様が明確化され、振る舞いが変更され
ました。
Web サービスのアドレス指定ポリ
シーの振る舞いの変更を確認する
なし
この規則は、WSDL 定義内で検出されたアドレス指定
ポリシーの構成にフラグを立てます。以前のリリースで
は、WSDL 定義内のアドレス指定ポリシーは無視されま
した。パッケージされた WSDL 内のアドレス指定ポリ
シーとアクティブに構成されたアドレス指定ポリシーが
重大な点で違う場合に限り、この振る舞いの変更により
問題が発生します。
表 10 : V8.0 から V8.5 へのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
JPA カスケード・ストラテジーの振
る舞いの変更を確認する
なし
この規則は、カスケード・タイプ PERSIST、MERGE、ま
たは ALL を使用する JPA エンティティー関係を使用する
プロジェクトにフラグを立てます。これは、WebSphere
Application Server V8.5 では振る舞いの変更が発生してい
36 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
クイッ
ク・
フィッ
クス
行われるアクション
る可能性があるからです。 この振る舞いの変更を検出す
るための対応する Java 規則があります。
ListAttribute に関係する JPA
MetaModel コード生成での振る舞い
の変更を確認する
なし
この規則は、WebSphere V8.5 で ListAttribute に関係する
JPA MetaModel コード生成での振る舞いの変更に対して
persistence.xmlファイルにフラグを立てます。
推奨されないフィーチャー
Java コード・レビュー、JSP コード・レビュー、および XML ファイル・レビューの各カテゴリーには非推奨
に関する規則があります。これらの規則は、以下のターゲット・リリース別に編成されています。
• V7.0 へのマイグレーション - 現在 V7 で非推奨、V8 で削除
• V7.0 および V8.0 へのマイグレーション - 現在 V7.0 および V8.0 で非推奨
• V8.0 へのマイグレーション- 新たに V8.0 で非推奨
• V8.5 へのマイグレーション - 新たに V8.5 で非推奨
表 11 : Java 非推奨のフィーチャー - V7.0 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない Apache SOAP API を
使用しない
なし
この規則は、org.apache.soap パッケージおよび
com.ibm.soap パッケージへの参照にフラグを立てます。
推奨されない
OracleDataStoreHelper クラスを使
用しない
あり
この規則は、推奨されない Oracle データ・ストア・ヘルパー
およびフィールドの使用にフラグを立てます。
このクイック・フィックスは、サーバーのランタイム構成が
変更されていることを確認した後、Oracle 11g ヘルパーを使
用するようにコードを変更します。
表 12 : Java 非推奨のフィーチャー - V7.0 および V8.0 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されないアナライザー・ロギ
ング・システム・クラスを使用し
ない
なし
この規則は、非推奨の com.ibm.websphere.als クラスの
使用にフラグを立てます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 37
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない Ant メソッド
setCompileWithAssert を使用しな
い
あり
この規則は、推奨されない Ant メソッド
setCompileWithAssert の使用にフラグを立てます。
推奨されない
AppDeploymentController メソッド
を使用しない
なし
この規則は、アプリケーション・デプロイメント・コント
ローラー getTaskInfo メソッドの使用にフラグを立てま
す。
推奨されない AppDeploymentTask
メソッドを使用しない
あり
この規則
は、com.ibm.websphere.management.application.
client.AppDeploymentTask クラスからの推奨されない
メソッドの使用にフラグを立てます。
クイック・フィックスは、メソッドを setJdkSourceLevel
に置き換えます。
クイック・フィックスは、メソッドを推奨される置き換えに
変更します。
推奨されないアプリケーション管
理 installStandaloneRAR メソッド
を使用しない
なし
この規則は、アプリケーション管理
installStandaloneRAR メソッドの使用にフラグを立てま
す。
推奨されないアプリケーション管
理 moveModule メソッドを使用し
ない
なし
この規則は、アプリケーション管理 moveModule メソッドの
使用にフラグを立てます。
推奨されないアプリケーション・
プロファイルのアクセス・インテ
ント・メソッドを使用しない
なし
この規則は、推奨されないアプリケーション・プロファイル
のアクセス・インテント・メソッドの使用にフラグを立てま
す。
推奨されないキャッシュ・イン
ターフェースを使用しない
なし
この規則は、com.ibm.websphere.Cache インターフェー
スの使用にフラグを立てます。
推奨されない
com.ibm.etools.logging ユーティリ
ティーを使用しない
なし
この規則は、推奨されない com.ibm.etools.logging
パッケージへの参照を検出してフラグを立てます。
推奨されないコマンド・マネー
ジャー・メソッドを使用しない
あり
この規則
は、com.ibm.websphere.management.cmdframework.
CommandMgrInitializer クラス内の推奨されないメソッ
ドの使用にフラグを立てます。
クイック・フィックスは、メソッドを推奨される置き換えに
変更します。
38 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない ConnectionFactory
MBean メソッドを使用しない
なし
この規則は、推奨されない ConnectionFactory MBean 操
作 (getPoolContents、getAllPoolContents、
showAllocationHandleList) にフラグを立てます。
推奨されない ConnectionSpecImpl
メソッドを使用しない
あり
この規則
は、com.ibm.websphere.ola.ConnectionSpecImpl ク
ラスからの推奨されないメソッドにフラグを立てます。
クイック・フィックスは、パラメーターを適切なブール値に
変更します。
推奨されないコネクター・アーキ
テクチャー・インターフェースを
使用しない
なし
この規則は、推奨されないコネクター・アーキテク
チャー・インターフェース com.ibm.websphere.j2c.
ConnectionEventListener および
com.ibm.websphere.j2c.ConnectionManager にフラ
グを立てます。
推奨されない分散ロック・マッ
プ・フィールドと削除されたイン
ターフェースを使用しない
なし
この規則は、推奨されない com.ibm.websphere.cache.
DistributedObjectCache.
TYPE_DISTRIBUTED_LOCKING_MAP
フィールドと削除された
com.ibm.websphere.cache.DistributedLockingMap
インターフェースにフラグを立てます。
推奨されない DumpNameSpace コ
ンストラクターおよびフィールド
を使用しない
なし
この規則
は、com.ibm.websphere.naming.DumpNameSpace クラ
スからの推奨されないコンストラクターとフィールドの使用
にフラグを立てます。
推奨されない
DynamicCacheAccessor メソッドを
使用しない
なし
この規則は、com.ibm.websphere.cache.
DynamicCacheAccessor クラスからの推奨されないメソッ
ドの使用にフラグを立てます。
推奨されない動的キャッシュのメ
ソッドおよびフィールドを使用し
ない
なし
この規則は、com.ibm.websphere.cache.CacheEntry
インターフェースと
com.ibm.websphere.cache.EntryInfo インターフェー
スの推奨されないメソッドとフィールドの使用にフラグを立
てます。
推奨されない EJB パーシスタンス
createInteraction メソッドを使用し
ない
なし
この規則は、com.ibm.websphere.ejbpersistence.
EJBToRAAdapter.createInteraction
(javax.resource.cci.Connection conn) メソッドの
使用にフラグを立てます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 39
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない
ExtendedJTATransaction メソッド
registerSynchronizationCallbackFor
CurrentTran を使用しない
なし
この規則は、クラス ExtendedJTATransaction から
のメソッド registerSynchronizationCallbackFor
CurrentTran を検出してフラグを立てます。
推奨されない HttpServlet 要求/応
答プロキシー・クラスを使用しな
い
なし
この規則は、HttpServletRequestProxy クラスと
HttpServletResponseProxy クラスの使用にフラグを立
てます。
推奨されない
SIBTransmitMessageRequest イン
ターフェースを使用しない
あり
この規則は、com.ibm.websphere.sib.admin.
SIBTransmitMessageRequest インターフェースの使用に
フラグを立てます。
クイック・フィックスは、インターフェー
スを com.ibm.websphere.sib.admin.
SIBMessageRequest インターフェースに置き換えます。
推奨されない JRas 拡張 API を使
用しない
なし
この規則は、信頼性、可用性、および保守性に関する非推奨
Java API にフラグを立てます。
推奨されない LocalHomeAccessor
クラスを使用しない
なし
この規則は、com.ibm.websphere.ejbcontainer.
LocalHomeAccessor クラスの使用にフラグを立てます。
推奨されない管理
InvalidDocumentURIException クラ
スを使用しない
あり
この規則
は、com.ibm.websphere.management.exception.
InvalidDocumentURIException クラスの使用にフラグを
立てます。
クイック・フィックスは、DocumentNotFoundException を使用
するようにコードを変更します。
推奨されない管理
NestedAdminException クラスを使
用しない
なし
この規則
は、com.ibm.websphere.management.exception.
NestedAdminException クラスの使用にフラグを立てま
す。
推奨されない管理
NotificationConstants
TYPE_AGENT_DISCOVERED
フィールドを使用しない
あり
この規則
は、NotificationConstants.TYPE_AGENT_DISCOVERED
フィールドの使用にフラグを立てます。
クイック・フィックスは、このフィールドへの参照を
NotificationConstants.TYPE_DISCOVERY_AGENT_FOUND
フィールドに置き換えます。
40 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない管理
removeNotificationListenerExtended
メソッドを使用しない
なし
この規則
は、com.ibm.websphere.management.AdminService
クラスと
com.ibm.websphere.management.AdminClient
クラスからの推奨されない
removeNotificationListenerExtended メソッドの使
用にフラグを立てます。
推奨されない管理統計インター
フェースを使用しない
あり
この規則
は、com.ibm.websphere.management.statistics
パッケージの使用にフラグを立てます。
クイック・フィックスは、
com.ibm.websphere.management.statistics のす
べての参照を javax.management.j2ee.statistics
に、MessageBeanStats のすべての参照を
MessageDrivenBeanStats にそれぞれ変更します。
WebSphere SIB MQ クラスから推
奨されないメソッドを使用しない
あり
この規則は、SIB MQ クラスの getNpmSpeed() および
getStatus() メソッドの使用にフラグを立てます。
クイック・フィックスは、メソッドを推奨される置き換えに
変更します。
推奨されない命名プロパティー
INITIAL_CONTEXT_FACTORY_
LEGACY フィールドを使用しな
い
あり
この規則は、com.ibm.websphere.naming.PROPS.
INITIAL_CONTEXT_FACTORY_LEGACY フィールドの使用に
フラグを立てます。
クイック・フィックスは、このフィールドへのす
べての参照を com.ibm.websphere.naming.
PROPS.INITIAL_CONTEXT_FACTORY に変更します。
推奨されない PMI クライアント
API を使用しない
なし
この規則は、PMI クライアント API クラスの使用にフラグを
立てます。
推奨されない PmiConstants フィー
ルドを使用しない
なし
この規則は、推奨されない PmiConstants フィールドの使
用にフラグを立てます。
推奨されない PmiDataInfo
getParticipation メソッドを使用し
ない
なし
この規則は、com.ibm.websphere.pmi.PmiDataInfo.
getParticipation() メソッドの使用にフラグを立てま
す。
推奨されない PMI 動的キャッ
シュ OBJECT_CACHE_GROUP
フィールドを使用しない
あり
この規則は、推奨されない
com.ibm.websphere.pmi.stat.
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 41
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
WSDynamicCacheStats.OBJECT_CACHE_GROUP フィール
ドの使用にフラグを立てます。
クイック・フィックスは、OBJECT_CACHE_GROUP を
OBJECT_GROUP に変更します。
推奨されない PMI 動的キャッ
シュ SERVLET_CACHE_GROUP
フィールドを使用しない
なし
この規則は、推奨されない
com.ibm.websphere.pmi.stat.
WSDynamicCacheStats.SERVLET_CACHE_GROUP フィー
ルドの使用にフラグを立てます。
推奨されない PmiJmxTest メソッ
ドを使用しない
なし
この規則は、com.ibm.websphere.pmi.PmiJmxTest クラ
スからの推奨されないメソッドの使用にフラグを立てます。
推奨されない PMI
MBeanLevelSpec メソッドを使用
しない
なし
この規則
は、com.ibm.websphere.pmi.stat.MBeanLevelSpec
クラスからの推奨されないコンストラクターとメソッドの使
用にフラグを立てます。
推奨されない PmiModuleConfig 出
力メソッドを使用しない
なし
この規則は、推奨されない
com.ibm.websphere.pmi.PmiModuleConfig.print
(PrintWriter) メソッドの使用にフラグを立てます。
推奨されない PMI StatDescriptor
メソッドを使用しない
なし
この規則
は、com.ibm.websphere.pmi.stat.StatDescriptor
クラスからの推奨されないコンストラクターとメソッドの使
用にフラグを立てます。
推奨されない PMI 統計クラスを
使用しない
なし
この規則は、com.ibm.websphere.pmi.stat パッケージ
からの推奨されないクラスの使用にフラグを立てます。
推奨されない PMI WSStats メソッ
ドを使用しない
なし
この規則は、com.ibm.websphere.pmi.stat.WSStats
インターフェースからの推奨されないメソッドの使用にフラ
グを立てます。
推奨されない RemoteCommandMgr
MBean を使用しない
なし
この規則は、推奨されない RemoteCommandMgr MBean にフ
ラグを立てます。
推奨されないリソース・アダ
プターのクラスおよびインター
フェースを使用しない
なし
この規則は、推奨されないリソース・アダプターのクラスお
よびインターフェースの使用にフラグを立てます。
推奨されないリソース・アダプ
ターのフィールドを使用しない
なし
この規則は、推奨されないリソース・アダプター・フィール
ドの使用にフラグを立てます。
42 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されないリソース・アダプ
ターのメソッドを使用しない
なし
この規則は、推奨されないリソース・アダプター・メソッド
の使用にフラグを立てます。
推奨されないランタイム
ServerName メソッドを使用しない
なし
この規則
は、com.ibm.websphere.runtime.ServerName クラス
からの推奨されないメソッドの使用にフラグを立てます。
推奨されないスケジューラー
MessageTaskInfo メソッドを使用
しない
なし
この規則
は、com.ibm.websphere.scheduler.MessageTaskInfo
クラスからの推奨されないメソッドの使用にフラグを立てま
す。
推奨されないスケジューラー・メ
ソッドを使用しない
なし
この規則
は、com.ibm.websphere.scheduler.Scheduler クラス
からの推奨されない createBeanTaskInfo() メソッドと
createMessageTaskInfo() メソッドの使用にフラグを立
てます。
推奨されないセキュリティー認証
例外クラスを使用しない
なし
この規則は、推奨されない例外クラス
com.ibm.websphere.security.auth.
MapCredentialFailedException と
com.ibm.websphere.security.auth.
MapCredentialNotSupportedException の使用にフラ
グを立てます。
推奨されないセキュリティー認証
WSPrincipal getCredential メソッド
を使用しない
なし
この規則
は、com.ibm.websphere.security.auth.WSPrincipal
クラスからの推奨されない getCredential() メソッドの使
用にフラグを立てます。
推奨されないセキュリティー
printStackTrace() メソッドを使用
しない
なし
この規則
は、com.ibm.websphere.management.AdminService
クラスと
com.ibm.websphere.management.AdminClient
クラスからの推奨されない
removeNotificationListenerExtended メソッドの使
用にフラグを立てます。
推奨されないセキュリティー
LoginHelper クラスを使用しない
なし
この規則は、非推奨の
com.ibm.ws.security.util.LoginHelper クラスの使
用にフラグを立てます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 43
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されないサーブレット・
キャッシュ・クラスを使用しない
なし
この規則は、推奨されないサーブレット・キャッシュ・クラ
スの使用にフラグを立てます。
推奨されないサーブレット・
キャッシュ IdGenerator メソッド
を使用しない
なし
この規則
は、com.ibm.websphere.servlet.cache.IdGenerator
クラスの非推奨メソッド initialize() および
getSharingPolicy() の使用にフラグを立てます。
推奨されないサーブレット・
キャッシュ MetaDataGenerator 初
期化メソッドを使用しない
なし
この規則は、com.ibm.websphere.servlet.cache.
MetaDataGenerator クラスからの推奨されない initialize()
メソッドの使用にフラグを立てます。
推奨されない
SIMediationBeanMessageContext イ
ンターフェースを使用しない
なし
この規則は、推奨されない
com.ibm.websphere.sib.mediation.
messagecontext.SIMediationBeanMessageContext
インターフェースの使用にフラグを立てます。
推奨されない
SIMessageContextException クラス
を使用しない
あり
この規則は、推奨されない
com.ibm.websphere.sib.mediation.handler.
SIMessageContextException クラスの使用にフラグを立
てます。
クイック・フィックスは、代わりに
MessageContextException を使用するようにコードを変
更します。
推奨されない TransactionControl
インターフェースを使用しない
なし
この規則は、推奨されない
com.ibm.ws.extensionhelper.
TransactionControl インターフェースの使用にフラグを
立てます。
推奨されない UDDI バージョン 2
インターフェースを使用しない
なし
この規則は、UDDI バージョン 2 に関連するパッケージの使
用にフラグを立てます。
推奨されない
UNTGenerateCallback メソッドを
使用しない
あり
この規則は、com.ibm.websphere.wssecurity.
callbackhandler.UNTGenerateCallback クラスからの
推奨されないメソッドの使用にフラグを立てます。
クイック・フィックスは、メソッドを推奨される置き換えに
変更します。
推奨されない WASProduct クラス
を使用しない
なし
この規則は、インストールされた製品の情報および
履歴を取得するために使用されていた非推奨クラス
44 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
com.ibm.websphere.product.WASProduct にフラグを
立てます。
推奨されない Web コンテナー・
カスタム拡張クラスを使用しない
なし
この規則は、com.ibm.servlet パッケージの非推奨 Web
コンテナー・カスタム拡張クラスにフラグを立てます。
推奨されない WebContainer
MBean 操作を使用しない
なし
この規則は、非推奨 WebContainer MBean 操作
startTransports、stopTransports、および
restartWebApplication への参照にフラグを立てます。
推奨されない WebSphere Ant クラ
ス ModuleValidator を使用しない
なし
この規則は、非推奨 WebSphere Ant クラス
com.ibm.websphere.ant.tasks. ModuleValidator
の使用にフラグを立てます。
推奨されない WebSphere Studio
ツール・ランタイム・クラスを使
用しない
なし
この規則は、com.ibm.webtools.runtime パッケージの
非推奨 WebSphere Studio ツール・ランタイム・クラスの使用
にフラグを立てます。
推奨されない JAXWS 2.0 用
WSAddressing クラスを使用しな
い
なし
この規則
は、com.ibm.websphere.wsaddressing.jaxws パッ
ケージの非推奨の JAXWS 2.0 用 WSAddressing クラスにフラ
グを立てます。
推奨されない WsnBatchResult
フィールドを使用しない
あり
この規則
は、com.ibm.websphere.naming.WsnBatchResult ク
ラスの非推奨フィールドの使用にフラグを立てます。
クイック・フィックスは、フィールドを推奨される置き換え
に変更します。
表 13 : Java 非推奨のフィーチャー - V8.0 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
AppDeploymentTask クラスを拡張
しない
なし
この規則
は、com.ibm.websphere.management.application.
client.AppDeploymentTask を拡張するクラスにフラグ
を立てます。
推奨されない AppConstants フィー
ルドを使用しない
なし
この規則
は、com.ibm.websphere.management.application.
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 45
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
AppConstants クラスからの推奨されないフィールドの使用
にフラグを立てます。
推奨されない
AppManagementBaseFactory メソッ
ドを使用しない
なし
この規則
は、com.ibm.websphere.management.application.
AppManagementBaseFactory クラスからの推奨されない
メソッドの使用にフラグを立てます。
推奨されない
com.ibm.websphere.product クラス
を使用しない
なし
この規則は、com.ibm.websphere.product パッケージからの推
奨されないクラスにフラグを立てます。
EditionInfo クラス内の推奨されな
いエレメントを使用しない
なし
この規則
は、com.ibm.websphere.management.application.
EditionInfo クラスからの推奨されないエレメントの使用
にフラグを立てます。
IFilterConfig インターフェース内
の推奨されないエレメントを使用
しない
なし
この規則は、com.ibm.websphere.servlet.filter.
IFilterConfig インターフェースからの推奨されないエレ
メントの使用にフラグを立てます。
AppDeploymentController クラス内
の推奨されないフィールドを使用
しない
なし
この規則は、クラス
com.ibm.websphere.management.application.
client.AppDeploymentController からの推奨されな
いフィールド taskHelperSuffix の使用にフラグを立てま
す。
推奨されない IRequest
isStartAsync() メソッドを使用しな
い
なし
この規則は、インターフェース
com.ibm.websphere.servlet.request.IRequest からの推奨されない
メソッド isStartAsync() の使用にフラグを立てます。
推奨されない WASDirectory メ
ソッドおよびフィールドを使用し
ない
なし
この規則は、推奨されない
com.ibm.websphere.product.WASDirectory メソッド
および関連フィールドにフラグを立てます。
推奨されない WebSphere Studio
Application Developer Integration
Edition のライブラリーを使用しな
い
なし
この規則は、推奨されない WebSphere Studio Application
Developer Integration Edition ライブラリーの使用にフラグを立
てます。
46 | Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス
表 14 : Java 非推奨のフィーチャー - V8.5 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない Common Event
Infrastructure パッケージを使用し
ない
なし
この規則は、推奨されない com.ibm.events パッケージの
API にフラグを立てます。
推奨されない WSSecurityHelper
getLTPACookieFromSSOToken メ
ソッドを使用しない
あり
この規則は、推奨されない
com.ibm.websphere.security.WSSecurityHelper
getLTPACookieFromSSOToken メソッドにフラグを立てま
す。
推奨されない WSSecurityHelper
revokeSSOCookies メソッドを使用
しない
あり
この規則は、推奨されない
com.ibm.websphere.security.WSSecurityHelper
revokeSSOCookies メソッドにフラグを立てます。
表 15 : JSP ファイルに関する非推奨フィーチャー - V7.0 および V8.0 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
推奨されない JSP <tsx> タグを使
用しない
なし
この規則は、JSP ファイルの中で推奨されない <tsx> タグが
使用されている場合にフラグを立てます。
表 16 : XML ファイルに関する非推奨フィーチャー - V7.0 および V8.0 へのマイグレーション
規則名
ク
イッ
ク・
フィッ
クス
行われるアクション
エンティティー Bean の推奨され
ないメソッド・レベルのアクセ
ス・インテントを使用しない
なし
この規則は、エンティティー Bean に対するメソッド・レベル
のアクセス・インテントの使用にフラグを立てます。
IBM デプロイメント記述子拡張の
推奨されない再ロード属性を使用
しない
なし
この規則は、WAR ファイル拡張 (WEB-INF/ibm-web-ext.xmi)
とアプリケーション拡張 (META-INF/ibm-application-ext.xmi)
を含め、IBM デプロイメント記述子拡張の推奨されない
reloadInterval 属性と reloadingEnabled 属性にフラ
グを立てます。
Application Migration Tool | WebSphere Application Server バージョンのマイグレーション規則およびクイック・フィックス | 47
48 | Application Migration Tool | Java SE バージョンのマイグレーション
Java SE バージョンのマイグレーション
「Java コード・レビュー」規則セットの下の 「Java SE マイグレーション (Java SE Migration)」カテゴリーに
は、 J2SE 1.4、J2SE 5.0、または Java SE 6 からの マイグレーション用の規則が含まれます。 マイグレーション
先の Java は、Java SE 6 および Java SE 7 です。 これらの規則は、WebSphere Version to Version マイグレーショ
ン・ツール内に以前あったもので、競合製品のツールで 使用可能になりました。
「Sun Java と IBM Java の互換性の影響」カテゴリーは、IBM のJava ランタイム環境では 使用可能ではない
Sun の API をマイグレーションするための規則セットを提供します。可能な場合、規則は javax.net クラス
または com.ibm.net.ssl クラスを使用するようにコードをマイグレーションします。
選択される規則は、アプリケーションが以前使用していたマイグレーション元の Java ランタイム環境と マイ
グレーション先の WebSphere のバージョンの選択によって異なります。WebSphere Application Server V8.5 の場
合、 マイグレーション先として Java SE 6 または Java SE 7 を選択することができます。
クイック・フィックスが使用可能な場合もあります。 クイック・フィックスのない規則には規則違反のフラグ
が立てられるので、 それらの使用法を評価し、必要な場合は、手動でコードをマイグレーションすることがで
きます。
表 17 : J2SE 5.0 互換性の影響
規則名
クイッ
ク・
フィッ
クス
行われるアクション
JAXP API 使用法の互換性を確認する
なし
JRE 1.4.2 で使用した JAXP API を JRE 5 で使用すると、
互換性の問題が発生する可能性があります。 この規則
は、JAXP に関連するパッケージのインポートを検出し、
使用法を検査できるようにします。
JAXP EntityResolver.resolveEntity() 例
外の互換性を確認する
なし
JAXP EntityResolver.resolveEntity(String,
String) は、例外 SAXException に加えて IOException を
スローするようになりました。 この規則は、欠落してい
る IOException を検出します。
新しい JAXP DOM API を確認する
なし
新規 JAXP DOM API は、次のインターフェースに追加で
きます。
•
•
•
•
•
•
•
org.w3c.dom.Attr
org.w3c.dom.Document
org.w3c.dom.DOMImplementation
org.w3c.dom.Element
org.w3c.dom.Entity
org.w3c.dom.Node
org.w3c.dom.Text
この規則は、これらのインターフェースを実装するクラ
スを検出してフラグを立て、新しいインターフェースを
追加できるようにします。
Application Migration Tool | Java SE バージョンのマイグレーション | 49
規則名
クイッ
ク・
フィッ
クス
行われるアクション
Java オブジェクトのシリアライゼー
ション互換性を確認する
なし
Java 1.4 と Java 5.0 の間で、シリアライゼーションは一
貫性がありません。この規則は、serialVersionUID
フィールドを持たない java.io.Serializable を実装
するクラスを検出します。
IBMJSSEFIPS プロバイダー・クラス
を直接参照しない
なし
IBMJSSEFIPS プロバイダーは IBMJSSE2 サポート
に含まれています。 以前のプロバイダーのクラス
com.ibm.fips.* への参照は除去する必要があります。
この規則は、com.ibm.fips パッケージへの参照の使用を検
出します。
com.ibm.net.ssl パッケージから API を
使用しない
あり
com.ibm.net.ssl パッケージのクラスおよびインター
フェースは javax.net.ssl パッケージのクラスおよ
びインターフェースに置き換えられました。 この規則
は、com.ibm.net.ssl packages への参照の使用を検
出します。
このクイック・フィックスは、パッケージ名を
com.ibm.net.ssl から javax.net.ssl に変更しま
す。
sun.* パッケージから API を使用しな
い
なし
sun.* パッケージの一部の API は JRE 5 で変更さ
れ、JRE 1.4.2 との間に互換性の問題があります。これ
らの API は、開発者が使用するためのものではありませ
ん。この規則は、sun.* パッケージへのすべての参照の
使用を検出します。
JAXP 1.1 内部クラスを使用しない
なし
内部 JAXP クラスが変更されました。こうした内部クラ
スを以下のパッケージで使用しないでください。
1.
2.
3.
4.
5.
org.apache.crimson.*
org.apache.xml.*
org.apache.xalan.*
org.apache.xpath.*
org.apache.xalan.xsltc.*
この規則は、これらのパッケージの使用を検出し、フラ
グを立てます。
ストリング・リテラルで JAXP 1.1
パッケージ名を使用しない
なし
一部の実装パッケージ名は、JAXP 1.1 と JAXP 1.3 の間で
異なります。 この規則は、ストリング・リテラルで使用
されている JAXP 1.1 パッケージ名を検出します。
削除された IBMJSSE API を使用しな
い
なし
IBMJSSE から IBMJSSE2 への変換で、2 つの JSSE クラ
スが除去されました。 この規則は、com.ibm.jsse.
50 | Application Migration Tool | Java SE バージョンのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
KeyManagerFactoryParametersSpec お
よび com.ibm.jsse.SSLContext への参照
の使用を検出します。 com.ibm.net.ssl.
KeyManagerFactoryParametersSpec
は com.ibm.jsse.
KeyManagerFactoryParametersSpec
にマイグレーションされてから使用から
削除されたため、com.ibm.net.ssl.
KeyManagerFactoryParametersSpec もこの規則で
検出されます。
Java の予約語 enum を使用しない
なし
Java 5.0 以降、enum は Java の予約型とされており、変数
名として使用できません。 コード内で enum という名前
の変数を使用している場合には、リネームしなければな
りません。 この規則は、enum という名前の変数および
引数を検出します。
ストリング値を派生させる場合は
BigDecimal toPlainString() メソッドを
明示的に使用する
なし
BigDecimal toString() メソッドの動作は、こ
れまでのバージョンとは異なります。 J2SE 5.0 では
BigDecimal に toPlainString() が追加されま
した。これは、以前のバージョンの toString() メ
ソッドのように動作します。 この規則は、クラス内の
toString() メソッドの暗黙的な使用を検出します。
toString() メソッドの代わりに
BigDecimal toPlainString() メソッドを
使用する
あり
BigDecimal toString() メソッドの動作は、こ
れまでのバージョンとは異なります。 J2SE 5.0 では
BigDecimal に toPlainString() が追加されまし
た。これは、以前のバージョンの toString() メソッド
のように動作します。
このクイック・フィックスは、toString を
toPlainString に変更します。
IBMJSSE2 プロバイダーを使用する
あり
IBMJSSE から IBMJSSE2 への変換で、プロバ
イダー IBMJSSEProvider および JSSEProvider は
IBMJSSEProvider2 に置き換えられます。 この規則
は、com.ibm.jsse.IBMJSSEProvider クラスと
com.ibm.jsse.JSSEProvider クラスへの参照の使用
を検出します。
このクイック・フィックスは、参照を
com.ibm.jsse2.IBMJSSEProvider2 に変更します。
Application Migration Tool | Java SE バージョンのマイグレーション | 51
表 18 : Java SE 6 互換性の影響
規則名
クイッ
ク・
フィッ
クス
行われるアクション
EventHandler への呼び出しの例外ロ
ジックを確認する
なし
Java SE 6 では、EventHandler コンストラクターと
create() メソッドには NULL 以外のパラメーター
が渡される必要があります。この規則は、ロジックが
NullPointerException を適切に処理することを検証できる
ように、コンストラクターおよび create() メソッド呼
び出しにフラグを立てます。
Duration と XMLGregorianCalendar
equals() の互換性を確認する
なし
Duration と XMLGregorianCalendar equals() メソッ
ドの使用を検出します。Java 6 では、渡されたパラメー
ターが NULL の場合に FALSE が戻されるようになりまし
た。 以前は、例外 NullPointerException がスローされまし
た。
FileChannel lock() メソッドの
OverlappingFileLockException を確認
する
なし
Java SE 6 では、FileChannel.lock() メソッド
が OverlappingFileLockException をスロー
します。この規則は、lock() メソッドの呼び出
しで OverlappingFileLockException に対す
る catch ブロックがない場合、またはメソッドに
OverlappingFileLockException の throws 宣言がな
い場合、その呼び出しにフラグを立てます。
JMX ObjectName エレメント内のダブ
ルスラッシュの使用を削除する
なし
JMX ObjectNames のドメイン内でのダブルスラッシュ文
字ストリング ("//") の使用を検出します。
規則名
クイッ
ク・
フィッ
クス
行われるアクション
空の TreeSet add メソッドおよび
TreeMap put メソッドの振る舞いの変
更を確認する
なし
この規則は、java.util.TreeSet または java.util.TreeMap の使
用にフラグを立てます。規則の構成に応じて、これらの
クラスのコンストラクターまたは add()/put() メソッドに
フラグが立てられます。Java 7 ではこれらのメソッドに
新しい振る舞いが追加されています。
AWT 例外ハンドラーの振る舞いの変
更を確認する
なし
この規則は、ストリング・リテラル
sun.awt.exception.handler にフラグを立てま
す。Java 7 では、新しい例外ハンドリング・メカニズム
が追加されています。
File setReadOnly、setWritable、および
canWrite の各メソッドの振る舞いの
変更を確認する
なし
この規則は、java.io.File
setReadOnly()、setWritable(boolean arg)、お
よび setWritable(boolean arg, boolean user)
表 19 : Java SE 7 互換性の影響
52 | Application Migration Tool | Java SE バージョンのマイグレーション
規則名
クイッ
ク・
フィッ
クス
行われるアクション
の各メソッドにフラグを立てます。Java 7 ではこれらの
メソッドに新しい振る舞いが追加されています。
URLConnection または
HttpURLConnection の getInputStream
メソッドの振る舞いの変更を確認す
る
なし
この規則は、URLConnection または
HttpURLConnection の getInputStream() メソッ
ド> にフラグを立てます。Java 7 では、このメソッドに新
しい振る舞いが追加されています。
DatagramChannel の send、receive、お
よび connect の各メソッドの振る舞い
の変更を確認する
なし
この規則は、Java 7 で新しい振る舞いが追加されて
いる java.nio.channels.DatagramChannel
send、receive、および connect の各メソッドの呼び
出しにフラグを立てます。
isLowerCase メソッドおよび
isUpperCase メソッドでの振る舞いの
変更を確認する
なし
この規則は、isLowerCase メソッドおよび
isUpperCase メソッドにフラグを立てます。これらの
メソッドの振る舞いの変更がアプリケーションに影響す
ることがごくわずかにあります。
Locale getDefault メソッドでの振る舞
いの変更を確認する
なし
この規則は、java.util.Locale getDefault() メソッドの呼び出
しにフラグを立てます。これは、このメソッドが新しい
振る舞いを持っているからです。
MouseEvent getButton メソッドでの振
る舞いの変更を確認する
なし
この規則は、java.awt.event.MouseEvent
getButton() メソッドのインスタンスにフラグを立て
ます。これは、このメソッドが新しい振る舞いを持って
いるためです。
ThreadGroup setMaxPriority メソッド
での振る舞いの変更を確認する
なし
この規則は、ThreadGroup オブジェクトの
setMaxPriority メソッドにフラグを立てます。JDK 7
では、このメソッドの振る舞いが変更されました。
Toolkit getPrintJob メソッドでの振る
舞いの変更を確認する
なし
この規則は、java.awt.Toolkit
getPrintJob(...) メソッドのインスタンスにフラグ
を立てます。これは、このメソッドが新しい振る舞いを
持っているからです。
Window setBackground メソッドでの
振る舞いの変更を確認する
なし
この規則は、java.awt.Window setBackground()
メソッドの呼び出しにフラグを立てます。これは、新し
い例外をスローすることで、その振る舞いが変更された
からです。
TypeVisitor インターフェースを実装
しているクラスの確認
なし
この規則
は、javax.lang.model.type.TypeVisitor イン
ターフェースを実装しているクラスにフラグを立てま
す。Java SE 7 では、このインターフェースに新しいメ
ソッドが追加されました。
JDBC インターフェースの新しいメ
ソッドを確認する
なし
この規則は、新しいメソッドを追加した
JDBC インターフェースを実装しているクラ
Application Migration Tool | Java SE バージョンのマイグレーション | 53
規則名
クイッ
ク・
フィッ
クス
行われるアクション
スを検出します。このインターフェースに
は、java.sql.Connection、java.sql.Driver、
java.sql.Statement、および
javax.sql.CommonDataSource が含まれます。
java.lang.Throwable で final として宣
言されたメソッドを定義しない
なし
この規則は、Java 7 で新しい final メソッドとして追加さ
れた addSuppressed メソッドおよびgetSuppressed
メソッドを実装する java.lang.Throwable を拡張す
るクラスを検出します。
Path2D getPathIterator メソッドをオー
バーライドしない
なし
この規則は、Path2D getPathIterator メソッドにフ
ラグを立てます。Java 7 ではこれらのメソッドは final
とマークされるようになりました。
削除された XSLTProcessorApplet クラ
スを使用しない
なし
この規則は、org.apache.xalan.client.
XSLTProcessorApplet クラスの使用を検出します。こ
のクラスは JDK 7 リリースから削除されました。
アプリケーションを Oracle Java ランタイム環境から IBM Java ランタイム環境に マイグレーションする場合
は、以下の規則を実行してください。Oracle Java ランタイムを使用して Liberty プロファイル・サーバーを実
行する 場合は、以下の規則のクイック・フィックスを実行しないでください。
表 20 : Oracle から IBM への互換性の影響
規則名
クイッ
ク・
フィッ
クス
行われるアクション
com.sun.net.ssl.internal パッケージを検
出する
なし
この規則は、使用可能ではなく使用してはならない Java
ファイルの特定の com.sun.net.ssl.internal パッケージの
import ステートメントにフラグを立てます。
com.sun.net.ssl パッケージから API を
使用しない
あり
この規則は、javax.net.ssl パッケージのク
ラスおよびインターフェースに置き換えられた
com.sun.net.ssl パッケージのクラスおよびインター
フェースを検出します。
com.sun.org.apache JAXP 内部クラス
を使用しない
なし
この規則は、IBM Java ランタイム環境で使用可能ではな
い内部 Sun JAXP クラスにフラグを立てます。
ストリング・リテラルで
com.sun.org.apache JAXP パッケージ
名を使用しない
なし
この規則は、ストリング・リテラルで使用されている
com.sun.org.apache JAXP 1.3 パッケージ名を検出し
ます。
com.sun.net.ssl.internal.ssl.Provider を使
用しない
あり
この規則は、com.ibm.jsse.IBMJSSEProvider
に置き換えられる必要がある
規則名
クイッ
ク・
フィッ
クス
行われるアクション
com.sun.net.ssl.internal.ssl.Provider クラス
にフラグを立てます。
com.sun.net.ssl.internal.www.protocol.
https.Handler クラスを使用しない
あり
この規則は、com.ibm.net.ssl.www2.protocol.
https.Handler に置き換えられる必要がある
com.sun.net.ssl.internal.www.protocol.
https.Handler クラスにフラグを立てます。
com.sun.net.ssl.internal.www.protocol
パッケージを使用しない
あり
この規則は、com.ibm.net.ssl.www2.protocol
に置き換えられる必要がある
com.sun.net.ssl.internal.www.protocol パッ
ケージ参照にフラグを立てます。
アプリケーションを Oracle Java ランタイム環境から IBM クラスを含む IBM Java ランタイムに マイグレーショ
ンする場合にのみ、以下の規則を実行してください。例えば、WebSphere Application Server に付属する HP-UX
および Solaris の Java ランタイム環境には、IBM クラスは含まれません。 この規則は、自動ではどの規則セッ
トによっても選択されません。
表 21 : Sun 内部 API
規則名
クイッ
ク・
フィッ
クス
行われるアクション
sun.security.x509 パッケージから API
を使用しない
あり
一部のオペレーティング・システムで
は、sun.security.x509 パッケージのクラスおよび
インターフェースは、com.ibm.security.x509 パッ
ケージのクラスおよびインターフェースに置き換えられ
ます。
トラブルシューティング
ソフトウェア分析プログラムのオプションが表示されない
Application Migration Tool のインストール後、Java、デバッグ、C++、およびプラグイン開発パースペクティブ
のソフトウェア分析プログラムのメニューとツールバー・オプションが新しくなります。他のパースペクティ
ブを使用する際には、これらのオプションは手動で使用可能にしてください。他のパースペクティブをカスタ
マイズするには、以下のステップをすべて実行してください。
1. 使用中のパースペクティブで IDE メニューから「ウィンドウ」 > 「パースペクティブのカスタマイズ」を
選択します。
2. 「パースペクティブのカスタマイズ」ウィンドウで、「コマンド」タブをクリックし「ソフトウェア分析
プログラム」チェック・ボックスを選択してください。Rational Application Developer を実行している場合
には、Rational Software Analyzer チェック・ボックスが表示される場合があります。
3. 「OK」をクリックします。
図 11 : ソフトウェア分析プログラムの可用性
Java EE 構造か JSP を正しく読み取らない
ツールがプロジェクト・ファイルを正しく読み取るためには、プロジェクトが適切なプロジェクト・ファ
セットでセットアップされていなければなりません。例えば、エンタープライズ Bean を含むプロジェクトに
は、EJB モジュール・ファセットがなければなりません。プロジェクト・エクスプローラーでプロジェクトを
右クリックして「プロパティー」を選択することにより、プロジェクトのファセットを確認できます。「プロ
ジェクト・ファセット」プロパティーを選択してください。Web モジュールを含むプロジェクトは動的 Web
プロジェクトでなければなりません。詳しくは、アプリケーションのインポート(11 ページ)を参照してくださ
い。
ロギングとトレース
56 | Application Migration Tool | トラブルシューティング
Application Migration Tool は、エラー情報を 2 つのログ・ファイルに書き込みます。
•
•
ワークスペース・ログ (workspace/.metadata/.log) には、Application Migration Tool によってログに記
録されたメッセージと Rational Software Analyzer によってログに記録されたメッセージが含まれます。
Application Migration Tool のサービス・ログは、workspace/.metadata/.plugins/
com.ibm.ws.appconversion.base ディレクトリーに置かれます。
このログには、すべてのエラー情報と、トレースが使用可能な場合には詳細なトレース情報が含まれま
す。
マイグレーション・ツールのトレースは、IDE を起動するコマンド行または eclipse.ini プロパティー・ファイ
ルで appconversion.trace システム変数を設定すれば使用可能になります。例えば、以下のようにしま
す。
•
コマンド行オプション。Eclipse を開始するコマンド行にシステム変数を以下のように追加します。
•
eclipse.exe -vmargs -Dappconversion.trace=true
eclipse.ini オプション。eclipse.exe ファイルと同じディレクトリーにある eclipse.ini ファイルに次のオ
プションを追加します。
-Dappconversion.trace=true
レポートと履歴
「ソフトウェア分析プログラムの結果 (Software Analyzer Results)」ビューの分析プロバイダーのタブには、選
択した分析履歴をファイルにエクスポートしたりレポートを生成したりするために使用するボタンがありま
す。
エクスポートされる履歴については、結果を生成する場所を指定できます。
生成されるレポートについては、レポートが完了した時にレポートが表示されます。HTML レポートが Web
ブラウザーに表示されます。Eclipse の「設定」にある「一般」 > 「Web ブラウザー」で、Web ブラウザーを
構成できます。
PDF レポートは、デフォルトの PDF ビューアーで表示されます。生成されるファイル
は、workspace/.metadata/.plugins/com.ibm.xtools.analysis.reporting/reports ディレクト
リーに出力されます。
マーカー
マーカーは、Eclipse エディターの左マージンに表示され、マーカーが表示された行のエディターのコンテンツ
に関する情報を提供します。 さまざまなファイル・タイプ用のエディターには、マーカーに関してさまざまな
動作があります。その幾つかをここで説明します。
図 12 : Java エディターの分析規則マーカー
マーカーをクリックしてもポップアップ・ウィンドウは表示されない
この問題は非 Java ベースの規則に影響します。 Java 規則に関しては、マーカーをクリックするとクイック・
フィックスが実行されます。 しかし、XML 規則のマーカーは、クリックしても何もアクションは取られず、
マーカーの上にカーソルを重ねるとヘルプ・テキストが表示されるだけです。 非 Java ファイルでは、「ソフ
Application Migration Tool | トラブルシューティング | 57
トウェア分析プログラムの結果 (Software Analyzer Results)」ビューを使用して「クイック・フィックス」アク
ションを選択してください。
マーカーをダブルクリックするとマーカーが削除される
ファイル・エディターのマーカーをダブルクリックすると、クイック・フィックスを適用せずにマーカーが削
除されます。この場合、分析を再実行すると問題に再度フラグが立ちます。
同一行で複数のマーカーを選択できない
テキストの同一行に複数のマーカーがある時、異なるマーカーに切り替えることができません。 最初のマー
カーのアクションを実行しないと、続くマーカーを選択できません。そのような場合にクイック・フィックス
を適用するには、マーカーに頼るのではなく、「ソフトウェア分析プログラムの結果」ビューを使用して希望
する「クイック・フィックス」アクションを選択するようにしてください。
既知の問題
すべてのカテゴリーにクイック・フィックスを実行
「すべてのカテゴリーにクイック・フィックスを実行」オプションを使用する際には、完了するまで実行さ
せてから別の規則プロバイダーに関して実行するようにしてください。また、「すべてのカテゴリーにクイッ
ク・フィックスを実行」を既に実行中の同じプロバイダーに対してもう一度実行しないようにしてください。
完了するまで待ってください。
「すべてのカテゴリーにクイック・フィックスを実行」オプションを実行してエラーがログに記録されている
ことに気付いた場合は、以下のように、問題を軽減するために Eclipse でできることがいくつかあります。
•
•
•
「ウィンドウ」>「設定」>「一般」>「エディター」で、「エディターを自動的に閉じる」を選択し、「開
いておけるエディターの数」を適度な数に制限します。デフォルト値は 8 です。これで問題ないはずです
が、さらに制限してもかまいません。
エディターがすべて開かれてウィンドウ・ハンドルが使い果たされることがないようにするため
に、「バックグラウンドで実行」を選択することもできます。
「すべてのカテゴリーにクイック・フィックスを実行」を実行中に、Eclipse の自動ビルド機能 (「プロジェ
クト」>「自動的にビルド」) を使用不可にします。「すべてのカテゴリーにクイック・フィックスを実
行」の実行後に、手動でプロジェクトをビルドし、このオプションをもう一度使用可能にします。
同一ノードに関する複数の規則
同一ノードに複数の規則のフラグが立っている際、最初に適用されるクイック・フィックスのみ正しく実行さ
れます。すべてのコードが正しくフィックスされて処理されるようになるまでには、何度も分析を実行するこ
とが必要になるかもしれません。
Linux におけるヘルプからの外部リンクの表示
多くの詳細ヘルプ・ページには、特定の規則に適用される情報への外部参照が含まれています。通常、こう
した情報は Eclipse ヘルプ・ビューよりも外部ブラウザーで表示する方が適しています。Windows プラット
フォームの場合、ヘルプは、デフォルトのブラウザーでこうした外部参照を自動的に起動します。 Linux オ
ペレーティング・システムの場合には、Eclipse ヘルプ・ビューにこうした情報が表示されます。手動によ
り外部ブラウザーでヘルプを開く場合、詳細ヘルプ・ページで、「外部ウィンドウで表示 (Show in external
window)」アイコン (
) を使用します。
Java アーキテクチャー・ディスカバリー規則
「Java Architectural Discovery」規則は、Rational Application Developer 7.5.x ではサポートされていません。
それらの規則は、Eclipse 3.5 以降の API に基づいています。開発環境が Eclipse 3.4.x に基づいている場合に
58 | Application Migration Tool | トラブルシューティング
は、「Java アーキテクチャー・ディスカバリー (Java Architectural Discovery)」規則を選択しないでくださ
い。
結果を無視
ネストされている結果が含まれている、同じ規則に関してフラグが立てられている Java コード・ブロックの先
頭にあるコード行において「結果を無視」を選択すると、ネストされている結果行数がゼロに設定されます。
分析を再実行すると、正しい行数を表示できます。この問題が生じるステートメント例としては、メソッド宣
言と if ステートメントがあります。
.xmi ファイルの「ビュー結果」
.xmi ファイルの「ビュー結果」を選択してファイルを開くときにエラーになる場合は、.xmi ファイルの関連付
けを追加します。「ウィンドウ」>「設定」>「一般」>「エディター」>「ファイルの関連付け」に進み、「追
加...」をクリックして *.xmi を入力します。「XML エディター」または「テキスト・エディター」のどちらか
を選択し、「デフォルト」ボタンをクリックします。「OK」をクリックして保存します。
「カテゴリーなし」プラグイン
Rational Application Developer 7.5 にツールをインストールする場合は、リポジトリー・サイトから「カテゴ
リーなし」を選択しないことをお勧めします。「カテゴリーなし」を選択してしまうと、ツールをアンインス
トールする場合に、以下のプラグインを手動でアンインストールしなければなりません。
•
分析レポート nl1 バージョン
•
分析レポート nl2 バージョン
•
コマンド行分析
•
コマンド行分析 nl1 バージョン
•
コマンド行分析 nl2 バージョン
•
互換フィーチャー
•
Core_feature フィーチャー
•
JEE コード・レビュー
•
JEE コード・レビュー nl1 バージョン
•
JEE コード・レビュー nl2 バージョン
•
J2SE コード・レビュー
•
J2SE コード・レビュー nl1 バージョン
•
J2SE コード・レビュー nl2 バージョン
•
Java アーキテクチャー・ディスカバリー
•
Java コード・レビュー・フィーチャー・トランスレーション
•
Java グローバリゼーション・コード・レビュー
•
Java グローバリゼーション・コード・レビュー nl1 バージョン
•
Java グローバリゼーション・コード・レビュー nl2 バージョン
•
Java セキュリティー・コード・レビュー
•
Java セキュリティー・コード・レビュー nl1 バージョン
•
Java セキュリティー・コード・レビュー nl2 バージョン
•
ODA 互換フィーチャー
Rational Code Analyst Core Services Feature
Rational Software Analyzer Architecture Core
Rational Software Analyzer Code Review Core
Rational Software Analyzer Java Code Review
Rational Software Analyzer Reporting
•
•
•
•
•
Application Migration Tool | トラブルシューティング | 59
•
•
Rational Software Analyzer Reporting ODA
RCA Analysis Feature Translations
この問題は、Eclipse 3.5 以上では起こりません。
Rational Application Developer インストール依存関係の競合
アプリケーション・マイグレーション・ツールのインストールが依存関係の 競合エラーで失敗した場合は、
Rational Application Developer の「コード分析」フィーチャー または「コード・レビュー」フィーチャーを削除
する必要がある場合があります。 エラーの例を以下に示します。
依存関係が競合しているため、インストールを完了できませ
ん。
インストール中のソフトウェア: Application Migration Tool - WebSphere Version to
Version 3.0.1.201111170830 (com.ibm.ws.appconversion_feature.was2was.feature.group
3.0.1.201111170830)
現在インストールされているソフトウェア: Shared profile 1.0.0.1322626949228
(SharedProfile_bootProfile 1.0.0.1322626949228)
次のプラグインのうち 1 度にインストールできるのは 1 つのみです:
Analysis History Data Source ODA Runtime Driver 7.0.100.v20100517_2203
(com.ibm.rsar.analysis.reporting.oda 7.0.100.v20100517_2203)
Analysis History Data Source ODA Runtime Driver 7.0.100.201111170830
(com.ibm.rsar.analysis.reporting.oda 7.0.100.201111170830)
解決するには、Rational Application Developer の「コード分析」フィーチャー または「コード・レ
ビュー」フィーチャーをアンインストールします。使用される名前は、 Rational 製品のバージョンによって
異なります。 これには、IBM Installation Manager を始動し、「変更」オプションを選択します。 「パッケー
ジの変更」リストから Rational Application Developer インストールを選択します。 「次へ」を選択し、フィー
チャーのリストから「コード分析」の選択をクリアします。 次へをクリックし、「コード分析」が削除対象の
フィーチャー・リストにあることを確認します。 フィーチャーの削除を続行します。
Installation Manager が完了したら、ツールキットのインストールを再試行してください。
Windows で Java コード・レビューの重大度の要約 HTML レポートの表示が失敗する
SGV イメージ・ファイルをサポートする Internet Explorer 9 を使用していない場合は、Windows で 「Java コー
ド・レビューの重大度の要約」HTML レポートが Eclipse HTML ビューアーに表示されません。 この問題を
回避するには、2 つの方法があります。 HTML の代わりに PDF ファイルの生成を選択できます。 または、
ビューを右クリックして 「ショートカットの作成」を選択し、Windows で SVG ファイルをサポートする
FireFox などのブラウザーを使用してショートカットを開き、HTML ファイルを生成できます。
60 | Application Migration Tool | 著作権および商標
著作権および商標
©
Copyright IBM Corporation 2009, 2012.
本書に含まれる情報は、情報提供のみを目的に提供されています。 本文書の情報の完全性および正確性につ
いては最善の努力を払いましたが、本文書の内容は法律上の瑕疵担保責任を含むすべての明示もしくは黙示
の保証責任を負うことなく、現存するままの状態で提供されます。 また、本書は IBM の現在の製品プランま
たは戦略に基づくものです。この製品プランまたは戦略は予告なく変更されることがあります。 IBM は本文
書およびその他関連文書の使用に起因するいかなる損害についても責任を負いません。 本文書は、IBM (また
は IBM のサプライヤーまたはライセンサー) にいかなる保証責任を負わせるものではなく、また、IBM ソフト
ウェアの使用に際し適用される、プログラムのご使用条件の内容も変更するものではありません。
本書に記載の製品、プログラム、またはサービスが日本においては提供されていない場合があります。 日本で
利用可能な製品、プログラム、またはサービスについては、日本 IBM の営業担当員にお尋ねください。 本書
で言及されている製品のリリース日および性能は、市場機会やその他の要因に基づいて、IBM の判断により随
時変更される場合があります。 また、それらによって、今後その製品または機能が利用できるようになること
を IBM が確約するものではありません。 本文書は、ここで提供される情報に基づいてお客様が行った何らか
の行動によって、特定の売り上げ、利益の増加、節約、またはその他の結果がもたらされることを、表明また
は暗示するものではありません。
本書に含まれるパフォーマンス・データは、管理環境下で標準の IBM ベンチマーク を使用し得られた測定
結果と予測に基づくものです。 ユーザーが実際に得られるスループットまたはパフォーマンスは、ユーザー
のジョブ・ストリームにおけるマルチプログラミングの量、I/O 構成、記憶域構成、および処理されるワーク
ロードなどの考慮事項を含む多くの要因によって異なります。 したがって、個々のユーザーがここで述べるよ
うな結果を得られるという保証はありません。
IBM、IBM ロゴ、developerWorks、Passport Advantage、Rational、および WebSphere は、International Business
Machines Corporation の米国およびその他の国における商標です。
Java およびすべての Java 関連の商標およびロゴは Oracle やその関連会社の米国およびその他の国における商
標または登録商標です。
他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。
Fly UP