![]() |
Sun ONE Application Server 7 サーバーアプリケーションの移行および再配備 |
付録 BSun ONE Migration Toolbox
Sun ONE Migration Toolbox (S1MT) は、主に NetDynamics または Kiva/NAS プラットフォームで構築されたアプリケーションを Sun ONE Application Server または J2EE 互換コンテナに移行するために使用されます。Sun ONE Migration Toolbox のメインインタフェースは、Toolbox アプリケーション または Toolbox GUI と呼ばれます。このアプリケーションは %MIGTBX_HOME%/bin/toolbox.bat スクリプトを実行して呼び出します。ただし setenv.bat ファイルが適切にカスタマイズされていなければなりません。詳細については README.txt を参照してください。
サポートされるプラットフォーム
Microsoft Windows NT 4.0 および Windows 2000 は現時点で S1MT をサポートしています。Windows 95/98/Me など、他の Win32 プラットフォームでも動作すると思われますが、これらについてはテストしていないため、S1MT インストールのマニュアルに記載された以外の追加設定が必要となることがあります。
Toolbox を正常に実行するためには少なくとも JavaSoft JDK 1.2.2 が必要になります。JDK 1.3.1 ではテストされています。
移行
Toolbox は移行時の様々な処理を行う一連のツールです。S1MT 1.2.3 は NetDynamics および Kiva/NAS プラットフォームからの移行をサポートしています。各プラットフォーム用に提供されている Toolbox Builder を実行すると、一連のアプリケーション移行ツールが生成されます。Kiva Migration Toolbox Builder は Kiva/NAS アプリケーションの移行ツールを生成し、NetDynamics Migration Toolbox Builder は NetDynamics アプリケーションの移行ツールを生成します。Toolbox builder の呼び出し方法を次の図に示します。
![]()
Toolbox Builder
各移行で基本的には同じツールセットを使用しますが、特定の移行のためにカスタマイズが必要になる場合があります。このようなツールの作成は無駄な作業であり、命名規則およびディレクトリ構成のレイアウトで不整合が発生しやすくなります。これを防ぐためにツールボックスアドインが用意されています。これは設定済ですぐに実行できるツールであり、ツールの作成とプロパティの設定を適切に簡素化します。ツールのプロパティは似通っており、全く同じ場合も少なくありません。整合性を保つことは移行を成功させる重要な条件であるため、このツールは有効です。
Kiva Migration Toolbox Builder
次の手順によって、Kiva Migration Toolbox Builder アドインを使用する新規ツールボックスを生成します。
- Toolbox アプリケーションが稼働していない場合は、Toolbox を起動してメニューオプション「Add-In|Migration|Kiva Migration Toolbox Builder」を選択します。
- 続けて、必要な情報の入力を求めるダイアログボックスがいくつか表示されます。Toolbox Builder はこの情報を使用し、生成するツールのプロパティ値を設定します。入力を要求されないプロパティにはデフォルト値が指定されています。これらは Toolbox Builder によるツールの生成後に必要に応じて変更します。
- 最初に新しい JATO アプリケーションが配置されるパッケージの名前を入力します。この名前がどのように使用されるかは、OnlineBankSample の移行を実行し、./war/WEB-INF/ クラスの下に JATO のデータを含む新しいパッケージがどのように配置されるかを確認することにより理解できます。既存のすべての Java コードが同じパッケージに残っていますが、JATO アプリケーションインフラストラクチャ用の新しい Java コードをいくつか生成する必要があります。新しいパッケージはこのコード向けに生成されています。元のアプリケーションの Java ソースもすべて同じパッケージに残しておくことができます。JATO リソースで新しいパッケージを定義する必要があるのは新しい Java ソースだけです。どのパッケージを選択した場合でも (たとえば com.iplanet.migration.samples.onlinebank など)、パッケージ名の最後の部分が移行結果のデフォルトディレクトリ名として使用されます。このディレクトリの場所は次のパネルで変更できますが、デフォルト値をそのまま使用することをお勧めします。
- 次に Automatic Application Extract Archive Wizard を使用するかどうかを選択します。このウィザードを使用すると、アプリケーション抽出アーカイブ作成用ツールの生成が容易になります。「Cancel」を選択すると、 application extract archive (ZIP/JAR) のパス名の入力だけが必要になります。これはアプリケーションのすべてのソースを含む zip または JAR ファイルの名前です。この場合はアーカイブをあらかじめ手動で作成しておく必要があります。ウィザードはエンコード仕様に進みます。
- Automatic Application Extract Archive Wizard に対して「OK」を選択すると、アプリケーションソースのルートディレクトリの入力が要求されます。通常は ./nas/APPS ディレクトリです。
- 次にこの移行に関連するアプリケーションソースディレクトリにトップレベルパッケージを指定します。ディレクトリにあるすべてのソースを指定する場合は値の指定を省略できます。
- 次にアプリケーション抽出アーカイブの対象とするファイルの拡張子リストを指定します。
- Automatic Application Extract Archive Wizard に対して「OK」を選択すると、Task tool、Copy Directory tool、および Java tool がツールボックスに追加されます。
- Java ソースおよびクエリファイルの文字エンコードを入力するパネルは 2 つあります。多くの顧客が Java ソースに ASCII 以外の文字エンコードを指定しています。たとえばアジアの開発者や顧客は 2 バイト文字を含むソースファイルを使用しています。S1MT BETA から変更する場合は、各ファイルタイプに 1 つのエンコードだけを指定できます。1 つのアプリケーションでは共通のエンコード標準が使用されていることを想定しています。エンコードが複数使用されている場合は、アプリケーションを記述している XML ファイルを抽出後に変更する必要があることがあります。S1MT 1.2.3 では、ソースファイルの <meta> タグを調べ、HTML テンプレートの文字エンコーディングを自動的に検出しようとします。ただし、アプリケーションを記述する XML ファイルのエンコード状態を確認し、変換が正しく行われるかどうかを確認する必要があります。
- この時点で Kiva Extraction and Translation Tools がツールボックスに追加されます。
- 最後に Automatic Static Document Translation Wizard を使用するかどうかを選択します。このウィザードを使用すると、静的ドキュメントコンテンツのアセンブル、AppLogic 呼び出し用 URL の変更ドキュメントの変換、および結果 WAR ディレクトリ構造へのドキュメントコピー用のツール生成が容易になります。
- 「Cancel」を選択するとウィザードは終了します。「OK」を選択すると、アプリケーションのドキュメントルートの入力が要求されます。入力すると別の Task tool、JAR tool、Document Translation tool、および Copy Directory tool がツールボックスに追加されます。
- メニューオプション「File|Save」を選択し、名前を指定して、ツールボックスをディスクに保存します。
Kiva Toolbox Builder で生成されるツールを次に示します。
![]()
ツールの起動
生成されたツールを使用してアプリケーションを移行する準備ができました。最初に抽出、次に変換を行います。ツールを呼び出す前にプロパティを調べ、必要に応じて変更します。Toolbox Builder に設定されている初期値をそのまま使用する場合は、変更の必要はありません。(注 : Toolbox Builder で各ツールボックスに Task Tool を 1 つ生成すれば、すべてのツールを呼び出すことができます。ただし、アプリケーションをいくつか移行し、各ツールの出力内容に慣れるまでは個別に呼び出しを行うことをお勧めします。)
Kiva Migration Toolbox Builder で生成されるツール
- KIVA Application Extraction Tool
Kiva アプリケーションファイルを含むアプリケーション抽出ファイル、つまり zip または JAR ファイルを読み込み、アプリケーション記述ファイル、つまり XML ドキュメントを生成します。アプリケーション記述ファイルには、アプリケーション抽出アーカイブの各ファイルの状態を含む、アプリケーション記述のための上位レベルの情報が含まれます。
このツールは、テンプレート、アプリケーションロジック java ファイル、およびその他のアプリケーション固有のリソースなど、元の NAS/KIVA アプリケーションソースをすべて含む zip ファイルが、入力内容にあらかじめ存在することを想定しています。この zip ファイルに実際に元のクラスファイルが含まれている必要はありません。これは移行を行うことでソースファイルが変更されてしまうためです。
移行プロセスを自動化するためには、最初にアプリケーション記述ファイルを生成します。このファイルは他の目的でも使用されますが、Kiva Application Translation Tool (com.iplanet.moko.nas.tools.KivaTranslateTool) の入力ファイルとしての使用が主な用途です。
- KIVA Application Translation Tool
Kiva アプリケーションファイルを含むアプリケーション抽出ファイル、つまり zip または JAR ファイル、およびアプリケーション記述ファイル、つまり XML ドキュメントを読み込みます。アプリケーション記述ファイルは、そのアプリケーションに対応する一連の J2EE コンポーネントおよびファイルの生成に使用されます。アプリケーション記述ファイル (XML ドキュメント) は、Kiva Extraction Tool (com.iplanet.moko.nas.tools.KivaExtractTool) による、一連のソース Kiva プロジェクトからの情報抽出処理で生成されます。変換ツールの使用は Kiva アプリケーション自動移行の 2 番目の手順です。
- Copy Directory Tool
ソースディレクトリの内容をターゲットディレクトリにコピーします。
- JAR Tool
ソースディレクトリとそのすべてのサブディレクトリを含む JAR ファイルを生成します。
NetDynamics Migration Toolbox Builder
次の手順に従って、NetDynamics Migration Toolbox Builder アドインを使用する新規ツールボックスを生成します。
- Toolbox アプリケーションが現在稼働していない場合は、Toolbox を起動し、最初のダイアログで「Migrate an application」オプションを選択し、「OK」をクリックします。Toolbox を起動すると空の (New) ツールボックスが表示されます。メニューオプション「Add-In|Migration|NetDynamics Migration Toolbox Builder」を選択します。
- 続けてダイアログボックスがいくつか表示され、必要な情報の入力が要求されます。Toolbox Builder はこの情報を使用し、生成するツールのプロパティ値を設定します。入力を要求されないプロパティにはデフォルト値が指定されています。これらは Toolbox Builder によるツールの生成後に必要に応じて変更します。
- 最初に次のメッセージが表示されます。 Enter the logical application
name (論理アプリケーション名を入力してください。)これはアプリケーション全体を表す名前です。アプリケーションには NetDynamics プロジェクトが複数含まれる場合があります。アプリケーションが 1 つのプロジェクトで構成される場合でも、プロジェクト名とアプリケーション名は別にすることをお勧めします。たとえば、プロジェクト名が foo の場合は、アプリケーション名を foo ではなく fooapp にします。これによって他の同種のプロパティとの混同を防ぎ、配備が容易になります。
- アプリケーション名を入力すると、Toolbox Builder からさらに情報の入力が要求されます。デフォルト値が設定されている場合は提示されます。すべてデフォルト値を使用することをお勧めします。
- すべての情報を入力すると、Toolbox Builder によってツールボックスにいくつかのツールが生成されます。メニューオプション「File|Save」を選択し、名前を指定して、ツールボックスをディスクに保存します。アプリケーション名 (この例では最初のプロンプトで指定した fooapp) をツールボックス名とすることをお勧めします。
NetDynamics Toolbox Builder で生成されるツールを次に示します。
![]()
ツールの起動
ツールが生成され、NetDynamics アプリケーションを移行する準備ができました。ツールを呼び出す前にプロパティを調べ、必要に応じて変更します。Toolbox Builder に設定されている初期値をそのまま使用する場合は、変更の必要はありません。(注 : Toolbox Builder で各ツールボックスに Task Tool を 1 つ生成すれば、すべてのツールを呼び出すことができます。ただし、アプリケーションをいくつか移行し、各ツールの出力内容に慣れるまでは個別に呼び出しを行うことをお勧めします。)
Kiva Migration Toolbox Builder で生成されるツール
- NetDynamics Extraction Tool
このツールはソース NetDynamics プロジェクトからできるだけ多くの情報を集め、アプリケーション記述ファイルと呼ばれる XML ファイルに書き込みます。このアプリケーション記述ファイルを Application Translation Tool の入力ファイルとして使用します。
このツールを呼び出す前に、次のプロパティが正しいかどうかを確認してください。
ProjectsDirectory は抽出時に使用される NetDynamics プロジェクトディレクトリのパスです。デフォルト値は %MIGTBX_HOME%/work/NDProjects です。移行するすべての NetDynamics プロジェクトをこのディレクトリに配置することをお勧めします。
Toolbox Builder アドインでの入力時に間違えていなければ、他のプロパティの現在の値を変更する必要はありません。他のプロパティについてはこのマニュアルの後の部分で詳しく説明します。
変更した場合はツールボックスを保存し、ツールを起動します。アプリケーション記述の XML ファイルは、OutputDirectory プロパティで指定された位置に書き出されます。
アプリケーション記述ファイルを開いてその内容を見ればプロジェクト抽出処理の詳細を理解できます。XML Spy のような XML ブラウザの使用をお勧めします。このファイルの内容は変更しないでください。変更すると変換フェーズに大きな影響を与え、完全にエラーになるか、不正な結果が生成されます。
- Application Translation Tool
NetDynamics Extraction Tool で生成されたアプリケーション記述ファイルから、元の NetDynamics アプリケーションの構造および動作を正確に再現する一連の J2EE に準拠するコンポーネントを生成します。
Toolbox Builder アドインでの入力時に間違えていなければ、他のプロパティの現在の値を変更する必要はありません。他のプロパティについてはこのマニュアルの後の部分で詳しく説明します。
変更した場合はツールボックスを保存し、ツールを呼び出します。新しい J2EE コンポーネントは、OutputDirectory プロパティで指定された位置に書き出されます。
さらにこのツールは移行ログファイル MigrationLog.csv を変換出力ディレクトリに書き出します。このファイルには、移行に特別な注意が必要であると変換時に判断された項目が記録されます。変換で自動処理されなかった項目があることを移行の開発者に警告し、必要な手動処理を記録するためにこのファイルを生成します。このファイルは移行に最低限必要な手動処理のリストとして使用されます。他に変換には直接関係しない処理が必要な場合もあります。
- Regular Expression Mapping Tool
このツールは Regexp Tool とも呼ばれ、ファイルの変更を反映するため XML の置換機能を使用します。Perl 5 の正規表現構文を使用します。Toolbox Builder が生成する Regexp Tool は、移行された Java ソースファイルの一般的な Spider API Java コンストラクトを同等の JATO コンストラクトに置き換えるようにあらかじめ設定されています。
このツールを呼び出す前に、次のプロパティが正しいかどうかを確認してください。
SourceDirectory は移行アプリケーションが置かれる場所です。JATO ソースファイルを処理すると予期しないエラーが発生するため、このディレクトリには置かないようにしてください。
Toolbox Builder アドインでの入力時に間違えていなければ、他のプロパティの現在の値を変更する必要はありません。
変更した場合はツールボックスを保存し、ツールを起動します。移行されたソースファイルが処理され、変更はコンソールに記録されます。ファイル変更前には元のファイルがバックアップされます。ファイルには拡張子 .orig が付けられ、元の位置に保存されます。
重要 : 自動移行のフェーズはこれで終了です。次に移行アプリケーションの Java コードを移植し、J2EE/JATO API を NetDynamics Spider API の代わりに使用します。これ以降で説明するツールは、手動移行が一度完了した後でパッケージングおよび配備を行う場合に有効です。ただし 1 つ例外があります。移行されたアプリケーションはこの時点で正常にコンパイルされ、配備時にはページ呼び出しができるなど、最低限動作しなければなりませんが、NetDynamics Spider API を使用している場合は本来の機能を果たしません。したがって、正常かどうかのチェック、または Spider に依存する機能の移行チェックのみを行う場合を除いては、移行アプリケーションの最低限の部分だけを移植し、作業を続行することをお勧めします。
- Java Compiler Tool
このツールを使用すると、JATO Foundation Classes および新しい J2EE アプリケーションコンポーネントをマウスのクリック 1 つでコンパイルできます。実際には JDK で提供される javac コマンド行ツールの呼び出しだけを行います。
前に実行したツールで出力ディレクトリのプロパティを変更していなければ、このツールで調整の必要なプロパティはありません。プロパティについてはすべてこのマニュアルの後の部分で説明します。
変更した場合はツールボックスを保存し、ツールを呼び出します。SourceDirectory で指定したディレクトリにある、拡張子 .java の java クラスソースファイルがすべてコンパイルされます。
- Copy Directory Tools (WAR ファイルディレクトリ構成の生成)
このツールはディレクトリまたはファイルをある場所から別の場所にコピーします。またファイルのフィルタ機能を持ちます。このタイプの生成ツールの目的は「WAR ファイル作成のための」ディレクトリ構造を生成することです。最初に 4 回 Copy Directory Tools を実行し、配備記述子、タグライブラリ定義、JSP、および Java クラスを適切なディレクトリにコピーします。これで J2EE コンテナに配備する WAR ファイル生成のために Jar Tool を使用できます。
CopySource が指定されている Copy Directory Tool インスタンスはオプションです。WAR ファイル生成にはソースファイルは不要ですが、配備されるアプリケーションと共に保存しておけば、正しいバージョン管理および配備先での急な修正に役立ちます。これらのソースファイルはアプリケーションクライアントから参照することはできません。したがって配備先のサーバーにあっても安全です。
これ以前に実行したツールで出力ディレクトリのプロパティを変更していなければ、プロパティの値を変更する必要はありません。プロパティについてはすべてこのマニュアルの後の部分で説明します。
変更を行った場合はツールボックスを保存し、CopyDeplDesc、CopyTLD、CopyJSP、および CopyClasses の 4 つのディレクトリコピーツールを呼び出します。環境によって必要な場合は CopySource を呼び出します。これらのツールを呼び出すと、選択されたファイルが各ツールの OutputDirectory プロパティで指定されたディレクトリに書き出されます。これで「WAR ファイル作成」の準備ができました。
- Jar Tool
このツールは JDK の JAR コマンド行ツールを使用し、この前のコピーディレクトリツールで生成されたディレクトリ構造の WAR ファイルを生成します。アプリケーションを J2EE コンテナに配備する場合はこの WAR ファイルだけが必要になります。iAS の配備の手順については『JATO 配備ガイド』で説明します。通常、コンテナはそれぞれ独自の配備処理を行うため、各コンテナの説明に従ってください。
これ以前に実行したツールで出力ディレクトリのプロパティを変更していなければ、プロパティの値を変更する必要はありません。プロパティについてはこのマニュアルの後の部分で説明します。
変更した場合はツールボックスを保存し、ツールを呼び出します。WAR ファイルが生成され、OutputDirectory プロパティで指定された位置に書き出されます。これでアプリケーション配備の準備ができました。
Tool と Toolbox
ツールボックスは拡張子が .toolbox のツールボックスファイルとしてディスク上に置かれます。ツールボックスの各ツールはツールボックスファイルに直列化オブジェクトとして格納されています。ツールは拡張子が .tools のファイルとしてそれぞれ独立して存在することもできます。フォーマットはほとんど同じです。ツールボックスの生成、コピー、削除、2 つのツールボックスのマージ、およびツールの個別インポートまたはグループ単位のインポートを行うメニューコマンドなどがあります。
新しいツールの生成
ツールの新しいインスタンスを生成する場合は、「Tool|New」メニューオプションを使用し、抽出、変換、またはコンパイルなど、生成するツールのタイプを選択します。現在開いているツールボックスのツールボックスツリーに新しいツールが追加されます。ツールはタイプで分類されます。名前の形式はデフォルトでは CopyDirectoryTool7 のように、<ToolType><##> になります。ツール名をトリプルクリックするか、「F2」を押して名前を変更できます。ツール名を空白にしておくこともできます。
Cloning Tools
ツールのコピーを生成する場合は、「Tool|Clone」メニューオプションを使用します。元のものと同じプロパティを持つ、同じタイプのツールが新しく生成されます。必要に応じて名前を変更し、プロパティを調整します。
Deleting Tools
ツールを削除する時は、「Tool|Delete」メニューオプションを使用します。ツールボックスからツールが削除されます。削除前に確認のメッセージが表示されますが、削除を取り消す方法はありません。Ctrl キーまたは Shift キーを押しながら選択すると、複数のツールを同時に選択し、削除できます。
インポートツールとエクスポートツール
様々な NetDynamics アプリケーションの移行に焦点を当てた複数のツールボックス、つまり拡張子が .toolbox のファイルを持つことができます。インポートコマンドでツールを .tools ファイルにエクスポートし、インポートコマンドで別のツールボックス、つまり .toolbox ファイルにインポートできます。
ツールをエクスポートする場合は、そのツールが含まれるツールボックスを開き、ツールボックスのツリーでツールを選択し、「File|Export」メニューオプションを使用して、ツールをエクスポートする .tools ファイルの名称を入力します。現在のツールボックスからツールは削除されません。
ツールを別のツールボックスにインポートする場合は、インポート先のツールボックスを開き、「File|Import」メニューオプションを使用し、インポートする .tools ファイルを指定し、ツールボックスを保存します。
ツールボックスのマージ
2 つのツールボックスを 1 つにマージする場合は、「Open Toolbox」メニューオプションの「Open Toolbox」機能を使用します。2 つのツールボックスをマージする場合は、まず一方のツールボックスを開き、開いた状態でもう一方のツールボックスを開きます。先に開いたツールボックスの内容を置き換えるか、2 つのツールボックスをマージするか、処理を中止するかを尋ねるメッセージが表示されます。
トラブルシューティング
重要 : 先に進む前に、最新の S1MT パッチを Sun ONE Migration Website からダウンロードし、適用しておきます。問題が発見され、原因が特定されるとパッチがリリースされます。これらのパッチのほとんどは S1MT のユーザーによって発見された問題を解決するためのものです。問題を発見したら S1MT チームに連絡してください。原因を特定し、必要に応じてパッチをリリースします。
ツールボックスのインストールおよび設定
Toolbox アプリケーションで問題があった場合は次の点を確認してください。
- すべての %MIGTBX_HOME%/bin/setenv.bat スクリプトが環境に合わせてカスタマイズされているかどうか。JDK が制限されているため、ディレクトリ名に空白を含む場合はそのパスに S1MT をインストールできません。たとえばアーカイブを C:¥Program Files ディレクトリには解凍しないでください。c:¥iPlanet または c:¥ にアーカイブを解凍することをお勧めします。
- WinZip の古いバージョンで JDK の zip/jar ツールで作成されたアーカイブを解凍すると問題が発生することが報告されています。解凍時にファイルが切り捨てられ、長さが 0 バイトになってしまいます。したがって、S1MT アーカイブの解凍時には http://www.winzip.com を参照し、最新版の WinZip を使用しているかどうかを確認してください。
- クラスのバージョン問題を回避するため、Toolbox アプリケーションを実行する時にはすべての JAR ファイルを JDK の拡張ディレクトリ、%JAVA_HOME%/jre/lib/ext から必ず削除することをお勧めします。Toolbox の実行に必要なクラスはすべてバージョンに含まれています。拡張ディレクトリの JAR ファイルの名称を変更するだけでは不十分であり、別の場所に移動する必要があります。
- 複数のコピーまたはバージョンの JDK がインストールされている開発マシンが多いため、どの JDK を使用しているかを確認してください。JAVA_HOME 環境変数を %MIGTBX_HOME%/bin/setenv.bat ファイルに設定し、Toolbox アプリケーションに対して適切なコピーを使用するようにしてください。
抽出
これまで説明してきたように、アプリケーション記述の抽出はエラーや問題がもっとも発生しやすい部分です。また、前述したとおり、このような失敗は移行プロセスでは頻繁に発生することであり、もしエラーが発生したとしても落胆する必要はありません。これまでに説明されていないような問題が発生した場合は、次のヒントを参考にしてください。
一般的な問題
- 抽出時にはすべての外部クラス、つまり NetDynamics プロジェクトクラス以外のクラスが Toolbox のクラスパスに置かれます。これらのクラスを利用可能にする最も簡単な方法は、JAR ファイルまたはパッケージされていないクラスを %MIGTBX_HOME%/lib/ext ディレクトリに配置することです。このディレクトリのクラスおよび JAR ファイルは、起動時に Toolbox クラスパスに自動的に追加されます。これで不十分な場合は、クラスをクラスパスに追加するか、または %MIGTBX_HOME%/bin/setclasspath.bat ファイルを編集することができます。
- 抽出ツールおよび変換ツールの出力の最後のコメントを確認し、自動プロセスで処理できなかったプロジェクトオブジェクトがあるかどうかを判断します。
- 埋め込み型 NetDynamics ランタイムの使用には固有の制限があるため、抽出で例外がスローされてもレポートされたツールのステータスには影響しません。また実際は抽出でエラーが発生しても正常終了としてレポートされる場合もあります。したがって、抽出時にスローされた例外はすべて記録して調査することを強くお勧めします。影響がないと思われた例外の副作用によって、抽出されたプロジェクト情報が不正確なものになってしまったという例もあります。たとえば、ある抽出時に、一見あまり重要でないクラスを検索していた NetDynamics ランタイムが ClassNotFoundException をスローしたことがありました。この例外が原因となって特定の DataObject プロパティを抽出できなくなり、移行アプリケーションが正常に動作しなくなりました。したがって、移行をできるだけ完全なものとするためには、抽出フェーズの例外の原因をすべてなくしてから先に進むようにします。
- 埋め込み型 NetDynamics CP は、プロジェクトの抽出前と抽出後で別々のプロジェクトのコピーをインスタンス化するようになっています。通常これによる悪影響はありませんが、インスタンス化の時にプロジェクトが例外をスローした場合は、Toolbox のコンソールログに 2 セットのスタックトレースが表示されることになります。
抽出時の致命的でないエラー
自動移行で一部エラーが発生した場合は次のようにしてください。
- 先のセクションで説明したヒントを参考にしてエラーの原因を検出および修正し、抽出または変換を必要に応じて再実行します。
- NetDynamics による移行で問題が発生した場合は、NetDynamics Studio で新しいプロジェクトを作成し、問題の原因になったオブジェクトをインポートします。オブジェクトを減らしていき、プロジェクトを適切に実行できるツールを探します。これらのファイルを元の移行済のオブジェクトにコピーします。
- エラーとなったオブジェクトの移行は手作業で行います。これはそれほど大変な作業ではありません。JATO フレームワークもアプリケーションを手作業でオーサリングするために設計されています。application パッケージのテンプレートにある、同じタイプの移行オブジェクトのサンプルを使用して処理を行います。新しい JATO オブジェクトの手作業による生成方法を記載したマニュアルが作成されています。JATO eGroups フォーラムの「ファイル」をチェックしてください。
- 問題はできるだけ完全に原因を突き止めてから、ディスカッションフォーラムまたは S1MT チームに相談してください。
抽出時の致命的なエラー
次の項目がエラーの原因になっていないかどうかを確認してください。同様の他の項目が原因になっている場合もあります。
- 環境設定が正しくない。%MIGTBX_HOME%/bin/setenv.bat ファイルの設定が環境に合っているかどうかを確認してください。
- 外部クラスがない
- ツールのプロパティ設定が正しくない。Extraction Tool のプロパティ設定が正しいかどうか確認します。
- 重要な箇所で存在しないランタイム機能を使用している。バックグラウンドタスク実行のために Spider スレッド以外のクラス初期化を使用している場合など
- linksディレクトリが存在しないか、クラスファイルが壊れている
- 使用している JDK バージョンまたはプラットフォームが正しくない
- ブートクラスパスのクラスファイルバージョンの矛盾。JDK の拡張ディレクトリにクラスファイルが存在する場合など
問題の原因が上記のどれにもあてはまらない場合は、S1MT のバグを発見した可能性があります。NetDynamics によるプロジェクト開発は自由度が大きいため、Sun ONE ではすべての状況を予測することができず、すべての顧客に対して移行時にエラーが発生しないと断言することはできません。しかし、S1MT ではできるだけ移行を容易に行えるよう努力しています。問題が発生した場合は S1MT チームまたはディスカッションフォーラムに報告してください。すぐに対処し、必要に応じてパッチをリリースします。
変換
アプリケーション変換でエラーが発生した場合は、最初に次の処理を行います。
- アプリケーション記述ファイルの内容が完全であるかどうか、また XML として有効かどうかを確認します。XMLSpy や Internet Explorer などのツールを使用してドキュメントを開き、内容を確認します。
- Translation Tool の設定が正しいかどうかを確認します。
- %MIGTBX_HOME%/bin/setenv.bat ファイルの設定が環境に合っているかどうかをチェックします。
- Toolbox が完全にインストールされているかどうかを確認します。
問題の原因が上記のどれにもあてはまらない場合は、S1MT のバグを発見した可能性があります。NetDynamics によるプロジェクト開発は自由度が大きいため、Sun ONE ではすべての状況を予測することができず、すべての顧客に対して移行時にエラーが発生しないと断言することはできません。しかし、S1MT ではできるだけ移行を容易に行えるよう努力しています。問題が発生した場合は S1MT チームまたはディスカッションフォーラムに報告してください。すぐに対処し、必要に応じてパッチをリリースします。
移行後の問題
移行後またはテスト時に問題が発生する場合があります。一般にこのような問題はディスカッションフォーラムに投稿するか、S1MT チームと解決策を話し合う必要があります。ただし連絡する前に次の項目をチェックします。
- 各サーブレットのモジュール URL および各ビュー bean の表示 URL が、プロジェクト変換時に特定のデフォルトに設定されている。これらのデフォルトは配備環境では正しいものであっても、場合によっては正しくない場合があります。『JATO Deployment Guide』を参照するか、またはディスカッションフォーラムで相談し、これらの URL を配備と異なる設定にする方法を確認します。
- JDBC ドライバの特定の列タイプ処理に不整合がある。JATO には、特定のデータベースを使用してアプリケーションを動かす場合に変更しなければならないオプションが いくつかあります。ターゲットのデータベースで移行したアプリケーションを動作させるのが困難な場合は、Sun ONE Migration Web サイトを参照するか、またはディスカッションフォーラムで相談し、特定のデータベース関連の微調整についての情報を確認します。