前へ     目次     索引     DocHome     次へ     
iPlanet Application Server 移行ガイド



第 5 章   NAS 4.0 アプリケーションの実行


この章では、Netscape Application Server 4.0 アプリケーションを iPlanet Application Server 6.5 で実行するための基本的な移行手順について説明します。

この章には次の節があります。



概要

iPlanet Application Server 6.5 は、J2EE 1.2 (Java 2 Platform, Enterprise Edition Specification Version 1.2) への準拠が確認されています。iPlanet Application Server 6.5 のアーキテクチャが NAS 4.0 と同じである一方で、J2EE 標準に 100% 準拠ということは、アプリケーションを実行するには、アプリケーションが J2EE 1.2 に準拠する必要があることを意味します。

移行作業は、廃止された J2EE および NAS 独自のメソッドにアプリケーションがどの程度依存しているかに左右されます。配置および JavaServer Pages には変換プロシージャが必要です。このプロシージャのためのツールが用意されています。一般に、ここでの移行作業は廃止されたメソッドを置き換え、変換および再配置することです。アプリケーションに廃止されたメソッドがあるかどうかを確認する 1 つの方法として、アプリケーションをコンパイルし直す方法があります。

この章で説明する手順に従って、アプリケーションの移行を開始します。iPlanet Web サイトにあるオンラインで利用可能な「Bank」移行例を実行してみると、役に立つ場合があります。詳細は、http://www.iPlanet.com/support にアクセスしてください。NAS 4.0 アプリケーションを iPlanet Application Server 6.5 で実行するための段階的な移行手順が記載されています。



NAS 4.0 と iPlanet Application Server 6.5 の相違点



次の表は、NAS 4.0 と iPlanet Application Server 6.5 のコンポーネントの主な相違点を示しています。これらの各コンポーネントの相違点および移行プロシージャについては、次の表に従ってください。



コンポーネント

NAS 4.0

移行方法

作業レベル

iPlanet Application Server 6.5

JDK  

JDK 1.1.7  

「JDK の移行」の節を参照  

 

JDK 1.30.1  

Servlet  

Servlet 2.1  

「Servlet の移行」の節を参照  

低/なし  

Servlet 2.2  

Servlet の配置  

NTV (Name Type Value) 配置記述子を使用  

ツールを使って XML に変換「Servlet の配置」の節を参照  

 

XML 記述子を使用  

JSP  

JSP 0.92  

「JSP の移行」の節を参照  

 

JSP 1.1  

EJB  

EJB 1.0  

「EJB の移行」の節を参照  

 

EJB 1.1  

EJB の配置  

プロパティファイル配置記述子を使用  

ツールを使って XML に変換「EJB の配置」の節を参照  

 

XML 記述子を使用  

JNDI  

JNDI 1.1  

「JNDI の移行」の節を参照  

 

JNDI 1.2  

セキュリティ  

ACL チェック  

「セキュリティ機能」の節を参照  

 

宣言に基づく  



NAS 4.0 コンポーネントの移行



この節では、さまざまな NAS 4.0 コンポーネントを iPlanet Application Server 6.5 に移行するための必要条件について説明します。この節には次のトピックがあります。


基本的な移行手順

NAS 4.0 コンポーネントを iPlanet Application Server に移行するために行うべき基本手順は次のとおりです。

  1. コード内の廃止または変更されたメソッドを探します。

  2. この章にある説明に従って、廃止されたメソッドを置き換えます。

  3. 指定されたツールを使って JSP を変換します。

  4. 指定されたツールを使って Servlet および EJB の記述子を変換します。

  5. 『管理および配置ガイド』の第 2 章にある説明に従い、iPlanet Application Server Deployment Tool を使ってアプリケーションを再配置します。


JDK の移行

iPlanet Application Server 6.5 では、Java 2 Development Toolkit バージョン 1.3.1 (JDK 1.3.1) を使います。

iPlanet Application Server の重要な相違点は、NMI などのネイティブインターフェイスが使われている場合、それを JNI (Java Native Interface) に置き換える必要があることです。

JDK 1.1.7 から JDK 1.3.1 への変更についての詳細は、次のサイトにアクセスしてください。http://java.sun.com/products/jdk/1.3/docs/relnotes/features.html

JDK 1.3.1 の詳細については、次のサイトにアクセスしてください。http://java.sun.com/products/jdk/1.3/docs/index.html


