第20章
この章では、exteNd Directorアプリケーションの展開について説明します。 この節には、次のトピックが含まれています。
プロジェクトをビルドしてアーカイブすると、J2EEアプリケーションサーバへ展開できます。 新しく作成したプロジェクトも展開できます。展開する前に、アプリケーション固有の機能をプロジェクトに追加する必要はありません。
次の表は、各exteNd Directorプロジェクトタイプにサポートされている展開設定を示します。
共有ライブラリ設定の詳細については、プロジェクトの共有ライブラリ設定の変更を参照してください。
展開先のサーバに応じて、展開前のセットアップを行う必要があり、さらに展開後の設定も必要となることがあります。
展開プロセスには、次のタスクが含まれます。
次の表のタスクは、ポートレットアプリケーションプロジェクトおよびDirectorプロジェクトに当てはまります。 アプリケーションを展開する前に、次のことを確認してください。
確認事項 |
参照先 |
---|---|
展開先のアプリケーションサーバからリレーショナルデータベースが利用できること。 |
|
運用のための展開では、 |
|
プロジェクトおよびターゲットサーバで同じ共有ライブラリ設定を使用していること |
|
必要なJARおよびファイルが、サーバの正しい場所にコピーされること |
|
ポートレットアプリケーションの場合は、非同期レンダリングが使用できるか確定していること |
|
サーバの展開前のタスクが完了していること |
exteNd Directorサブシステムには、持続性データを保存するためにリレーショナルデータベースが必要となるものが多くあります。 次に示す手順に従って、データベースをexteNd Directorで使用できるようにセットアップします。
手順 |
タスク |
詳細について |
---|---|---|
1 |
DBMSツールを使用して、exteNd Directorテーブルの新しいデータベースを作成します。 |
データベースの作成に関する詳細については、DBMSマニュアルを参照してください。 サポートされているデータベースの詳細については、『リリースノート』を参照してください。 |
2 |
サーバのツールを使用して、手順1で作成したデータベースの接続プールを作成します。 |
接続プールの作成については、アプリケーションサーバのマニュアルを参照してください。 サポートされているアプリケーションサーバの詳細については、『リリースノート』を参照してください。 Tomcatの設定に関しては、Tomcatの展開前のタスクを参照してください。 重要: Novell exteNd Application ServerでOracleデータベースを使用するには、アプリケーションサーバのAdd Database機能(接続プールではなく)を使用する必要があります。 |
3 |
exteNd Directorデータベースへの接続に使用しているデータベースドライバが、アプリケーションサーバのクラスパスに存在することを確認してください。 |
サーバのクラスパスへの追加に関する詳細については、アプリケーションサーバのマニュアルを参照してください。 |
exteNd Directorデータベーステーブルのリストは、exteNd Directorデータベーステーブルについてを参照してください。
exteNd Directorでは、次のJARのexteNd Directorバージョンを使用する必要があります。
exteNd Directorインストールからアプリケーションサーバの特定のディレクトリへファイルをコピーする必要があります。 Phaos_Crypto_FIPSファイルは、名前変更をする必要があります。
これらのJARのexteNd Directorバージョンのコピーを、次に示すようなアプリケーションサーバの適切な場所に格納します。
注記: exteNd Application Serverを使用している場合は、これらのファイルはデフォルトで適切な場所にインストールされるため、変更する必要はありません。
重要: これらのファイルのコピー後にサーバを再起動します。
サーバ |
JAR |
手順 |
---|---|---|
BEAWebLogic |
xalan |
|
xercesImpl |
||
Phaos_Crypto_FIPS |
||
IBMWebSphere |
xalan |
|
xercesImpl |
||
Phaos_Crypto_FIPS |
||
ApacheTomcat |
xalan |
|
xercesImpl |
||
Phaos_Crypto_FIPS |
ポートレットは、デフォルトでは非同期レンダリングに設定されます。 お使いのサーバでこの設定がサポートされているかどうか、次の表で確認してください。
サーバ |
制限 |
---|---|
Novell exteNdApplication Server |
制限はありません。 |
BEA WebLogic |
ポートレットアプリケーションは、次の場合を除いて、非同期モードで実行できます。 ポートレットにこれらの制限要素が1つでも含まれる場合は、非同期レンダリングをオフにする必要があります。 非同期レンダリングのオフに関する詳細については、次の非同期ポートレットレンダリングをオフにするを参照してください。 |
IBM WebSphere |
ポートレットアプリケーションは、非同期モードでは実行できません。 非同期レンダリングをオフにする必要があります。 非同期レンダリングのオフに関する詳細については、次の非同期ポートレットレンダリングをオフにするを参照してください。 |
Apache Tomcat |
ポートレットアプリケーションは、java:comp/envを参照する場合を除き、非同期モードで実行できます。 java:comp/envを参照するポートレットの場合は、非同期処理をオフにします。 非同期レンダリングのオフに関する詳細については、次の非同期ポートレットレンダリングをオフにするを参照してください。 |
非同期レンダリングをオフにするポートレットの<synchronous>「要素」を追加します。 次のようになります。
<synchronous>1</synchronous>
novell-portlet.xmlまたはポートレットフラグメント記述子を保存します。
<synchronous>要素の詳細については、『ポータルガイド』の「ポートレットアプリケーション」に関する章を参照してください。
FrameworkService-confconfig.xmlファイル(ConfigService.spf\FrameworkService-confにあります)で、次のキーをfalseに設定します。
キー |
値 |
---|---|
com.sssw.fw.api.threadpool.enabled_at_startup |
false |
プロジェクトタイプに応じて、次のようにFrameworkService-confおよびDirectoryService-confファイルを格納します。
アーカイブタイプ |
プロジェクトの場所 |
---|---|
EAR |
\Library\ConfigService\ConfigService.spf\ |
WAR |
WEB-INF\lib\ConfigService\ConfigService.spf\ |
次のFrameworkサービス設定が正しいことを確認します。
FrameworkService-conf config.xmlファイル内で、次の設定を確認します。
キー |
値 |
---|---|
com.sssw.userTransaction.enable |
False (JTA拡張をインストールしていない場合) |
com.sssw.fw.datasource.jndi-name |
exteNd Directorテーブルを保存するために作成した接続プールの名前と同じ |
DirectoryService-conf config.xmlファイル内で、次の設定を確認します。 PersistManagerの値は次のようになります。
キー |
値 |
---|---|
DirectoryService/realms/readable |
com.sssw.fw.directory.api.EbiPersistMgrRealm |
DirectoryService/realms/writeable |
com.sssw.fw.directory.api.EbiPersistMgrRealm |
キー |
値 |
---|---|
DirectoryService/realms/readable |
com.sssw.fw.directory.api.EbiJndiLdapRealm |
DirectoryService/realms/writeable |
com.sssw.fw.directory.api.EbiJndiLdapRealm |
:
ヒント: PersistManager領域を使用すると、アプリケーションデータベースをユーザ認 証リポジトリとして操作できます。 LDAP領域では、ユーザ認証リポジトリがeDirectory サーバとして指定されます。
eDirectory LDAP領域設定を使用している場合は、次の操作が必要です。
UUID補助クラスのインポート LDAPアプリケーションサーバ領域のいずれかを実装したプロジェクトを展開する前に、UUID補助クラスプロパティに指定された、供給済みの補助クラスをインポートする必要があります。exteNd Directorでは、LDAPツリーのポータルユーザへのアクセスに、このクラスが使用されます。
このクラスをインポートするには、Novell ConsoleOne\xae eDirectoryツールのNDSインポートウィザードを使用します。
ConsoleOneでNDSコンテナを選択し、[ウィザード]>[NDS]>[インポート/エクスポート]の順に選択します。
exteNd Directorインストールパスのldifファイルに移動し、これを選択します(bin/extElemImport.ldifにあります)。[次へ]をクリックします。
LDAP接続のSSLの設定および使用 Secure Socket Layer (SSL)を使用してLDAP領域に接続する場合は、ここで説明した手順をすべて実行してください。
注記: SSL接続は、プレーンまたはクリアテキスト接続よりも低速です。初期ポータル接続の確立には、最高で30秒かかります。
JSSE (Java Secure Socket Extension)をダウンロードおよびインストールする
この手順は、1.4より古いJREでサーバが実行しているが、JSSEを使用するように設定されていない場合に必要です。
次にまとめた、JSSEのインストール手順に従ってください。
JSSE.JAR、JNET.JAR、およびJCERT.JARをサーバのJRE拡張ディレクトリ(たとえば、 jre/lib/ext)にコピーします。
サーバのJREのlib/securityディレクトリにあるjava.securityファイル(たとえば、 jre/lib/security/java.security)を探して編集します。
ドキュメントの先頭のディレクトリに従って、JSSE SSLプロバイダを追加します。
security.provider.name =com.sun.net.ssl.internal.ssl.Provider
ルート認証局証明書をcacertsまたはjssecacerts認証局保存ファイルにインポートする
cacertsまたはjssecacertsファイルを探します。 このファイルは、サーバのJREのlib/securityディレクトリ(たとえば、 jre/lib/security/cacerts)にあります。
Javaホームフォルダに相対的な/binフォルダにあるkeytoolを探します。
重要: JVM 1.3かそれ以降に付属するKeytoolを使用してください。
keytool -import -alias aliasName -file TrustedRootCert.der -keystore cacerts -storepass changeit
DirectoryサービスでSSLを使用するようにexteNd Directorを設定する
展開前の手順がすべて完了すれば、展開を開始できます。
IBM WebSphere Advanced Editionに展開する場合は、WebSphere展開ツールを使用する必要があります。IBM WebSphere展開ツールの使用を参照してください。
サポートされた他のサーバに展開する場合は、次のexteNd Director展開ツールの使用を参照してください。
exteNd Director展開ツールを使用するには、以下の展開タスクを完了する必要があります。
手順 |
タスク |
詳細について |
---|---|---|
1 |
サーバプロファイルを定義する |
『ユーティリティツール』のサーバプロファイルの作成に関する章を参照してください。 |
2 |
展開設定を定義する |
『ユーティリティツール』の展開設定の作成に関する章を参照してください。 |
3 |
展開ドキュメントを作成する(ターゲットサーバで必要な場合) |
『ユーティリティツール』の展開計画エディタに関する章を参照してください。 |
4 |
プロジェクトを作成およびアーカイブする |
『ユーティリティツール』のプロジェクトとアーカイブに関する章を参照してください。 |
5 |
プロジェクトを展開する |
『ユーティリティツール』のexteNd Directorプロジェクトの展開に関する章を参照してください。 |
WebSphere Advanced Editionを展開するには、WebSphere Advanced Administrative Consoleを使用する必要があります。exteNd Director展開ツールは使用できません。 コンソールを使用する際の一般的な手順は、次のようになります。 詳細については、IBMのマニュアルを参照してください。
手順 |
タスク |
詳細 |
---|---|---|
1 |
exteNd DirectorでEARを作成する |
exteNd Directorの[作成してアーカイブ]または[すべて再作成してアーカイブ]コマンドを使用します。このコマンドはどちらも、『ユーティリティツール』のコンパイル、作成、およびアーカイブに関する章で説明されています。 |
2 |
Administrative Consoleを使用して、アプリケーションを展開し開始する |
DBMSツールを使用して、exteNd Directorテーブルがデータベースにあることを確認します。 追加が必要なテーブルのリストは、exteNd Directorデータベーステーブルについてにあります。 |
3 |
ClassLoader ModeおよびClassLoader Visibilityを設定する |
アプリケーションを正常に展開した後に、次のことを確認します。 |
展開の後に、次の作業が必要となります。
手順 |
タスク |
詳細について |
---|---|---|
1 |
展開先のアプリケーションサーバに必要な展開後のタスクを行う |
次の示す、サーバ固有の設定を参照してください。 注記: TomcatおよびBEA WebLogicサーバの場合は、必要な作業はありません。 |
2 |
Locksmithユーザが領域の有効なユーザであることを確認する |
― |
3 |
展開をテストする* |
展開のテストを参照してください。 |
4 |
(オプション) Autonomyを設定して概念検索を有効にする |
『Content Search Guide』の概念検索の環境設定に関する章を参照してください。 |
* 共有ライブラリサーバに展開し、さらに、新しいJARまたは更新した既存のJARを共有ライブラリディレクトリにコピーした場合は、再展開後にサーバを再起動する必要があります。
「接続プールを使用して」exteNd Directorデータベースにアクセスしている場合、展開後のタスクを行う必要はありません(次の節へ進むことができます)。
「推奨されていないAddDatabase機能を使用して」exteNd Directorデータベースにアクセスした場合、次の手順を実行する必要があります (展開手順によってexteNd Directorデータベースにテーブルが追加されるため、スキーマの変更により、サーバで非同期のデータベーススキーマのスナップショットが作成されます。 これを修正するには、データベーススキーマを同期化する必要があります)。
プロジェクトで以下のいずれかを行う場合にのみ、これらの展開後タスクを行う必要があります。
WebSphereカスタム領域を使用する(プロジェクト生成で、WebSphereを領域として選択した場合)。 これはカスタムレジストリとして機能するため、次の手順で説明するカスタムレジストリエントリを行う必要があります。
LDAP領域を使用する(プロジェクト生成で、LDAPを領域として選択した場合)。 グローバルセキュリティの定義の手順のみを実行する必要があります。
カスタムユーザレジストリで、次に示す値と共にプロパティを定義します。
プロパティ |
値 |
---|---|
Server User ID |
admin |
Server Password |
admin |
Custom RegistryClassname |
com.sssw.fw.server.websphere.realm.EboWebSphereRealm |
Ignore case |
選択しない |
プロパティ |
値 |
---|---|
Enabled |
オンにします。 |
Enforce Java 2 security |
オフにします 注記: Java 2セキュリティを使用する場合は、この値を「オン」に変更し、Javaセキュリティポリシーファイルを設定します。 |
Active User Registry |
CustomまたはLDAP |
ブラウザで、次のように展開設定に一致するURLを入力します。
展開の際に、exteNd Directorアプリケーションは、コンパイルとアーカイブが行われ、指定されたサーバに展開されます(『ユーティリティツール』の展開の章で説明しています)。 1つまたは複数のexteNd Directorサブシステムに依存するアプリケーションの場合は、展開の際に発生する(ユーザの操作なしに)追加アーカイブがあります。 それらについては、次の章で説明します。
サービスの利用を可能にするには、サブシステムをFrameworkへ自己登録させる必要があります。 自己登録のプロセスには、設定およびサービス情報をFrameworkにロードすることが含まれます。この情報がロードされると、適切なファクトリで、要求されたサービスそれぞれに対して、正しい実装を生成できます。 登録プロセスは、exteNd Director EARを展開するか、アプリケーションサーバを再起動すると自動的に起動する「ブートサーブレット」により開始されます。 自動開始サーブレットは、exteNd Director EARで最初にロードされるサーブレットであることが必要です。
ブートプロセス フレームワークのブートプロセス中に、ブートサーブレットにより、フレームワークのベースファクトリが起動され、次の操作が実行されます。
各サブシステムのconfig.xmlファイルをフレームワークのメモリ空間に読み込みます。
config.xmlファイルは、サブシステムの設定プロパティを設定します。 通常は、ConfigService.jarのsubsystem-name-confサブディレクトリに格納されています。
各サブシステムに必要なデータベースの処理を実行します。データをデータベースにロードする必要がある各サブシステムでは、ベースファクトリにより、スキーマが作成され、必要に応じてデータがロードされます。
データベースの処理を必要とする各サブシステムでは、スキーマを作成したり、データをロードしたりするためにスクリプトが配信されます。 これらのスクリプトは、ConfigService.spfのsubsystem-name-confサブディレクトリのデータベースサブディレクトリに格納されています。
サブシステムによるデータベースの処理の詳細については、サブシステムでの持続性データへのアクセス方法を参照してください。
各サブシステムのservices.xmlファイルをフレームワークのメモリ空間に読み込みます。
services.xmlファイルは、サブシステムに関連付けられた各サービスに対してプロパティを設定します。 これは、ConfigService.jarのsubsystem-name-confサブディレクトリに格納されています。
services.xmlファイルに含まれた自動開始サービスをすべて起動します。
自動開始サービスには、A (自動)という起動プロパティ値があります。M (手動)という起動要素を持つサービスは、起動されません。
次のサブシステムは、持続性情報を保存するため、データベースに依存しています。
フレームワークブートサーブレットにより、各サブシステムのconfig.xmlファイルが読み込まれると、サブシステムに必要なデータベースの処理が実行されます。 ブートサーブレットは、config.xmlファイルをチェックして、スキーマを作成とデータをロードが必要かどうかを決定します。この決定は、次の設定プロパティを検査することによって実行されます。
たとえば、Directoryサブシステムのconfig.xmlファイルには、db-load-on-startupプロパティおよびtest-db-on-startupプロパティに対して次のような設定があります。
<property> <key>DirectoryService/db-load-on-startup</key> <value>true</value> </property> <property> <key>DirectoryService/test-db-on-startup</key> <value>AUTHGROUPS</value> </property>
サブシステムに対してデータベース処理が必要な場合、ブートサーブレットにより、ConfigService.spfのsubsystem-name-confサブディレクトリのデータベースサブディレクトリにあるスクリプトが実行されます。
注記: exteNd Directorサブシステムで提供されたデータベーススクリプトは、編集しないでください。 これらのスクリプトは、そのまま使用する必要があります。
exteNd Directorサブシステムでは、データベースに保存されていなかったり、サブシステムの設定およびサービス要素で定義されていないアプリケーションリソースにアクセスしなければならないことがよくあります。リソースセットでは、これらのリソースに対して確認されている場所が指定されます。 リソースセットには、exteNd Directorサブシステムに搭載された機能を実装するルール、ページフロー、ポートレット、スタイル、および各種の記述子に対する定義が保持されます。 また、アプリケーションのJavaクラスおよびイメージを保持することもできます。
また、リソースセットは、展開されたJARに加えて、ディスクからもリソースがロードされるよう設定できるため、開発を能率化するツールでもあります。リソースのダイナミックロードを使用すると、exteNd Director EAR全体を再展開しなくても、変更および変更内容のテストが行えます。
リソースセットの使用方法の詳細については、を参照してください。
この章では、次のカテゴリのトラブルシューティングについて説明します。
問題 |
原因 |
解決法 |
---|---|---|
次のエラーが発生することがあります。 サーバコンソールトレース: ------------------------- 警告: このアプリケーション コンテキストDirector51が PortalService-conf/config.xml ファイルに設定されているportal.contextプロパティと一致しません。 データベースごとに使用できるポータルは 1つだけです。 データは、 以前のポータルコンテキストを 使用してロードされています。 これを修正するには、 以前のポータル名 に戻す必要があります。 マニュアルを参照してください。 java.lang.reflect.InvocationTargetException |
アプリケーションサーバは共有ライブラリを使用するように設定されており、exteNd Directorポータルはすでに展開されています。つまり、ポータルが含まれている他のアプリケーションを展開しようとしています。 |
共有ライブラリ環境では、展開できるポータルは1つに制限されます。 2つの方法から選択します。次のことができます。 詳細については、プロジェクトの共有ライブラリ設定の変更を参照してください。 または 注記: この手順を実行しなければ、直前に展開されたポータルの設定への参照がアプリケーションサーバに残るため、同じエラーが発生します。 |
ヒント: exteNd Directorに対するWebLogicの設定の詳細については、リリースノートを参照 してください。
exteNd Directorアプリケーションを設定するときは、使用する予定のアプリケーションサーバに応じた選択を行います。 後で別のサーバに展開する場合、いくつかの変更が必要になります。 exteNd Directorエディタを使用してすべての変更が行えます。
変更が必要な項目は次のとおりです。
変更内容 |
変更方法についての参照(exteNd Directorのアーカイブレイアウトに対するパス) |
---|---|
ユーザ認証の領域 |
ディレクトリ環境設定を参照してください。 |
Locksmith ID |
フレームワーク設定を参照してください。 |
アプリケーションデータベースのJNDI名 |
|
リモートリソースのセットにリソース要求をリダイレクトする場合にプロキシリソースのセットで使用されるURI |
resourcePathおよびlibPathのエントリの処理を参照してください。 注記: リモートリソースのセットが展開されたサーバも変更する場合は、プロキシリソースのセットのURIを編集して、新しい場所をポイントするように設定する必要があります。 |
exteNd Directorデータベーステーブルには、サブシステムで維持する必要のある情報が保持されます。
注記: リスト化された項目は、exteNd Directorで使用できるように保留されます。 このリストは、あくまでも参考のための情報です。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...