シック・クライアント開発環境のセットアップ
アプリケーション開発システムをセットアップするには、IBM® FileNet® P8 Platform のインストールおよび構成後に、いくつか追加の作業を行う必要があります(IBM FileNet P8 Platform のインストールおよび構成については、『IBM FileNet P8 のインストールまたはアップグレード (Installing or upgrading IBM FileNet P8)』を参照してください)。
このセクションでは、シック・クライアント・ワークステーションをアプリケーション開発環境としてセットアップする場合に実行する必要がある作業について説明します。ここで取り扱う環境は、 Enterprise Java Beans (EJB) トランスポート・プロトコルおよび WebSphere® アプリケーション・サーバー、 EJB トランスポート・プロトコルおよび WebLogic アプリケーション・サーバー、 EJB または Content Engine Web Service (CEWS) トランスポート・プロトコルおよび JBoss アプリケーション・サーバー (FileNet P8 4.0.1 以降のみ)、 CEWS トランスポート・プロトコル (アプリケーション・サーバー非依存)です。
EJB トランスポート・プロトコルおよび WebSphere アプリケーション・サーバー
- IBM WebSphere Application Client for WebSphere Application
Server を開発クライアント・ワークステーションにインストールします。
アプリケーション・クライアントのバージョンが WebSphere Application Server のバージョンと一致した必要がある点に注意してください。
- ステップ 1 でインストールした Java™ ランタイム環境 (JRE) を使用するように環境をセットアップします。JAVA_HOME 環境変数を設定し、パスに JRE の bin ディレクトリーを追加してください。
- ステップ 1 でインストールした sas.client.props を、次の値で更新します。
com.ibm.CORBA.securityServerHost=hostname
com.ibm.CORBA.securityServerPort=portnumber
com.ibm.CORBA.loginSource=none>
ここで
- hostname は、WebSphere Application Server を稼働しており、Content Engine がデプロイされているコンピューターです。
- portnumber は、hostname で識別されるコンピューターが使用するポート番号です (デフォルトの 2809 と異なる場合は、この値を変更してください)。
loginSource の値を prompt (デフォルト) から none に設定すると、ユーザー ID とパスワードを求めるログイン・プロンプトが繰り返し表示されるのを防ぐことができます。
プログラム実行時には必ず次の操作を行ってください。
- 次の Java 仮想マシン (JVM) 引数を追加する。
Windows: -Dcom.ibm.CORBA.ConfigURL=file:C:¥IBM¥WebSphere¥AppClient¥properties¥sas.client.props
AIX®: -Dcom.ibm.CORBA.ConfigURL=file:/usr/IBM/WebSphere/AppClient/properties/sas.client.props
Windows 以外: -Dcom.ibm.CORBA.ConfigURL=file:/opt/IBM/WebSphere/AppClient/properties/sas.client.props
- 以下のいずれかの方法で、適切な JAR ファイルを追加します。
- WebSphere Application Server の指示に従って、クライアント・マシン上にシック・アプリケーション・クライアントをセットアップして実行します。(WebSphere のマニュアルを参照してください。なお、WebSphere のマニュアルでは、この環境をシック・クライアントではなく「シン」クライアントと呼びます。)
- -Djava.ext.dirs コマンド行オプションを使用して、次のディレクトリーにある JAR ファイルを含めます。
Windows: WebSphere install path¥AppClient¥lib、WebSphere Install path¥AppClient¥java¥jre¥lib¥ext、 および WebSphere Install path¥AppClient¥plugins
Windows 以外: WebSphere install path/AppClient/lib、WebSphere Install path/AppClient/java/jre/lib/ext、 および WebSphere Install path/AppClient/plugins
例 (Windows):
-Djava.ext.dirs=C:\Program Files\IBM\WebSphere\AppClient\java\jre\lib\ext;C:\Program Files\IBM\WebSphere\AppClient\lib;C:\Program Files\IBM\WebSphere\AppClient\plugins
例 (AIX):
-Djava.ext.dirs=/usr/IBM/WebSphere/AppClient/java/jre/lib/ext:/usr/IBM/WebSphere/AppClient/lib:/usr/IBM/WebSphere/AppClient/plugins
例 (その他の Windows 以外):
-Djava.ext.dirs=/opt/IBM/WebSphere/AppClient/java/jre/lib/ext:/opt/IBM/WebSphere/AppClient/lib:/opt/IBM/WebSphere/AppClient/plugins
WebSphere setupClient スクリプトは、これらのディレクトリーのホーム・ロケーションを指す環境変数を作成します。コマンド内の明示パスにこれらの変数を代入することができます。
例 (Windows) -Djava.ext.dirs=%WAS_HOME%¥AppClient¥java¥jre¥lib¥ext;%WAS_HOME%¥AppClient¥lib;%WAS_HOME%¥AppClient¥plugins
例 (Windows 以外) -Djava.ext.dirs=$WAS_HOME/AppClient/java/jre/lib/ext:$WAS_HOME/AppClient/lib:$WAS_HOME/AppClient/plugins
- WebSphere ライブラリーおよびプラグインのディレクトリーにあるすべての JAR ファイルをクラスパスに明示的に追加します。
WebSphere ライブラリー・ディレクトリー:
Windows: WebSphere install path¥AppClient¥lib
Windows 以外: WebSphere install path/AppClient/lib
WebSphere プラグイン・ディレクトリー:
Windows: WebSphere install path¥AppClient¥plugins
Windows 以外: WebSphere install path/AppClient/plugins
- 正しい URI を接続に渡す。
一般的な URI は「iiop://hostname:port/FileNet/Engine」です。この hostname と port は、WebSphere 管理コンソールの で BOOTSTRAP_ADDRESS 構成パラメーターに指定されたホスト名およびポート番号と一致している必要があります。
ヒント: クライアント開発ワークステーションの Windows コマンド行から ping コマンドを実行し、ホスト名を再確認します。クライアントから ping を使用すると返されるサーバーのネットワーク名が、BOOTSTRAP_ADDRESS に指定したホストと一致する必要があります。
その他の注意事項
ご使用の環境に応じて、次に示す状況では追加作業が必要となる点に注意してください。
- UserContext.createSubject を使用しない場合、呼び出し元は Java 認証・許可サービス (JAAS) ログイン呼び出しを実行する前に、次の例に示すように ORB を初期化する必要があります。
Context ic = new InitialContext(); ic.lookup("");
- FileNetP8 スタンザ以外の JAAS スタンザを使用する場合、またはユーザー名とパスワード以外の認証方式を使用する場合は、JAAS 構成ファイルを指定する必要があります。標準コマンド行引数を使用してこのファイルを指定します。次に例を示します。
-Djava.security.auth.login.config=jaas.conf.WebSphere
EJB トランスポート・プロトコルおよび WebLogic アプリケーション・サーバー
- サポートされた JRE を開発クライアント・ワークステーションにインストールします。注: JRocket と Sun JRE のいずれも使用できます。ただし、WebLogic 9.x での JRocket と IIOP の併用については問題が判明されたため、お勧めできません。
- 次のいずれかの方法で、Java Naming and Directory Interface (JNDI) 構成に以下の値を追加します。
- 次に示す JVM 引数を指定する。
-Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://hostname:7001
- クラスパスに含まれている jndi.properties ファイルに、次に示す値を追加する。
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory java.naming.provider.url=t3://hostname:7001
注: jndi.properties ファイルがクラスパスに含まれている必要があります。このファイルを JAR ファイルに組み込み、JAR ファイルをクラスパスに追加するか、またはクラスパスの下にディレクトリーを作成してこのディレクトリーにファイルを格納します。
- 次に示す JVM 引数を指定する。
- t3 プロトコルを使用します。
クラスパスに weblogic.jar ファイル (WebLogic バージョン 10.x 以上の場合は wlfullclient.jar) を追加します。 次に、t3 プロトコルを指定するため、「t3://hostname:7001/FileNet/Engine」という URI を Content Engine API Connection クラスに組み込みます。wlclient.jar で IIOP をプロトコルとして使用できますが、これはお勧めできません。 IIOP は t3 プロトコルよりも低速であり機能性が高くありません。接続用に URI を指定するコード例を次に示します。
// Get the connection. String uri = "t3://remotehost:7001/FileNet/Engine"; Connection conn = Factory.Connection.getConnection(uri);
- JAAS 構成ファイルの場所を指定します。標準コマンド行引数を使用してこのファイルを指定します。次に例を示します。
-Djava.security.auth.login.config=jaas.conf.WebLogic
注: JAAS 構成ファイルは、Jace.jar ファイル内に格納されています。このコマンドにより、使用する構成ファイルを識別します。
EJB または CEWS トランスポート・プロトコルおよび JBoss アプリケーション・サーバー
- サポートされた JRE を開発クライアント・ワークステーションにインストールします。
- JBoss クライアント・ディレクトリー (Windows: jboss-home¥client、Windows 以外: jboss-home/client) にある jbossall-client.jar ファイルをクラスパスに追加します。注: JBoss 5.x を使用している場合、クライアント・アプリケーションが必要とするすべてのクラスが jbossall-client.jar に含まれているわけではないことに注意してください。代わりに、このファイルには、他の JAR ファイルを参照するマニフェスト・ファイルが含まれています。開発システムに JBoss 5.x がインストールされていない場合は、JBoss アプリケーション・サーバーの jboss-home¥client ディレクトリーからすべての JAR ファイルを自分のクライアント・ライブラリーにコピーするか、jbossall-client.jar マニフェストで参照されているすべての JAR ファイルを自分のクライアント・ライブラリーにコピーする必要があります。jbossall-client.jar マニフェストについて詳しくは、JBoss 資料を参照してください。
- 次のいずれかの方法で JNDI 構成に次の値を追加します。
- 次に示す JVM 引数を指定する。
-Djava.naming.factory.initial=org.jboss.naming.NamingContextFactory -Djava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces -Djava.naming.provider.url=jnp://hostname:1099
- クラスパスに含まれている jndi.properties ファイルに、次に示す値を追加する。
java.naming.factory.initial=org.jboss.naming.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=jnp://hostname:1099
注: jndi.properties ファイルがクラスパスに含まれている必要があります。このファイルを JAR ファイルに組み込み、JAR ファイルをクラスパスに追加するか、またはクラスパスの下にディレクトリーを作成してこのディレクトリーにファイルを格納します。
- 次に示す JVM 引数を指定する。
- junit.properties ファイルを次のように変更します。
- EJB プロトコル:
jnp://hostname:1099/FileNet/Engine
- CEWS プロトコル:
URI: http://hostname:8080/wsi/FNCEWS40MTOM/
- EJB プロトコル:
- JAAS 構成ファイルの場所を指定します。標準コマンド行引数を使用してこのファイルを指定します。次に例を示します。
-Djava.security.auth.login.config=jaas.conf.JBoss
注: JAAS 構成ファイルは、Jace.jar ファイル内に格納されています。このコマンドにより、使用する構成ファイルを識別します。
CEWS トランスポート・プロトコル (アプリケーション・サーバー非依存)
CEWS プロトコルを使用してシック・クライアント開発マシンをセットアップする場合、次の作業を行う必要があります。
- Content Engine Client のインストールの実行後に、クライアント・マシンに、Jace.jar、log4j.jar、stax-api.jar、xlxpScanner.jar、xlxpScannerUtils.jar、p8cel10n.jar の各 JAR ファイルがインストールされていることを確認します。
クライアントのインストール後には、これらのファイルが次の場所に格納されています。
詳細については、必要な Java Archive (JAR) ファイルを参照してください。
- Windows: C:¥Program Files¥IBM¥FileNet¥CEClient¥lib
- AIX: /usr/IBM/FileNet/CEClient/lib
- その他の Windows 以外: /opt/IBM/FileNet/CEClient/lib
- JAAS 向け FileNetP8WSI ログイン・モジュールを指定します(Jace.jar ファイルにバンドルされた FileNetP8WSI デフォルト・スタンザを使用できる点に注意してください)。この作業は、以下に説明する 2 つの方法のいずれかを使用して実行できます。
- 次の例に示すように、FileNetP8WSI スタンザを JAAS 構成ファイルに追加し、このファイルを指し示す JVM コマンド行引数を指定する。
このスタンザは JAAS 構成ファイルに存在する必要があります。
FileNetP8WSI { com.filenet.api.util.WSILoginModule required; };
JVM に対して指定するコマンド行引数を次に示します。これは、システムに対して使用する JAAS 構成ファイルを指示します。
-Djava.security.auth.login.config=jaas.conf
LoginContext JAAS クラスのコンストラクターに「FileNetP8WSI」を使用します。
- スタンザ名「FileNetP8WSI」を指定した UserContext.createSubject を呼び出します。
Subject subject =UserContext.createSubject(connection, "userid", "password","FileNetP8WSI"); UserContext uc = UserContext.get(); uc.pushSubject(sub); try { // ここにコードを追加 } finally { uc.popSubject(); }
- 次の例に示すように、FileNetP8WSI スタンザを JAAS 構成ファイルに追加し、このファイルを指し示す JVM コマンド行引数を指定する。