|
をお使いになる前に 05/16/03 14:07:18 |
この章では、アプリケーションを適切なバージョンのJ2EE (Java 2 Platform, Enterprise Edition)で動作させる方法について説明します。 特に、既存のWorkbenchプロジェクトを新しいJ2EEバージョンに「移行」する場合と方法を理解しなければならないときに便利です。 トピックは次のとおりです。
J2EEおよびWorkbenchのJ2EE機能の概要については、『開発ガイド』の
J2EEの概要に関する章を参照してください。
J2EEバージョンでは、配備するJ2EEサーバに応じて選択内容が大きく左右されます。 まず、J2EEサーバがJ2EE 1.2または1.3と互換性があるかどうかを調べます。 その後、次のトピックを参照して、アプリケーションにおける意味とWorkbenchでの処理方法について学習します。
J2EE 1.2サーバに配備するためにアプリケーションを開発している場合は、 J2EE 1.2アーカイブおよび J2EE 1.2技術を使用できます。 ただし、J2EE 1.2サーバでは、 J2EE 1.3アーカイブおよび J2EE 1.3技術がサポートされていません。
J2EE 1.2アーカイブ J2EE 1.2アーカイブは、次のとおりです。
|
名前とバージョン |
説明 |
|---|---|
|
EAR 1.2 |
Enterprise (アプリケーション) Archive |
|
WAR 2.2 |
Web Archive (サーブレットおよびJSPページ用) |
|
EJB JAR 1.1 |
EJB (Enterprise JavaBean) Archive |
|
Client JAR 1.2 |
CAR (Application Client Archive) |
J2EE 1.2技術 J2EE 1.2技術には、次のものが含まれます。
J2EE 1.3サーバに配備するためにアプリケーションを開発している場合は、次のいずれかを使用できます。
つまり、J2EE 1.3サーバでは、J2EE 1.2アプリケーションだけでなくJ2EE 1.3アプリケーションもサポートしています。 さらに柔軟性を増すために、J2EE 1.2モジュールと機能をJ2EE 1.3アプリケーションで混在させることもできます(次を参照)。
|
J2EE 1.3アーカイブ |
含むことのできるもの |
|---|---|
|
EAR |
J2EE 1.2モジュール(WAR、EJB JAR、クライアントJAR)とJ2EE 1.3モジュールの両方 |
|
EJB JAR |
1.xまたは2.x CMP (Container-managed persistence)のいずれかを使用するエンティティBean |
J2EE 1.3アーカイブ J2EE 1.3アーカイブは、次のとおりです。
J2EE 1.3技術 J2EE 1.3技術には、次のものが含まれます。
J2EEに以前含まれていたJNDIおよびRMI-IIOPという技術は、現在ではJ2SE (Java 2 Platform, Standard Edition)に含まれています。
Workbenchでは、1.2および1.3を含むJ2EEの複数バージョンに対する組み込みサポートを備えています。 これにより、プロジェクトのライフサイクルを通じてバージョン関連タスク(開発、移行、および配備を含む)を処理することができます。
|
タスク |
実行できる操作 |
|---|---|
|
開発 |
Workbenchを使用して、次に対するプロジェクトを開発できます。
|
|
移行 |
Workbenchを使用して、既存のプロジェクトを新しいJ2EEバージョンに移行できます。 この場合、次のようなシナリオが考えられます。
|
|
配備 |
Workbenchを使用して、さまざまなJ2EE 1.2および1.3サーバにプロジェクトを配備できます。 この場合、次のようなシナリオが考えられます。
|
この節では、特定の種類のプロジェクトについて吟味し、J2EEバージョンの選択を行う上でのヒントを紹介します。 ここでは、次について説明します。
次の表を参照して、該当するプロジェクトシナリオを確認し、Workbenchで処理できる方法について学習します。
|
使用するもの |
操作 |
|---|---|
|
J2EE 1.2モジュールまたはアプリケーションのソースファイル(ただし、プロジェクトはない) |
適切なプロジェクトタイプおよびバージョンを指定して、ソースファイルに対する1つまたは複数のJ2EE 1.2 プロジェクトをWorkbenchで作成する。 選択肢は、次のようになります。 |
|
J2EE 1.3モジュールまたはアプリケーションのソースファイル(ただし、プロジェクトはない) |
適切なプロジェクトタイプおよびバージョンを指定して、ソースファイルに対する1つまたは複数のJ2EE 1.3 プロジェクトをWorkbenchで作成する。 選択肢は、次のようになります。 |
|
パッケージ化されたJ2EE 1.2アーカイブ(ただし、ソースファイルまたはプロジェクトはない) |
適切なプロジェクトタイプおよびバージョンを指定して、アーカイブに対するJ2EE 1.2 配備専用プロジェクトをWorkbenchで作成する。 選択肢は、次のようになります。 |
|
パッケージ化されたJ2EE 1.3アーカイブ(ただし、ソースファイルまたはプロジェクトはない) |
適切なプロジェクトタイプおよびバージョンを指定して、アーカイブに対するJ2EE 1.3 配備専用プロジェクトをWorkbenchで作成する。 選択肢は、次のようになります。 |
|
EAR 1.2 (J2EE 1.2 Enterprise Archiveプロジェクト) |
次のいずれかを実行します。 |
|
EAR 1.3 (J2EE 1.3 Enterprise Archiveプロジェクト) |
次のいずれかを実行します。 |
|
任意のモジュールに対するJ2EE 1.2プロジェクト: |
次のいずれかを実行します。 |
|
任意のモジュールに対するJ2EE 1.3プロジェクト: |
次のいずれかを実行します。 |
|
J2EE 1.2配備専用プロジェクト(EAR 1.2、WAR 2.2、EJB 1.1、またはCAR 1.2) |
次のいずれかを実行します。 |
|
J2EE 1.3配備専用プロジェクト(EAR 1.3、WAR 2.3、RAR 1.0、EJB 2.0、またはCAR 1.3) |
次のいずれかを実行します。 |
新しいアプリケーションまたはモジュールでの作業を始める際には、ターゲットJ2EEサーバでサポートされている最新のJ2EEバージョンと技術を使用することが推奨されます。 これにより、次のようなより安定したプラットフォームが通常は提供されます。
たとえば、配備のターゲットがJ2EE 1.3サーバである場合は、(1.2アーカイブがサポートされている場合でも) J2EE 1.3アーカイブを開発する必要があります。 アーカイブ内では、使用可能な最新の標準にコード化することも推奨されます。 Container-managed persistenceでEJBエンティティBeanを開発する場合は、1.x CMPの代わりに2.x CMPを使用することになります。
次の表を参照して、Workbenchの既存のJ2EEアーカイブプロジェクトを新しいJ2EEバージョンに移行する場合を判断します。
|
決定 |
該当する場合 |
|---|---|
|
移行する |
プロジェクトで、最新のJ2EEバージョンの新しい機能または他の拡張機能を使用する必要がある場合 |
|
J2EEサーバで、最新のJ2EEバージョンの実装で導入された改善点を活用したい場合 |
|
|
移行しない |
最新のJ2EEバージョンをサポートしていないJ2EEサーバにプロジェクトを配備する必要がある場合 |
たとえば、J2EE 1.2 WARプロジェクトがあり、このプロジェクトにサーブレットフィルタを追加するとします。 その場合、まずこのプロジェクトをJ2EE 1.3に(つまり、WAR 2.2からWAR 2.3に)移行する必要があります。
Workbenchでは複数のバージョンのJ2EEをサポートしているため、アプリケーションの部分を作成する場合(次を参照)には、バージョンを選択できます。
Workbenchを使用してプロジェクトを作成する場合は、プロジェクトが表すアーカイブのJ2EEバージョン(1.2または1.3)を指定できます。 デフォルトは、J2EE 1.3です。
たとえば、新しいWeb Archiveプロジェクトが必要であるとします。 これを作成するには、[File]>[New Project]の順に選択して、プロジェクトタイプとして[WAR]を選択します。 すると、 New Projectウィザードによって、プロジェクトの詳細(J2EEバージョンを含む)を入力するよう求められます。
他のタイプのJ2EEアーカイブプロジェクト(EAR、RAR、EJB、CAR)を作成する場合、New Projectウィザードでは、J2EEバージョンの選択肢のリストが適宜調整されます。 配備専用プロジェクトに対しては、プロジェクトタイプとJ2EEバージョンを統合リストから選択することによって同時に指定します。
選択したJ2EEバージョンによるプロジェクトへの影響 プロジェクトを作成すると、選択したJ2EEバージョンによっていくつかの部分が影響されます。
|
プロジェクト内の部分 |
選択したJ2EEバージョンによる影響 |
|---|---|
|
プロジェクト(SPF)ファイル |
次のプロジェクト設定: |
|
配備記述子 |
プロジェクトに対して作成される適切なJ2EE配備記述子のバージョン。 プロジェクトのJ2EEバージョンに応じて、EAR、WAR、RAR、EJB、またはCARというプロジェクトタイプに対する1.2または1.3配備記述子が取得されます。 配備記述子のDOCTYPEステートメントを検査して、それに応じたDTDを決定できます。
(配備記述子は、配備専用プロジェクトに対しては作成されません。これは、アーカイブコンテンツがススタティックであるためです。) |
|
配備計画(exteNd Application Server 4.0以降用) |
プロジェクトに対して配備計画を作成する場合は、デフォルトで取得される適切なexteNd配備計画のバージョン。
|
Tag Handlerウィザードを使用すると、新しいJSPタグライブラリまたは既存のJSPタグライブラリをWorkbenchで開発できます。 新しいタグライブラリを作成する場合、ウィザードでは、サポートするJSPバージョン(1.1または1.2)を指定する必要があります。
Tag Handlerウィザードを開始するには、[File]>[New]の順に選択して、タグハンドラを選択します。 すると、このウィザードによって、TLD (タグライブラリ記述子)ファイルの詳細を含む情報をいくつかのパネルで入力するよう求められます。 (新しいTLDファイルに対する)これらの詳細の1つは、JSPバージョンです。
選択したJSPバージョンは、jsp-version要素によってTLDファイルに記録されます。 また、この選択によって、TLDファイルに使用されるDTDも決定されます。
|
JSPバージョン |
TLD DTD |
|---|---|
|
1.1 |
web-jsptaglibrary_1_1.dtd |
|
1.2 |
web-jsptaglibrary_1_2.dtd |
WAR 2.3プロジェクトでは、JSP 1.1および1.2タグライブラリの両方をサポートしています(ただし、JSP 1.2が推奨されています)。 WAR 2.2プロジェクトでは、JSP 1.1タグライブラリのみをサポートしています。
EJBウィザードを使用すると、Workbenchで各種のEnterprise JavaBeansをEJBプロジェクトに追加できます。 これには、1.xまたは2.x CMPのいずれかのContainer-managed persistenceを使用したエンティティBeanが含まれます。
EJBウィザードを開始するには、[File]>[New]の順に選択して、作成するコンポーネントとしてEJBを選択します。 すると、このウィザードによって、希望のEJBの種類を入力するよう求められます。
EJB 2.0プロジェクトの場合、CMPエンティティBeanのバージョンはどちらを選択してもかまいません(ただし、2.x CMPが推奨されています)。 選択したCMPバージョンは、cmp-version要素によってプロジェクトの配備記述子に記録されます。
EJB 1.1プロジェクトでは、1.x CMPのみをサポートしています。
Workbenchには、既存のJ2EE 1.2プロジェクトを1.3に移行するために選択できる[Update Project Version]コマンドが備わっています。 ほとんどの種類のプロジェクトでは、このコマンドによって移行全体が行われます。 まれに、手動での実行が必要な追加の移行タスクについて通知を受けることがあります。また、Workbenchには、exteNd配備計画をJ2EE 1.2から1.3に更新するだけの場合に使用できるコマンドも用意されています。
1つまたは複数のプロジェクトを移行する場合は、次のトピックを参照してください。
この節では、プロジェクトを移行することが決定した場合に実行する手順について説明します。 移行する場合や内容の基礎的な情報については、前の節を参照してください。
ナビゲーションペインの[Project]タブで、「プロジェクト(SPF)ファイル」を右クリックし、ポップアップメニューを表示します。
[Update Project Version]を選択します。
まず、Workbenchでは、選択したSPFファイルのJ2EEバージョンをチェックします。 すでにJ2EE 1.3に設定されている場合は、Workbenchにより通知を受け、操作を続行するかどうかが尋ねられます。 このようなプロジェクトの移行は、1.3に更新するJ2EE 1.2の項目(配備記述子、配備計画、またはサブプロジェクト)がプロジェクトに含まれる場合に適切です。Workbenchでは、必要な項目のみを移行します。
SPFチェックに合格すると、プロジェクトに移行する前に確認を行うようWorkbenchによって要求されます。 Workbenchの設定でバックアップを有効にした場合にのみ、移行中に変更されたファイルがまずバックアップされます。
バックアップの有効化の詳細については、『ツールガイド』の
Workbenchの基礎に関する章を参照してください。
Workbenchにより、プロジェクトがJ2EE 1.2から1.3に移行された後、次に関するステータス情報が表示されます。
このステータス情報は、次のように[Output]ペインの[Build]タブに表示されます。
「EARプロジェクト」を移行すると、Workbenchによって、EARに含まれるJ2EEアーカイブサブプロジェクト(WAR、EJB、およびCAR)も自動的に移行されます。Workbenchでは、表示するステータス情報に、これらの移行に関する詳細を含めます。
移行によるプロジェクトへの影響 プロジェクトを移行すると、Workbenchでは、新しいJ2EEバージョンを反映するために、いくつかの箇所が変更されます。
|
プロジェクト内の部分 |
移行による影響 |
|---|---|
|
プロジェクト(SPF)ファイル |
次のプロジェクト設定: |
|
配備記述子 |
次の記述子項目:
(配備記述子は、配備専用プロジェクトに対しては更新されません。これは、アーカイブコンテンツがススタティックであるためです。) |
|
存在する場合、配備計画(exteNd Application Server用) |
次の計画項目:
|
Workbenchでは、[Update Project Version]コマンドに加え、J2EEプロジェクト(SPFファイル)のポップアップメニューに[Update Deployment Plan Version]コマンドが用意されています。 [Update Deployment Plan Version]は、プロジェクトのexteNd配備計画のみを更新する点以外は、[Update Project Version]と同じように機能します。
[Update Deployment Plan Version]は、(配備専用プロジェクトを含む)J2EE 1.2プロジェクトを、1.3配備計画を必要とするNovell exteNd Application Server 5.0に配備する場合に役立ちます。 このコマンドを呼び出すと、これらのプロジェクトの配備計画が1.2から1.3形式に移行されます。ただし、他のプロジェクトの特性は変更されません。
[Update Project Version]コマンドまたは[Update Deployment Plan Version]コマンドを使用して、特定の種類のプロジェクトを移行すると、Workbenchでは、すべての問題を自動的に解決できない場合があります。 その場合、手動でプロジェクトに行わなければならない変更についての情報が表示されます。
一般的に、「CMPエンティティBean」を含む「EJBおよびEARプロジェクト」で、手動による移行の必要性が生じます。 このようなプロジェクトに対して「exteNd配備計画」を更新する場合、Workbenchでは、次のような一部の項目が処理されません。
更新された配備計画は、これらの項目を指定し、他にも変更が必要かどうかを確認するように編集する必要があります。
この節では、exteNd Application Server (特に、Novell exteNd Application Server 5.0およびSilverStream eXtend Application Server 4.0)に固有のJ2EEバージョンの問題点について紹介します。 この節には、プロジェクトを配備および移行する上で決定できるようにするJ2EE 1.2および1.3のサーバの実装に関する次のような詳細が含まれます。
4.0および5.0サーバは、J2EE 1.3と互換性があります。 このサポートを実装するために、Webコンテナ、クライアントコンテナ、およびEJBコンテナのJ2EE 1.3バージョンが提供されています。
J2EE 1.3の「Webコンテナおよびクライアントコンテナ」は、J2EE 1.3プロジェクト(WAR 2.3、CAR 1.3)やJ2EE 1.2プロジェクト(WAR 2.2、CAR 1.2)を配備する場合に使用されます。
J2EE 1.3の「EJBコンテナ」は、J2EE 1.3プロジェクト(EJB 2.0)を配備する場合や、(通常は)J2EE 1.2プロジェクト(EJB 1.1)を配備する場合に使用されます。
EJB 2.0をサポートするために導入されたコンテナ実装の変更により、一部のEJB 1.1配備では、EJBコンテナのJ2EE 1.3バージョンを使用できません。 このような場合に備え、4.0サーバでは、このコンテナのJ2EE 1.2バージョンも用意されています。 5.0サーバでは、この旧バージョンのEJBコンテナは提供されていないため、配備を行う前にこのようなプロジェクトを調整する必要があります。
次の表では、可能なプロジェクト配備のシナリオについてまとめ、それぞれのケースで使用される適切なコンテナのバージョンを示します。
|
プロジェクト |
配備計画 |
コンテナ |
|---|---|---|
|
WAR 2.2 |
WAR 2.2 (4.0サーバのみ) |
J2EE 1.3 Webコンテナ |
|
WAR 2.2 |
WAR 2.3 |
J2EE 1.3 Webコンテナ |
|
WAR 2.3 |
WAR 2.3 |
J2EE 1.3 Webコンテナ |
|
CAR 1.2 |
CAR 1.2 (4.0サーバのみ) |
J2EE 1.3クライアントコンテナ |
|
CAR 1.2 |
CAR 1.3 |
J2EE 1.3クライアントコンテナ |
|
CAR 1.3 |
CAR 1.3 |
J2EE 1.3クライアントコンテナ |
|
EJB 1.1 |
EJB 1.1 (4.0サーバのみ) |
J2EE 1.2 EJBコンテナ |
|
EJB 1.1 |
EJB 2.0 (制約については、「 EJB配備の注記」を参照) |
J2EE 1.3 EJBコンテナ |
|
EJB 2.0 |
EJB 2.0 (制約については、「 EJB配備の注記」を参照) |
J2EE 1.3 EJBコンテナ |
|
EAR 1.2 |
EAR 1.2 (4.0サーバのみ) |
J2EE 1.3 Webコンテナ J2EE 1.3クライアントコンテナ J2EE 1.2 EJBコンテナ |
|
EAR 1.2 |
EAR 1.3 (制約については、「 EJB配備の注記」を参照) |
J2EE 1.3 Webコンテナ J2EE 1.3クライアントコンテナ J2EE 1.3 EJBコンテナ |
|
EAR 1.3 |
EAR 1.3 (制約については、「 EJB配備の注記」を参照) |
J2EE 1.3 Webコンテナ J2EE 1.3クライアントコンテナ J2EE 1.3 EJBコンテナ |
|
RAR 1.0 |
RAR 1.0 |
J2EE 1.3コンテナ |
一部の状況では、EJB 1.1プロジェクトをJ2EE 1.3 EJBコンテナに配備することを希望する(または必要とする)ことがあります。 理由の1つは、このように配備することで、パフォーマンスを向上したり、新しいコンテナのバージョンに導入された他の実装の拡張機能を活用したりすることができるようになる点にあります。
「セッションBeanまたはBMPエンティティBeanを含むEJB 1.1プロジェクト」に対しては、EJB 2.0配備計画を作成するか、またはプロジェクトをJ2EE 1.3 EAR配備に含める必要があります。 プロジェクトに対する他の変更は必要ありません。 この簡単な方法は、SilverStream拡張機能を使用してCMPの詳細(式、外部Beanマッピング、複合フィールドなど)を指定する「CMPエンティティBeanを含んだEJB 1.1プロジェクト」では使用できません。 これらの拡張機能は、EJB 1.1配備計画ではサポートされていますが、2.0配備計画ではサポートされていません。
また、「CMPエンティティBeanを含むEJB 2.0プロジェクト」には、注意すべき制約もいくつかあります。 このようなプロジェクトでは、1.x CMPを使用したBeanで、EJB 2.0に固有の要素(抽象スキーマ名、ローカルインタフェース、クエリなど)を使用できません。 さらに、これらのBeanでは、SilverStream拡張機能を使用してCMPの詳細を指定できません(前に説明したように、EJB 2.0配備計画ではこれらのBeanがサポートされていないため)。
|
をお使いになる前に 05/16/03 14:07:18 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.