前 次 前/次ボタンと目次ボタンとの区切り線

概要 : WebLogic Workshop 8.1 からのアップグレード

Workshop for WebLogic には、バージョン 8.1 で構築されたアプリケーションのアップグレード プロセスを簡単にするためのツールが用意されています。これらのツールは、バージョン 8.1 のコードを読み込み、対応するバージョン 9.2 の新しいワークスペースを生成するように設計されています。新しく生成されたコードは、8.1 のコードが移行され、アップグレードされたものです。このコードでは明確に予測されるすべての変更が行われています (アプリケーション ロジックは「アップグレード ツール」によって変更されません)。新しいコードでは、新しいアノテーション モデル、異なったプロジェクト モデル、およびその他のコンポーネント向けの変更がサポートされています。

注意 : アップグレードに関する Workshop for WebLogic のドキュメントは、WebLogic Workshop バージョン 8.1 を使用して開発されたアプリケーションを前提に記述されています。これに該当しないアプリケーションを Workshop for WebLogic version 9.2 にアップグレードする場合は、まず WebLogic Workshop IDE バージョン 8.1 SP4、SP5、または SP6 でのビルドと実行ができるようにコードを移行する必要があります。その後で、ここに説明するツールを使用してアップグレードを実行してください。

このトピックでは、バージョン 8.1 からバージョン 9.2 への変更の概要と、アップグレード処理で推奨される高度な手順について説明します。

バージョン 8.1 とバージョン 9.2 の IDE の相違点と各 IDE で構築されたアプリケーションの相違点

アップグレード プロセス : 高度な手順

バージョン 8.1 のアプリケーションをアップグレードするための準備

アップグレード ツールによって実行されるアクション

アップグレード ログの表示

一般的な問題に関する注意事項

バージョン 8.1 とバージョン 9.2 の IDE の相違点と各 IDE で構築されたアプリケーションの相違点

WebLogic Workshop バージョン 8.1 で開発を行ってきた開発者がバージョン 9.2 (およびバージョン 9.2 で構築されたアプリケーション) で注目する最も大きな相違点としては、以下の点が挙げられます。

また、「WebLogic Workshop 8.1 ユーザに対する主な相違点」も参照すべき場合があります。

IDE が異なっている

バージョン 8.1 とは異なり、バージョン 9.2 では IDE が Eclipse Platform 上に構築されています。この変更には多くのメリットがあります。たとえば、オープンソース アーキテクチャによる透明性の確保、広く使用されている他の Eclipse ベース IDE と共通の使い慣れた機能、また、Eclipse プラグイン フレームワークに備わった、広く使用されている機能拡張モデルなどを挙げることができます。Workshop for WebLogic では、バージョン 8.1 で構築されたコンポーネントの特定の機能の反復的開発をサポートするために、このオープン フレームワークに数多くの機能が追加されています。

言うまでもなく、バージョン 8.1 の IDE から Eclipse ベースのバージョン 9.2 に移行すると、ユーザ インタフェースは大幅に変わります。次のリストでは、バージョン 8.1 の一般的な機能がバージョン 9.2 でどのように表示されるか (または表示されないか) について説明します。

プロジェクト モデルが異なっている

バージョン 8.1 からバージョン 9.2 へのプロジェクト モデルの変更の多くは、広く使用されている Eclipse と Java の規約にモデルを合わせることを意図しています。他の Eclipse ベースの IDE を使用したことがあるならば、Workshop for WebLogic バージョン 9.2 は親しみやすく感じられるはずです。大幅な変更のリストについては、「WebLogic Workshop 8.1 からバージョン 9.2 へのアップグレード時における変更点」を参照してください。

アノテーションが異なっている

Workshop for WebLogic バージョン 9.2 では、Java 5 アノテーション モデルがサポートされています。バージョン 8.1 ではソース コードのアノテーションは Javadoc スタイルのコメントに埋め込まれていたのに対し、バージョン 9.2 では対応するアノテーションはコメント ブロックの外側にあります。しかし、理論上はバージョン 8.1 とバージョン 9.2 のアノテーション モデルには相違点よりも多くの類似点があります。つまり、バージョン 9.2 では新しい構文を使用するアノテーションが使用されていますが、それらはバージョン 8.1 のほとんどのアノテーションに対応しています。バージョン 8.1 と同様に、バージョン 9.2 の IDE でもエディタ (アノテーション ビュー) が提供されています。それを使用して、アノテーションの属性値を表示および編集できます。変更の詳細については、「アノテーションのアップグレード」を参照してください。

コンポーネント固有の変更がある

