4.2.4 DocumentSpace構成定義ファイルの注意事項

DocumentSpace構成定義ファイルで文書空間を定義する場合の注意事項について説明します。

<この項の構成>
(1) SessionMaxエントリを指定する場合の注意事項
(2) 検索フィルタへ検索条件を追加する場合の注意事項
(3) 文書空間の構成を変更する場合の注意事項
(4) アクセス制御機能を使用する場合の注意事項
(5) ProcessOrbBoaOptionエントリを指定する場合の注意事項

(1) SessionMaxエントリを指定する場合の注意事項

DocumentBrokerは1セッション当たり7~8個のファイル記述子を利用します。オペレーティングシステムのデフォルトの設定では,1プロセス当たり2,000個のファイル記述子を利用できるようになっています。しかし,DocumentBroker起動時に利用可能なファイル記述子は1,960個です。すなわち,デフォルトの指定では1プロセス当たり245人までログインできます。したがって,Processエントリで指定したプロセス数でSessionMaxエントリで指定したユーザにサービスを供給できるようにオペレーティングシステムのカーネルパラメタ(nofiles(AIXの場合)またはnofile(Linuxの場合))を変更してください。変更方法を次に示します。

nofilesまたはnofile>=(SessionMax指定値÷Process指定値)×8+40

(2) 検索フィルタへ検索条件を追加する場合の注意事項

アクセス制御されている文書に接続する場合,DocumentBrokerは,ユーザの属性からのユーザ情報を取得して,アクセスしたい文書にアクセスできるかどうか判断します。ユーザ情報を取得するとき,検索フィルタに検索条件を指定してユーザを検索します。この検索フィルタには,デフォルトの検索フィルタとデフォルトの検索フィルタに検索条件を追加した検索フィルタがあります。

DocumentSpace構成定義ファイルでデフォルトの検索フィルタに検索条件を追加するためには,LdapUserFilterLeftエントリおよびLdapUserFilterRightエントリを指定しておく必要があります。

LdapUserFilterLeftエントリおよびLdapUserFilterRightエントリの概要
LdapUserFilterLeftエントリおよびLdapUserFilterRightエントリは,ユーザ識別子を検索するときにデフォルトの検索フィルタに対して,検索条件を追加して指定します。したがって,デフォルトフィルタに情報を付与して,特定の情報を参照できるユーザを検索できます。
ユーザ識別子を検索する場合にDocumentBrokerが指定するフィルタ
DocumentBrokerはユーザ識別子を検索する場合,次に示すデフォルトフィルタを指定します。
&(objectclass=$LdapUserClass$)($LdapUserId$=ログインユーザ名)
ただし,$x$は,DocumentSpace構成定義ファイルでエントリxに指定された値です。
このデフォルトフィルタの意味は,(objectclass=$LdapUserClass$)および($LdapUserId$=ログインユーザ名)が真となるユーザ識別子を検索条件として指定するということです。
このデフォルトフィルタに対してLdapUserFilterLeftエントリおよびLdapUserFilterRightエントリにユーザ識別子の検索情報を指定して,検索フィルタを設定します。
デフォルトフィルタへの検索条件の追加例
次の例を基に検索フィルタの設定方法を説明します。
(例)
ユーザが使用するアプリケーションプログラムを示す「ApplicationType=DocumentBroker」という属性および属性値を,デフォルトフィルタに追加する。
「ApplicationTypeという属性の属性値がDocumentBrokerであるユーザ」をデフォルトフィルタに追加条件として付与する場合,LdapUserFilterLeftエントリおよびLdapUserFilterRightエントリには次のように指定します。
  • LdapUserFilterLeft=(
  • LdapUserFilterRight=(ApplicationType=DocumentBroker))
    ただし,指定する際,「(」(左括弧)と「)」(右括弧)の個数をそろえる必要があります。これによって作成される検索フィルタを次に示します。
(&(objectclass=$LdapUserClass$)($LdapUserId$=ログインユーザ名) (ApplicationType=DocumentBroker))
この検索フィルタは,(objectclass=$LdapUserClass$),($LdapUserId$=ログインユーザ名),および(ApplicationType=DocumentBroker))が真となるユーザ識別子を検索することを意味します。

なお,グループ識別子の検索フィルタに検索情報を追加指定するためのエントリとして,LdapGroupFilterLeftエントリおよびLdapGroupFilterRightエントリがあります。これらのエントリの指定方法は,LdapUserFilterLeftエントリおよびLdapUserFilterRightエントリの指定方法を参考にしてください。

(3) 文書空間の構成を変更する場合の注意事項

DocumentBrokerの運用を開始してから,セッションタイムアウト時間の変更やデータベースから取り出す検索結果行の行数の変更などによって,文書空間の構成を変更するような場合が考えられます。このような場合は,次の手順で文書空間の構成を変更してください。

  1. DocumentBrokerを終了する。
  2. DocumentSpace構成定義ファイルを変更する。
  3. DocumentBrokerを再起動する。

なお,DocumentBrokerの起動と終了については,「5. DocumentBrokerの起動と終了」を参照してください。

(4) アクセス制御機能を使用する場合の注意事項

アクセス制御機能を利用する環境では,UserAuthenticationエントリの値として,LDAP,LDAPEX,またはUOCを必ず指定してください。これらの値以外が指定されている場合や指定が省略されている場合は,DocumentBrokerサーバが起動しません。

(5) ProcessOrbBoaOptionエントリを指定する場合の注意事項

-OAthreadMaxオプションの値を129以上としている場合に,129以上のクライアントからCdbrSession::Connectメソッドを同時に実行すると,タイミングによっては,CdbrSession::Connectメソッドからエラーが返却されることがあります。

なお,CdbrSession::Connectメソッドについては,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ 解説」を参照してください。