JDK の移行手順

NAS 4.0 アプリケーションを JDK 1.1.7 から JDK 1.3.1 に移行するには、次の手順を実行してください。

  1. 廃止されたメソッドとその代替メソッドのリストを次のサイトから入手します。

    http://java.sun.com/j2ee/j2sdkee/techdocs/api/deprecated-list.html

    特定の非互換メソッドのリストについては、次のサイトを参照してください。

    http://java.sun.com/products/jdk/1.2/compatibility.html

  2. 廃止されたメソッドを置き換え、アプリケーションをコンパイルし直します。

  3. アプリケーションを再配置します。


サーブレットの移行

iPlanet Application Server 6.5 では、Java Servlet 仕様のバージョン 2.2 を使います。仕様の詳細は、http://java.sun.com/products/servlet/ にアクセスしてください。

Java Servlet API 2.2 の新しい情報については、http:/developer.java.sun.com/developer/technicalArticles/Servlets/servletapi/ にアクセスしてください。

NAS 4.0 からの Servlet がバーション 2.1 からのインターフェイスだけを使い、廃止されたクラスをまったく使わない場合、その Servlet は iPlanet Application Server 6.5 で現状のまま実行されます。

バージョン 2.1 からの Java Servlet 仕様の主な変更は次のとおりです。

  • Java クラスは XML で設定する

  • Servlet はコンテナ内に存在する

  • Servlet は常にアプリケーションの一部である

  • Servlet は .war ファイルにアーカイブされる

  • セキュリティ機能を追加

  • Web アプリケーション概念の導入

  • Web アプリケーションアーカイブファイルの導入

  • レスポンスバッファリングの追加

  • 分散可能な Servlet の導入

  • RequestDispatcher は名前によって取得可能

  • RequestDispatcher は相対パスを使って取得可能

  • インターナショナル化の改善

  • 分散 Servlet エンジンセマンティックの詳しい説明

  • Servlet パラメータ確認の動作の変更 (詳細については、『開発者ガイド』を参照)


Servlet API の変更

次の Servlet API の変更が実装されました。

  • ServletRequest インターフェイスに getLocale メソッドが追加されて、クライアントがどのロケール内にあるかを調べる際に支援を行います。

  • ServletRequest インターフェイスに isSecure メソッドが追加されました。これは、リクエストが HTTPS などの保護されたトランスポートによって送信されたかどうかを示します。

  • ServletContext インターフェイスに、getInitParameter および getInitParameterNames メソッドが追加されました。現在、初期化パラメータはアプリケーションレベルで設定され、そのアプリケーションの一部であるすべての Servlet によって共有することが可能です。

  • UnavailableException の構築メソッドは、既存のコンストラクタシグネチャとして置き換えられました。これらのコンストラクタはより単純なシグネチャに置き換えられました。

  • ServletConfig インターフェイスに getServletName メソッドが追加されました。これにより、Servlet では、システムに知られている名前があればその名前を取得することができます。

  • HttpServletRequest インターフェイスに getHeaders メソッドが追加されました。これにより、特定の名前に関連付けられたすべてのヘッダをリクエストから取得することができます。

  • HttpServletRequest メソッドに isUserInRole および getUserPrinciple メソッドが追加されました。これにより、Servlet では抽象的なロールに基づく認証を使うことができます。

  • HttpServletResponse インターフェイスに addHeaderaddIntHeader、および addDateHeader メソッドが追加されました。これにより、同じヘッダ名を使って複数のヘッダを作成することができます。

  • HttpSession インターフェイスに getAttributegetAttributeNamessetAttribute、および removeAttribute メソッドが追加されました。これにより、API の命名規則が改善されました。getValuegetValueNamessetValue、および removeValue メソッドは廃止されました。

  • HttpServletRequest インターフェイスに getContextPath メソッドが追加されました。これにより、Web アプリケーションに関連付けられたリクエストパスの一部が得られます。


Servlet の移行手順

移行には 2 つの方法があります。

    1. 廃止された NAS 4.0 メソッドおよび J2EE メソッドの両方を置き換えて、アプリケーションを完全に J2EE に準拠させます。

    2. 廃止された NAS 4.0 メソッドだけを置き換えます。廃止された J2EE メソッドを使っていても、アプリケーションは iPlanet Application Server 6.5 で実行されます。しかし、廃止されたメソッドは将来使えなくなる可能性があるため、J2EE 1.2 に移行する計画を立てることをお勧めします。