これは、Web サービス、EJB、コントロールなどのコンポーネント タイプに固有の変更のことです。このような変更は主にソース コードに対して行われます。変更の概要リストは、「WebLogic Workshop 8.1 からバージョン 9.2 へのアップグレード時における変更点」に記載されています。または、このトピックの下部にある「関連トピック」に表示されている個々の技術向けのトピックを参照してください。

アップグレード プロセス : 高度な手順

以下に示す手順は、WebLogic Workshop を使用して開発したアプリケーションを前提としています。この IDE を使用せずに開発したコードを Workshop for WebLogic のアップグレード ツールでアップグレードする場合は、まず、WebLogic Workshop IDE でのビルドと実行ができるようにコードを移行する必要があります。

  1. WebLogic Workshop バージョン 8.1 アプリケーションが SP4、SP5、または SP6 にアップグレードされていることを確認します。このリリースに付属している「アップグレード ツール」は、これらのバージョンのみからアップグレードするように設計されています。
  2. サーバをアップグレードする前に、WebLogic Workshop バージョン 8.1 アプリケーションをバージョン 8.1 のドメインからアンデプロイします。

    ドメインのアップグレードと WebLogic Workshop アプリケーションのアップグレードは別のプロセスですが、相互に関連しています。WebLogic Workshop バージョン 8.1 ドメインのアップグレードに関する詳細については、「8.1 ドメインのアップグレードは WebLogic Workshop バージョン 9.2 内で実行できる」を参照してください。

  3. このドキュメントのトピックを参照して、「アップグレード ツール」を使用してアップグレードを行う前にバージョン 8.1 のアプリケーションに対する準備作業が必要かどうかを決定します。

    推奨されているアップグレード前の変更のリストについては、「バージョン 8.1 のアプリケーションをアップグレードするための準備」を参照してください。

    WebLogic Workshop 8.1 からバージョン 9.2 へのアップグレード時における変更点」も参照してください。アップグレード関連の問題が示されており、詳細な情報へのリンクも記載されています。

  4. アップグレード ツールを使用して、バージョン 8.1 のアプリケーションをアップグレードします。

    [インポート] ウィザードを使用してバージョン 8.1 のアプリケーションをアップグレードするには」では、このツールの使い方について説明されています。

    upgradeStarter コマンド」または 「upgrade Ant タスク」を使用して、ウィザードのアップグレード作業を実行することもできます。

  5. アップグレード ログおよびこれらのトピックを参照して、アップグレードされたアプリケーションの実行を阻害するおそれのあるアップグレード後の問題の修正をどのように開始するかを決定します。

バージョン 8.1 のアプリケーションをアップグレードするための準備

アプリケーションが複雑な場合は、バージョン 8.1 からバージョン 9.2 へのアップグレード プロセスが複数の段階に渡ることがあります。アップグレード プロセスの主要な部分は、IDE によって提供される「アップグレード ツール」によって実行されますが、バージョン 8.1 のアプリケーションに対して準備作業を行うことでウィザードの最終結果がはるかに処理しやすく、実行しやすいものになります。

ここで提供されているアップグレードに関するドキュメント全体に目を通してください。記述の多くで、アップグレードされたコードが実行しやすいものになるようにバージョン 8.1 のアプリケーションを編集する方法が推奨されています。

アップグレード ツールによって実行されるアクション

Workshop for WebLogic には、アップグレード プロセスのほとんどを自動化する 3 種類のツールが付属しています。各ツールは本質的に同じものであり、アップグレードするアプリケーションおよびパラメータを指定できます。[インポート] ウィザードは IDE のユーザ インタフェースとして使用できます。「upgradeStarter コマンド」はコマンドラインから使用するためのオプションを提供します。「upgrade Ant タスク」は Ant から使用するためのオプションを提供します。

注意 : バージョン 9.2 の IDE で個々のファイルをアップグレードすることもできます。アップグレードするには、ファイルを右クリックして [ソース ファイルのアップグレード] をクリックします。エラー処理とメッセージの詳細度に関するオプションについては、「バージョン 8.1 のアプリケーションをインポートしアップグレードするには」を参照してください。

アップグレード ツールによって実行される (または実行されない) アクションについて、以下に簡単に説明します。

アップグレード ログの表示

アップグレードに [インポート] ウィザードコマンドライン、または Ant タスクのいずれを使用しても、アップグレードにおける変更、エラー、および警告に関するログが生成されます。[インポート] ウィザードを使用する場合には、プロセスを完了する前に確認できるダイアログにもこのログが表示されます。

