JAVA/CORBA クラス
lotus.domino パッケージをインポートすることにより、Java プログラムから Domino オブジェクトを呼び出せます。プログラムは、アプリケーション、Domino エージェント、アプレット、またはサーブレットとしてコーディングできます。ローカル呼び出しはローカルコンピュータ上のランタイムコードにアクセスしますが、このコンピュータには Domino がインストールされている必要があります。CORBA に準拠したリモート (IIOP) 呼び出しはリモート Domino Server からランタイムコードにアクセスしますが、この場合はローカルコンピュータに Domino がインストールされている必要はありません。コンパイルは、Domino Designer がインストールされているコンピュータで行う必要があります。
メモ Notes/Domino 7 では、Sun Java(TM) 2 Platform、Technology Edition、v 1.4.2 がサポートされます。非互換を避けるため、以前の Domino Server または Notes Client において 7 でコンパイルした Java エージェントを実行しないでください。v. 1.4.2 以下の Java Platform において、7 Java アーカイブ (Notes.jar、NCSO.jar、domtags.jar) を使用しないでください。
メモ lotus.domino パッケージの内容は、R4.6 lotus.notes のパッケージと同様の内容に新しいクラス、メソッド、その他の拡張を加えたものです。R4.6 lotus.notes パッケージは、従来のものとの互換性のためだけにサポートを続けられます。新しいクラス、メソッド、その他の拡張は含まれません。
要件 サーバーの要件 CORBA に準拠したリモート (IIOP) 呼び出しには、Domino Server へのアクセスが必要です。
サーバータスクの HTTP と DIIOP を実行する必要があります。サーバーの notes.ini ファイルに次の行が含まれていることを確認してください。
ServerTasks=<any other tasks>,http,diiop
これらのタスクは、load console コマンドを使って後で開始することもできます。
メモ JavaMaxHeapsize の値を 64M 以下に下げないでください。64M 以下に下げると、nhttp.exe を実行しようとしたときに実行時エラーが発生します。JavaMaxHeapsize の値をサーバーの notes.ini ファイルで設定しない場合は、64M が使用されます。
Domino ディレクトリ ([サーバー] - [サーバー] の下) のサーバー文書で、必要に応じて CORBA に準拠したリモート呼び出しの許可と制限を指定します。詳しい説明を表示するには、フィールドの説明を右クリックします。
CORBA に準拠した Domino オブジェクトアプリケーションまたはアプレットの SSL セキュリティは、Web サーバーの SSL セキュリティの上に築かれます。最初に、「Domino R5 認証機関」アプリケーションを使って Web サーバーのセキュリティをセットアップする必要があります。
Designer の要件 lotus.domino パッケージを使って Java プログラムをコンパイルするには、Domino Designer R5 以上をインストールする必要があります。
スタンドアロンのアプリケーションには、classpath に Notes プログラムディレクトリの Notes.jar および Notes データディレクトリの domino\java\NCSO.jar、または domino\java\NCSO.cab を含めます。次に例を示します。
set CLASSPATH=.;c:\notes\data\domino\java\NCSO.jar;c:\notes\Notes.jar
Notes.jar には、上位レベルの lotus.domino パッケージ、ローカル呼び出し用の lotus.domino.local パッケージ、古い lotus.notes パッケージが含まれています。NCSO アーカイブには、上位レベルの lotus.domino パッケージと、リモート呼び出し用の lotus.domino.cso パッケージが含まれています。厳密には、CORBA に準拠したリモート呼び出しをコンパイルしない場合は NCSO アーカイブは必要なく、ローカル呼び出しや古い呼び出しをコンパイルしない場合は Notes.jar は必要ありません。
これらの 3 つの NCSO アーカイブは、内容は同じですが、アーカイブ方法は異なります。
メモ 以前のリリースでは NCSO.jar (圧縮しない) および NCSOC.jar (圧縮する) を使用していました。
import lotus.domino.*;
ランタイムの要件 ローカルな Domino 呼び出しを行う Java アプリケーションを実行するコンピュータには、Domino Server、Domino Designer、または Notes Client がインストールされている必要があり、classpath に Notes.jar が含まれている必要があります。
リモートな Domino 呼び出しを行う Java アプリケーションを実行するコンピュータには、Domino または Notes がインストールされている必要はありませんが、NCSO アーカイブのいずれか 1 つが含まれていて、それが classpath に含まれている必要があります。
Domino 呼び出しを行う Domino エージェントを実行するコンピュータでは、classpath に Notes.jar が含まれている必要があります。
Domino 呼び出しを行うアプレットを実行するコンピュータでは、Domino ソフトウェアや classpath の割り当ては不要です。このアプレットは、Domino Server がインストールされているコンピュータからロードされなければなりません。
メモ WebSphere(R) 環境でリモート (IIOP) 呼び出しを実行する場合は、classpath に NCSOW.jar を使用しないでください。NCSOW.jar は R5.0.4 から提供を開始されたもので、現在ではキットに含まれていません。R5 サーバーでは NCSOW.jar を使用するプログラムを実行できますが、R6 サーバーでは実行できません。NCSO アーカイブは、R5 サーバーおよび Release 6 サーバーの両方で使用できます。
lotus.domino パッケージを呼び出す 次のガイドラインは、lotus.domino パッケージへの呼び出しを行う Java プログラムに適用されます。
ローカル呼び出しを行うアプリケーションの各スレッドは、NotesThread オブジェクトを初期化しなければなりません。これには、Domino オブジェクトにアクセスする AWT スレッドが含まれます。リスナースレッドは NotesThread から継承できないので、静的なメソッドを使う必要があります。
長時間実行されるプログラムや、大量のオブジェクトを作るプログラムに関しては、メモリ管理を考慮しなければなりません。recycle メソッドと、「マルチスレッドの問題」を「NotesThread クラス」の項で参照してください。
Domino 呼び出しを含むスレッドをアプレットで作成する場合は、スレッドコードではローカルな Domino 呼び出しに NotesThread を使う必要があります。リモート (IIOP) 呼び出しには使う必要はありません。環境を判断するには AppletBase.isLocal() を使います。初期化には NotesThread.sinitThread を使い、終了には NotesThread.stermThread を使います。スレッドの作成には AWT イベントの処理が含まれます。
詳しくは、例を参照してください。
Domino データベースに保存されるアプレットについては [Java アプレット] - [Java アプレットプロパティ] の [Notes CORBA クラスを使用] を選択してください。
NotesFactory.createSession と AppletBase.openSession の user と pwd パラメータは、アクセス先のサーバーの Domino ディレクトリ内のユーザー名とインターネットパスワードとする必要があります。名前とパスワードが指定されない場合は、サーバーによって匿名アクセスが許可されます。
Domino または WebSphere サーバーに対してシングルサインオンを行うには、createSession(String host, String token)、createSession(String host, org.omg.SecurityLevel2.Credentials token)、createSession(String host, null)、createSession(String host, HttpServletRequest request) のいずれかを使います。
メモ シングルサインオンは、R5.0.5 で新しく追加されました。
SSL (Secure Sockets Layer) を有効にするには、NotesFactory.createSession(String host, String args[], String user, String pwd) を使用して、args(0) に「-ORBEnableSSLSecurity」と指定します。