一部のメソッドは HTTPSession2 ですでに廃止されていることに注意してください。

Servlet を NAS 4.0 から完全に J2EE に準拠したアプリケーションへ移行するには、NAS 4.0 独自のメソッドおよび廃止された J2EE メソッドを置き換える必要があります。置き換えを実行するには、オプションステップ 1 に従ってください。

  1. 廃止された Servlet 2.2 メソッドを置き換えます (オプション)。

    廃止されたメソッドの一覧については、http://java.sun.com/products/servlet/2.2/javadoc/deprecated-list.html にアクセスしてください。

  2. アクセス制御リストに基づくロジックを宣言セキュリティモデルに置き換えます。

    アクセス制御リスト (ACL) ではなく、Servlet 仕様に記述されている、新しい宣言に基づくセキュリティプロシージャを使います。セキュリティは、アプリケーションレベルではなく、XML ファイル内に配置の一部として実装されます。

    1. 次の廃止された HTTPSession2 セキュリティメソッドを削除します。

      boolean loginSession(String user, String paswd);
      void logoutSession();
      boolean isAuthorized(String target, String permission);

    2. XML ファイルの auth メソッドタグを使って、認証メソッドを Basic、Certificate、または Form based に設定します。

    3. .xml ファイルでは、<security constraint> を使って Servlet を実行できるロールを指定します。<role-name> を使ってロールを作成するか、または <role-link> タグを使って論理ロールを参照します。

    4. ACL エントリ .gxr ファイルを削除します。

  3. JSP またはほかの Servlet への絶対参照のルートとして AppPath を使う URI ネーミングを置き換えます。

    iPlanet Application Server 6.5 では、アプリケーションコンテキストルートは絶対参照のルートです。Servlet は、次の方法で、その Servlet と同じアプリケーション内にあるほかの JSP に転送します。

    RequestDispatcher rd = req.getRequestDispatcher("/sample.jsp");
    rd.forward(req,res);

ここで、sample.jsp は、sample.jsp が含まれている Servlet と同じアプリケーション内にあります。JSP は、NAS 4.0 のように AppPath ではなく、AppPath/ApplicationName の下にあります。


Servlet の配置

Servlet 2.2 では、NAS 4.0 で使われた配置記述子の代わりに XML ファイルの使用を採用しました。NAS 4.0 アプリケーションの NTV 記述子ファイルを、XML ファイルに変換して、Deployment Tool によって作成される Web アプリケーションアーカイブファイルに追加する必要があります。

  1. NTV 記述子ファイルを XML ファイルに変換します。

    次のツールを使って NTV ファイルを XML に変換します。

    convertNtv2Xml $path/appInfo.ntv $newpath/myApp.xml

    $pathappInfo.ntv の場所を示します (appInfo.ntv は Serlvet info NTV ファイルの場所を内部的に指定します)。

    変換ツールは、$newpathmyApp.xml および ias-myApp.xml という 2 つの新規ファイルを作成します。これらのファイルは、それぞれ J2EE および iPlanet Application Server 固有の XML を示します。

  2. 変換した NTV 記述子ファイルを WAR アーカイブファイルに追加します。次の手順を実行してください。

    1. Servlet ファイルと変換した記述子ファイル .xml を持つ、Servlet 2.2 WAR アーカイブを作成します。

    2. iPlanet Application Server 6.5 の Deployment Tool を起動します。

    3. 「ファイル」メニューの「開く」を選択します。

    4. WAR アーカイブに移動し、「OK」を選択します。

    5. 継続して Servlet ファイルおよびほかのファイルを Web アプリケーションに追加します。

  3. Web アプリケーションを保存し、Deployment Tool で配置します。


JSP の移行

iPlanet Application Server 6.5 では、JSP 仕様バージョン 1.1 を使います。JSP 1.1 仕様は、特にセキュリティ、トランザクション、およびセッションステート概念について、J2EE に統合されます。仕様の詳細については、http://java.sun.com/products/jsp/ にアクセスしてください。

JSP 1.1 仕様では、次の機能強化を組み込むことによって JSP 0.92 から JSP 1.1 へ拡張しています。

  • セマンティックの基礎として Servlet 2.2 を使用

  • 変換された JSP ページの JSP コンテナへの配布を有効化

  • 移植可能な Tag Extension メカニズムを提供