[アップグレードのプレビュー] ダイアログ

各ファイルのノードを展開すると、そのファイルに関連付けられたアップグレード メッセージを表示できます。以下に、ファイル名の横に示される記号について説明します。

情報メッセージ

警告メッセージ

エラー メッセージ

テキスト ログ ファイル

アップグレード ツールによって、アップグレード メッセージを格納するログ ファイルが生成されます。このファイルは、ツールの完了後に次の場所で参照できます。

UPGRADE_WORKSPACE_HOME\.metadata\upgrade.log

ファイル内のログ メッセージは、次のような形式になっています。

!SUBENTRY 1 com.bea.wlw.upgrade severity_level date time
!MESSAGE Upgrade-related message.

severity_level は、2 つの数字で表示されますが、それらは同じ意味です。date エントリおよび time エントリは、アップグレードが試行された時刻を示します。upgrade-related message は、実行された内容、警告の対象、または発生したエラーについて説明します。以下は、2 つのログ エントリの例を示す抜粋です。

!SUBENTRY 1 com.bea.wlw.upgrade 2 2 2006-02-27 17:17:53.687
!MESSAGE The 9.2 control context only supports a subset of the 8.1 control context APIs. Please see the Workshop for WebLogic upgrade documentation for more information.

!SUBENTRY 1 com.bea.wlw.upgrade 1 1 2006-02-27 17:17:53.687
!MESSAGE The import "com.bea.control.JwsContext" needs to be updated.

一般的な問題に関する注意事項

以下では、アップグレード後に発生するおそれのある問題について説明しますが、これらの問題は特定のコンポーネント タイプや技術に関連付けられたものではありません。特定の技術に関連付けられたアップグレード関連の問題については、「関連トピック」に表示されているトピックを参照してください。

サードパーティのライブラリ JAR に依存するバージョン 8.1 のアプリケーションはバージョン 9.2 のコンパイル エラーになる場合がある

通常は、プリコンパイルされたライブラリをバージョン 9.2 の環境で使用するために再コンパイルする必要がある場合には、警告メッセージが発生します。ただし、ライブラリを再コンパイルする必要がある場合でもメッセージが発生しないことがあります。プロジェクトでこの原因以外に説明できないコンパイル エラーが発生した場合には、これらのライブラリを再コンパイルすることを検討してください。

アプリケーション ライブラリ JAR ファイルのマニフェストで行の長さが 72 バイトを超えている場合、ビルド エラーが引き起こされる

バージョン 8.1 とは異なり、バージョン 9.2 では、JAR がアプリケーション ライブラリとして使用されている場合、JAR ファイルのマニフェストでは行の長さが制限されています。制限を超えている行のある JAR がアップグレードされたアプリケーションに含まれていると、ビルド時にエラーが発生します。この変更に対応するには、行のサイズを小さくするか、または JAR からマニフェストを削除します。

weblogic.jar の内部 API を使用するアップグレードされたコードはバージョン 9.2 では使用できない

内部 API の使用はサポートされておらず、バージョン 9.2 のクラスパスには weblogic.jar は含まれません (含むことができません)。weblogic.jar 内にあったパブリック API は wls-api.jar に移動されました。クラスパスに weblogic.jar がないことによるコードの破綻を回避するには、パブリック API を使用するようにコードを書き換えます。

サードパーティの API を使用するコードも、バージョン 9.2 へのアップグレードではサポートされていません。

アップグレードされたコードは Java 5 および JSP 2.0 の言語機能と衝突するおそれがある

Java 5 の新しい言語機能と (Beehive タグ ライブラリによって使用される) JSP 2.0 式言語により、場合によっては、アップグレードされたコードの一部に変更が必要になることがあります。

たとえば、バージョン 8.1 において予約語ではなかった語が、新機能のために新たに予約語として扱われるようになりました。Workshop for WebLogic のアップグレード ツールではこれらの語の使用はアップグレードされません。そのため、それらの語を使用するコードは新しい言語機能に対応するように書き換えられるまでコンパイルされません。

特に Java 5 には enum キーワードが追加されています。詳細については、Sun の Web サイトにある「Enums」を参照してください。

JSP 2.0 の予約語は、「予約語は識別子として使用できない」に記載されています。

また、Java API に多くの変更が加えられていることが、アップグレードされたコードに問題を生じる場合もあります。Java 言語に総称型が導入されたため、Object パラメータを取るメソッド シグネチャは、Java 1.4 においては従来よりも強く型付けされるようになりました。そのため、バージョン 8.1 では実行時にならないと検出できなかった多くのエラーを、Workshop for WebLogic バージョン 9.2 ではコンパイル時に検出できます。たとえば、以下のようなコードがあるとします。

