競合製品からのマイグレーション用 Application Migration Tool (Rational Software Analyzer )
by user
Comments
Transcript
競合製品からのマイグレーション用 Application Migration Tool (Rational Software Analyzer )
WebSphere Application Server 競合製品からのマイグレーション用 Application Migration Tool (Rational Software Analyzer テクノロジーを使用) バージョン 3.5.1 2012 年12 月3 日 共同作業: IBM ソフトウェア・グループ、アプリケーションおよび統合ミドルウェア・ソフトウェア IBM ソフトウェア・グループ、Rational ソフトウェア © Copyright IBM Corp. 2009 年, 2012 年 2 | Application Migration Tool | 目次 目次 概説 ......................................................................................................................................4 このリリースの新機能.........................................................................................................5 バージョン 3.5.1..................................................................................................................................... 5 サポート.................................................................................................................................7 マイグレーション・ツールのインストールと更新.........................................................8 アプリケーションのインポート.......................................................................................12 共用 Java プロジェクト...................................................................................................................... 13 EAR レベルのライブラリー...................................................................................................13 Web モジュール・ライブラリー........................................................................................... 14 Java EE ランタイム・ライブラリーの構成......................................................................................14 分析用のマイグレーション・ツールの構成...................................................................17 マイグレーションのためのコード分析...........................................................................23 コード品質を最適化するための追加規則の実行...........................................................25 WebSphere Application Developer Tools for Eclipse......................................................26 WebLogic から WebSphere Application Server への規則とクイック・フィックス..............................................................................27 WebLogic WebLogic WebLogic WebLogic Java コード・レビュー規則..............................................................................................27 JSP コード・レビュー規則...............................................................................................32 XML ファイル・レビュー規則........................................................................................33 クラスパス・レビュー規則..............................................................................................37 JBoss から WebSphere Application Server への規則とクイック・フィックス........ 38 JBoss JBoss JBoss JBoss Java コード・レビューの規則................................................................................................. 38 JSP コード・レビュー規則...................................................................................................... 39 XML ファイル・レビュー規則............................................................................................... 40 クラスパス・レビューの規則................................................................................................. 42 Oracle から WebSphere Application Server への規則およびクイック・フィックス......................................................................43 Oracle Java コード・レビューの規則................................................................................................43 Oracle XML ファイル・レビューの規則.......................................................................................... 44 Oracle JSP コード・レビューの規則................................................................................................. 47 Apache Tomcat から WebSphere Application Server への規則およびクイック・フィックス......................................................................48 Apache Tomcat Java コード・レビュー規則..................................................................................... 48 Apache Tomcat XML コード・レビュー規則................................................................................... 49 Apache Tomcat JSP ファイル・コード・レビュー規則.................................................................. 50 Java SE バージョンのマイグレーション....................................................................... 51 フレームワークのマイグレーション...............................................................................58 Framework XML - Spring ベスト・プラクティス規則.................................................................... 58 トラブルシューティング...................................................................................................60 ソフトウェア分析プログラムのオプションが表示されない........................................................ 60 Java EE 構造か JSP を正しく読み取らない..................................................................................... 60 Application Migration Tool | 目次 | 3 ロギングとトレース............................................................................................................................ 60 レポートと履歴.................................................................................................................................... 61 マーカー................................................................................................................................................ 61 既知の問題............................................................................................................................................ 62 著作権および商標...............................................................................................................65 4 | Application Migration Tool | 概説 概説 サード・パーティーのアプリケーション・サーバーから別のプラットフォームへ、Java Platform, Enterprise Edition (Java EE) アプリケーションを変換するには、コストと時間がかかります。 そうした変換プロセスに は、Java ソース・コード、JavaServer Pages (JSP)、およびデプロイメント記述子を変更することが含まれま す。 Application Migration Toolkit は、この種のマイグレーションの実行を支援することができます。 Application Migration Tool は、IBM® WebSphere® Application Server Migration Toolkit の一部です。 このツール キットは、あるアプリケーション・サーバーから IBM WebSphere Application Server へのマイグレーションにお いてお客様を支援するための、全体的戦略および計画の一部です。 この文書では、競合製品からのマイグレーション・ツールを取り上げています。以下のマイグレーション・ ツールが含まれます。 • • • • Application Migration Tool - JBoss AS to WebSphere Application Migration Tool - OracleAS to WebSphere Application Migration Tool - for Apache Tomcat to WebSphere Application Migration Tool - WebLogic to WebSphere このツールのベースである IBM Rational® Software Analyzer は、アプリケーションの正常性を識別し、分析し、 最適化するための単一ソリューションです。 マイグレーション・ツールは Rational Software Analyzer のスキャ ン機能を使用して、マイグレーションされる特定アプリケーションに固有の特定の構造を探索します。 そし てこのツールは、そのデータをレビューおよび変更する手段を提供して、アプリケーションが IBM WebSphere Application Server 上で稼働できるようにします。 本書は、変換プロセスを支援するための、競合製品からのマイグレーション・ツールのインストール方法、構 成方法、および使用方法を説明しています。 このツールは、Oracle® WebLogic、JBoss、Oracle Application Server、または Apache Tomcat でホストされるアプ リケーションと、WebSphere Application Server でホストされるアプリケーションとの多くの既知の相違につい て、フラグを立てます。多くの場合、ツールはこれら鍵となる相違を自動的に変換できます。 ツールがフィッ クスを実行できない場合は、設計変更が必要なところを知るうえで手掛かりになるように、問題のファイルに フラグが立てられます。 マイグレーション・ツールがサポートするのは、以下のとおりです。 • • • • • • • • • • • WebSphere Application Server バージョン 7、8、または 8.5 へのアプリケーションのマイグレーション WebLogic Java、JSP、およびクラスパス作成物 (Java EE 5 とそれ以前のバージョン) のマイグレーション WebLogic デプロイメント記述子 (Java EE 5 とそれ以前のバージョン) のマイグレーション JBoss Java およびクラスパス作成物 (Java EE 5 とそれ以前のバージョン) のマイグレーション JBoss デプロイメント記述子 (Java EE 5 とそれ以前のバージョン) のマイグレーション OracleAS Java および JSP 成果物 (Java EE 5 とそれ以前のバージョン) のマイグレーション OracleAS デプロイメント記述子 (Java EE 5 とそれ以前のバージョン) のマイグレーション Apache Tomcat Java および JSP 成果物 (Java EE 5 とそれ以前のバージョン) のマイグレーション アプリケーションに含まれている Apache Tomcat Context XML 情報のマイグレーション Apache Tomcat 6.0 または 7.0 からのマイグレーション Java SE 1.4、5、または 6 から Java 6 または Java 7 への移行時の Java SE マイグレーション問題 Application Migration Tool - WebSphere Version to Version フィーチャーに関するドキュメンテーションは、その ツールに付属の別の文書で取り上げています。 WebSphere Application Server 関連のマイグレーション・トピックに関する包括的な情報が掲載され た「WebSphere Application Server V8.5 Migration Guide」が利用可能になりました。この文書では、例に Application Migration Toolkit が使用されており、豊富な情報が提供されています。 このリリースの新機能 バージョン 3.5.1 Application Migration Tool バージョン 3.5.1 では、競合力のあるツールのために次の機能拡張が行われていま す。 新しい Apache Tomcat 規則 • Web コンテナーおよび EJB コンテナー内でスレッドを開始しない • JSP フラグメントで .jsp 拡張子を使用しない • XML ファイルに無効な初期コンテキスト java:/comp を使用しない 新しい JBoss 規則 • Web コンテナーおよび EJB コンテナー内でスレッドを開始しない • JSP フラグメントで .jsp 拡張子を使用しない • EJB ローカル参照 JNDI 名の定義に WebSphere バインディングを使用する 新しい Oracle 規則 • Web コンテナーおよび EJB コンテナー内でスレッドを開始しない • JSP フラグメントで .jsp 拡張子を使用しない 新しい WebLogic 規則 • Apache Beehive パッケージを検出する • デフォルトの Java パッケージに EJB クラスを入れない • Web コンテナーおよび EJB コンテナー内でスレッドを開始しない • Apache XMLBeans パッケージを使用しない • WebLogic ServletAuthentication クラスを使用しない • Oracle 自動生成キーを検出する • EJB ローカル参照 JNDI 名の定義に WebSphere バインディングを使用する 新しいフレームワーク規則 • contextConfigLocation context-param エレメントで定義された Spring 構成を確認する レポートの追加 HTML および PDF のレポート機能が、XML、JSP、およびクラスパスの規則に利用可能になりました。 これ らのレポート・タイプは、以前のリリースでは Java 規則のみに利用可能でした。 • JSP コード・レビューの結果 • JSP コード・レビューの重大度の要約 • カテゴリー別 JSP コード・レビューの重大度 • XML ファイル・レビューの結果 • XML ファイル・レビューの無視された結果 • XML ファイル・レビューの重大度の要約 • カテゴリー別 XML ファイル・レビューの重大度 • クラスパス・レビューの結果 • クラスパス・レビューの重大度の要約 • カテゴリー別クラスパス・レビューの重大度 サポート このリリースには、バグ修正とフィールド・サポートの修正が追加されました。 Eclipse 4.2 をサポートします。 サポート この Application Migration Tool は、WebLogic、OracleAS、JBoss、または Apache Tomcat から WebSphere Application Server へマイグレーションされるアプリケーションの数々の既知の問題をスキャンします。可能な 場合、コードをより移植可能なソリューションに変更するクイック・フィックスが提供されます。サポート されている WebLogic 規則とクイック・フィックスは、WebLogic から WebSphere Application Server への規則 とクイック・フィックス(27 ページ)というセクションで説明します。サポートされている JBoss 規則とク イック・フィックスは、JBoss から WebSphere Application Server への規則とクイック・フィックス(38 ペー ジ)というセクションで説明します。サポートされている Oracle 規則とクイック・フィックスは、Oracle から WebSphere Application Server への規則およびクイック・フィックス(43 ページ)というセクションで説明し ます。サポートされている Tomcat 規則とクイック・フィックスは、Apache Tomcat から WebSphere Application Server への規則およびクイック・フィックス(48 ページ)というセクションで説明します。新しい規則とク イック・フィックスが使用可能になると、developerWorks™ で更新されます。 マイグレーション・ツールで「クイック・フィックスのプレビュー」サポートを使用すると、提案されるコー ドの変更を受け入れるかどうかを決定するのに役立ちます。また、規則のヘルプ情報を表示して、クイック・ フィックスを実行するかどうか決定できます。常に、ソース・コードのバックアップ・コピーを取ってから、 マイグレーションを開始するようにしてください。 規則の中には、設計変更およびコードの書き直しを必要とするコードがスキャンによって検出されるものもあ ります。ツールはこれらの問題の場所を強調表示しますが、クイック・フィックスは提供しません。 このツールは、すべての問題を識別するわけではありません。ツールによってフラグが立てられていない問題 が生じる場合、Application Migration Tool フォーラムを介してフィードバックしてください。このフォーラム には書き込み入力が可能であり、質問に対する回答も得ることができます。(http://www.ibm.com/developerworks/ forums/forum.jspa?forumID=2106)。 IBM パスポート・アドバンテージにアクセスできる場合、お客様の問題レポートを開けます。他のユーザー が、フォーラムを使用して、問題を報告したり提案や質問をしたりしています。 Application Migration Tools は、Eclipse および Rational Application Developer でサポートされている Windows オ ペレーティング・システムおよび Linux オペレーティング・システムでサポートされています。 8 | Application Migration Tool | マイグレーション・ツールのインストールと更新 マイグレーション・ツールのインストールと更新 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 です。 Application Migration Tool をインストールまたは更新するには、以下の手順を実行します。 1. マイグレーションする特定のアプリケーション・サーバー用の最新バージョンの Application Migration Tool をダウンロードし、ローカルに保存します。Application Migration Tool は、developerWorks サイト (http:// www.ibm.com/developerworks/websphere/downloads/migration_toolkit.html) から入手できます。 2. IDE を開始します。 3. マイグレーション・ツールのバージョン 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 に アップグレードできます。 4. 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 注: 入手可能なプラグインのカタログは大規模であるため、ダウンロードに数分かかることがあります。 Application Migration Tool | マイグレーション・ツールのインストールと更新 | 9 図 1 : Eclipse 4.2 プラグイン・インストール・ダイアログ 5. 以下のステップを行って、ダウンロードしたリポジトリーをインストールします。 a) 「ヘルプ」>「新規ソフトウェアのインストール...」を選択してインストール・ダイアログを開 き、Application Migration Toolkit をインストールまたは更新します。 b) 「追加」をクリックして、更新サイトのダウンロード・ファイルを指示します。 c) 「サイトの追加」ウィンドウで、図 2 : ツールのインストールに示されている以下の情報を入力しま す。 • 名前: Application Migration Tool • ロケーション 「アーカイブ」ボタンを使用して、ダウンロードした圧縮ファイルを見つけます。 10 | Application Migration Tool | マイグレーション・ツールのインストールと更新 図 2 : ツールのインストール d) 「OK」をクリックします。 6. 「インストール」ウィンドウで、図 3 : プラグインの選択に示されている以下のアクションを実行します。 a) メインフィーチャーとその他の組み込みフィーチャーの両方を選択するための「Application Migration Tool」のチェック・ボックスを選択します。その他の組み込みフィーチャーは、共通フィー チャー、JRE フィーチャー、およびフレームワーク・フィーチャーです。アップグレード時には、共通 フィーチャーを組み込むことが特に重要です。 b) 「必要なソフトウェアを検索するために、インストール時にすべての更新サイトに接続する」ための チェック・ボックスを選択し、「次へ」をクリックします。 注: Rational Application Developer 7.5 にインストールする場合は、リポジトリー・サイトから「カテゴリー なし」を選択しないことをお勧めします。これらのプラグインは、選択内容にかかわらず自動的にインス トールされます。「カテゴリーなし」を選択すると、Application Migration Tool をアンインストールする場 合に、プラグインが自動的にはアンインストールされなくなります。 7. 「インストールの詳細」パネルで「次へ」をクリックします。 8. 「ライセンスの確認」パネルで、条件を読み、ご使用条件を受け入れます (それが提示された場合)。「終了 (Finish)」をクリックします。インストール状況ウィンドウに、インストールの進行状況が表示されます。 Application Migration Tool | マイグレーション・ツールのインストールと更新 | 11 図 3 : プラグインの選択 9. 「ソフトウェア更新」ウィンドウが表示されたら IDE を再始動します。 図 4 : 再始動ダイアログ 12 | Application Migration Tool | アプリケーションのインポート アプリケーションのインポート マイグレーションに関してアプリケーションを分析するには、アプリケーションが 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 プロジェクト」オプションを使用して作成します。 「ファイル」>「インポート...」オ プションを使用して、ソース・ファイルをプロジェクト内の正しい場所にコピーします。 Application Migration Tool | アプリケーションのインポート | 13 プロジェクトを構造化する上で、以下のガイドラインを検討してください。 • 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 プロジェクトを組み込みます。 14 | Application Migration Tool | アプリケーションのインポート 図 5 : 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. 左側の「サーバー」 > 「ランタイム環境」項目にナビゲートします。 Application Migration Tool | アプリケーションのインポート | 15 図 6 : サーバー・ランタイム環境 3. 「追加」をクリックします。「基本」 > 「J2EE ランタイム・ライブラリー」を選択します。 4. 次のウィザード・ページで、「参照」をクリックしてライブラリー・ロケーションを選択し、ご使用の WebSphere Application Server インストールの dev/JavaEE フォルダーを位置指定して、該当する Java EE バージョンを選択します。そのフォルダーには、Java EE API のある j2ee.jar ファイルが含まれていま す。 Web または EJB プロジェクトでこのランタイム・ライブラリーを使用するには、プロジェクト・プロパ ティー・ダイアログに移動します。 「プロジェクト」ビューで該当するプロジェクトを右クリックし、「プロ パティー」を選択して「ターゲット・ランタイム」項目を選択します。 図 7 : ターゲット・ランタイム 「ターゲット・ランタイム」ウィンドウで、最近構成した Java EE ランタイム・ライブラリーの隣にある チェック・ボックスを選択して、「OK」をクリックします。 WebSphere Application Server Developer Tools がインストールされている場合には、WebSphere Application Server と Liberty Profile をターゲットにすることで、同じ効果が得られます。 分析用のマイグレーション・ツールの構成 実行する規則のセットを定義し、ワークスペース内での分析のスコープを定義するために、ツールを構成す ることができます。 スコープは、プロジェクト、作業セット、またはワークスペース全体とすることができ ます。 スコープを定義すると、分析構成を保存して、後で使用したり変更したりできます。 マイグレーショ ン・ツールがインストールされていれば、分析を構成して実行するための新たな分析オプションを使用できま す。 Eclipse の「実行」メニュー、「起動」ツールバー、およびエクスプローラーのポップアップ・メニュー にあるオプションにアクセスできます。 以下の図表は、Application Migration Tool を使用して分析を実行でき る、各種の方法を示しています。 Eclipse メニューから: 「Eclipse の起動 (Launch Eclipse)」ツールバーから: エクスプローラーのポップアップ・メニューから: 図 8 : ツールの実行のためのオプション 18 | Application Migration Tool | 分析用のマイグレーション・ツールの構成 ソフトウェア分析プログラム (Software Analyzer) のオプションが表示されない場合は、ソフトウェア分析プロ グラムのオプションが表示されない(60 ページ)を参照してください。 ツールバーを使用して分析を構成するには、以下のステップを実行します。 1. ツールバーで、「ソフトウェア分析プログラム (Software Analyzer)」( ) > 「ソフトウェア分析プログラ ムの構成 (Software Analyzer Configurations)」を選択して、メイン構成ダイアログを表示します。 ダイアログ内のアイコンを使用することにより、分析の構成を追加したり除去したりすることができま す。 2. 構成リストで、「ソフトウェア分析プログラム (Software Analyzer)」を選択します。その後、「新規」 クリックします。ダイアログの右側が切り替わって、基本構成インターフェースが表示されます。 を Application Migration Tool | 分析用のマイグレーション・ツールの構成 | 19 3. 「ソフトウェア分析プログラムの構成 (Software Analyzer Configuration)」ダイアログで、「AppMigration」 など、構成の名前を入力します。 4. ワークスペース内のすべてのプロジェクトをスキャンするには、「スコープ (Scope)」タブで、「ワークス ペース全体の分析」を選択します。 作業セットまたは、選択したプロジェクトを分析する場合は、このダイアログで他のオプションを使用す ることにより、分析のスコープを限定することができます。 ヒント: エクスプローラーのポップアップ・メニューを使って分析を実行するときは、分析のスコープは、 メニュー項目が選択されたプロジェクト内のノードに限定されます。これによって、限定されたコードの セットに対して素早く分析を実行することができます。 5. 「規則」タブでは、「規則セット」リストを使用して、実行する分析のタイプを選択します。 実行する 個々の規則を選択することもできます。 ヒント: 規則に関する追加情報を得るには、その規則を強調表示して F1 を押してください。 その規則のヘ ルプが構成ダイアログに表示されます。 最初のヘルプ・ページには、簡略説明と、詳細情報へのリンクが あります。 20 | Application Migration Tool | 分析用のマイグレーション・ツールの構成 マイグレーションに関連した規則セットには、WebLogic アプリケーション・マイグレーション、JBoss ア プリケーション・マイグレーション、Oracle アプリケーション・マイグレーション、Tomcat アプリケー ション・マイグレーションの 4 つがあります。 これらの規則セットのいずれかからすべての規則を自動的に選択するには、リストからいずれかを選択し て、「設定」をクリックします。 マイグレーション・ツールは、以下の分析プロバイダーのもとに、規則を保持しています。 • クラスパス・レビュー • Java コード・レビュー • JSP コード・レビュー • XML ファイル・レビュー 規則セットを選択し、「設定...」ボタンを押すと、 必要な Java マイグレーション規則を選択するためのダ イアログが表示されます。 Application Migration Tool | 分析用のマイグレーション・ツールの構成 | 21 マイグレーション先の 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) 「分析」ボタンをクリックします。 選択解除された規則は、次の分析に含まれません。 規則によっては、追加の構成オプションがあります。 規則と共に構成オプションが選択されるときに、規則の プロパティーが規則のリストの下の「プロパティー」タブに表示されます。 例は、Web サービス規則の規則 プロパティーを示しています。プロパティーを更新しない場合には、規則はデフォルト値を使用します。 マイグレーションのためのコード分析 分析を実行して結果を表示します。 1. 分析を開始するには、「構成 (Configuration)」ダイアログの「分析」をクリックしてください。 2. 結果は、「ソフトウェア分析結果 (Software Analysis Results)」ビューに表示されます。 結果ビューの内容は、実行する規則によって異なる可能性があります。マイグレーション・ツールで生成され る結果は、以下のいずれかのタブに表示されます。 パネルに何も結果が表示されない場合、スキャン中に何も問題が見つからなかったということを示します。 個々の結果を右クリックすると、問題が発生しているソース・コードの表示や、提供されているフィックスで 問題を訂正するなどのオプションが表示されます。 すべての規則ですべてのアクションが使用可能というわけではありませんが、以下のアクションが使用可能で す。 • 「結果の表示 (View Result)」 - 規則のトリガーになったソース・ファイルを表示するエディターを開 きます。問題の原因が強調表示され、規則違反アイコンがエディターの左マージンに表示されます。 • 「クイック・フィックス」 - 結果リスト・アイコン ( ) に「電球」も重なって表示されている場合、そ の規則にはクイック・フィックスがあることを示しています。このオプションを選択すると、影響される Java コード、XML ファイル、JSP またはマニフェスト・ファイルを修正する変換が実行され、WebSphere Application Server で実行できるようになります。クイック・フィックスは、コードを直接変更することも、 フィックスを完了するために必要なステップを示すこともあります。 • 「クイック・フィックスのプレビュー」 - このオプションは、オリジナルのコードとクイック・フィックス 適用後のコードを横並びに比較するための表示がサポートされている規則で使用可能です。このオプショ ンにより、変更を行う前に変更点を確認できます。 いくつかのクイック・フィックスでは、複数のファイルを修正します。複数のファイルに影響するフィッ クスで「クイック・フィックスのプレビュー」を選択すると、「比較 (Compare)」ビューの「構造比較 (Structure Compare)」部分にそれらのファイルが表示されます。それぞれのファイルをダブルクリックする と、相違点が表示されます。 • 「結果を無視」 - このオプションは、コードを変更せずにリストから規則を削除します。Java ファイルの場 合、コメント・アノテーションがファイルに追加され、その後に実行される分析では規則がトリガーされ なくなります。 • 「すべてにクイック・フィックスを実行」 - このオプションは、指定された規則で問題とされるものすべて を解決します。 • 「すべてのカテゴリーにクイック・フィックスを実行」 - このオプションでは、規則が属するカテゴリー に対して指定されたすべてのクイック・フィックスが実行されます。規則は、「すべてのカテゴリーにク イック・フィックスを実行」オプションでそのクイック・フィックスが実行されるためには、「すべてに クイック・フィックスを実行」が有効になっていなければなりません。例えば、Java 規則でこのオプショ ンを選択した場合、「すべてにクイック・フィックスを実行」オプションのあるすべての Java 規則のク イック・フィックスが実行されます。 それぞれの結果の選択に応じて、コンテキスト・ヘルプが「ヘルプ」ビューに表示されます。最初のパネル簡 略説明です。「詳しいヘルプ」をクリックすれば、さらに詳細な情報が得られます。F1 を押すと、「ヘルプ」 ビューがまだ表示されていない場合には開きます。 コード品質を最適化するための追加規則の実行 クイック・フィックスを実行するかまたは人手によるコード変更を加え、マイグレーション・ツールで明らか にされた問題を修正した後に、コードの品質を改良するのに役立つ Rational Software Analyzer 製品によって追 加の規則が提供されます。これらの規則は、変換には必要とされません。 図 9 : その他のアーキテクチャー上 の規則および Java 規則は、追加の規則の例を示しています。 図 9 : その他のアーキテクチャー上の規則および Java 規則 新しい分析構成を作成するか、または既存のものを変更することによって、これらの規則にアクセスします。 これらの規則は、Application Migration Tool 規則セットの一部として自動的には選択されません。 選択した規則を実行し、必要な変更がなされたら、更新されたアプリケーションをエクスポート し、WebSphere Application Server でテストする必要があります。 Rational Application Developer を使用している 場合には、デプロイメントを作成して Rational Application Developer 環境内でアプリケーションをテストするの に使用可能なツールがあります。 26 | Application Migration Tool | WebSphere Application Developer Tools for Eclipse 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 プ ロファイル: フィーチャー管理 を参照してください。 WebLogic から WebSphere Application Server への規則と クイック・フィックス Application Migration Tool - WebLogic to WebSphere フィーチャーは、Java コード、JSP コード、デプロイメント 記述子、および Web サービス・デプロイメント記述子を、一連の分析の一部として評価します。 「WebLogic アプリケーション・マイグレーション」規則セットを選択すると、 WebLogic 固有の規則、フレー ムワーク規則、Java SE 規則を選択することができます。 このセクションでは、WebLogic 固有の規則について 説明します。 Java SE 規則については、Java SE バージョンのマイグレーション(51 ページ)で説明します。 選択する Java SE 規則は、規則セットを選択するときの Java ランタイム環境構成のマイグレーション元とマ イグレーション先によって異なります。 フレームワーク規則については、フレームワークのマイグレーショ ン(58 ページ)で説明します。 WebLogic Java コード・レビュー規則 Java コード・レビューの一連の規則では、WebLogic から WebSphere コードへのマイグレーション・カテゴ リーには複数の規則が含まれます。詳細については、構成ダイアログまたは結果ビューアーで規則を表示して いるときに F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション Apache Beehive パッケージを 検出する なし この規則は、Apache Beehive パッケージ (org.apache.beehive) の 使用を検出します。 デフォルトの Java パッケージ に EJB クラスを入れない なし この規則は、デフォルトの Java パッケージ内にある EJB を定 義する Java クラスを検出します。WebSphere では、EJB をデ フォルトの Java パッケージに入れることはできません。 Web コンテナーおよび EJB コ ンテナー内でスレッドを開始 しない なし この規則は、Web モジュールまたは EJB モジュール内でスレッ ドを開始または実行するコードを検出します。 Apache XMLBeans パッケージ を使用しない なし この規則は、Apache XMLBeans パッケージ org.apache.xmlbeans への参照を検出します。 Commons Logging システム・ レベル・プロパティーを使用 しない あり この規則は、システム・プロパティーを使用する commons logging 実装クラスの設定を検出します。 無効な JPA インポートを使用 しない なし クイック・フィックスはエントリーを削除します。 この規則は、相当する openJPA インポートのない特定の kodo インポート・ステートメントの使用を検出します。 これらの参照にはフラグが立てられるので、それらの使用法を 評価し手動でマイグレーションすることができます。 28 | Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション JNDI 名ルックアップを使用し てランタイム MBean サーバー を参照しない なし この規則は、ランタイム MBean サーバーの JNDI 名として WebLogic が提供するストリング・リテラル「java:comp/env/ jmx/runtime」を検出します。このルックアップは、WebSphere Application Server では機能しません。 openJPA に相当するものを持 たない Kodo プロパティーを 使用しない あり この規則は、Java ファイル内で kodo.* で始まるものの、相当 する openJPA 値のない JPA プロパティーを検出します。 非マッピング weblogic.apache パッケージを使用しない なし クイック・フィックスはこれらのプロパティーを削除します。 この規則は、weblogic.apache で始まるクラス・パッケージ でクラスがオープン・ソース Apache クラスにマップしていな いクラスのインポートとコード参照にフラグを立てます。 ユーザーは、コードを変更して別のクラスを使用するようにし なければなりません。詳しくは、規則のヘルプを参照してくだ さい。 移植不可能な JPA インポート を使用しない あり この規則は、WebLogic 固有の kodo インポート・ステートメン トを検出します。 クイック・フィックスは、それらを openJPA 相当インポート・ ステートメントに置き換えます。 挿入される JPA エレメン トに EntityManager または EntityManagerFactory のサブク ラスを使用しない あり この規則は、挿入可能なタイプが EntityManager また は EntityManagerFactory のサブクラスであるにも関 わらず挿入されている JPA PersistenceContext または PeristenceUnit を検出します。 クイック・フィックスは、標準 JPA オブジェクトを使用するよ うにクラスを変更します。 JMX オブジェクト名に WebLogic ドメインを使用しな い なし この規則は、Java コード内で「com.bea」から始まるストリン グ・リテラルを検出します。 このストリングは、WebLogic JMX ドメインを参照するために使用できますが、WebSphere Application Server ではそのように使用できません。 CMT Bean からの UserTransaction インター フェースを使用しない なし この規則は、コンテナー管理トランザクション・エンター プライズ Bean 内の ctx.lookup('javax.transaction. UserTransaction') への参照を検出します。CMT Bean から の UserTransaction オブジェクトへの参照は許可されてい ません。 これらの参照にはフラグが立てられるので、作業者はこの Java EE 違反を削除できます。 Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス | 29 規則名 クイッ ク・ フィッ クス 行われるアクション weblogic.apache パッケージを 使用しない あり この規則は、weblogic.apache で始まるクラス・パッケージ でクラスが org.apache クラスに直接マップしているクラス のインポートとコード参照にフラグを立てます。 クイック・フィックスは、コードを org.apache に変更しま す。適切な Apache オープン・ソース .jar ファイルをダウンロー ドし、アプリケーションに含めてください。 WebLogic log4j ロギング・オ ブジェクトを使用しない なし この規則は、専有 WebLogic log4j クラスを検出し、手動マイグ レーションできるようにフラグを立てます。 ロガー・インスタンスを 取得するために WebLogic LoggingHelper オブジェクトを 使用しない あり この規則は、LoggingHelper オブジェクトの使用を検出しま す。 WebLogic ロギング・オブジェ クトを使用しない あり クイック・フィックスは、クラス・インスタンスを Java Logger に変換します。 この規則は、WebLogic ロギング・オブジェクトを検出しま す。 クイック・フィックスは、Java オブジェクトを使用するように コードを変更します。 WebLogic NonCatalogLogger オ ブジェクトを使用しない あり WebLogic RMI API 呼び出しを 使用しない あり この規則は、NonCatalogLogger の使用を検出します。 クイック・フィックスは、これらのオブジェクトを Java Logger オブジェクトに変換します。さらに、すべてのロギン グ・メソッド呼び出しを有効なロギング呼び出しに変換しま す。レベルは、ユーザーが規則プロパティーを使用して制御し ます。 この規則は、専有 weblogic.rmi パッケージへの参照の使用を検 出します。 クイック・フィックスは、Java 提供のクラスを使用するよう に、weblogic.rmi を java.rmi に変更します。 WebLogic RollbackException オ ブジェクトを使用しない なし この規則 は、weblogic.transaction.RollbackException オブ ジェクトの使用を検出し、手動マイグレーションのためにフラ グを立てます。 XML 構文解析で WebLogic サーブレット属性を使用しな い あり この規則は、XML を構文解析するのに特定の属性を指定して 使用されている setAttribute および getAttribute メソッ ドの使用を検出します。 クイック・フィックスは、このエントリーを削除します。 30 | Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション WebLogic ServletAuthentication クラスを使用しない なし この規則は、WebSphere で使用できない weblogic.servlet.security.ServletAuthentication クラスを検出しま す。 WebLogic 固有の JDBC プロパ ティーや拡張を使用しない なし この規則は、手動でマイグレーションしなければならないいく つかの WebLogic JDBC プロパティーと拡張の使用を検出しま す。 初期コンテキストに WebLogic 固有の JNDI 環境プロパ ティーを使用しない あり この規則は、コンテキスト・プロパティーを設定するための weblogic.jndi.Environment クラスの使用を検出します。 WebLogic 固有の JNDI 名の値 を使用しない あり クイック・フィックスは、Environment 参照内で使用されて いるオブジェクトを InitialContext オブジェクトの初期化 で使用されるハッシュ・テーブルにマイグレーションします。 この規則は、以下の専有 JNDI 名前値の使用を検出します。 • • java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory java.naming.provider.url = t3://localhost:7001 見つかった場合、JNDI 名をデフォルトの移植可能 JNDI 名前値 に変更するオプションがユーザーに提供されます。 • • java.naming.factory.initial = com.ibm.websphere.naming. WsnInitialContextFactory java.naming.provider.url=corbaloc:iiop:localhost:2809 制限: JNDI 名の値 は、javax.naming.InitialContext(Hashtable) コン ストラクターによってコンテキストが初期化される、同じ Java ソース・ファイルに存在する必要があります。 WebLogic 固有のパッケージを 使用しない なし この規則は、weblogic で始まるインポートするクラス (weblogic.apache で始まるクラスは除く) にフラグを立てま す。フラグを立てられたサーバー固有の API はマイグレーショ ンしなければなりません。 WebLogic のスタートアップま たはシャットダウン・クラス を使用しない あり この規則は、WebLogic 始動およびシャットダウン・インター フェースを実装しているクラスを探します。 クイック・フィックスは、これらのクラスを変換して javax.servlet.ServletContextListener インター フェースを使用するようにし、アプリケーションの web.xml ファイルに登録します。 Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス | 31 規則名 クイッ ク・ フィッ クス 行われるアクション WebLogic StAX オブジェクト を使用しない なし この規則は、手動でマイグレーションを行う必要がある WebLogic 専有 XML Streaming (StAX) オブジェクトの使用を検 出します。 WebLogic TransactionManager オブジェクトを使用しない なし この規則は、TransactionManager オブジェクトの使用を検 出し、手動マイグレーションのためにフラグを立てます。 WebLogic Transaction オブ ジェクトを使用しない なし この規則は、Transaction オブジェクトの使用を検出し、手 動マイグレーションのためにフラグを立てます。 WebLogic なし TransactionSynchronizationRegistry オブジェクトを使用しない この規則は、TransactionSynchronizationRegistry オ ブジェクトの使用を検出し、手動マイグレーションのためにフ ラグを立てます。 WebLogic WLLevel オブジェク トを使用しない この規則は、setLevel() メソッド内での WLLevel オブジェクト の使用を検出します。 あり クイック・フィックスは、WLLevel を IBM WsLevel に変換し ます。レベルは、ユーザーが規則プロパティーを使用して制御 します。 WebLogic XPath オブジェクト を使用しない なし この規則は、WebLogic 専有、XML XPath オブジェクトの使用 を検出し、手動マイグレーションのためにフラグを立てます。 準拠している UserTransaction ルックアップ名を使用する あり この規則は、ctx.lookup("javax.transaction. UserTransaction") への参照を探します。 Bean 管理トランザクション (BMT) Bean 内では、 クイック・フィックスはフラグが立てられた行を ctx.getUserTransaction() に変換します。 サーブレット内では、Web アプリケーションおよびクライア ント・コードの、フラグが立てられた行を JNDI ルックアップ: ctx.lookup("java:comp/UserTransaction") に変換し ます。 EJB Bean クラスで一致する throws 節を使用する あり この規則は、エンタープライズ Bean 実装とホームおよびリ モート・インターフェースのメソッド定義の間の不一致を探し ます。 クイック・フィックスは、欠落している例外を追加し、余分の 例外を削除します。インターフェースは変更されません。 OpenJPA プロパティー名と Kodo 固有のプロパティー名と あり この規則は、Java ファイルで kodo.* で始まる名前の既知の JPA プロパティーを検出します。 32 | Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス が等しいときには OpenJPA プ ロパティー名を使用する 行われるアクション クイック・フィックスは、これらのプロパティーを openjpa.* に リネームします。 OpenJPA プロパティー値を Kodo 固有のプロパティー値の 代わりに使用する あり 移植可能な JNDI 名を使用す る なし この規則は、コンストラクター javax.naming.InitialContext(Hashtable) が専有 WebLogic JNDI 名前値を何もハッシュ・テーブルに入れない指 定で使用されているものを検出します。 挿入された JPA エレメントに unitName 属性を使用する あり この規則は、unitName または name 属性のない、挿入された JPA PersistenceContext または PersistenceUnit エレ メントを検出します。 この規則は、Java ファイル内で kodo 固有値を持つ JPA プロパ ティーを検出します。 クイック・フィックスはこれらの値を有効な openJPA 値に変更 します。 クイック・フィックスは、欠落している値を追加して WebLogic 自動化デプロイメントに同様の振る舞いを提供しま す。 WebLogic JSP コード・レビュー規則 JSP コード・レビュー・セットでは、WebLogic から WebSphere JSP マイグレーション・カテゴリーに、以下の 表に記載されている規則があります。詳細な情報については、結果ビューアーに規則が表示されている時に F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション JSP フラグメントで .jsp 拡張 子を使用しない あり この規則は、別の JSP にインクルードされている JSP フラグメ ントを探します。JSP フラグメント・ファイルが .jspf 拡張子 ではなく .jsp 拡張子の場合、フラグが立てられます。 クイック・フィックスは、リファクタリング・ダイアログを表 示しファイル名とすべての関連する参照を変更できるようにし ます。 なし この規則は、Web モジュールの JSP welcome ファイル内の request.getQueryString() メソッド呼び出しを検出します。これら の呼び出しにフラグが立てられるので、ユーザーは正しい使用 Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス | 33 規則名 クイッ ク・ フィッ クス 行われるアクション を確認してクエリー・ストリングに null 値を使用しないように することができます。 タグの属性名における大文字 と小文字の正しい使用 あり JSP taglib 属性は、WebSphere Application Server では大/小文字の 区別があります。この規則は、大/小文字が正しくないすべての taglib 属性にフラグを立てます。 クイック・フィックスは、タグ・ライブラリーで定義されてい るとおりに大/小文字を変更します。 WebLogic XML ファイル・レビュー規則 XML ファイル・レビューは、デプロイメント記述子、Web サービス、およびその他の XML ファイルの問題を 検出するためのいくつかの規則を提供しています。 規則名 クイッ ク・ フィッ クス 行われるアクション Oracle 自動生成キーを検出す る なし この規則は、weblogic-cmp-rdbms-jar.xml ファイルに定 義された Oracle 自動生成キーを検出します。これらのキーは、 コンテナー管理パーシスタンス・エンティティー Bean に使用 されます。キー生成をサポートするようにアプリケーションを 変更する必要があります。 ローカル JNDI 名を使用しな い あり この規則は、weblogic-ejb-jar.xml ファイル内で <localjndi-name> タグを検出します。 クイック・フィックスは、アプリケーションに関連したすべて のプロジェクトをスキャンして、ローカル JNDI 名が見つかる ところを探します。ローカル JNDI 名を参照している Java コー ドが見つかった場合、<ejb-local-ref> がそのプロジェクトに追加 されます。Web または EJB バインディングも更新されます。 XML 構文解析で WebLogic サーブレット・フィルターを 使用しない あり WebLogic 固有の EJB 照会言 語の構造を使用しない なし この規則は、web.xml ファイル内で内部 WebLogic サーブレッ ト・フィルターの使用を検出します。 クイック・フィックスは、サーブレット・フィルター・エント リーとそのフィルター・マッピング・エントリーを削除しま す。 この規則は、weblogic-cmp-rdbms-jar.xml ファイル内で 照会言語エレメント weblogic-ql を検出して、手動マイグ レーションができるようにします。 34 | Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション EJB JNDI 名の定義に WebSphere バインディングを 使用する あり この規則は、weblogic-ejb-jar.xml ファイル内で EJB 定 義のための <jndi-name> タグを検出します。 EJB ローカル参照 JNDI 名の定 義に WebSphere バインディン グを使用する あり EJB 参照名の定義に WebSphere バインディングを 使用する あり WebSphere バインディングを 使用したメッセージ駆動型 Bean の JNDI 名の定義 あり リソース環境参照 JNDI 名の 定義に WebSphere バインディ ングを使用する あり クイック・フィックスは、EJB バインディング・ファイルに見 つかる値のマイグレーションを行います。 この規則は、weblogic-ejb-jar.xml ファイル内で EJB 定 義のための <ejb-local-ref> タグを検出します。 クイック・フィックスは、EJB バインディング・ファイルに見 つかる値のマイグレーションを行います。 この規則は、weblogic.xml または weblogic-ejbjar.xml ファイル内で <ejb-ref-name> を検出します。 クイック・フィックスは、EJB 参照 JNDI 名を EJB バインディ ング・ファイルに追加します。 この規則は、メッセージ駆動型 Bean の <destination-jndi-name> を検出します。 クイック・フィックスは、EJB バインディング・ファイル内の 宛先 JNDI 名を設定します。 この規則は、weblogic.xml または weblogic-ejbjar.xml ファイル内で <resource-env-description> エレメントを 検出します。 クイック・フィックスは、リソース参照 JNDI 名を EJB バイン ディング・ファイルに追加します。 リソース参照名の定義に WebSphere バインディングを 使用する あり この規則は、weblogic.xml または weblogic-ejbjar.xml ファイル内で <res-ref-name> エレメントを検出しま す。 クイック・フィックスは、リソース参照 JNDI 名を EJB バイン ディング・ファイルに追加します。 CMP マッピングの定義に WebSphere 拡張を使用する あり この規則は、weblogic-cmp-rdbms-jar.xml ファイル内で <weblogic-rdbms-jar> エレメントを検出します。 クイック・フィックスは、weblogic-cmp-rdbms-jar.xml ファイルを使用して、CMP 用に WebSphere Application Server が 使用する EJB から RDB へのマッピング・ファイルを生成しま す。 Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス | 35 規則名 クイッ ク・ フィッ クス 行われるアクション コンカレンシー・ストラテ ジーの定義に WebSphere 拡張 を使用する あり この規則は、weblogic-ejb-jar.xml ファイル内で <concurrency-strategy> エレメントを検出します。 トランザクション・タイ ムアウトの秒数の定義に WebSphere 拡張を使用する あり 仮想ディレクトリー・マッピ ングの定義に WebSphere 拡張 を使用する あり この規則は、WebLogic 仮想ディレクトリー・マッピング構成 を検出し、WebSphere のファイル・サービスを使用するために エントリーをマイグレーションします。 Web モジュールのコンテ キスト・ルートの定義に WebSphere 拡張を使用する あり この規則は、weblogic.xml ファイル内で <context-root> エレ メントを検出します。 クイック・フィックスは、Exclusive、ReadOnly、Database、お よび Optimistic オプションを EJB 拡張ファイルに移動します。 この規則は、weblogic-ejb-jar.xml ファイル内で <transtimeout-seconds> を検出します。 クイック・フィックスは、タイムアウトになる値を EJB 拡張 ファイルに定義します。 クイック・フィックスは、Web 拡張ファイルにコンテキスト・ ルート値を定義します。 以下の規則は、WebLogic JPA パーシスタンス XML マイグレーションを処理します。 規則名 クイッ ク・ フィッ クス 行われるアクション Kodo PersistenceServerServlet は web.xml ファイル内で使用 しない あり この規則は、web.xml ファイル内でサーブレット kodo.remote.PersistenceServerServlet の存在を検出 します。 クイック・フィックスは、サーブレットとそのサーブレット・ マッピング・エレメントを削除します。 openJPA に相当するものを持 たない Kodo プロパティーを 使用しない あり OpenJPA プロパティー名と Kodo 固有のプロパティー名と が等しいときには OpenJPA プ ロパティー名を使用する あり この規則は、openjpa に相当するものを持たない kodo.* プロ パティーの使用を検出します。 クイック・フィックスは、persistence.xml ファイルから kodo プロパティーを削除します。 この規則は、persistence.xml ファイル内で kodo.* で始ま る名前の既知の JPA プロパティーを検出します。 クイック・フィックスは、これらのプロパティーを openjpa.* にリネームします。 36 | Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション OpenJPA プロパティー値を Kodo 固有のプロパティー値の 代わりに使用する あり この規則は、persistence.xml ファイル内で kodo 固有値を 持つ JPA プロパティーを検出します。 クイック・フィックスはこれらの値を有効な OpenJPA 値に変更 します。 以下の規則は WebLogic が処理しないかまたは部分的にしか処理しない XML ファイルにフラグを立てます。 規則名 クイッ ク・ フィッ クス 行われるアクション weblogic.xml ファイルを使用 しない なし この規則は、weblogic.xml ファイルにフラグを立て、アプ リケーションのマイグレーション終了時にマイグレーションさ れなかったエレメントを検出できるようにします。 weblogic-application.xml ファイ ルを使用しない なし この規則は、weblogic-application.xml ファイルにフラ グを立て、アプリケーションのマイグレーション終了時にマイ グレーションされなかったエレメントを検出できるようにしま す。 weblogic-cmp-jar.xml ファイル を使用しない なし この規則は、weblogic-cmp-jar.xml ファイルにフラグを立 て、アプリケーションのマイグレーション終了時にマイグレー ションされなかったエレメントを検出できるようにします。 weblogic-cmp-rdbms-jar.xml ファイルを使用しない なし この規則は、weblogic-cmp-rdbms-jar.xml ファイルにフ ラグを立て、アプリケーションのマイグレーション終了時にマ イグレーションされなかったエレメントを検出できるようにし ます。 weblogic-diagnostics.xml ファイ ルを使用しない なし この規則は、weblogic-diagnostics.xml ファイルにフラ グを立て、アプリケーションのマイグレーション終了時にマイ グレーションされなかったエレメントを検出できるようにしま す。 weblogic-ejb-jar.xml ファイル を使用しない なし この規則は、weblogic-ejb-jar.xml ファイルにフラグを立 て、アプリケーションのマイグレーション終了時にマイグレー ションされなかったエレメントを検出できるようにします。 weblogic-ra.xml ファイルを使 用しない なし この規則は、weblogic-ra.xml ファイルにフラグを立て、ア プリケーションのマイグレーション終了時にマイグレーション されなかったエレメントを検出できるようにします。 以下の規則は、ユーザーのアプリケーション内の web サービスをマイグレーションします。 Application Migration Tool | WebLogic から WebSphere Application Server への規則とクイック・フィックス | 37 規則名 クイッ ク・ フィッ クス 行われるアクション WebLogic Web サービス・デ プロイメント記述子を使用し ない あり この規則は、webservices.xml J2EE デプロイメント記述子 ファイルにフラグを立てます。 このクイック・フィックスは、デプロイメント記述子から収 集した情報に基づく Web サービスのリストについて、IBM WebSphere Ant タスクを使用して適切な作成物を生成する Ant スクリプトを生成します。デプロイメント記述子によっては、 フィックスはサービスのサービス・エンドポイント・インター フェース (SEI) も生成し、それをプロジェクト・クラスパスに 追加します。その後、Ant スクリプトを実行し、生成された作 成物をプロジェクトにコピーし、さらには、例えばエンドポイ ント・イネーブラーなどの追加ターゲットも追加できます。 WebLogic クラスパス・レビュー規則 クラスパス・レビュー・プロバイダーは、MANIFEST.MF クラスパスが正しくセットアップされているかを検 査します。 規則名 クイッ ク・ フィッ クス 行われるアクション アプリケーション・クラスパ スに関する MANIFEST.MF の 使用 あり この規則は、EAR ファイルの APP-INF ディレクトリー内に含 まれているすべてのクラスまたはライブラリーを探します。 クイック・フィックスは、影響を受ける各 Web モジュールの MANIFEST.MF ファイルのクラスパス・エントリーを更新し て、モジュールのクラスパスにエントリーを追加します。 38 | Application Migration Tool | JBoss から WebSphere Application Server への規則とクイック・フィックス JBoss から WebSphere Application Server への規則とク イック・フィックス Application Migration Tool - JBoss to WebSphere フィーチャーは、JBoss アプリケーション・サーバー・アプリ ケーションの Java コード、JSP コード、デプロイメント記述子、および Web サービス・デプロイメント記述 子を、一連の分析の一部として評価します。JBoss アプリケーションのマイグレーションに役立つ、以下の規 則とクイック・フィックスが使用可能です。 「JBoss アプリケーション・マイグレーション」規則セットを選択すると、 JBoss 固有の規則、フレームワー ク規則、Java SE 規則を選択することができます。 このセクションでは、JBoss 固有の規則について説明しま す。 Java SE 規則については、Java SE バージョンのマイグレーション(51 ページ)で説明します。 選択す る Java SE 規則は、規則セットを選択するときの Java ランタイム環境構成のマイグレーション元とマイグレー ション先によって異なります。 フレームワーク規則については、フレームワークのマイグレーション(58 ページ)で説明します。 JBoss Java コード・レビューの規則 Java コード・レビューの規則のセットのもとで、JBoss から WebSphere へのコード・マイグレーション・カテ ゴリーに、複数の規則が含まれています。詳細については、構成ダイアログまたは結果ビューアーで規則を表 示しているときに F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション Web コンテナーおよび EJB コ ンテナー内でスレッドを開始 しない なし この規則は、Web モジュールまたは EJB モジュールでスレッド を作成するコードを検出します。 JBoss 固有の JNDI 名の値を使 用しない あり この規則は、これらの JNDI 名の値の使用を検出します。 • • java.naming.factory.initial = org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://localhost:1099 見つかった場合、JNDI 名をデフォルトの移植可能 JNDI 名前値 に変更するオプションがユーザーに提供されます。 • • java.naming.factory.initial = com.ibm.websphere.naming. WsnInitialContextFactory java.naming.provider.url=corbaloc:iiop:localhost:2809 制限: JNDI 名の値 は、javax.naming.InitialContext(Hashtable) コン ストラクターによってコンテキストが初期化される、同じ Java ソース・ファイルに存在する必要があります。 Application Migration Tool | JBoss から WebSphere Application Server への規則とクイック・フィックス | 39 規則名 クイッ ク・ フィッ クス 行われるアクション JBoss 固有のパッケージを使用 しない なし この規則は、org.jboss で始まるインポート済みクラスが、 手動でマイグレーションする必要があるというフラグを立てま す。 JBoss アプリケーションの始動 や終了のロジックに MBeans を使用しない あり この規則は、アプリケーションの始動と終了のロジックを実行 するための MBean 登録インターフェースを実装するクラスを 検出します。 この規則用に提供されるクイック・フィックスは、開始および 終了ロジックを実行するために ServletContextListener インターフェースを実装するよう、クラスを変換します。 重要: ご使用のコードが MBeans を提供し、その意図された目 的のために MBeanRegistration を実装する場合には、この規則を オフにしてください。 移植可能な JNDI 名を使用す る なし この規則 は、javax.naming.InitialContext(Hashtable) とい うコンストラクターの使用を検出し、どんなプロプラエタリー JBoss JNDI 名の値もハッシュ・テーブルに入れないことを指定 します。 JBoss JSP コード・レビュー規則 JSP コード・レビュー・セットでは、「JBoss から WebSphere への JSP のマイグレーション」カテゴリーに、 以下の表に記載されている規則があります。詳細な情報については、結果ビューアーに規則が表示されている 時に F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション JSP フラグメントで .jsp 拡張 子を使用しない あり この規則は、別の JSP にインクルードされている JSP フラグメ ントを探します。JSP フラグメント・ファイルが .jspf 拡張子 ではなく .jsp 拡張子の場合、フラグが立てられます。 クイック・フィックスは、リファクタリング・ダイアログを表 示しファイル名とすべての関連する参照を変更できるようにし ます。 JSP welcome ファイルの getQueryString メソッドを確認 する なし この規則は、Web モジュールの JSP welcome ファイル内の request.getQueryString() メソッド呼び出しを検出します。これら の呼び出しにフラグが立てられるので、ユーザーは正しい使用 40 | Application Migration Tool | JBoss から WebSphere Application Server への規則とクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション を確認してクエリー・ストリングに null 値を使用しないように することができます。 JBoss XML ファイル・レビュー規則 XML ファイル・レビューは、デプロイメント記述子、Web サービス、およびその他の XML ファイルの問題を 検出するためのいくつかの規則を提供しています。 規則名 クイッ ク・ フィッ クス 行われるアクション ローカル JNDI 名を使用しな い あり この規則は、jboss.xml ファイル内で <local-jndi-name> タグ を検出します。 クイック・フィックスは、アプリケーションに関連したすべて のプロジェクトをスキャンして、ローカル JNDI 名が見つかる ところを探します。ローカル JNDI 名を参照している Java コー ドが見つかった場合、<ejb-local-ref> がそのプロジェクトに追加 されます。Web または EJB バインディングも更新されます。 URL およびリソース・マネー ジャーに関するリソース参照 の手動マイグレーション なし この規則は、URL リソースまたはリソース・マネージャー・リ ソースを定義する、jboss-web.xml または jboss.xml ファ イル内で <res-ref-name> エレメントを検出します。これらのリ ソース参照は、手動でマイグレーションしなければなりませ ん。 WebSphere バインディングを 使用した EJB JNDI 名の定義 あり この規則は、jboss.xml ファイル内で EJB 定義のための <jndi-name> タグを検出します。 クイック・フィックスは、EJB バインディング・ファイルに見 つかる値のマイグレーションを行います。 EJB ローカル参照 JNDI 名の定 義に WebSphere バインディン グを使用する あり EJB 参照名の定義に WebSphere バインディングを 使用する あり この規則は、jboss.xml ファイル内で EJB 定義のための <ejblocal-ref> タグを検出します。 クイック・フィックスは、EJB バインディング・ファイルに見 つかる値のマイグレーションを行います。 この規則は、jboss-web.xml または jboss.xml ファイル内 で <ejb-ref-name> を検出します。 クイック・フィックスは、EJB 参照の JNDI 名を EJB バイン ディング・ファイルに追加します。 Application Migration Tool | JBoss から WebSphere Application Server への規則とクイック・フィックス | 41 規則名 クイッ ク・ フィッ クス 行われるアクション WebSphere バインディングを 使用したメッセージ駆動型 Bean の JNDI 名の定義 あり この規則は、メッセージ駆動型 Bean の <destination-jndi-name> を検出します。 リソース参照名の定義に WebSphere バインディングを 使用する あり CMP マッピングの定義に WebSphere 拡張を使用する あり クイック・フィックスは、EJB バインディング・ファイル内の 宛先 JNDI 名を設定します。 この規則は、jboss-web.xml または jboss.xml ファイル内 で <res-ref-name> エレメントを検出します。 クイック・フィックスは、リソース参照の JNDI 名を EJB バイ ンディング・ファイルに追加します。 この規則は、jbosscmp-jdbc.xml ファイル内で <jbosscmpjdbc> エレメントを検出します。 クイック・フィックスは、jbosscmp-jdbc.xml ファイルを 使用して、CMP 用に WebSphere Application Server が使用する EJB から RDB へのマッピング・ファイルを生成します。 Web モジュールのコンテ キスト・ルートの定義に WebSphere 拡張を使用する あり この規則は、jboss-web.xml ファイル内で <context-root> エ レメントを検出します。 クイック・フィックスは、Web 拡張ファイルにコンテキスト・ ルート値を定義します。 以下の規則は、JBoss が処理しないかまたは部分的にしか処理しない XML ファイルにフラグを立てます。 規則名 クイッ ク・ フィッ クス 行われるアクション jboss.xml ファイルを使用しな い なし この規則は jboss.xml ファイルにフラグを立て、アプリケー ションのマイグレーション終了時にマイグレーションが行われ なかったエレメントを探せるようにします。 jboss-app.xml ファイルを使用 しない なし この規則は jboss-app ファイルにフラグを立て、アプリケー ションのマイグレーション終了時にマイグレーションが行われ なかったエレメントを探せるようにします。 jboss-client.xml ファイルを使 用しない なし この規則は jboss-client.xml ファイルにフラグを立て、ア プリケーションのマイグレーション終了時にマイグレーション が行われなかったエレメントを探せるようにします。 jbosscmp-jdbc.xml ファイルを 使用しない なし この規則は jbosscmp-jdbc.xml ファイルにフラグを立て、 アプリケーションのマイグレーション終了時にマイグレーショ ンが行われなかったエレメントを探せるようにします。 規則名 クイッ ク・ フィッ クス 行われるアクション jboss-web.xml ファイルを使用 しない なし この規則は jboss-web.xml ファイルにフラグを立て、アプリ ケーションのマイグレーション終了時にマイグレーションが行 われなかったエレメントを探せるようにします。 以下の規則は、ユーザーのアプリケーション内の web サービスをマイグレーションします。 規則名 クイッ ク・ フィッ クス 行われるアクション JBoss Web サービス・デプロ イメント記述子を使用しない あり この規則は、webservices.xml J2EE デプロイメント記述子 ファイルにフラグを立てます。 このクイック・フィックスは、デプロイメント記述子から収 集した情報に基づく Web サービスのリストについて、IBM WebSphere Ant タスクを使用して適切な作成物を生成する Ant スクリプトを生成します。デプロイメント記述子によっては、 フィックスはサービスのサービス・エンドポイント・インター フェース (SEI) も生成し、それをプロジェクト・クラスパスに 追加します。その後、Ant スクリプトを実行し、生成された作 成物をプロジェクトにコピーし、さらには、例えばエンドポイ ント・イネーブラーなどの追加ターゲットも追加できます。 JBoss クラスパス・レビューの規則 クラスパス・レビュー・プロバイダーは、MANIFEST.MF クラスパスが正しくセットアップされているかを検 査します。 規則名 クイッ ク・ フィッ クス 行われるアクション アプリケーション・クラスパ スに関する MANIFEST.MF の 使用 あり この規則は、EAR プロジェクトのルート・フォルダー内の jar およびクラスを検出します。 このクイック・フィックスは、jar およびクラスを MANIFEST.MF ファイルに追加して、それらが WebSphere Application Server によって検出されるようにします。 Oracle から WebSphere Application Server への規則および クイック・フィックス Application Migration Tool - OracleAS to WebSphere フィーチャーは、Oracle Application Server アプリケーション の Java コード、JSP コード、デプロイメント記述子、および Web サービス・デプロイメント記述子を、一連 の分析の一部として評価します。OracleAS アプリケーションのマイグレーションに役立つ、以下の規則とク イック・フィックスが使用可能です。 「Oracle アプリケーション・マイグレーション」規則セットを選択すると、 Oracle 固有の規則、フレームワー ク規則、Java SE 規則を選択することができます。 このセクションでは、Oracle 固有の規則について説明しま す。 Java SE 規則については、Java SE バージョンのマイグレーション(51 ページ)で説明します。 選択す る Java SE 規則は、規則セットを選択するときの Java ランタイム環境構成のマイグレーション元とマイグレー ション先によって異なります。 フレームワーク規則については、フレームワークのマイグレーション(58 ページ)で説明します。 Oracle Java コード・レビューの規則 Java コード・レビューの規則セットでは、Oracle から WebSphere へのコード・マイグレーション・カテゴリー に、複数の規則が含まれています。詳細については、構成ダイアログまたは結果ビューアーで規則を表示して いるときに F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション java.sql.Connection を OracleConnection として直接 キャストしない なし この規則は、OracleConnection クラスを使用して java.sql.Connection オブジェクトをキャストすると、クラス・ キャスト例外が発生する場合があるこのクラスの特定のインス タンスにフラグを立てます。 Web コンテナーおよび EJB コ ンテナー内でスレッドを開始 しない なし この規則は、Web モジュールまたは EJB モジュールでスレッド を作成するコードを検出します。 Oracle 固有の API を使用しな い なし この規則は、Oracle パッケージ内のインポート済みクラスが、 手動でマイグレーションする必要があるというフラグを立てま す。 Oracle 固有の InitialContext プ ロパティーを使用しない なし この規則は、コンストラクター javax.naming.InitialContext(Hashtable) を使用し ている、InitialContext の初期設定にある Oracle 固有のプロパ ティーを検出します。 Oracle のスタートアップまた はシャットダウン・インター フェースを使用しない なし この規則は、アプリケーションの始動時または シャットダウンの際に、コード実行に使用する oracle.j2ee.server.OC4JShutdown インターフェースと 44 | Application Migration Tool | Oracle から WebSphere Application Server への規則およびクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション oracle.j2ee.server.OC4JStartup インターフェースの使 用を検出します。 Oracle XML ファイル・レビューの規則 XML ファイル・レビューは、デプロイメント記述子、Web サービス、およびその他の XML ファイルの問題を 検出するためのいくつかの規則を提供しています。 規則名 クイッ ク・ フィッ クス 行われるアクション カスタム Oracle アプリケー ション共用ライブラリーを使 用しない なし この規則は、orion-application.xml ファイル内で <imported-shared-libraries> タグを検出します。 MDB 2.0 リスナー・ポートを 使用しない なし この規則は、ejb-jar.xml ファイル内のメッセージ駆動型 Bean (MDB) 2.0 リスナー・ポートを検出します。 Oracle グローバル load-onstartup サーブレットを使用し ない なし この規則は、global-web-application.xml ファイルの中 で <load-on-startup> タグのマークが付けられているサーブレッ トを検出します。 Oracle ログイン・モジュール を使用しない なし この規則は、orion-application.xml ファイル内の <loginmodules> タグでマーク付けされたログイン・モジュールを検出 します。 Oracle サーブレット呼び出し 側を使用しない なし この規則は、orion-web.xml または global-webapplication.xml ファイル内の <servlet-webdir> タグを使用 することにより、Oracle サーブレット呼び出し側を検出しま す。 Oracle 固有の Web フィルター を使用しない あり この規則は、web.xml 内で定義された、「oracle.」で始まる Web フィルターの使用を検出します。 クイック・フィックスは、フィルター・エレメントを削除しま す。 Oracle 固有の Web リスナーを 使用しない あり この規則は、web.xml 内で定義された、「oracle.」で始まる Web リスナーの使用を検出します。 クイック・フィックスは、リスナー・エレメントを削除しま す。 Application Migration Tool | Oracle から WebSphere Application Server への規則およびクイック・フィックス | 45 規則名 クイッ ク・ フィッ クス 行われるアクション EJB 参照名の定義に WebSphere バインディングを 使用する あり この規則は、orion-web.xml ファイルまたは orion-ejbjar.xml ファイルで EJB 参照を検出します。 WebSphere バインディングを 使用したメッセージ駆動型 Bean の JNDI 名の定義 あり リソース参照名の定義に WebSphere バインディングを 使用する あり クラス・ローダー順序の制御 に WebSphere 構成を使用する なし この規則は、クラス・ロード順序を制御するのに使用される search-local-classes-first 設定を検出します。 CMP マッピングの定義に WebSphere 拡張を使用する なし この規則は、コンテナー管理パーシスタンス (CMP) のために使 用されるリレーショナル・データベース・マッピングに対する エンタープライズ Bean を検出します。 コンカレンシー・ストラテ ジーの定義に WebSphere 拡張 を使用する あり このルールは、EJB パーシスタンスのために使用されるコンカ レンシー・ストラテジーを検出してマイグレーションします。 クイック・フィックスは、EJB 参照の JNDI 名を EJB バイン ディング・ファイルに追加します。 この規則は、メッセージ駆動型 Bean の <destination-jndi-name> を検出します。 クイック・フィックスは、EJB バインディング・ファイル内の 宛先 JNDI 名を設定します。 この規則は、orion-web.xml ファイルまたは orion-ejbjar.xm ファイルでリソース参照を検出します。 このクイック・フィックスは、リソース参照の JNDI 名を EJB バインディング・ファイルに追加します。 このクイック・フィックスは orion-ejb-jar.xml ファ イル内のコンカレンシー・ストラテジー設定を見つけ て、WebSphere 拡張ファイルに相当するプロパティーを設定し ます。 以下の規則は、Oracle が処理しないかまたは部分的にしか処理しない XML ファイルにフラグを立てます。 規則名 クイッ ク・ フィッ クス 行われるアクション data-sources.xml ファイルを使 用しない なし この規則は、data-sources.xml ファイルにフラグを立て、 アプリケーションのマイグレーション終了時にマイグレーショ ンされなかったエレメントを検出できるようにします。 global-web-application.xml ファ イルを使用しない なし この規則は global-web-application.xml ファイルにフラ グを立て、アプリケーションのマイグレーション終了時にマイ 46 | Application Migration Tool | Oracle から WebSphere Application Server への規則およびクイック・フィックス 規則名 クイッ ク・ フィッ クス 行われるアクション グレーションが行われなかったエレメントを探せるようにしま す。 jazn-data.xml ファイルを使用 しない なし この規則は、jazn-data.xml ファイルにフラグを立て、アプ リケーションのマイグレーション終了時にマイグレーションさ れなかったエレメントを検出できるようにします。 oc4j-connectors.xml ファイルを 使用しない なし この規則は、oc4j-connectors.xml ファイルにフラグを立 て、アプリケーションのマイグレーション終了時にマイグレー ションされなかったエレメントを検出できるようにします。 oc4j-ra.xml ファイルを使用し ない なし この規則は、oc4j-ra.xml ファイルにフラグを立て、アプリ ケーションのマイグレーション終了時にマイグレーションされ なかったエレメントを検出できるようにします。 oracle-webservices.xml ファイ ルを使用しない なし この規則は、oracle-webservices.xml ファイルにフラグ を立て、アプリケーションのマイグレーション終了時にマイ グレーションされなかったエレメントを検出できるようにしま す。 orion-application.xml ファイル を使用しない なし この規則は、orion-application.xml ファイルにフラグを 立て、アプリケーションのマイグレーション終了時にマイグ レーションされなかったエレメントを検出できるようにしま す。 orion-application-client.xml ファ イルを使用しない なし この規則は、orion-application-client.xml ファイルに フラグを立て、アプリケーションのマイグレーション終了時に マイグレーションされなかったエレメントを検出できるように します。 orion-ejb-jar.xml ファイルを使 用しない なし この規則は、orion-ejb-jar.xml ファイルにフラグを立 て、アプリケーションのマイグレーション終了時にマイグレー ションされなかったエレメントを検出できるようにします。 orion-web.xml ファイルを使用 しない なし この規則は、orion-web.xml ファイルにフラグを立て、アプ リケーションのマイグレーション終了時にマイグレーションさ れなかったエレメントを検出できるようにします。 以下の規則は、ユーザーのアプリケーション内の web サービスをマイグレーションします。 Application Migration Tool | Oracle から WebSphere Application Server への規則およびクイック・フィックス | 47 規則名 クイッ ク・ フィッ クス 行われるアクション Oracle Web サービス・デプロ イメント記述子を使用しない あり この規則は、oracle-webservices.xml J2EE デプロイメン ト記述子ファイルにフラグを立てます。 このクイック・フィックスは、デプロイメント記述子から収 集した情報に基づく Web サービスのリストについて、IBM WebSphere Ant タスクを使用して適切な作成物を生成する Ant スクリプトを生成します。デプロイメント記述子によっては、 フィックスはサービスのサービス・エンドポイント・インター フェース (SEI) も生成し、それをプロジェクト・クラスパスに 追加します。その後、Ant スクリプトを実行し、生成された作 成物をプロジェクトにコピーし、さらには、例えばエンドポイ ント・イネーブラーなどの追加ターゲットも追加できます。 Oracle JSP コード・レビューの規則 JSP コード・レビュー・セットでは、Oracle から WebSphere JSP マイグレーション・カテゴリーに、以下の表 に記載されている規則があります。詳細な情報については、結果ビューアーに規則が表示されている時に F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション JSP フラグメントで .jsp 拡張 子を使用しない あり この規則は、別の JSP にインクルードされている JSP フラグメ ントを探します。JSP フラグメント・ファイルが .jspf 拡張子 ではなく .jsp 拡張子の場合、フラグが立てられます。 クイック・フィックスは、リファクタリング・ダイアログを表 示しファイル名とすべての関連する参照を変更できるようにし ます。 JSP welcome ファイルの getQueryString メソッドを確認 する なし この規則は、Web モジュールの JSP welcome ファイル内の request.getQueryString() メソッド呼び出しを検出します。これら の呼び出しにフラグが立てられるので、ユーザーは正しい使用 を確認してクエリー・ストリングに null 値を使用しないように することができます。 独自の Oracle タグ・ライブラ リーを使用しない なし この規則は、JSP ファイル内の専有 Oracle タグ・ライブラリー を検索します。 48 | Application Migration Tool | Apache Tomcat から WebSphere Application Server への規則およびクイック・フィックス Apache Tomcat から WebSphere Application Server への 規則およびクイック・フィックス Application Migration Tool - for Apache Tomcat to WebSphere フィーチャーは、Apache Tomcat アプリケーション の Java コード、JSP コード、およびデプロイメント記述子と XML ファイルを、一連の分析の一部として評価 します。Tomcat アプリケーションのマイグレーションに役立つ、以下の規則とクイック・フィックスが使用可 能です。 「Tomcat アプリケーション・マイグレーション」規則セットを選択すると、 Tomcat 固有の規則、フレーム ワーク規則、Java SE 規則を選択することができます。 このセクションでは、Tomcat 固有の規則について説 明します。 Java SE 規則については、Java SE バージョンのマイグレーション(51 ページ)で説明します。 選択する Java SE 規則は、規則セットを選択するときの Java ランタイム環境構成のマイグレーション元とマ イグレーション先によって異なります。 フレームワーク規則については、フレームワークのマイグレーショ ン(58 ページ)で説明します。 Apache Tomcat Java コード・レビュー規則 Java コード・レビューの規則セットでは、「Apache Tomcat から WebSphere へのコードのマイグレーショ ン」カテゴリーに、複数の規則が含まれています。詳細については、構成ダイアログまたは結果ビューアーで 規則を表示しているときに F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション 無効な初期コンテキスト java:/ comp の使用を防止する あり この規則は、java:comp ("/" なし) ではなく java:/comp から 始まる無効な初期コンテキスト・ストリングを検出します。 Web コンテナーおよび EJB コ ンテナー内でスレッドを開始 しない なし この規則は、Web モジュールまたは EJB モジュールでスレッド を作成するコードを検出します。 Tomcat org.apache.juli.logging を使用しない あり この規則は org.apache.juli.logging パッ ケージからのロギング・メソッドにフラグを立て、 java.util.logging.Logger クラスを使用するように、ア プリケーションをマイグレーションすること を支援します。 Apache Tomcat のパッケージ と API を使用しない なし この規則は、マイグレーションする必要がある Apache Tomcat 固有のパッケージと API の インスタンスにフラグを立てます。 Apache Tomcat BasicDataSource を使用しない なし この規則は、WebSphere では使用可能ではない org.apache.tomcat.dbcp.dbcp.BasicDataSource クラ スのインスタンスに フラグを立てます。 コンテキスト・ルックアップ に対応するデプロイメント記 なし この規則は、初期コンテキスト・ルックアップにフラグを立て ます。 これは、web.xml ファイル内の対応する環境変数エント リーを 確認する機会を提供します。 Application Migration Tool | Apache Tomcat から WebSphere Application Server への規則およびクイック・フィックス | 49 規則名 クイッ ク・ フィッ クス 行われるアクション 述子エントリーがあることを 確認する Apache Tomcat XML コード・レビュー規則 Tomcat を使用すると、アプリケーション内で Java EE デプロイメント記述子構成は必要ありません。 通常、こ れはコンテキスト定義内で指定します。 コンテキストは、アプリケーション内の server.xml またはサーバー構 成ディレクトリー内で構成することができます。 アプリケーション内の META-INF/context.xml で構成を指定 すると、 これは対応する web.xml または WebSphere バインディングおよび 拡張ファイルにマイグレーション されます。アプリケーション内にコンテキスト構成が含まれていない場合、 その情報は手動でマイグレーショ ンする必要があります。 規則名 クイッ ク・ フィッ クス 行われるアクション Web モジュール welcome ファ イル名での / の使用を防止す る あり この規則は、web.xml ファイル内でスラッシュ文字 (/) または円 記号 (¥) で始まる Web モジュール <welcome-file> にフラグを立 てます。 無効な初期コンテキスト java:/ comp の使用を防止する あり この規則は、XML ファイル内で java:comp ではなく java:/comp で始まる無効な初期コンテキスト・ストリングを検出します。 コンテキスト valve コンポー ネントを使用しない なし この規則は、META-INF/context.xml ファイル内のすべてのコン テキスト <Valve> 要素にフラグを立てます。代わりに Java サー ブレット・フィルターを使用してください。 リソース参照に共有スコープ を設定する あり この規則は、リソース共有スコープが設定されていないリソー ス参照にフラグを立てます。リソース共有スコープのデフォル トは「Tomcat で共有可能 (Shareable on Tomcat)」です。共有ス コープを WebSphere 上と同じに設定してください。 Java EE デプロイメント記述子 および WebSphere バインディ ングを使用してリソース・リ ンク参照を定義する あり この規則は、ResourceLink Context 要素を META-INF/context.xml から web.xml と WebSphere バインディングにマイグレーション します。 Java EE デプロイメント記述子 および WebSphere バインディ ングを使用してリソース参照 を定義する あり この規則は、Resource Context 要素を META-INF/Context.xml か ら web.xml と WebSphere バインディングにマイグレーションし ます。 Java EE デプロイメント記述子 を使用してコンテキスト・ラ なし この規則は、コンテキスト・ライフサイクル・リスナー情報を META-INF/Context.xml から web.xml にマイグレーションしま す。 規則名 クイッ ク・ フィッ クス 行われるアクション Java EE デプロイメント記述子 を使用してコンテキスト・パ ラメーターを定義する なし この規則は、コンテキスト・パラメーター情報を META-INF/ Context.xml から web.xml にマイグレーションします。 Java EE デプロイメント記述子 を使用して環境参照を定義す る あり この規則は、コンテキスト環境情報を META-INF/context.xml か ら web.xml にマイグレーションします。 Java EE デプロイメント記述 子を使用して欠落しているセ キュリティー・ロールを定義 する あり この規則は、関連付けられた security-role 要素が欠落してい る、web.xml 内の auth-constraint 要素、role-name 要素にフラグ を立てます。 イフサイクル・リスナーを定 義する Apache Tomcat JSP ファイル・コード・レビュー規則 JSP コード・レビュー・セットの「Apache Tomcat から WebSphere への JSP のマイグレーション 」カテゴ リーの規則を以下の表で説明します。詳細な情報については、結果ビューアーに規則が表示されている時に F1 を押してください。 規則名 クイッ ク・ フィッ クス 行われるアクション JSP タグ内で単一引用符また は二重引用符のネストを防止 する あり この規則は、単一引用符内で単一引用符がネストしているか、 二重引用符内で二重引用符がネストしている JSP タグにフラグ を立てます。 JSP フラグメントで .jsp 拡張 子を使用しない あり この規則は、別の JSP にインクルードされている JSP フラグメ ントを探します。JSP フラグメント・ファイルが .jspf 拡張子 ではなく .jsp 拡張子の場合、フラグが立てられます。 クイック・フィックスは、リファクタリング・ダイアログを表 示しファイル名とすべての関連する参照を変更できるようにし ます。 JSP welcome ファイルの getQueryString メソッドを確認 する なし この規則は、Web モジュールの JSP welcome ファイル内の request.getQueryString() メソッド呼び出しを検出します。これら の呼び出しにフラグが立てられるので、ユーザーは正しい使用 を確認してクエリー・ストリングに null 値を使用しないように することができます。 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 を選択することができます。 クイック・フィックスが使用可能な場合もあります。 クイック・フィックスのない規則には規則違反のフラグ が立てられるので、 それらの使用法を評価し、必要な場合は、手動でコードをマイグレーションすることがで きます。 表 1 : 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 この規則は、これらのインターフェースを実装するクラ スを検出してフラグを立て、新しいインターフェースを 追加できるようにします。 52 | Application Migration Tool | Java SE バージョンのマイグレーション 規則名 クイッ ク・ フィッ クス 行われるアクション 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. Application Migration Tool | Java SE バージョンのマイグレーション | 53 規則名 クイッ ク・ フィッ クス 行われるアクション 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 に変更します。 54 | Application Migration Tool | Java SE バージョンのマイグレーション 表 2 : 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) 表 3 : Java SE 7 互換性の影響 Application Migration Tool | Java SE バージョンのマイグレーション | 55 規則名 クイッ ク・ フィッ クス 行われるアクション の各メソッドにフラグを立てます。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 インターフェースを実装しているクラ 56 | Application Migration Tool | Java SE バージョンのマイグレーション 規則名 クイッ ク・ フィッ クス 行われるアクション スを検出します。このインターフェースに は、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 プロファイル・サーバーを実 行する 場合は、以下の規則のクイック・フィックスを実行しないでください。 表 4 : 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 に置き換えられる必要がある Application Migration Tool | Java SE バージョンのマイグレーション | 57 規則名 クイッ ク・ フィッ クス 行われるアクション 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 クラスは含まれません。 この規則は、自動ではどの規則セッ トによっても選択されません。 表 5 : Sun 内部 API 規則名 クイッ ク・ フィッ クス 行われるアクション sun.security.x509 パッケージから API を使用しない あり 一部のオペレーティング・システムで は、sun.security.x509 パッケージのクラスおよび インターフェースは、com.ibm.security.x509 パッ ケージのクラスおよびインターフェースに置き換えられ ます。 58 | Application Migration Tool | フレームワークのマイグレーション フレームワークのマイグレーション 規則の「Java コード・レビュー」カテゴリーおよび「XML ファイル・レビュー」 カテゴリーの下に、新 しい「フレームワークのマイグレーション (Framework migration)」カテゴリーが 追加されました。これ は、WebSphere Application Server で機能するためにマイグレーションが必要な場合がある、 よく使用されるフ レームワークの一部を認識するための規則を含みます。 競合製品ツールの規則セットと共にすべてのフレーム ワーク規則が自動的に選択されます。 フレームワークが検出されたことがわかるように、 以下の Java または XML のフレームワーク検出規則がプロ ジェクトごとに 1 回のみトリガーされます。これらは、 WebSphere Application Server と互換性がある方法でフ レームワークが機能 していることの確認を支援する情報を提供します。 表 6 : フレームワークのマイグレーション 規則名 クイッ ク・ フィッ クス 行われるアクション Hibernate フレームワークの確認 なし この規則は、Java 成果物および XML 成果物をスキャン して、Hibernate フレームワークの使用を検出します。 Seam フレームワークの確認 なし この規則は、Java 成果物および XML 成果物をスキャン して、Seam フレームワークの使用を検出します。 Spring フレームワークの確認 なし この規則は、Java 成果物および XML 成果物をスキャン して、Spring フレームワークの使用を検出します。 Framework XML - Spring ベスト・プラクティス規則 WebSphere Application Server と 互換性がある方法で Spring を使用していることの確認に役立つ、特定の Spring 成果物を確認する 規則のセットがあります。 一部の構成問題を修正するクイック・フィックスがあります。 クイック・フィックスは、Spring ベースのアプリケーションを他の Java EE テクノロジーにマイグレーション しません。 規則名 クイッ ク・ フィッ クス 行われるアクション DefaultMessageListenerContainer の有 効な構成の確認 なし この規則は ユーザーが WebSphere の有効な構成を確認で きるように、DefaultMessageListenerContainer を使用する Spring Beans にフラグを立てます。 LocalContainerEntityManager FactoryBean の有効な構成の確認 あり この規則は ユーザーが WebSphere の有 効な構成を確認できるように、クラス Application Migration Tool | フレームワークのマイグレーション | 59 規則名 クイッ ク・ フィッ クス 行われるアクション LocalContainerEntityManagerFactoryBean を使用する Spring Beans にフラグを立てます。 有効な JNDI 環境値の確認 なし この規則は、使用されている値が有効であることをユー ザーが確認できるように、jndi-lookup 要素内の環 境要素および jndiEnvironment という名前のプロパ ティーにフラグを立てます。 Spring jndi-lookup 要素構成の確認 なし この規則は、使用法が有効であることをユーザーが確 認できるように、jndi-lookup 要素にフラグを立てま す。 Spring JndiObjectFactoryBeans 構成の 確認 なし この規則は、使用されている値が有効であることをユー ザーが確認できるように、JndiObjectFactoryBean クラスを使用する Spring Beans にフラグを立てます。 contextConfigLocation context-param エ レメントで定義された Spring 構成を 確認する なし この規則は、他の規則でフラグが立てられていない Spring 構成ファイルの存在を確認します。 無効な Spring jndi-lookup 要素構成の 検出 あり この規則は、ユーザーが構成を修正できるように、Web プロジェクト内の jndi-lookup 要素にフラグを立てま す。 無効な Spring JndiObjectFactoryBean 構成の検出 あり この規則は、使用法が有効であることをユーザーが確認 できるように、Web プロジェクト内の Spring jndiName プ ロパティーにフラグを立てます。 さまざまなスタイルを使用して EntityManagerFactory を作成しない なし この規則は、同じ Spring 構成ファイル内の LocalEntityManagerFactoryBean および LocalContainerEntityManagerFactoryBean を使 用する 2 つのスタイルで EnityManagerFactory を作 成する Spring Beans にフラグを立てます。 NativeJdbcExtractor を使用しない なし この規則は、nativeJdbcExtractor という名前のプロパ ティーにフラグを立てます。代わりに、ユーザーは WSCallHelper を使用する必要があります。 サポートされていない JTA Transaction Manager を使用しない あり この規則は、WebSphereTransactionManagerFactoryBean、 WebLogicJtaTransactionManager または JtaTransactionManager を使用してトランザクション管理を 行う Spring Beans にフラグを立てます。代わりに、ユー ザーは WebSphereUowTransactionManager を使用する必要 があります。 60 | Application Migration Tool | トラブルシューティング トラブルシューティング ソフトウェア分析プログラムのオプションが表示されない Application Migration Tool のインストール後、Java、デバッグ、C++、およびプラグイン開発パースペクティブ のソフトウェア分析プログラムのメニューとツールバー・オプションが新しくなります。他のパースペクティ ブを使用する際には、これらのオプションは手動で使用可能にしてください。他のパースペクティブをカスタ マイズするには、以下のステップをすべて実行してください。 1. 使用中のパースペクティブで IDE メニューから「ウィンドウ」 > 「パースペクティブのカスタマイズ」を 選択します。 2. 「パースペクティブのカスタマイズ」ウィンドウで、「コマンド」タブをクリックし「ソフトウェア分析 プログラム」チェック・ボックスを選択してください。Rational Application Developer を実行している場合 には、Rational Software Analyzer チェック・ボックスが表示される場合があります。 3. 「OK」をクリックします。 図 10 : ソフトウェア分析プログラムの可用性 Java EE 構造か JSP を正しく読み取らない ツールがプロジェクト・ファイルを正しく読み取るためには、プロジェクトが適切なプロジェクト・ファ セットでセットアップされていなければなりません。例えば、エンタープライズ Bean を含むプロジェクトに は、EJB モジュール・ファセットがなければなりません。プロジェクト・エクスプローラーでプロジェクトを 右クリックして「プロパティー」を選択することにより、プロジェクトのファセットを確認できます。「プロ ジェクト・ファセット」プロパティーを選択してください。Web モジュールを含むプロジェクトは動的 Web プロジェクトでなければなりません。詳しくは、アプリケーションのインポート(12 ページ)を参照してくださ い。 ロギングとトレース Application Migration Tool | トラブルシューティング | 61 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 エディターの左マージンに表示され、マーカーが表示された行のエディターのコンテンツ に関する情報を提供します。 さまざまなファイル・タイプ用のエディターには、マーカーに関してさまざまな 動作があります。その幾つかをここで説明します。 図 11 : Java エディターの分析規則マーカー マーカーをクリックしてもポップアップ・ウィンドウは表示されない この問題は非 Java ベースの規則に影響します。 Java 規則に関しては、マーカーをクリックするとクイック・ フィックスが実行されます。 しかし、XML 規則のマーカーは、クリックしても何もアクションは取られず、 62 | Application Migration Tool | トラブルシューティング マーカーの上にカーソルを重ねるとヘルプ・テキストが表示されるだけです。 非 Java ファイルでは、「ソフ トウェア分析プログラムの結果 (Software Analyzer Results)」ビューを使用して「クイック・フィックス」アク ションを選択してください。 マーカーをダブルクリックするとマーカーが削除される ファイル・エディターのマーカーをダブルクリックすると、クイック・フィックスを適用せずにマーカーが削 除されます。この場合、分析を再実行すると問題に再度フラグが立ちます。 同一行で複数のマーカーを選択できない テキストの同一行に複数のマーカーがある時、異なるマーカーに切り替えることができません。 最初のマー カーのアクションを実行しないと、続くマーカーを選択できません。そのような場合にクイック・フィックス を適用するには、マーカーに頼るのではなく、「ソフトウェア分析プログラムの結果」ビューを使用して希望 する「クイック・フィックス」アクションを選択するようにしてください。 既知の問題 すべてのカテゴリーにクイック・フィックスを実行 「すべてのカテゴリーにクイック・フィックスを実行」オプションを使用する際には、完了するまで実行さ せてから別の規則プロバイダーに関して実行するようにしてください。また、「すべてのカテゴリーにクイッ ク・フィックスを実行」を既に実行中の同じプロバイダーに対してもう一度実行しないようにしてください。 完了するまで待ってください。 「すべてのカテゴリーにクイック・フィックスを実行」オプションを実行してエラーがログに記録されている ことに気付いた場合は、以下のように、問題を軽減するために Eclipse でできることがいくつかあります。 • • • 「ウィンドウ」>「設定」>「一般」>「エディター」で、「エディターを自動的に閉じる」を選択し、「開 いておけるエディターの数」を適度な数に制限します。デフォルト値は 8 です。これで問題ないはずです が、さらに制限してもかまいません。 エディターがすべて開かれてウィンドウ・ハンドルが使い果たされることがないようにするため に、「バックグラウンドで実行」を選択することもできます。 「すべてのカテゴリーにクイック・フィックスを実行」を実行中に、Eclipse の自動ビルド機能 (「プロジェ クト」>「自動的にビルド」) を使用不可にします。「すべてのカテゴリーにクイック・フィックスを実 行」の実行後に、手動でプロジェクトをビルドし、このオプションをもう一度使用可能にします。 分析を再実行する前にカテゴリーのすべての規則を処理する いくつかの規則は相互に関連しているので、関連したクイック・フィックスも実行してから分析を再度実行す ると結果が改善される場合があります。例えば、WebLogic ロギング規則のトリガーは相互に関連しているの で、変更が正常にコンパイルできるようにするためには、ロギングに関連したすべてのクイック・フィックス を適用する必要があります。 同一ノードに関する複数の規則 同一ノードに複数の規則のフラグが立っている際、最初に適用されるクイック・フィックスのみ正しく実行さ れます。すべてのコードが正しくフィックスされて処理されるようになるまでには、何度も分析を実行するこ とが必要になるかもしれません。 Linux におけるヘルプからの外部リンクの表示 多くの詳細ヘルプ・ページには、特定の規則に適用される情報への外部参照が含まれています。通常、こう した情報は Eclipse ヘルプ・ビューよりも外部ブラウザーで表示する方が適しています。Windows プラット Application Migration Tool | トラブルシューティング | 63 フォームの場合、ヘルプは、デフォルトのブラウザーでこうした外部参照を自動的に起動します。 Linux オ ペレーティング・システムの場合には、Eclipse ヘルプ・ビューにこうした情報が表示されます。手動によ り外部ブラウザーでヘルプを開く場合、詳細ヘルプ・ページで、「外部ウィンドウで表示 (Show in external window)」アイコン ( ) を使用します。 Java アーキテクチャー・ディスカバリー規則 「Java Architectural Discovery」規則は、Rational Application Developer 7.5.x ではサポートされていません。 それらの規則は、Eclipse 3.5 以降の API に基づいています。開発環境が Eclipse 3.4.x に基づいている場合に は、「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 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 ファイルを生成できます。 著作権および商標 © 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 または各社の商標である場合があります。