さらに、iPlanet Application Server 6.5 では、JSP に対するキャッシュやロードバランス、およびカスタムタグ拡張を提供します。


GX タグの廃止

GX タグは廃止されました。GX タグのある NAS 4.0 JSP テンプレートを移行してください。iPlanet Application Server は代わりに JSP 拡張タグを使用します。


JSP の移行手順

NAS 4.0 JavaServer Pages を移行するには、次の手順を実行してください。

  1. Servlet またはほかの JSP への絶対参照のルートとして AppPath を使う URI ネーミングを置き換えます。

  2. JavaServer Pages の仕様を 0.92 から 1.1 に変換します。JavaServer Pages を移行する必要があります。convert2jsp11 ツールを使って JSP 0.92 を JSP 1.1 に変換することができます。詳細については、この章の「JSP 0.92 から JSP 1.1 への変換」を参照してください。


JSP 0.92 から JSP 1.1 への変換

既存の JSP 0.92 ファイルを変換するには、提供されている変換ツール (convert2jsp11) を使います。ツールを使って個々のファイルを変換したり、ディレクトリのツリー全体で、検索されたすべての JSP ファイルを再帰的に変換したりできます。

注 : 変換する前に、必ずファイルのバックアップコピーを作成してください。

変換ツールは、名前を変更せずに、すべての 0.92 JSP ファイルを 1.1 ファイルに変換します。0.92 バージョンのファイルは、拡張子が 0.92 である同じ名前のファイルにコピーされます。たとえば、myApp.jsp というファイルを変換した場合、そのファイルは新しい JSP 1.1 バージョンになり、0.92 バージョンのファイルは myApp.jsp.0.92 というファイルにコピーされます。

指定された変換でいずれかの 0.92 JSP ファイルにエラーがあると、そのファイルの変換に失敗し、空の出力ファイルが作成されます。この場合は、対応する filename.0.92 バージョンを filename にコピーし直し、エラーを修正してから再びそのファイルの変換スクリプトを実行します。

使用法

convert2jsp11 [-r] -ap appPath file/directory



引数

説明

-r  

オプション。指定されたディレクトリ/フォルダと、すべてのサブディレクトリ/サブフォルダ内の JSP を再帰的にすべて変換する。このオプションを指定しない場合は、指定されたファイルだけが変換される  

-ap appPath  

NAS インストール用の appPath を指定する (たとえば、Solaris では /export/nas4/nas/APPS、Windows NT では C:NetscapeServer4NASAPPS です)  

file/directory  

変換するファイルを指定する。または、-r オプションを指定した場合は、すべてのファイルを変換する必要があるディレクトリを指定する。このディレクトリは、-ap オプションで指定した appPath を基準にする必要がある  



この例で、appPath は、Windows NT の場合、C:NetscapeServer4NASAPPS、Solaris の場合、/export/nas4/nas/APPS です。

最初の例では、appPath でルートされる myApplication というディレクトリ内にある、すべての JSP ファイルが変換されます。



Windows NT :  

convert2jsp11 -r -ap c:netscapeserver4nasAPPS myApplication

 

Solaris :  

convert2jsp11 -r -ap /export/nas4/nas/APPS myApplication

 

2 番目の例では、appPath でルートされる myApplication というディレクトリ内にある、myJSP.jsp という 1 つの JSP ファイルが変換されます。



Windows NT :  

convert2jsp11 -ap c:netscapeserver4nasAPPS myApplicationmyJSP.jsp

 

Solaris :

 

convert2jsp11 -ap /export/nas4/nas/APPS myApplication/myJSP.jsp

 


EJB の移行

iPlanet Application Server 6.5 では Enterprise Java Bean (EJB) 仕様バージョン 1.1 を使います。仕様の詳細は、次のサイトにアクセスしてください。

http://java.sun.com/products/ejb/

この EJB 仕様には、EJB 1.0 から EJB 1.1 への次の主な変更が含まれています。

  • エンティティ Beans の仕様が強化され、エンティティ Beans のサポートはコンテナプロバイダにとって必須です。変更は主に、トランザクションのサポート、Enterprise JavaBeans 環境、セキュリティおよび配置記述子に影響を及ぼします。ランタイムでは EJB 1.0 アプリケーションへの影響はほとんどありません。EJB コンテナのランタイム API への唯一の変更は、java.security.Identity クラスを java.security.Principal インターフェイスに置き換えたことです。