String s;
Thing t;
s.compareTo(t);

バージョン 8.1 では、このコードに対してコンパイル エラーは発生せず、実行時に ClassCastException が発生します。バージョン 9.2 では、この compareTo(t) がコンパイル エラーとなります。なぜなら、8.1 における String.compareTo() は単に Object パラメータを取りましたが、9.2 では実際に String パラメータが要求されるようになったからです。

原則としては、コードのデバッグが済んでいればこの種のエラーは含まれていないと考えられますが、アップグレード後のコンパイルで実際にエラーが発生した場合には、プロジェクトのビルドを正常に完了するにはコードを修正する必要があります。

アップグレードされたワイルドカード インポート文では一部の型がインポートされないままになる場合がある

アップグレード プロセス中には Workshop for WebLogic アップグレード ツールによって、キー ライブラリの移動をサポートするためにパッケージのインポート文が更新されます。ただし、これによってバージョン 8.1 のパッケージのクラス (クラスはまだそのパッケージにある) を使用するコードが破綻するおそれがあります。たとえば、「アップグレード ツール」によって次の変更が行われるとします。

import com.bea.wlw.netui.util.*;

上記は、次のように変更されます。

import org.apache.beehive.netui.util.*

この場合、com.bea.wlw.netui.util.TemplateHelper はまだ旧バージョンのパッケージにあるのでインポートされないままになります。Workshop for WebLogic のクイック フィックス機能を使用して必要なパッケージをインポートすることによって、簡単にコードを修正できます。さらに徹底した修正を行うには、アップグレードを行う前にワイルドカードを削除し、バージョン 8.1 のコードにクラスを明示的にインポートします。

バージョン 8.1 の PointBase API はアップグレードされたコードではサポートされない

バージョン 8.1 には PointBase データベースに付属する API が含まれています。これらの API はバージョン 9.2 ではサポートされていません。

バージョン 8.1 では有効だった XML スキーマがバージョン 9.2 では無効になる場合がある

バージョン 8.1 の IDE では標準に準拠していないスキーマを使用できましたが、バージョン 9.2 の IDE では使用できなくなっています。そのため、アップグレード時に無効なスキーマによってエラーが生成されます。ただし、エラーは IDE に表示されますが、実行時の動作には影響しないはずです。

無効な状態のスキーマを引き続き使用する場合でも IDE にエラーが表示されないようにするには、スキーマ検証を無効にします。検証を無効にすると、検証が必要であってもすべてのスキーマに対する検証が無効になります。スキーマ検証を無効にするには、次の手順に従います。

  1. [ウインドウ|設定] をクリックします。
  2. [設定] ダイアログの左ペインで、[妥当性検査] をクリックします。
  3. 右ペインの [妥当性検査] で、[XML スキーマ・バリデーター] チェック ボックスのチェックをはずします。
  4. [OK] をクリックします。

WebLogic Workshop バージョン 8.1 ドメインのアップグレードはバージョン 9.2 内で実行できる

IDE で使用するためのサーバ定義の作成」で説明されているとおりに新しいサーバを作成すると、WebLogic Workshop バージョン 8.1 のドメインをアップグレードできます。

  1. Workshop for WebLogic で、[ファイル|新規|サーバ] をクリックします。
  2. [新規サーバ] ダイアログ ボックス内で、[Select the Server Type] から、作成する WebLogic サーバの種類を選択します。たとえば、[BEA WebLogic v9.2 Server] を選択します。
  3. 必要に応じてその他の項目を設定し、[次へ] をクリックします。
  4. [ドメイン ホーム] ボックスで、アップグレードする WebLogic Workshop ドメインを入力または参照して指定します。
  5. [ドメイン ホーム] に指定したドメインへのパスに基づいて、ダイアログ ボックスに以下のリンクが表示されます。

    古いバージョンのドメインが検出されました。アップグレード ウィザードを使用してドメインをアップグレードするには、ここをクリックしてください。

  6. この「古いバージョン」リンクをクリックして、BEA WebLogic アップグレード ウィザードを起動します。
  7. WebLogic ドメインをアップグレードする手順」で説明されているとおり、ドメイン アップグレード ウィザードの手順に従って作業を進めます。

関連トピック

Web サービスのアップグレード

ページ フローのアップグレード

コントロールのアップグレード

アノテーションのアップグレード

エンタープライズ JavaBean のアップグレード

 

ナビゲーション バーのスキップ   ページの先頭