EJB 1.1 仕様の次の変更は、iPlanet Application Server 6.5 アプリケーションの開発、アプリケーションアセンブリ、および配置についてのサポートを改善するために行われました。

  • Enterprise JavaBeans 環境についてのサポートが強化されました。Beans プロバイダは、JNDI ネーミングコンテキストのエントリを使って、Beans の環境依存関係をすべて指定する必要があります。

  • 配置記述子でのアプリケーションアセンブリをサポートします。

  • Beans プロバイダとアプリケーションアセンブラの責任が明確に分けられました。


EJB の移行手順

NAS 4.0 Enterprise Java Beans を移行するには、次の手順を実行してください。

  1. アクセス制御リストに基づくロジックを宣言セキュリティモデルに置き換えます。

    Servlet と同様に、EJB のアクセス制御リストを削除する必要があります。<method-permission> タグを使って、EJB メソッドを実行できるルールを指定します。

  2. 配置記述子を変換します。

    詳細については、「EJB の配置」を参照してください。

  3. コードと記述子を変更して廃止されたクラスを除外し、新規メソッドに置き換えます。

EJB 1.0 Enterprise JavaBeans コードは、EJB 1.1 コンテナで実行するために変更したりコンパイルし直したりする必要がありません。ただし、次の節に詳しく説明されている例外があります。EJB 1.1 XML に変換される配置記述子の移行は必須です。


EJB コードを変更または再コンパイルする必要があるインスタンス

次のインスタンスでは、EJB コードを変更または再コンパイルする必要があります。

  • javax.jts.UserTransaction インターフェイスを使う Beans。javax.jts インターフェイスのパッケージ名は javax.transaction に変更されました。このインターフェイスのメソッドによってスローされる例外に多少の変更がありました。javax.jts.UserTransaction インターフェイスを使うビーンは、javax.transaction.UserTransaction という新しい名前を使うために変更する必要があります。

  • javax.ejb.EJBContext インターフェイスの getCallerIdentity() または isCallerInRole(Identity identity) メソッドを使う Beans。クラス java.security.Identity が Java 2 プラットフォームで廃止されるため、これらのメソッドは EJB 1.1 で廃止されました。EJB 1.0 仕様に記述されているビーンは、すべての EJB 1.1 コンテナで動作するための新規メソッドを使うために変更する必要があります。

  • UserTransaction インターフェイスを使うエンティティ Beans。EJB 1.1 では、エンティティ Beans の UserTransaction インターフェイスの使用が禁止されています。

  • UserTransaction インターフェイスを使い、同時に SessionSynchronization インターフェイスを実装する Beans。これは、EJB 1.1 では許可されていません。

  • EJB 1.0 では定義されず、EJB 1.1 で定義されている追加のセマンティック制約のいずれかに違反する Beans。

  • ejbCreate() では、一致する ejbPostCreate() が必要です。EJBPostCreate は EJB 1.0 ではオプションでしたが、EJB 1.1 では必須です。


例外処理の変更

EJB 1.1 仕様の例外処理は、EJB 1.0 仕様で定義されたルールを維持しました。ただし、次の例外があります。

  • EJB 1.0 では、EJB ビジネス メソッドおよびコンテナを起動するコールバックが、java.rmi.RemoteException を使って非アプリケーション例外をレポートするように指定しました。この方法は、EJB 1.1 では廃止されました。Enterprise JavaBeans メソッドでは、javax.ejb.EJBException またはほかの適切な RuntimeException を使って、非アプリケーション例外をレポートしてください。

  • EJB 1.1 では、インスタンスによってスローされるすべての非アプリケーション例外は、そのインスタンスが実行したトランザクションをロールバックし、インスタンスを破棄します。EJB 1.0 では、インスタンスによって java.rmi.RemoteException がスローされた場合、コンテナはトランザクションをロールバックせずにそのインスタンスを破棄します。

  • EJB 1.1 では、アプリケーション例外によって、コンテナはトランザクションを自動的にロールバックしません。EJB 1.0 では、アプリケーション例外がコンテナによって開始されたトランザクション境界から渡されたときに、コンテナはトランザクションをロールバックする必要がありました。EJB 1.1 では、インスタンスがその EJBContext object.javax.ejb.ejbex setRollback-Only() メソッドを起動した場合のみ、コンテナはロールバックを実行します。


EJB の配置

EJB 1.1 では、NAS 4.0 で使われた配置記述子の代わりに XML ファイルの使用を採用しました。NAS 4.0 アプリケーションのプロパティ記述子ファイルは、XML ファイルに変換する必要があります。アプリケーションの登録に加えて、ejbReg を実行する必要があります。

プロパティファイルを XML に変換するには、指定されたツール convertPropsXML を使います。次の手順でその使い方について説明します。

  1. プロパティファイルを XML ファイルに変換します。

    次のツールを使って、.props ファイルを XML に変換します。

    convertProps2Xml $path/foobar.props $newpath/myAppEjb.xml

    $path.props ファイルの場所を示します。ツールによって、myAppEJB.xml および ias-myAppEjb.xml という 2 つの XML ファイルが生成されます。これらのファイルは、それぞれ J2EE および iPlanet Application Server 固有の XML を示します。

  2. NTV 記述子ファイルを変換して、EJB JAR アーカイブファイルに追加します。

    1. 新規 EJB JAR モジュールを作成します。詳細については『管理および配置ガイド』の第 2 章を参照してください。

    2. 「EJB」メニューの「4.0 からインポート」を選択します。

    3. 変換する .properties ファイルに移動し、「OK」を選択します。.properties ファイルは、EJB JAR モジュールに追加される .xml ファイルに変換されます。

    4. 引き続き、.class ファイルおよびほかのファイルを EJB JAR モジュールに追加します。

    5. EJB JAR モジュールを保存し配置します。詳細については『管理および配置ガイド』の第 2 章を参照してください。

  3. アプリケーションコードを変更して例外およびトランザクションを処理します。

    トランザクションまたは例外を使っている場合は、一部のコードの変更が必要な場合があります。「例外処理の変更」の節を参照してください。

  4. アプリケーションを配置します。詳細については『管理および配置ガイド』を参照してください。


JNDI の移行

iPlanet Application Server 6.5 では、JNDI (Java Naming and Directory Interface) 拡張バージョン 1.2 を使います。JNDI は、Java Enterprise API セットの一部として提供されます。

JNDI 1.1 を使う NAS 4.0 アプリケーションは、JNDI 1.2 に移行する必要があります。特殊な非互換性については、次のサイトを参照してください。

http://java.sun.com/products/jndi/1.2/compat.html#incompat

J2EE では、各アプリケーションは、コンポーネントの配置記述子によって指定される独自のネーミング環境を定義します。また、コンポーネントの記述子には、ejb-ref および resource-ref 要素によって検索している、すべての EJB およびデータソースに関する情報が記述されている必要があります。NAS 4.0 アプリケーションの iPlanet Application Server 6.5 への移行には、次の必要条件があります。

  • アプリケーションで検索されている Beans/リソースの使用法を識別

  • resource-refs および ejb-refs について、適切な配置記述子エントリを設定

  • J2EE 仕様で指定されているように、java:comp/env/<envionmentEntryName> パターンによって、確実に環境検索が発生するようにします。


Java エクステンション

NAS 4.0 Java エクステンションを iPlanet Application Server 6.5 に移行するには、次の手順を実行します。

  1. iPlanet Extension Builder 6.0 に IDL コードを読み込み、新規生成コードを作成します。

  2. 以前のエクステンションに対して行った変更を新規生成コードにマージします。

  3. NMI に対するすべてのリファレンスを JNI に変換します (該当する場合のみ)。

  4. JDK 1.2.2 についてほかのすべての Java コードの変更を実行します。

  5. すべてのコードをコンパイルし直します。


C++ エクステンション

NAS 4.0 C++ エクステンションを iPlanet Application Server 6.5 に移行するには、iPlanet Application Server 6.5 ライブラリに対して NAS 4.0 C++ エクステンションを再度コンパイルしてリンクします。


リッチクライアントの使用 (ISecurity インターフェイス)

ISecurity インターフェイスは、リッチクライアントを使うときに実装する必要があります。ISecurity は、リッチクライアントでユーザ名とパスワードを設定します。



セキュリティ機能



iPlanet Application Server 6.5 は、配置時にセキュリティ制約を実装します。標準の宣言アクセス制御ルールは、アプリケーションの配置時に開発者によって定義されます。たとえば、開発者は、管理者、ゲスト、メンバなどいくつかのセキュリティレベルを設定します。次に、セキュアプロシージャにアクセスしようとするユーザのパーミッションレベルを調べるコードを記述します。配置時に、ユーザのグループは、制限されているプロシージャにアクセスする前に、アプリケーションで容易に権限レベルを確認できるように、正しいセキュリティレベルが割り当てられます。

NAS 4.0 では、セキュリティは、特定のユーザおよびグループに与えられる権限を定義するアクセス制御リストを設定して、アプリケーションレベルで実装されました。NAS 4.0 はコードレベルでセキュリティを実装しました。iPlanet Application Server 6.5 では、アプリケーションの配置時にコードとは無関係にセキュリティを実装します。

セキュリティに関するヒントについては、次のサイトにアクセスしてください。

http://www.java.sun.com/security/seccodeguide.html

EJB 関連のセキュリティについては、次のサイトにアクセスしてください。

http://www.java.sun.com/j2ee/j2sdkee/techdocs/guides/ejb/html/Security.fm.html



「Bank」の移行例

この例を使って移行プロセスについて説明します。また、ユーザ独自のアプリケーションを移行する前に、例として NAS 4.0 nsOnline Bank ソースを変更し、そのサンプルを iPlanet Application Server 6.5 に移行することもできます。http://www.iPlanet.com/support/ のコードソースオンラインを参照してください。

この節では、Bank サンプルアプリケーションを NAS 4.0 から iPlanet Application Server 6.5 に移植するためのガイドラインについて説明します。

iPlanet Application Server 6.5 Bank サンプルアプリケーションには次の特徴があります。

  • Bank サンプルアプリケーションは、新しいフォームベースのログイン (J2EE スタイル) を使っています。

  • HttpSession2loginSessionNASRowSet などの独自のメソッドは、J2EE のメソッドに置き換えられます。

  • EJB 配置記述子は .xml ファイルに記述されます。

  • EJB 検索は "java:comp/env/"lookupname" のように URL ベースです。

  • Servlet の配置は、独自の .ntv ファイルではなく .xml ファイルに記述されます。


iPlanet Application Server 6.5 Bank アプリケーションと NAS 4.0 nsOnlineBank の比較

この節では NAS 4.0 と iPlanet Application Server 6.5 コンポーネントを比較します。



コンポーネント

iPlanet Application Server 6.5

NAS 4.0

Servlet  

セッション作成には、HttpSession (標準 Java API) を使用し、ログイン認証にはフォームベースのログインメカニズム (J2EE スタイル) を使用する。Bank では、HttpSession2loginSession などの iPlanet-API のような独自メソッドを使用しない。iPlanet Application Server 6.5 では、HttpSession2 は、AppLogic と Servlet 間でセッションデータを共有するために使用する  

ログイン認証には、HttpSession2 メソッド loginSession API、および AppLogic と Servlet 間の共有セッションを使用する  

Servlet の配置  

配置手順は XML ファイルに記述される。各 Servlet には J2EE XML と iPlanet Application Server 固有の XML の両方がある。Servlet は webappreg コマンドラインユーティリティで登録する  

配置手順は ntv ファイルに記述される  

EJB  

J2EE 固有の URL スタイル検索 "java:comp/env/< lookup name >" を使用する。この検索を使って DataSource オブジェクトを得ることで、データベースコネクションが作成される。新しいファクトリクラス "com.netscape.server.jndi.RootContextFactory" を使用する  

古いスタイル "ejb/<lookup name >" を使用する

NAS レジストリから取り込まれた DataSourceName は、データベースコネクションを作成するために NASRowSet メソッドに渡し、ファクトリクラス "com.kivasoft.eb.jndi.GDSInitContextFactory" を使用する  

EJB の配置  

配置記述子は XML に記述される

各 EJB には J2EE XML と iPlanet Application Server 固有の XML の両方がある

EJB は ejbreg コマンド行ユーティリティから登録する  

配置手順はプロパティファイルに記述される  

JSP  

コンテキストルートは /APPS/App-Name/directory から始まる  

コンテキストルートは /APPS/directory から始まる  

LDAP  

認証ドメインは、"uid=admin、ou=Administrators、ou=TopologyManagement、o=NetscapeRoot"。認証パスワードは、"<インストール時にユーザが選択したパスワード>"  

デフォルトの認証ドメイン (uid) "cn=Directory Manager" を使う。認証パスワードは "dmanager"  


一般的な移植ガイドライン

この節では、NAS 4.0 アプリケーションコンポーネントを iPlanet Application Server 6.5 に移行するための一般的な移植ガイドラインについて説明します。

  • LDAP : LDAP コード (.java ファイル) は、インストール時に指定される LDAP サーバポート番号を反映する必要があります。

  • DataBase : DataSource は、<env entry> タグではなく <resource ref> タグから渡される必要があります。

  • Servlet : Servlet が EJB を検索している場合、対応する J2EE Servlet XML には <ejb-ref> タグが必要です。

  • フォームベースのメカニズムの場合 : J2EE Servlet XML には <login-config> タグが必要です。

  • ログインページ : フォームベースのログインメカニズムのためには .jsp ファイルでなければなりません。

  • フォームベースのログインページのテキストフィールド : username は "j_username"、パスワードは "j_password" でなければなりません。

  • ログインページ : login、jsp、loginerror.jsp のようなログインページは、<install-location>/<app-name> の下に保管される必要があります。

  • EJB : DataSource<resource ref> タグから渡された場合、対応する iPlanet Application Server EJB XML にはデータソース "jdbc/LocalDS" のような <jndi-name> が必要です。

    EJB XML ファイルは、PropToEJB ツールを使って生成されます (変換後に、手作業で追加手順を実行する場合があります)。



参考資料

『JavaTM 2 Platform, Enterprise Edition Specification Version 1.2』(Copyright 1999, Sun Microsystems, Inc.) は http://java.sun.com/j2ee/docs.html から入手可能です。

『JavaTM 2 Platform, Enterprise Edition Technical Overview (J2EE Overview)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/j2ee/white.html から入手可能です。

『JavaTM 2 Platform, Standard Edition, v1.2.2 API Specification (J2SE specification)』(Copyright 1993-99, Sun Microsystems, Inc.) は http://java.sun.com/products/jdk/1.2/docs/api/index.html から入手可能です。

『Enterprise JavaBeansTM Specification, Version 1.1 (EJB specification)』(Copyright1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/ejb から入手可能です。

『Enterprise JavaBeansTM to CORBA Mapping, Version 1.1 (EJB-CORBA mapping)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/ejb から入手可能です。

『JavaServer PagesTM Specification, Version 1.1 (JSP specification)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/jsp から入手可能です。

『JavaTM Servlet Specification, Version 2.2 (Servlet specification)』(Copyright 1998,1999, Sun Microsystems, Inc.) は http://java.sun.com/products/servlet から入手可能です。

『JDBCTM 2.0 API (JDBC specification)』(Copyright 1998, 1999, Sun Microsystems, Inc) は http://java.sun.com/products/jdbc から入手可能です。

『JDBCTM Standard Extension 2.0 API (JDBC extension specification)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/jdbc から入手可能です。

『JavaTM Naming and Directory Interface 1.2 Specification (JNDI specification)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/jndi から入手可能です。

『JavaTM Message Service, Version 1.0.2 (JMS specification)』(Copyright 1998, Sun Microsystems, Inc.) は http://java.sun.com/products/jms から入手可能です。

『JavaTM Transaction API, Version 1.0.1 (JTA specification)』(Copyright 1998, 1999, Sun Microsystems, Inc.) は http://java.sun.com/products/jta から入手可能です。

『JavaTM Transaction Service, Version 0.95 (JTS specification)』(Copyright 1997-1999, Sun Microsystems, Inc.) は http://java.sun.com/products/jts から入手可能です。

『JavaMailTM API Specification Version 1.1 (JavaMail specification)』(Copyright 1998, Sun Microsystems, Inc.) は http://java.sun.com/products/javamail から入手可能です。

『JavaBeansTM Activation Framework Specification Version 1.0.1 (JAF specification)』(Copyright 1998, Sun Microsystems, Inc.) は http://java.sun.com/ beans/glasgow/jaf.html から入手可能です。

『The JavaTM 2 Platform, Enterprise Edition Application Programming Model』(Copyright 1999, Sun Microsystems, Inc.) は http://java.sun.com/j2ee/apm から入手可能です。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最新更新日 2002 年 3 月 6 日