uCosminexus DocumentBroker Version 3　システム導入・運用ガイド

解説・手引書

3000-3-U71

目　　次

前書き

はじめに

1.　概説

1.1　DocumentBrokerの概要

1.1.1　DocumentBrokerの目的

1.1.2　DocumentBrokerの特長

1.2　DocumentBrokerの機能

1.2.1　文書の登録機能とバージョン管理機能

1.2.2　マルチレンディション管理機能

1.2.3　マルチファイル管理機能

1.2.4　コンテナ管理機能

1.2.5　文書の構成管理機能

1.2.6　文書間リレーション管理機能

1.2.7　文書の属性情報の管理機能

1.2.8　リファレンスファイル管理機能

1.2.9　レンディションのコンテント種別変換機能

1.2.10　File Link連携機能

1.2.11　XML文書管理機能

1.2.12　独立データの管理機能

1.2.13　アクセス制御機能

1.2.14　アクセスログおよびトレースログの統計・解析機能

1.2.15　検索機能

1.2.16　オブジェクト一括登録機能

1.2.17　全文検索インデクス一括登録機能

1.2.18　レンディション変換機能

1.2.19　イメージ文書の登録機能

1.2.20　分散した文書の収集・検索機能

1.2.21　文書の分析機能

1.2.22　文書のライフサイクル管理機能

1.2.23　ファイル転送機能

1.2.24　複数の実行環境機能

1.2.25　システム導入支援機能

1.2.26　クライアントアプリケーション動作定義機能

1.3　DocumentBrokerのシステム構成

1.3.1　DocumentBrokerを使用したシステムの概略

1.3.2　DocumentBrokerサーバを構成するプログラム

1.3.3　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（C++ クラスライブラリの場合）

1.3.4　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（Java クラスライブラリの場合）

1.3.5　DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラム

1.4　プロセス構成

1.4.1　DocumentBrokerの基本プロセス構成

1.4.2　DocumentBrokerのプロセスの関連

2.　システム導入前の検討

2.1　適用業務の検討

2.2　文書管理に使用するオブジェクト

2.2.1　DocumentBrokerのオブジェクト

2.2.2　このマニュアルで使用するオブジェクト名と機能名

2.2.3　バージョンなし文書の管理に必要なオブジェクト

2.2.4　バージョン付き文書の管理に必要なオブジェクト

2.2.5　マルチレンディション文書の管理に必要なオブジェクト

2.2.6　コンテナの管理に必要なオブジェクト

2.2.7　構成管理コンテナの管理に必要なオブジェクト

2.2.8　文書間リレーションの管理に必要なオブジェクト

2.2.9　XML文書の管理に必要なオブジェクト

2.2.10　独立データの管理に必要なオブジェクト

2.2.11　全文検索機能付き文書クラスを作成する場合に必要なオブジェクト

2.2.12　オブジェクトとデータベースの関連

2.3　追加するクラスおよびプロパティの検討

2.3.1　クラスおよびプロパティの追加

2.3.2　サブクラスの追加

2.3.3　プロパティの追加

2.3.4　全文検索機能付き文書クラスの追加

2.3.5　クラスおよびプロパティの追加例

2.4　文書空間で使用する文字コード種別の検討

2.5　XML文書管理機能を使用したシステム構築の検討

2.5.1　DocumentBrokerで提供するXML文書管理機能

2.5.2　XMLプロパティマッピング機能

2.5.3　XMLインデクスデータ作成機能

2.5.4　DocumentBrokerが管理できるXML文書

2.6　アクセス制御機能を使用したシステム構築の検討

2.6.1　アクセス制御情報の概要

2.6.2　文書管理モデルへのアクセス制御の適用

2.7　メモリ所要量とディスク占有量の見積もり

2.7.1　仮想メモリ所要量の見積もり

2.7.2　VariableArray型のプロパティが使用するメモリ所要量の見積もり

2.7.3　ディスク占有量の見積もり

2.8　データベース容量の見積もり

2.8.1　データベース容量の見積もり方法

2.8.2　ユーザ用RDエリアの容量の見積もり

2.8.3　ユーザLOB用RDエリアの容量の見積もり

2.8.4　アクセス制御機能を使用する場合のデータベース容量の見積もり

2.9　リファレンスファイル管理機能を使用する場合のファイルシステムのディスク容量の見積もり

2.10　File Link連携機能を使用する場合のファイルサーバ容量の見積もり

2.11　マルチレンディション管理機能を使用する場合の排他資源管理テーブルの見積り

3.　環境設定

3.1　環境設定の流れ

3.2　環境設定の準備

3.3　インストールとアンインストール

3.3.1　インストール

3.3.2　アンインストール

3.3.3　インストール済みプログラムの一覧表示

3.4　オペレーティングシステムでの環境設定

3.4.1　システム管理者の登録

3.4.2　パラメタのカスタマイズ

3.5　TPBrokerでの環境設定

3.6　DocumentBrokerの実行環境の作成

3.6.1　DocumentBroker実行環境ディレクトリの作成

3.6.2　環境変数の設定（AIXの場合）

3.6.3　環境変数の設定（Linuxの場合）

3.6.4　DocumentBrokerの実行環境作成コマンドの実行

3.6.5　文書空間識別子の定義

3.7　ユーザ管理機能の設定

3.7.1　LDAP対応のディレクトリサービスによるユーザ管理機能を使用する場合の設定

3.7.2　UNIXのパスワードファイルによるユーザ管理機能を使用する場合の設定

3.7.3　ユーザ作成のアクセスルーチンを使用する場合の設定

3.8　文書空間の定義

3.8.1　文書空間を定義する前の準備

3.8.2　ユーザ情報の取得方法

3.9　アクセス制御機能を使用する場合の設定

3.9.1　アクセス制御を使用するための管理者の設定

3.9.2　アクセス制御機能の設定

3.10　データベースシステムでの環境設定

3.10.1　HiRDBの環境設定の準備

3.10.2　HiRDBの環境設定

3.10.3　HiRDBのユーザ権限の設定

3.10.4　HiRDB Text Search Plug-inでの環境設定

3.11　DocumentBrokerでデータベースシステムを使用するための設定

3.11.1　データベース定義の名称の検討

3.11.2　データベースシステムの設定に必要なファイル

3.11.3　データベースシステムの設定手順

3.11.4　全文検索機能を使用する場合に出力されるデータベース定義文

3.12　システム導入支援機能での設定

3.13　ファイル転送機能を使用する場合の設定

3.13.1　ファイル転送機能の概要

3.13.2　ファイル転送機能のためのDocumentBrokerクライアントでの環境設定

3.13.3　ファイル転送機能のためのDocumentBrokerサーバでの環境設定

3.13.4　ファイル転送機能で使用するコマンド

3.13.5　ファイル転送サービスの開始と停止

3.14　サービスプロセスを使用する場合の設定

3.15　複数の実行環境を構築する場合の設定

3.16　リファレンスファイル管理機能を使用する場合の設定

3.16.1　コンテントを管理するための設定

3.16.2　ネットワーク上のマシンの共有ディスクでコンテントを管理する場合の設定

3.17　File Link連携機能を使用する場合の設定

3.18　XML文書管理機能を使用する場合の設定

3.18.1　定義ファイルの作成・生成の概要

3.18.2　XML定義ファイルの登録

3.18.3　XML文書管理機能の環境設定

3.18.4　XML定義ファイルを作成する場合の注意事項

4.　環境設定で必要なファイル

4.1　ファイルの種類

4.2　DocumentSpace構成定義ファイル（docspace.ini）

4.2.1　DocumentSpace構成定義ファイルの概要

4.2.2　DocumentSpace構成定義ファイルの記述形式

4.2.3　DocumentSpace構成定義ファイルの記述例

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

4.3　セキュリティ定義ファイル（docaccess.ini）

4.3.1　セキュリティ定義ファイルの概要

4.3.2　セキュリティ定義ファイルの記述形式

4.3.3　セキュリティ定義ファイルの記述例

4.4　ユーザ権限定義ファイル

4.4.1　ユーザ権限定義ファイルの概要

4.4.2　ユーザ権限定義ファイルの記述形式

4.4.3　ユーザ権限定義ファイルの記述例

4.5　RDエリア構成定義ファイル

4.5.1　RDエリア構成定義ファイルの概要

4.5.2　RDエリア構成定義ファイルの記述形式

4.5.3　RDエリア構成定義ファイルの記述例（全文検索用）

4.6　メタ情報ファイル

4.7　定義情報ファイル

4.7.1　定義情報ファイルの概要

4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則

4.7.3　定義情報ファイルの記述形式

4.7.4　定義情報ファイルの記述例

4.7.5　定義情報ファイルの記述例（VariableArray型のプロパティを追加する場合）

4.7.6　定義情報ファイルの記述例（全文検索機能を使用する文書クラスを追加する場合）

4.7.7　定義情報ファイルの記述例（概念検索機能を使用する文書クラスを追加する場合）

4.7.8　定義情報ファイルの記述例（文字列型プロパティに対する全文検索機能を使用する場合）

4.8　RDエリア定義情報ファイル

4.8.1　RDエリア定義情報ファイルの概要

4.8.2　RDエリア定義情報ファイルの記述形式

4.8.3　RDエリア定義情報ファイルの記述例

4.8.4　RDエリア定義情報ファイルの注意事項

4.9　インデクス情報ファイル

4.9.1　インデクス情報ファイルの概要

4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則

4.9.3　全文検索での差分インデクス機能を使用するための設定

4.9.4　インデクス情報ファイルの記述形式

4.9.5　インデクス情報ファイルの記述例

4.10　クラス定義情報ファイル

4.10.1　クラス定義情報ファイルの概要

4.10.2　クラス定義情報ファイルの出力形式

4.10.3　クラス定義情報ファイルの出力例

4.11　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル

4.11.1　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの概要

4.11.2　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力形式

4.11.3　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例

4.12　ファイル転送サービス環境定義ファイル（ftpsv.ini）

4.12.1　ファイル転送サービス環境定義ファイルの概要

4.12.2　ファイル転送サービス環境定義ファイルの記述形式

4.12.3　ファイル転送サービス環境定義ファイルの記述例

4.13　サービスプロセス定義ファイル

4.13.1　サービスプロセス定義ファイルの概要

4.13.2　サービスプロセス定義ファイルの記述形式

4.13.3　サービスプロセス定義ファイルの記述例

4.14　プロパティマッピング定義ファイル

4.14.1　プロパティマッピング定義ファイルの概要

4.14.2　プロパティマッピング定義ファイルの記述形式

4.14.3　プロパティマッピング定義ファイルの記述例

4.14.4　プロパティマッピング定義ファイルの注意事項

4.15　文書クラス定義ファイル

4.15.1　文書クラス定義ファイルの概要

4.15.2　追加できるクラス，およびプロパティの種類

4.15.3　文書クラス定義ファイルの記述形式

4.15.4　文書クラス定義ファイルの注意事項

4.16　文書空間情報ファイル

4.16.1　文書空間情報ファイルの概要

4.16.2　文書空間情報ファイルの記述形式

4.16.3　文書空間情報ファイルの記述例

4.17　見積もり基礎情報ファイル

4.17.1　見積もり基礎情報ファイルの概要

4.17.2　見積もり基礎情報ファイルの出力形式

4.17.3　見積もり基礎情報ファイルの出力例

4.18　クライアントアプリケーション動作定義ファイル（application.ini）

4.18.1　クライアントアプリケーション動作定義ファイルの概要

4.18.2　クライアントアプリケーション動作定義ファイルの記述形式

4.18.3　クライアントアプリケーション動作定義ファイルの記述例

5.　DocumentBrokerの起動と終了

5.1　DocumentBrokerの起動方法

5.2　DocumentBrokerの終了方法

6.　運用と障害対策

6.1　データベースの運用

6.1.1　バックアップと回復

6.1.2　ジャーナルファイルの運用

6.1.3　レプリケーション

6.2　DocumentBrokerのクラス定義の変更

6.2.1　クラスの定義を変更する場合について

6.2.2　クラスの追加

6.2.3　クラスの削除（オブジェクトが存在しない場合）

6.2.4　クラスの定義の変更（オブジェクトが存在しない場合）

6.2.5　クラスの削除（オブジェクトが存在する場合）

6.2.6　クラスの定義の変更（オブジェクトが存在する場合）

6.2.7　メタ情報の追加・削除コマンドの動作

6.2.8　追加するプロパティと列の並び

6.3　リファレンスファイル管理機能を使用する場合の運用

6.3.1　コンテントの格納先ディレクトリの運用方法

6.3.2　ファイルシステムのバックアップとリストア

6.4　障害対策

6.4.1　障害が発生した時にDocumentBrokerが出力する情報

6.4.2　サーバマシンでの障害

6.4.3　データベースでの障害

6.4.4　セッション障害

6.4.5　定義情報の障害

6.4.6　ログの障害

6.4.7　DocumentBrokerでの障害

6.4.8　サーバ側で発生した障害情報の取得

6.4.9　クライアント側で発生した障害情報の取得

6.4.10　データベースで発生したデッドロック情報およびタイムアウト情報の取得

6.5　アクセスログに関する運用

6.5.1　アクセスログの取得

6.5.2　アクセスログの出力形式

6.5.3　出力ログ情報

6.6　エラーログに関する運用

6.6.1　エラーログの取得

6.6.2　エラーログの出力形式

7.　コマンドリファレンス

7.1　コマンドの種類

7.1.1　システム運用コマンド

7.1.2　データベース運用コマンド

7.1.3　システム導入支援コマンド

7.1.4　トラブルシュートコマンド

7.2　コマンドの形式

7.3　コマンドの文法

EDMAddMeta（メタ情報の追加）

EDMCBuildDocSpace（文書空間の構築）

EDMCDefDocSpace（文書空間の定義）

EDMChkMeta（メタ情報の記述内容の確認）

EDMChkTbl（データベースの表・列の確認）

EDMCreateIds（ユーザ定義識別子ファイルの作成）

EDMCrtSimMeta（クラス定義情報ファイルの作成）

EDMCrtSql（DocumentBroker用データベース定義文の作成）

EDMDelMeta（メタ情報の削除）

EDMGetRas（サーバ側の障害情報の取得）

EDMGetRasCL（クライアント側の障害情報の取得）

EDMInitMeta（メタ情報の初期設定）

EDMLckWatcher（データベースのデッドロックおよびタイムアウトの監視）

EDMPrintMeta（メタ情報ファイルの出力）

EDMRefresher（サービスプロセスのリフレッシュ）

EDMRegEnvId（DocumentBroker実行環境の情報の登録）

EDMSetup（DocumentBrokerの実行環境の作成と削除）

EDMStart（DocumentBrokerの起動）

EDMStop（DocumentBrokerの終了）

EDMUsrView（文書空間に接続しているユーザ一覧出力）

EDMXmlMap（XML定義ファイルの追加／更新／削除）

付録

付録A　ディレクトリ構成（AIXの場合）

付録A.1　DocumentBrokerのインストールディレクトリの構成（AIXの場合）

付録A.2　DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）

付録B　ディレクトリ構成（Linuxの場合）

付録B.1　DocumentBrokerのインストールディレクトリの構成（Linuxの場合）

付録B.2　DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）

付録C　クラスタリングシステムでの運用

付録C.1　HACMPによるクラスタリングシステムでの運用

付録C.2　クラスタリングシステムでのコマンドの実行

付録D　全文検索インデクスにUCS-4 の文字を使用する場合のデータベースの設定

付録E　データベース移行

付録E.1　アクセス制御機能を使用するためのデータベース移行

付録E.2　クラス名やプロパティ名などをデータベース定義の名称に使用するためのデータベース移行

付録E.3　HiRDBの繰り返し列を使用するためのデータベース移行

付録E.4　マルチファイル管理機能を使用するためのデータベース移行

付録E.5　リファレンスファイル管理機能を使用するためのデータベース移行

付録E.6　File Link連携機能を使用するためのデータベース移行

付録F　システムクラスおよびシステムプロパティの名称定義の規則

付録F.1　システムクラスの名称定義の規則

付録F.2　システムプロパティの名称定義の規則

付録G　ユーザ作成のアクセスルーチンを使用するための関数

付録G.1　dbrinitLibrary

付録G.2　dbrinitSession

付録G.3　dbrAuthenticateUser

付録G.4　dbrGetUserInformation

付録G.5　dbrFinalizeSession

付録G.6　dbrFinalizeLibrary

付録G.7　dbrSetDocSpaceCharacterSet

付録H　メタ情報の記述内容

付録H.1　iniファイルのシンタクスの基本項目

付録H.2　クラス定義

付録H.3　プロパティ定義

付録H.4　リストオブジェクト

付録H.5　QueryOperatorクラス定義

付録H.6　QueryOperandクラス定義

付録H.7　オブジェクト定義

付録H.8　メタ情報管理用に確保する共用メモリセグメントサイズ

付録I　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド

付録J　DocumentBroker Web Clientを使用したDocumentBrokerクライアントの開発

付録K　このマニュアルの参考情報

付録K.1　関連マニュアル

付録K.2　このマニュアルでの表記

付録K.3　uCosminexus DocumentBrokerのマニュアルで使用する略語

付録K.4　KB（キロバイト）などの単位表記について

付録L　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, Hitachi Solutions, Ltd.

前書き

■ 対象製品

R-1M95D-13※　 uCosminexus DocumentBroker Server Version 3　 03-67（適用OS：AIX 5L V5.1，AIX 5L V5.2，AIX 5L V5.3）　 R-1L95D-13　 uCosminexus DocumentBroker Server Version 3　 03-11（適用OS：Red Hat Enterprise Linux 6 (x86_64)）
R-1M95D-43※　 uCosminexus DocumentBroker Development Kit Version 3　 03-67（適用OS：AIX 5L V5.1，AIX 5L V5.2，AIX 5L V5.3）
R-1L95D-43　 uCosminexus DocumentBroker Development Kit Version 3　 03-11（適用OS：Red Hat Enterprise Linux 6 (x86_64)）
R-1M95D-53※　 uCosminexus DocumentBroker Runtime Version 3　 03-67（適用OS：AIX 5L V5.1，AIX 5L V5.2，AIX 5L V5.3）
R-1L95D-53　 uCosminexus DocumentBroker Runtime Version 3　 03-11（適用OS：Red Hat Enterprise Linux 6 (x86_64)）

これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。
※印の製品については，サポート時期をご確認ください。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

Acrobatは，Adobe Systems Incorporated（アドビシステムズ社）の商標です。
Acrobat Distillerは，Adobe Systems Incorporated（アドビシステムズ社）の商標です｡
Active Directoryは，米国Microsoft Corporationの，米国およびその他の国における登録商標または商標です。
Adobeは，Adobe Systems Incorporated(アドビシステムズ社)の米国ならびに他の国における商標または登録商標です。
AIXは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Borlandのブランド名および製品名はすべて，米国Borland Software Corporationの米国およびその他の国における商標または登録商標です。
CentreWareは，米国ゼロックス・コーポレーションの登録商標です。
CORBAは，Object Management Groupが提唱する分散処理環境アーキテクチャの名称です。
DocuCentreは，富士ゼロックス株式会社の登録商標です。
DocuColorは，富士ゼロックス株式会社の登録商標です。
GIFは，米国CompuServe Inc.が開発したフォーマットの名称です。
imageRUNNERは，キヤノン株式会社の商品名称です。
imagioは，リコーの登録商標です。
IPSiOは，リコーの登録商標です。
iRは，キヤノン株式会社の商品名称です。
Konicaは，コニカ株式会社の登録商標です。
Lotusは，IBM Corporationの登録商標です。
Lotus Notesは，IBM Corporationの登録商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Excelは，米国Microsoft Corporationの商品名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Wordは，米国Microsoft Corporationの商品名称です。
OLEは，米国Microsoft Corporationが開発したソフトウェア名称です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
SecureWayは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Sitiosは，コニカ株式会社の登録商標です。
Tivoliは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
VisualAgeは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows NTは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

■ マイクロソフト製品の表記について

このマニュアルでは，マイクロソフト製品の名称を次のように表記しています。

製品名称 | 略称
Microsoft(R) Windows Server(R) 2003, Enterprise Edition 日本語版 | Windows Server 2003 | Windows
Microsoft(R) Windows Server(R) 2003, Standard Edition 日本語版
Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition日本語版 | Windows Server 2003 R2
Microsoft(R) Windows Server(R) 2003 R2, Standard Edition 日本語版
Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition 日本語版 | Windows Server 2003 R2またはWindows Server 2003 R2 x64 Edition
Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition 日本語版
Microsoft(R) Windows Server(R) 2008 Enterprise 32-bit 日本語版 | Windows Server 2008
Microsoft(R) Windows Server(R) 2008 Standard 32-bit 日本語版
Microsoft(R) Windows Server(R) 2008 R2 Enterprise 日本語版 | Windows Server 2008またはWindows Server 2008 R2
Microsoft(R) Windows Server(R) 2008 R2 Standard 日本語版
Microsoft(R) Windows(R) XP Professional Operating System | Windows XP
Microsoft(R) Windows Vista(R) Business 日本語版 | Windows Vista
Microsoft(R) Windows Vista(R) Enterprise 日本語版
Microsoft(R) Windows Vista(R) Ultimate 日本語版
Microsoft(R) Windows(R) 7 Professional 日本語版 (32ビット版) | Windows 7
Microsoft(R) Windows(R) 7 Enterprise 日本語版 (32ビット版)
Microsoft(R) Windows(R) 7 Ultimate 日本語版 (32ビット版)
Microsoft(R) Windows(R) 7 Professional 日本語版 (64ビット版)
Microsoft(R) Windows(R) 7 Enterprise 日本語版 (64ビット版)
Microsoft(R) Windows(R) 7 Ultimate 日本語版 (64ビット版)
Microsoft(R) Office Word | Word
Microsoft(R) Word

Windows Server 2003，Windows Server 2003 R2，Windows Server 2003 R2（x64），Windows Server 2008，Windows Server 2008 R2，Windows XP，Windows Vista，およびWindows 7を総称してWindowsと表記することがあります。

■ 発行

2012年5月 (第1版) 3000-3-U71

■ 著作権

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, Hitachi Solutions, Ltd.

はじめに

このマニュアルは，次に示すプログラムプロダクトの環境設定および運用方法について説明したものです。

R-1M95D-13　DocumentBroker Server Version 3

R-1L95D-13　DocumentBroker Server Version 3

R-1M95D-43　DocumentBroker Development Kit Version 3

R-1L95D-43　DocumentBroker Development Kit Version 3

R-1M95D-53　DocumentBroker Runtime Version 3

R-1L95D-53　DocumentBroker Runtime Version 3

対象読者

このマニュアルは，DocumentBrokerの環境を管理および運用するシステム管理者を対象にしています。なお，次の内容を理解されていることを前提としています。

UNIX（AIX，およびLinux）に関する知識

HiRDBに関する知識

XMLに関する知識

分散オブジェクト技術に関する知識

このマニュアルで使用する記号

このマニュアルで使用する記号を次に示します。

記号
意味

　｜
横に並べられた複数の項目に対する項目間の区切りを示し，「または」の意味を表します。
（例）　A｜B
　AまたはBを指定することを示します。

　＿
括弧で囲まれた複数項目のうち1項目に対し使用され，括弧内のすべてを省略した場合にシステムが取る標準値を示します。
（例）　〔A｜B〕
　何も指定しない場合はAが仮定されます。

｛　｝
この記号で囲まれている複数の項目のうちから一つを選択することを示します。項目が横に並べられ，記号｜で区切られている場合は，そのうちの一つを選択します。
（例）　｛A｜B｜C｝
　A，BまたはCのどれかを指定することを示します。

〔　〕
この記号で囲まれている項目は省略してもよいことを意味します。複数の項目が横に並べて記述されている場合には，すべてを省略するか，記号｛ ｝と同じくどれか一つを選択します。
（例1）　〔A〕
　「何も指定しない」か「Aを指定する」ことを示します。
（例2）　〔B｜C〕
　「何も指定しない」か「BまたはCを指定する」ことを示します。

<　>
この記号で囲まれている項目は，該当する要素を指定することを示します。
（例）　<プロパティ>
　プロパティを記述します。

：：＝
この記号の左にあるものを右にあるもので定義することを示します。
（例）　A：：＝B
　「AとはBである」と定義することを示します。

　...
この記号の直前の項目を繰り返し，複数個指定できることを示します。
（例）　A...
　Aを複数個指定できることを示します。

このマニュアルで使用する構文要素記号

このマニュアルで使用するユーザ指定値の内容を表す記号です。

構文要素記号 | 意　味
英字 | A～Z　a～z
英小文字 | a～z
英大文字 | A～Z
数字 | 0～9
英数字 | A～Z　a～z　0～9
16進数字 | 0～9　A～F　a～f
記号 | !　"　#　$　%　&　'　(　)　+　,　_　・　.　/　:　;　<　=　>　@　[　]　^　－　｛　｝　￣　空白　¥

注　すべて半角文字を使用してください。

このマニュアルの図中で使用する記号

このマニュアルの図中で使用する記号を，次のように定義します。

DocumentBroker Version 2とuCosminexus DocumentBroker Version 3の製品体系の違い

uCosminexus DocumentBroker Version 3では次のように製品の統合を行いました。

DocumentBroker RepositoryをuCosminexus DocumentBroker Serverに統合しました。

DocumentBroker Web ComponentをuCosminexus DocumentBroker Development KitおよびuCosminexus DocumentBroker Runtimeに統合しました。

DocumentBroker Version 2とuCosminexus DocumentBroker Version 3の製品体系の違いを次に示します。

DocumentBroker Version 2とuCosminexus DocumentBroker Version 3のマニュアルの対応

バージョンアップおよび製品体系の変更に伴い，uCosminexus DocumentBroker Version 3では次に示すようにマニュアル名称を変更しました。

Version 2のマニュアル名称 | Version 3のマニュアル名称
DocumentBroker Version 2　システム導入・運用ガイド | uCosminexus DocumentBroker Version 3　システム導入・運用ガイド
DocumentBroker Version 2　クラスライブラリ　解説 | uCosminexus DocumentBroker Version 3　クラスライブラリ　C++　解説
DocumentBroker Version 2　クラスライブラリ　リファレンス　基本機能編 | uCosminexus DocumentBroker Version 3　クラスライブラリ　C++　リファレンス　基本機能編
DocumentBroker Version 2　クラスライブラリ　リファレンス　概念SGML文書管理機能編 | 廃版
DocumentBroker Version 2　オブジェクト操作ツール | uCosminexus DocumentBroker Version 3　オブジェクト操作ツール
DocumentBroker Version 2　統計解析ツール | uCosminexus DocumentBroker Version 3　統計解析ツール
DocumentBroker Version 2　メッセージ | uCosminexus DocumentBroker Version 3　メッセージ
DocumentBroker Web Component Version 2　解説 | uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　解説
DocumentBroker Web Component Version 2　リファレンス | uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　リファレンス
DocumentBroker Web Component Version 2　サンプルWebアプリケーション | uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　サンプルWebアプリケーション
DocumentBroker Text Search Index Loader Version 2 | uCosminexus DocumentBroker Text Search Index Loader Version 3
DocumentBroker Rendering Option　システム導入・運用ガイド | DocumentBroker Rendering Option Version 3
DocumentBroker Rendering Option Version 3　（活文 PDFstaff編）
DocumentBroker Object Loader Version 2 | uCosminexus DocumentBroker Object Loader Version 3

1.　概説

この章では，DocumentBrokerの概要について説明します。

＜この章の構成＞

1.1　DocumentBrokerの概要

1.2　DocumentBrokerの機能

1.3　DocumentBrokerのシステム構成

1.4　プロセス構成

1.1　DocumentBrokerの概要

この節では，DocumentBrokerの目的と特長について説明します。

＜この節の構成＞

1.1.1　DocumentBrokerの目的

1.1.2　DocumentBrokerの特長

1.1.1　DocumentBrokerの目的

DocumentBrokerは，組織内に分散するさまざまな文書を，多面的に一元管理する文書管理基盤ソフトウェアであり，次の目的で開発されています。

業務に合わせて文書をわかりやすく整理できるさまざまなフレームワークを提供し，組織内に蓄積された膨大な量の文書の有効活用を促進する。

完成された文書を保管するだけでなく，文書の作成や収集から，公開，そして再利用や破棄までの流れをアプリケーションによって統制する。

DocumentBrokerを利用した文書管理システムは，従来の文書管理システムでの問題や課題を解決し，業務の効率および生産性を向上させることができます。DocumentBrokerは，文書を基幹業務として扱う企業や組織で，業務の形態に合わせた，スケーラブル，オープン，高信頼，そして高性能な文書管理システムの構築を支援します。DocumentBrokerで実現する文書管理の概要を次の図に示します。

図1-1　DocumentBrokerで実現する文書管理システム

＜この項の構成＞

(1)　従来の文書管理

(2)　DocumentBrokerで実現する文書管理

(1)　従来の文書管理

企業，官公庁，研究機関などの大規模な組織では，膨大な量の文書が作成されます。作成される文書の種類は，簡単なメモ，定型業務に利用される帳票や申請書類，会議の議事録，新聞記事，技術論文，マニュアルなど，業種や部門によってさまざまです。従来，紙で管理されていたこれらの文書は，パーソナルコンピュータなどの普及によって，電子化されて保存されることが多くなりました。

電子化された文書は，各担当者のパーソナルコンピュータで個別に管理され，フロッピーディスクなどの記録媒体を介して共用されたり，部門別のファイルサーバで共用されたりしてきました。その結果，組織内で日々作成される文書が，担当者のパーソナルコンピュータや部門別のファイルサーバに分散されてしまい，即時に組織全体で有用な文書として共用することが困難でした。また，最新の文書であるか，承認済みの文書であるか，などといった文書の状態については，担当者の認識に依存して管理されてきました。

そのあと，グループウェアの文書管理システムが発達して，電子化された文書はデータベースに格納されて一元管理されるようになり，文書の共用化が促進されてきました。グループウェアの文書管理システムは，完成された文書を保管し，組織内で共用することを目的としてきました。通常，数万～10万件程度の文書の登録件数が想定され，完成された過去の文書を登録しておいて改訂時に流用したり，再利用できる書類のフォーマットを登録しておいて書類作成時に利用したりすることに主眼が置かれてきました。文書が完成されるまでの段階では，各担当者のパーソナルコンピュータで個別に文書が管理され，完成された時点で文書管理システムに登録されて共用されるという運用がほとんどで，最新の文書を正しく登録するかどうかについては，やはり担当者の認識に依存してきました。

このため，文書を作成する担当者の認識に依存しないで運用できる文書管理システムが望まれるようになってきました。また，容量の制限や安全性などの問題点から，従来は共用化されることのなかった組織の重要な基幹文書の管理も任せられる文書管理システムが必要とされています。基幹文書は，本来，作成／審査／承認といった業務の流れを経て完成されるものです。このため，単に「大規模，大容量で」，「安全に」，「完成された文書を保管できる」という文書管理システムだけでは不十分です。文書を作成する業務の流れに従って，作成から保管，破棄までの過程についても適切に管理できる文書管理システムが望まれています。

(2)　DocumentBrokerで実現する文書管理

DocumentBrokerは，文書の変更履歴，作成中の文書の審査者による指摘，関連文書など，その文書に関する情報を一括管理して，組織全体で活用することを目的とします。文書の特性や作成方式，文書が作成される業務の流れなどを考慮して，文書をわかりやすく整理できるさまざまなフレームワークや連携機能を用意しているため，文書をさまざまな視点で分類したり，まとめたりして多面的な管理が実現できます。文書の内容による分類だけでなく，一つのファイルで構成される文書なのか，構造を持った複数ファイルで構成される文書なのか，担当者一人が作成する文書なのか，複数人で分担して作成する文書なのか，などといったさまざまな要素を考慮に入れて，文書管理のフレームワークを適用できます。

文書の登録件数は100万件程度で，きめ細かなアクセス制御や，文書の属性やキーワード，構造を意識した検索機能も備えています。

出版原稿や特許の申請書など，基幹業務で作成される文書の場合，業務を効率良く円滑に行うために最適な文書管理システムが必要です。また，保守マニュアルや設計図面など，業務を遂行するために必要な文書の場合，それらの情報を組織内で共用して，業務で効果的に活用できるようにするために，電子データとして厳密に管理する必要があります。このような場合，DocumentBrokerが提供しているフレームワークを利用すると，文書の「特性」や「ライフサイクル」などを意識し，既存の業務システムと密接に連携した文書管理システムを構築できます。

DocumentBrokerは，文書を基幹業務として扱う分野での，文書の共用による組織活動のスピードアップを実現するための文書管理システムの構築をサポートします。

1.1.2　DocumentBrokerの特長

DocumentBrokerの特長について説明します。

＜この項の構成＞

(1)　システムの運用性，信頼性を確保

(2)　必要な文書をすばやく確実に入手

(3)　高度な文書管理を実現するさまざまなフレームワークを提供

(4)　これまで蓄積されてきた文書をむだなく登録

(5)　さまざまな形式のデータの登録

(6)　オープンな環境でシステムを構築

(7)　文書のライフサイクルを管理

(1)　システムの運用性，信頼性を確保

(a)　すべての文書をデータベースシステムで保管

すべての文書および文書に付随する情報を，データベースシステムであるHiRDBに格納します。小規模な基幹文書管理システムはもちろん，大規模，大容量の基幹文書管理システムを運用する上での運用性と，高い信頼性を確保しています。増え続けていくデータ量や業務の規模の拡大に合わせて段階的にシステムを拡張できます。

(b)　ファイルシステムとの併用による高い運用性

文書の格納先として，データベースシステムだけでなく，ファイルシステムの任意のディレクトリを使用できます。これによって，文書の格納先を選択したり，文書を格納するディスクを移動したりできるため，柔軟に文書を管理できます。また，文書の格納先としてファイルシステムとデータベースシステムを併用することで，より大容量の文書を長期にわたって管理できるようになります。

(c)　きめ細かなアクセス制御を実現

すべての文書に対して，担当業務単位，役割単位，ユーザ単位などに細分化したアクセス権を設定できます。これによって，文書に対する不正なアクセスによる情報の漏えいを防止できます。

(2)　必要な文書をすばやく確実に入手

文書中の単語をキーワードにした高速の全文検索，属性を利用した絞り込み検索はもちろん，XMLの構造を指定した全文検索（構造指定検索），指定した文章と類似する概念を持つ文書の全文検索（概念検索）など，豊富な検索機能を提供しています。したがって，管理している膨大な量の文書の中から目的の文書をすばやく確実に入手できる検索システムを構築できます。

(3)　高度な文書管理を実現するさまざまなフレームワークを提供

複数の文書をフォルダにまとめて格納する従来の文書管理の基本的なフレームワークはもちろん，主に次のような文書管理のフレームワークを提供しています。

複数の視点で文書を分類するフォルダを利用したフレームワーク

文書の複数のバージョンをまとめて管理するフレームワーク

章ごとに複数に分割された文書を複数の担当者で分担して作成する場合に，分割された文書のバージョン構成を保ちながら一括管理するフレームワーク

これらのフレームワークを，業務の形態や扱う文書の特性に合わせて適用できます。

(4)　これまで蓄積されてきた文書をむだなく登録

文書をすばやく入手できる検索システムや文書をわかりやすく整理するフレームワークが準備できても，文書が登録されていなければ，活用できません。DocumentBrokerは，次のようなプログラムを用意して，有用で豊富な情報量を持つ文書管理システムを短期間で構築できるようサポートしています。

既存のデータベースのデータをDocumentBrokerに一括して登録するプログラム

部門別のファイルサーバ，既存の文書管理システム，インターネット・イントラネットなどに分散している文書の中から有用な文書をシームレスに収集・登録し，検索するプログラム

デジタル複合機を使用して紙で蓄積された文書やFAXで受信した文書を読み込むことでイメージファイルとして一括登録するプログラム

(5)　さまざまな形式のデータの登録

日常利用しているワードプロセッサや表計算ソフトウェアで作成したデータ，イメージデータ，XML形式など，さまざまな形式のデータを，そのまま文書管理システムに格納して利用できます。同じ内容の文書を幾つかの異なるファイル形式で登録して用途によって使い分けたり，紙の文書をスキャナで読み込んでイメージデータとして登録したり，XML形式の文書の構造を生かして登録・検索したりできます。

(6)　オープンな環境でシステムを構築

DocumentBrokerによって業界標準に対応したシステムを構築できます。DocumentBrokerは，DMAに基づいたオブジェクトモデルとAPIを提供しています。DMAは文書管理インターフェースの標準化を図る団体AIIMによって定義される共通インターフェースです。また，DocumentBrokerによって構築した文書管理システムは，CORBA仕様に従ったORBを利用した分散ネットワーク上で運用します。したがって，既存の業務システムと相互連携した付加価値の高いサービスを提供できます。

また，WWW環境に対応して，さらにオープンな文書管理システムも構築できます。

(7)　文書のライフサイクルを管理

文書および文書に関する情報を，業務の流れに対応させて管理できます。

通常，文書は業務の流れに対応して作成，審査，承認，保管され，不要になった時点で破棄されていきます。このような，業務に合わせた文書の状態変化（作成／審査／承認／保管／破棄）を，文書のライフサイクルといいます。

1.2　DocumentBrokerの機能

この節では，DocumentBrokerの機能について説明します。

DocumentBrokerの文書管理システムで提供する機能の一覧を次の表に示します。

表1-1　DocumentBrokerの文書管理システムで提供する機能の一覧

分類
機能
機能の実現に必要な関連製品
とユティリティ製品
参照先

文書管理
文書の登録機能
－
1.2.1

バージョン管理機能
－

マルチレンディション管理機能
－
1.2.2

マルチファイル管理機能
－
1.2.3

コンテナ管理機能
－
1.2.4

文書の構成管理機能
－
1.2.5

文書間リレーション管理機能
－
1.2.6

文書の属性情報の管理機能
－
1.2.7

リファレンスファイル管理機能
－
1.2.8

レンディションのコンテント種別変換機能
－
1.2.9

File Link連携機能
HiRDB File Link
1.2.10

構造化文書管理
XML文書管理機能

Preprocessing Library for Text Search

HiRDB Adapter for XML

1.2.11

独立データの管理
独立データの管理機能
－
1.2.12

アクセス制御
アクセス制御機能
LDAP対応のディレクトリサービス
1.2.13

統計・解析
アクセスログおよびトレースログの統計・解析機能
－
1.2.14

検索
属性検索
－
1.2.15

全文検索

HiRDB Object Option※1

HiRDB Text Search Plug-in

構造指定検索

HiRDB Object Option※1

HiRDB Text Search Plug-in

Preprocessing Library for Text Search※2

概念検索

HiRDB Object Option※1

HiRDB Text Search Plug-in

HiRDB Text Search Plug-in Conceptual Extension

文字列型プロパティに対する全文検索

HiRDB Object Option※1

HiRDB Text Search Plug-in

変換・登録
オブジェクト一括登録機能
DocumentBroker Object Loader
1.2.16

全文検索インデクス一括登録機能
DocumentBroker Text Search Index Loader
1.2.17

レンディション変換機能
DocumentBroker Rendering Option
1.2.18

イメージ文書の登録機能
DocumentBroker イメージ登録for DocuCentre，
DocumentBroker イメージ登録for iR，
DocumentBroker イメージ登録for imagio，
DocumentBroker イメージ登録for Konica，
またはDocumentBroker イメージ登録文字認識オプション
1.2.19

収集・検索
分散した文書の収集機能
DocumentBroker Collector
1.2.20

収集した文書の検索機能
DocumentBroker Integrated Search Suite for J，またはDocumentBroker Integrated Search Suite

分析
文書の分析機能

DocumentBroker テキスト分析コンポーネント

DocumentBrokerテキスト分析テンプレート

1.2.21

ライフサイクル管理
文書のライフサイクル管理機能
DocumentBroker Life Cycle Suite
1.2.22

環境構築
ファイル転送機能
－
1.2.23

複数の実行環境機能
－
1.2.24

システム導入支援機能
－
1.2.25

クライアントアプリケーション動作定義機能
－
1.2.26

注※1

HiRDB Version 6またはHiRDB Version 7を使用する場合に必要になります。

注※2

XML文書の構造指定検索に必要です。

＜この節の構成＞

1.2.1　文書の登録機能とバージョン管理機能

1.2.2　マルチレンディション管理機能

1.2.3　マルチファイル管理機能

1.2.4　コンテナ管理機能

1.2.5　文書の構成管理機能

1.2.6　文書間リレーション管理機能

1.2.7　文書の属性情報の管理機能

1.2.8　リファレンスファイル管理機能

1.2.9　レンディションのコンテント種別変換機能

1.2.10　File Link連携機能

1.2.11　XML文書管理機能

1.2.12　独立データの管理機能

1.2.13　アクセス制御機能

1.2.14　アクセスログおよびトレースログの統計・解析機能

1.2.15　検索機能

1.2.16　オブジェクト一括登録機能

1.2.17　全文検索インデクス一括登録機能

1.2.18　レンディション変換機能

1.2.19　イメージ文書の登録機能

1.2.20　分散した文書の収集・検索機能

1.2.21　文書の分析機能

1.2.22　文書のライフサイクル管理機能

1.2.23　ファイル転送機能

1.2.24　複数の実行環境機能

1.2.25　システム導入支援機能

1.2.26　クライアントアプリケーション動作定義機能

1.2.1　文書の登録機能とバージョン管理機能

文書をデータベースに登録して一元管理できます。また，文書を登録する際には，必要に応じて「Version1」や「Version2」などの版（バージョン）を付けて，文書の履歴を管理できます。文書のバージョンを管理することで，過去のある時点での文書を復元したり，その文書を流用して新たに文書を作成したりできます。一つのバージョンだけを持ち，バージョンを管理しない文書を，バージョンなし文書といいます。複数のバージョンを持ち，バージョンを管理する文書を，バージョン付き文書といいます。

バージョン付き文書の管理例を次の図に示します。

図1-2　バージョン付き文書の管理例

この例では，バージョン付き文書「発表資料」を作成して，社内発表時および社外発表時にバージョンを追加して，管理しています。

文書のバージョンを管理するときには，新しく文書を作成した時点からバージョンを付け始め，更新のたびにバージョンを追加していきます。バージョンを追加する場合は，チェックアウトとチェックインという操作が必要になります。チェックアウトは，新しいバージョンの追加を予約するために，最新バージョンの次に仮のバージョンを追加する操作です。また，チェックインは，チェックアウトで追加した仮のバージョンを最新バージョンとして確定する操作です。チェックアウト中はチェックアウトしたユーザ以外は文書を上書きできないため，ほかのユーザによる文書の二重更新を防止できます。

1.2.2　マルチレンディション管理機能

文書の実体であるコンテント（Wordやテキストエディタなどのアプリケーションプログラムで作成された文書ファイル）と，その形式を表すレンディションタイプ（MIME形式）の情報をあわせて，レンディションといいます。

バージョンなし文書とバージョン付き文書には，1個または複数のレンディションを登録して管理できます。一つの文書に対して同じ内容を表す複数のレンディションを登録して管理する機能のことを，マルチレンディション管理機能といいます。また，複数のレンディションを登録した文書を特に，マルチレンディション文書といいます。マルチレンディション文書は，一つの文書の内容を，対応するアプリケーションごとの複数の形式に変換した場合などに使用できます。

マルチレンディション管理機能では，次の2種類のレンディションを区別して扱います。

マスタレンディション
主要なレンディションです。レンディションを1個だけ登録した場合は，そのレンディションがマスタレンディションになります。

サブレンディション
マスタレンディション以外のレンディションです。

なお，このマニュアルでは，2種類のレンディションを合わせて，レンディションと呼びます。レンディションの種類によって説明が異なる場合は，それぞれ「マスタレンディション」，「サブレンディション」と記述して区別します。

マルチレンディション文書の管理例を次の図に示します。

図1-3　マルチレンディション文書の管理例

この図では，マルチレンディション文書のコンテントとして，同じ内容を表す複数の形式のファイルを登録しています。文書を編集するユーザはWord形式のファイル，Wordがインストールされていないマシンで文書を参照するユーザはHTML形式のファイル，配布用の文書を取得したいユーザはPDF形式のファイルをそれぞれダウンロードできます。このように，マルチレンディション文書では，ユーザの目的やユーザが使用するマシンの環境などの利用形態に応じて，適切なレンディションを指定して文書を利用できます。

また，マルチレンディション管理機能とアクセス制御機能を組み合わせて，マルチレンディション文書を管理できます。例えば，Word形式のファイルとPDF形式のファイルを登録して，文書を更新できるユーザにはWord形式のファイルを参照させて，文書の参照だけできるユーザにはPDF形式のファイルを参照させるというように，ユーザに設定するアクセス権によって，ユーザが参照できるコンテントを限定するという運用が考えられます。アクセス制御機能については，「1.2.13　アクセス制御機能」を参照してください。

1.2.3　マルチファイル管理機能

マルチファイル管理機能では，一つの文書に複数のファイルを登録して管理します。一つの文書で複数のファイルを管理すると，文書を構成する複数のファイルを，一括して登録したり，一括して取得したりできます。

複数のファイルが登録された文書を，マルチファイル文書といいます。マルチファイル文書に対して，一つのファイルが登録された文書を，シングルファイル文書といいます。バージョンなし文書またはバージョン付き文書は，マルチファイル文書として管理できます。

マルチファイル文書の管理例を次の図に示します。

図1-4　マルチファイル文書の管理例

この図では，ホームページのデータをマルチファイル文書として管理しています。このマルチファイル文書では，「index.htm」，「ロゴ.gif」，「アイコン.gif」および「壁紙.gif」という四つのファイルを，HTML形式のレンディションのコンテントとして管理しています。

なお，マルチファイル管理機能を使用して管理するバージョンなし文書およびバージョン付き文書では，マルチレンディション管理機能を使用できません。

1.2.4　コンテナ管理機能

文書をまとめて格納するフォルダや，文書を分類するフォルダを利用して文書を管理できます。文書をまとめたり，分類したりするフォルダに相当するオブジェクトを，コンテナといいます。

コンテナには，複数の文書またはコンテナを関連づけられます。コンテナを使用すると，複数の文書を目的に応じて一つにまとめて管理したり，一つの文書を複数の観点から分類して管理したりできます。また，コンテナとコンテナを関連づけることで，フォルダや分類に階層を持たせることもできます。

コンテナによる文書の管理例を次の図に示します。

図1-5　コンテナによる文書の管理例

この図では，プロジェクトAというコンテナで，このプロジェクトに関連する文書をまとめて管理しています。「製品仕様書」は，製品仕様書，設計メモおよび変更歴で構成されます。したがって，「プロジェクトA」コンテナの下位に「製品仕様書」というコンテナを作成して，関連する文書をまとめて格納して管理しています。

また，「作成者X」コンテナ，「作成者Y」コンテナおよび「カタログ」コンテナは，文書を分類するためのコンテナです。「プロジェクトAに関連する文書」，「プロジェクトAの製品仕様書を構成する文書」というまとめ方とは別の視点で，文書をまとめています。したがって，製品Aカタログや製品仕様書がプロジェクトAに関連する文書であることを知らないユーザでも，文書を分類しているコンテナからたどることで，文書を見つけやすくなります。

1.2.5　文書の構成管理機能

実用書やマニュアルなどの出版物は，複数の章から構成されています。また，各章は，文字，図，表などから構成されています。出版物の章の構成が多くなって，各章を構成する文字，図，表などが多くなるほど，出版物の構成を保ちながら管理することが困難になっていきます。このような場合，DocumentBrokerは，出版物の構成を保ったままコンテナで管理できます。

構成管理機能では，管理している文書やコンテナの，ある時点でのバージョン構成の状態を管理します。例えば，管理する複数の文書が，それぞれ異なるタイミングでバージョンアップする場合などに，構成管理機能を使用します。各文書のバージョン管理によって，常に最新の状態の文書を管理したり，執筆が完了した文書のバージョンを固定して管理したりできます。さらに，ある時点でのコンテナ内のすべての文書を固定しておきたい場合は，コンテナ自体のバージョンを上げることで，コンテナをバージョン管理できます。

構成を管理するコンテナを，構成管理コンテナといいます。これに対して，構成を管理しないコンテナを，バージョンなしコンテナといいます。

構成管理コンテナは，それ自身のバージョンを保持するバージョン付き構成管理コンテナと，バージョンを保持しないバージョンなし構成管理コンテナに分けられます。

バージョン付き構成管理コンテナによる文書の管理例を次の図に示します。

図1-6　バージョン付き構成管理コンテナによる文書の管理例

この図では，二つの章で構成される文書の各章をバージョン付き文書として管理しています。そして，これらの複数の章を表すバージョン付き文書を「書籍A」というバージョン付き構成管理コンテナにまとめて関連づけて，発行時期で管理しています。

バージョン付き構成管理コンテナ「第1版」では，5月21日に発行した書籍Aの構成を管理しているため，1章，2章共にV1.0の状態（5月21日に発行した時点での構成）で固定して管理しています。一方，改訂作業のために，この書籍を構成する文書（1章および2章）を編集する場合は，毎日の作業履歴として文書のバージョンを管理しながら，改訂作業が終了するまで常に最新バージョンを一括して管理する必要があります。したがって，バージョン付き構成管理コンテナをバージョンアップして（第2版），常に最新のバージョンを参照するように設定します。

なお，バージョンなし構成管理コンテナは，それ自身のバージョンを保持しないで，ある時点での文書全体の構成だけを管理します。したがって，構成管理コンテナで管理されている文書全体を版（バージョン）として管理しない場合は，バージョンなし構成管理コンテナを利用できます。

1.2.6　文書間リレーション管理機能

文書と文書を関連づけて管理する機能を，文書間リレーションといいます。

文書間リレーションは，次のような場合に使用できます。

参考文献のある論文などの文書を，参考文献とともに管理したい場合

別文書として登録しているテキストと図データを関連がわかるように管理したい場合

DocumentBrokerは，二つの文書を文書間リレーションという概念を利用して関連づけます。この場合，文書間リレーションを設定した文書をリレーション元文書，文書間リレーションを設定された文書をリレーション先文書といいます。

一つの文書間リレーションでは，一つのリレーション元文書と一つのリレーション先文書を関連づけられます。また，一つの文書に対して，複数の文書間リレーションを設定できます。一つの文書に対して複数の文書から文書間リレーションを設定することもできます。

1.2.7　文書の属性情報の管理機能

文書やコンテナなどのオブジェクトにさまざまな属性を付けて管理できます。この属性をプロパティといいます。プロパティには，DocumentBrokerによってあらかじめ定義されているプロパティ（システムプロパティ）と，ユーザが任意に追加定義するプロパティ（ユーザプロパティ）があります。例えば，文書を管理する場合，ユーザプロパティとして，「文書名」や「作成日時」などの標準的な属性情報だけでなく，「顧客名」や「競合他社名」などの業務に応じた属性情報も一緒に管理できます。

文書やコンテナにプロパティを定義すると，プロパティをキーにしてオブジェクトを検索したり，プロパティの値を参照してオブジェクトの状態を確認したりできます。

1.2.8　リファレンスファイル管理機能

リファレンスファイル管理機能では，文書の実体であるコンテントをファイルシステムの任意のディレクトリに格納し，文書のプロパティとコンテントの格納先の情報（コンテントロケーション）をデータベースに登録して管理します。

ファイルシステムには，DocumentBrokerサーバが存在するマシン上のローカルディスク，またはネットワークファイルシステム（NFS）を利用してアクセス可能な共有ディスクを使用してください。

コンテントロケーションには，コンテントの格納先の基点となるディレクトリパス（コンテント格納先ベースパス）からの相対パスが登録されます。このため，コンテントの格納先を移行する場合などは，データベースに影響を与えることなく，コンテント格納先ベースパスを変更するだけで，コンテントの格納領域を変更できます。また，コンテントをデータベースに格納しないため，データベースの容量を削減できます。

リファレンスファイル管理機能を使用して管理している文書を，リファレンスファイル文書といいます。バージョンなし文書およびバージョン付き文書は，リファレンスファイル文書として管理できます。

リファレンスファイル文書の管理例を次の図に示します。

図1-7　リファレンスファイル文書の管理例

この図では，ファイルシステムとして，DocumentBrokerサーバが存在するマシンのローカルディスクを利用してリファレンスファイル文書を管理する場合と，ファイルサーバの共有ディスクを利用してリファレンスファイル文書を管理する場合の例を示しています。ファイルシステムにコンテントを格納し，データベースにプロパティとコンテントロケーションを登録して管理しています。このように，リファレンスファイル管理機能では，データベースにコンテントを格納しないので，コンテントの格納先を選択したり，コンテントの格納先のディスクを移行したりと，柔軟にコンテントの格納先を管理できます。

1.2.9　レンディションのコンテント種別変換機能

レンディションのコンテント種別変換機能は，レンディションのコンテントの格納先（コンテント種別）を，最適な格納先へ変換する機能です。

DocumentBrokerでは，文書の実体であるコンテントをデータベースやDocumentBrokerサーバマシンが接続可能なファイルシステムの任意のディレクトリなどに格納して管理できます。これらの格納先で管理されるコンテントを，変化するデータの利用価値に応じて，最適な格納先へ変換できます。

コンテント種別を，シングルファイル文書（データベースに登録されている一つのファイルをコンテントとして持つ文書）から，リファレンスファイル文書（DocumentBrokerサーバマシンから接続可能なファイルシステムの任意のディレクトリに格納されているファイルをコンテントとして持つ文書）に変換したコンテントは，JP1/HiCommand Tiered Storage Managerを利用した最適なストレージへの再配置（マイグレーション）や，磁気テープなどのストレージへのバックアップや移動など，コンテント管理の柔軟な運用を行うことができます。レンディションのコンテント種別変換機能を利用した運用例を次に示します。

図1-8　レンディションのコンテント種別変換機能を利用した運用例

この例では，レンディションのコンテント種別変換機能によって，データベースで管理するコンテントをDocumentBrokerサーバマシンが接続可能なファイルシステムの任意のディレクトリ上に変換して格納しています。

磁気テープなどへのバックアップや移動
ユーザの操作によって，コンテントを磁気テープなどのストレージへバックアップや移動して管理します。

最適なストレージへの再配置
JP1/HiCommand Tiered Storage Managerでコンテントの格納先のストレージを最適なストレージへ再配置します。JP1/HiCommand Tiered Storage Managerの使用方法については，マニュアル「JP1/HiCommand Tiered Storage Manager　ユーザーズガイド」を参照してください。

レンディションのコンテント種別変換機能を使用してコンテント種別を変換する例を次の図に示します。

図1-9　レンディションのコンテント種別変換の例

コンテント種別の変換は，文書のマルチレンディション管理機能を使用して，変換後のコンテントをサブレンディションとして追加します。例では，シングルファイル文書のコンテントを，リファレンスファイル文書のコンテントに変換し，レンディションを追加します。これをコンテントの二重化と呼びます。コンテントを二重化する場合，追加するレンディションのレンディションタイプにコメントを付与して格納先を分類します。

なお，コンテントを二重化したあとにレンディションを操作する場合は，マルチレンディション管理機能を使用します。

＜この項の構成＞

(1)　変換できるコンテント種別

(2)　注意事項

(1)　変換できるコンテント種別

レンディションのコンテント種別変換機能で変換できるコンテント種別を次の表に示します。

表1-2　レンディションのコンテント種別変換機能で変換できるコンテント種別

変換前のコンテント種別 | 変換後のコンテント種別
シングルファイル文書 | リファレンスファイル文書
リファレンスファイル文書 | シングルファイル文書

レンディションのコンテント種別は，レンディションのコンテント種別を表すプロパティを参照することで判別できます。プロパティの詳細については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」を参照してください。

(2)　注意事項

コンテント種別を変換して，サブレンディションとして追加するときには，追加するレンディションに対してレンディションコメントを付与します。コンテントの変換前，または変換後のどちらかのレンディションに対してコメントを付与できますが，変換したコンテントであることが明確になるように変換後のコンテントに対して，コンテント種別を表すコメントを付けることをお勧めします。

ただし，DocumentBrokerのユティリティ製品を使用した運用で，変換後のコンテントをマスタレンディションとする場合などでは，変換前のレンディションに対してコメントを付与できます。

レンディションのコンテント種別変換機能を使用する場合に，各DocumentBrokerのユティリティ製品を使用するときの注意事項を次に示します。

DocumentBroker Object Loader
レンディションタイプを完全一致文字列で扱います。このため，エクスポート機能を使用する場合，付与するコメントの規則性を明確にしてください。ただし，DocumentBroker Object Loaderでは，リファレンスファイル文書のエクスポートはできません。

DocumentBroker Text Search Index Loader
レンディションタイプを前方一致で扱います。レンディションのコンテント種別変換機能を使用した運用では，レンディション定義ファイル中で該当するレンディションタイプを前方一致で定義します。ただし，DocumentBroker Text Search Index Loaderでは，リファレンスファイル文書のテキスト抽出はできません。

DocumentBroker Rendering Option
レンディションタイプを完全一致文字列で扱います。このため，付与するコメントの規則性を明確にしてください。マスタレンディションのコンテント種別を変換して，変換後のレンディションをマスタレンディションとしてコメントを付与する場合は，レンディション変換プラグイン定義ファイルで，コメント付きのレンディションを定義します。ただし，DocumentBroker Rendering Optionでのリファレンスファイル文書のレンディション変換はできません。レンディション変換プラグイン定義ファイルの詳細については，マニュアル「DocumentBroker Rendering Option」を参照してください。

1.2.10　File Link連携機能

File Link連携機能は，HiRDB File Linkと連携して文書を管理する機能です。なお，次に示すどちらかの条件を満たす環境下では，File Link連携機能を使用できません。

Linuxを使用している場合

TPBroker V5を使用している場合

画像・音声などの容量が大きいコンテントをファイルサーバへ格納し，格納先の情報（ファイルの作成者，ファイル名などのリンク情報）をデータベースで管理する場合にこの機能を使用すると，データベースで管理している情報とファイルサーバ上のファイルとの整合性を確保できます。このため，クライアントアプリケーションで，データベースとファイルサーバの整合性を取るための処理をする必要はありません。

File Link連携機能を使用して管理している文書を，File Link文書といいます。バージョンなし文書またはバージョン付き文書は，File Link文書として管理できます。

File Link文書の管理例を次の図に示します。

図1-10　File Link文書の管理例

HiRDB File Linkの詳細については，マニュアル「HiRDB File Link」を参照してください。

1.2.11　XML文書管理機能

XMLは，W3Cによって標準化が進められている，文書の構造を定義するための言語です。XMLでは，ユーザが設定した独自のタグによって，論理構造を持つ文書を記述できます。このため，Web上のデータ交換フォーマットなどとして，多くの業務で適用されています。

DocumentBrokerは，XML形式で記述されたファイルを登録および操作できます。通常，XMLを扱うシステムには，XML形式で記述されたファイルを解析し，そのデータを処理するアプリケーションが必要となります。このアプリケーションは，ファイルの入力と解析や，抽出したデータのデータベースへの格納などの処理を実行します。なお，Linuxの場合，XML文書管理機能は使用できません。

DocumentBrokerは，次のプログラムを利用してXML文書管理機能を実現します。

HiRDB Adapter for XML

Preprocessing Library for Text Search

HiRDB Text Search Plug-in

管理できるXML文書，XMLプロパティマッピング機能，およびXMLインデクスデータ作成機能について次に説明します。

なお，このマニュアルでは，XMLで記述されたファイルを，XMLファイルと呼びます。また，XMLファイルをコンテントとしてDocumentBrokerに登録した文書を，XML文書と呼びます。

＜この項の構成＞

(1)　管理できるXML文書

(2)　XMLプロパティマッピング機能

(3)　XMLインデクスデータ作成機能

(1)　管理できるXML文書

一つのファイルのXML文書を，バージョンなし文書またはバージョン付き文書として管理できます。また，XMLから参照されるイメージファイルなど，複数ファイルから構成される文書群については，バージョンなしコンテナまたは構成管理コンテナを利用して管理できます。

なお，XML文書管理機能で管理するXML文書は，登録文書のままであり，文字コードの変換などは実行しません。

(2)　XMLプロパティマッピング機能

XMLプロパティマッピング機能は，XML文書を登録するときに，XMLファイル中のタグ間の文字列やタグの属性値を抽出して，XML文書のプロパティとしてマッピングする機能です。なお，XMLプロパティマッピング機能を使用するためには，XMLファイルから抽出するタグの情報とマッピング先のプロパティとの対応を定義したファイルをユーザが作成する必要があります。

(3)　XMLインデクスデータ作成機能

XMLインデクスデータ作成機能は，XMLファイルの構文解析を実行して，インデクスデータを作成し，タグ情報などを削除したプレーンテキスト形式の全文検索インデクスまたは構造指定検索用の全文検索インデクスを登録する機能です。なお，XMLインデクスデータ作成機能を使用するためには，削除したい不要なタグやタグ間の文字列を定義したファイルをユーザが作成する必要があります。

1.2.12　独立データの管理機能

文書やコンテナなどのほかのオブジェクトの体系に関係しない，独立したデータを管理するオブジェクトのことを独立データといいます。単なる表として扱いたいデータなどは独立データとして管理できます。

独立データは，文書のようにまとめたり，コンテナに関連づけたり，バージョンを管理したり，コンテナのように上位・下位の階層構造で管理したりできません。

1.2.13　アクセス制御機能

DocumentBrokerでは，DocumentBrokerサーバが管理するメモリ空間（文書空間）にユーザがログインするときに生成されるユーザ情報やオブジェクトに設定されたアクセス制御情報などからユーザのアクセス権を判定してアクセスを制御します。文書空間にログインするときのユーザ認証，オブジェクトへのアクセス制御は，ユーザ管理システムとの連携によって実現します。

＜この項の構成＞

(1)　ユーザ認証

(2)　オブジェクトに対するアクセス制御

(3)　アクセスログ機能

(1)　ユーザ認証

DocumentBrokerでは，LDAP対応のディレクトリサービスやUNIXのパスワードファイルと連携したユーザ認証機能を提供しています。これによって，システムへのユーザの不当なログインを制御できます。

文書空間へのログイン要求があった場合，DocumentBrokerは，ユーザから提示されたユーザIDとパスワードに対して，ユーザ管理システムの機能を利用してユーザを認証します。このとき，ログインしたユーザに関する情報を取得して，ユーザ情報を生成します。

(2)　オブジェクトに対するアクセス制御

DocumentBrokerで管理しているオブジェクトに対して，アクセス権を設定できます。例えば，文書に対してアクセス権を設定すると，アクセスを許可されていないユーザが誤って文書を更新してしまうようなことがありません。また，特定の人やグループだけに文書の参照や編集を許可するような運用もできます。

DocumentBrokerが提供するアクセス制御機能は，ユーザやグループに対してアクセス権を与えたり，アクセス権を変更したりできます。例えば，文書の作成，審査，承認といった作業行程に応じてアクセス権を設定できます。これによって，文書のライフサイクル全体を管理できます。

文書にアクセスする場合の，アクセス制御の概要を次の図に示します。

図1-11　アクセス制御の概要

DocumentBrokerのアクセス制御は，アクセス制御対象オブジェクトへアクセスする場合，次に示す二つの情報をアクセス制御機能によって判定し，アクセス制御を実行します。

ログインしたユーザのユーザ情報

アクセス制御対象オブジェクトのアクセス制御情報

文書の操作を要求した場合，操作要求の内容とユーザ情報を比較してアクセス権を判定します。その結果，アクセス権があるときは，要求された文書の操作を実行します。しかし，アクセス権がないときは，「アクセス権なし」というエラーが返却されます。図1-11では，ユーザAが文書の参照を要求しています。DocumentBrokerは，ユーザAのログインによって作成されたユーザ情報と文書Xに設定されているアクセス制御情報とを比較します。その結果，ユーザAに参照権があると判定されて，ユーザＡは文書Xを参照できます。しかし，ユーザBが文書Xの更新を要求した場合，DocumentBrokerは，アクセス権なしのエラーを返却しています。これは，ユーザBには，文書Xを参照する権利だけが与えられているためです。

なお，LDAP対応のディレクトリサービスと連携してアクセス制御機能を使用する場合，アクセス制御機能で使用するユーザ情報は，LDAP対応のディレクトリサービスに管理されている情報を基に生成されます。ただし，運用中のユーザ管理システムがDocumentBrokerのアクセス制御機能に適応していない場合，ユーザが作成したアクセスルーチンを組み込むことによって，そのユーザ管理システムをDocumentBrokerのアクセス制御機能として使用できます。

(3)　アクセスログ機能

アクセスログ機能では，オブジェクトに対するユーザの操作履歴をログとしてファイルに出力します。アクセスログファイルには，アクセスした日時，アクセスしたユーザのユーザID，操作内容，アクセス対象のオブジェクトの情報などが出力されます。

1.2.14　アクセスログおよびトレースログの統計・解析機能

DocumentBrokerが出力したアクセスログファイルおよびトレースファイルの内容を解析・分類・集計して，レポートを出力する機能です。このレポートを参照することで，DocumentBrokerの文書管理システムへのユーザのアクセス状況やDocumentBrokerサーバおよびクライアントアプリケーションごとの処理内容を把握できます。この機能を利用する場合は，DocumentBrokerサーバの一機能である統計解析ツールを使用します。統計解析ツールの詳細については，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

1.2.15　検索機能

DocumentBrokerで使用できる検索機能について説明します。

＜この項の構成＞

(1)　属性検索機能

(2)　文書に対する全文検索機能

(3)　文字列型プロパティに対する全文検索機能

(4)　検索条件の論理演算機能

(1)　属性検索機能

オブジェクトに設定されているプロパティの値を条件にした検索を実行できる，属性検索機能を提供します。プロパティの値を基に，文書，フォルダ，インデクスに相当するオブジェクトなどが検索できます。例えば，文書名と著者がプロパティとして設定されている場合に，「文書名が『報告書』であり，著者が『日立太郎』である文書を検索する」というような検索ができます。

(2)　文書に対する全文検索機能

文書の内容に含まれるキーワード（検索ターム）を条件にした検索を実行できる，全文検索機能を提供します。

DocumentBrokerは，次のプログラムを利用して全文検索機能を実現します。

HiRDB Text Search Plug-in

さらに，次のプログラムを利用することによって，HiRDB Text Search Plug-inの機能を拡張した検索機能を実現します。

Preprocessing Library for Text Search（構造指定検索の場合）

HiRDB Text Search Plug-in Conceptual Extension（概念検索の場合）

全文検索機能では，文書中の任意の検索タームを条件にできます。例えば，「テキスト内に『文書』と『XML』という単語が含まれる文書を検索する」という場合に使用できます。

次に，全文検索機能の基本機能と拡張機能について説明します。なお，このマニュアルでは，これらの検索機能を総称して，全文検索といいます。それぞれの検索に固有の説明をする場合は，それぞれの機能名で説明します。

基本機能

HiRDB Text Search Plug-inの機能を使用した検索機能です。

同義語・異表記展開検索
検索タームとして「コンピュータ」を指定した場合，「PC」や「パソコン」といった検索タームの同義語に相当する単語を含む文書も検索できます（同義語展開検索）。
アルファベットの大文字と小文字，かたかなの異表記および半角と全角の文字列を展開して，検索できます。例えば，「ski」を検索タームに指定する場合，「ski」，「SKI」，「Ski」などで表記されている文書も検索できます（異表記展開検索）。

近傍条件検索
二つの検索タームについて，それらの距離や出現順序関係を指定した検索ができます。例えば，「『最新』と『情報』の間の文字数が20文字ちょうどの文書を検索する。ただし，『最新』と『情報』はどちらが先に出現してもよい」という指定ができます。

ランキング検索
指定する検索タームに重み（重要度）を付けてスコアを算出し，このスコアを基に検索結果をソートできます。

拡張機能

ほかのプログラムの機能によってHiRDB Text Search Plug-inの機能を拡張した検索機能です。

構造指定検索
XML文書に対する構造指定全文検索ができます。例えば，「タイトルに『コンピュータ』という単語が含まれ，章に『XML』という単語が含まれる文書を検索する」というような場合に使用できます。また，「『document』というエレメントに設定されている属性『status』の属性値が『public』である文書を検索する」というような場合にも使用できます。
なお，XML文書の全文検索を実行するためには，Preprocessing Library for Text Searchを利用して生成したインデクスデータを，XML文書の全文検索インデクスとして登録する必要があります。なお，Linuxの場合，XML文書に対する構造指定検索機能を使用できません。

概念検索
全文検索では，指定する検索タームに適した具体的な単語が思いつかない場合に，検索したい文書に類似した概念を持つ文章（種文章）を検索条件とした検索もできます。これを，概念検索といいます。概念検索では，検索条件として指定した文書からその文書を特徴づける単語（特徴ターム）が抽出され，それを検索タームとした検索が実行されます。例えば，「『…リサイクルは，資源の有効活用に貢献するだけでなく，ゴミの減量化にも役立ちます…』という文章に近い概念の文書を検索する」という場合に使用できます。概念検索機能を使用するためには，HiRDB Text Search Plug-inの機能のほかに，HiRDB Text Search Plug-in Conceptual Extensionが必要です。

(3)　文字列型プロパティに対する全文検索機能

オブジェクトに設定されている文字列型プロパティの値に含まれるキーワード（検索ターム）を条件にした検索を実行できる，全文検索機能を提供します。全文検索機能を使用できる文字列型プロパティのことを全文検索機能付き文字列型プロパティといいます。

なお，データベース定義の名称定義の方法がGUID値を変換した値を使用する方法の場合，文字列型プロパティに対する全文検索機能を使用できません。データベース定義の名称については，「3.11.1　データベース定義の名称の検討」を参照してください。

DocumentBrokerは，次のプログラムを利用して文字列型プロパティに対する全文検索機能を実現します。

HiRDB Text Search Plug-in

HiRDB Text Search Plug-inを利用すると，次に示す機能を使用できます。

同義語・異表記展開検索
検索タームとして「コンピュータ」を指定した場合，「PC」や「パソコン」といった検索タームの同義語に相当する単語をプロパティの値に含む文書も検索できます（同義語展開検索）。
アルファベットの大文字と小文字，かたかなの異表記および半角と全角の文字列を展開して，検索できます。例えば，「ski」を検索タームに指定する場合，「ski」，「SKI」，「Ski」などで表記されている文字列をプロパティの値に含む文書も検索できます（異表記展開検索）。

近傍条件検索
二つの検索タームについて，それらの距離や出現順序関係を指定した検索ができます。例えば，「『最新』と『情報』の間の文字数が20文字ちょうどの値をプロパティに含む文書を検索する。ただし，『最新』と『情報』はどちらが先に出現してもよい」という指定ができます。

文字列型プロパティに対する全文検索機能に対応したC++ クラスライブラリのクラスおよびメソッドについてはマニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」を，Java クラスライブラリのインターフェースおよびメソッドについてはマニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」を参照してください。

(4)　検索条件の論理演算機能

検索条件同士の論理積や論理和などを求める機能も提供します。

AND検索

検索条件同士の論理積を求められます。例えば，「著者が『日立太郎』で，文書中に『コンピュータ』という文字列を含む文書を検索する」というような場合に使用できます。

OR検索

検索条件同士の論理和を求めることができます。例えば，「作成者が『日立太郎』である文書，または作成者の所属が『日立製作所』である文書を検索する」というような場合に使用できます。

NOT検索

検索条件との不一致を求めることができます。例えば，「作成者が『日立太郎』ではない文書を検索する」というような場合に使用できます。

1.2.16　オブジェクト一括登録機能

大量のオブジェクトをDocumentBrokerに一括して登録する機能です。この機能を利用する場合は，DocumentBroker Object Loaderを使用します。DocumentBroker Object Loaderでは，DocumentBrokerからオブジェクトを取得してほかのDocumentBrokerへ一括して登録する場合に，DocumentBroker Object Loaderの実行に必要な入力データファイルを生成する機能も提供しています。さらに，DocumentBroker Object Loader High-end Optionを使用すると，複数のDocumentBroker Object Loaderを同時に実行して，オブジェクトの登録時間を短縮できます。

DocumentBroker Object LoaderおよびDocumentBroker Object Loader High-end Optionの詳細については，マニュアル「DocumentBroker Object Loader Version 3」を参照してください。

1.2.17　全文検索インデクス一括登録機能

DocumentBrokerに登録されている文書からテキスト情報を抽出し，全文検索インデクスとして一括登録する機能です。この機能を利用する場合は，DocumentBroker Text Search Index Loaderを使用します。DocumentBroker Text Search Index Loaderの詳細については，マニュアル「DocumentBroker Text Search Index Loader Version 3」を参照してください。

なお，マルチファイル文書，リファレンスファイル文書およびFile Link文書の場合，全文検索インデクス一括登録機能は使用できません。

1.2.18　レンディション変換機能

マルチレンディション管理機能を利用して文書を管理する場合に，バッチ処理でレンディション変換を実行する機能です。次のような場合に，登録済みのマスタレンディションのファイルを基に，別のレンディションタイプのファイルを作成して，サブレンディションのコンテントとして登録すると便利です。

マスタレンディションだけにファイルが登録されている場合

サブレンディションのファイルの登録後にマスタレンディションのファイルが更新された場合

この機能を利用する場合は，DocumentBroker Rendering Optionを使用します。DocumentBroker Rendering Optionにレンディション変換を要求する機能のことを，レンディション変換要求機能といいます。レンディション変換要求機能を利用すると，複数のレンディションのコンテントの同期が取りやすくなります。

DocumentBroker Rendering Optionの詳細については，マニュアル「DocumentBroker Rendering Option」を参照してください。

1.2.19　イメージ文書の登録機能

デジタル複合機でスキャンした紙の文書や受信したFAXを，DocumentBrokerのイメージ文書として登録する機能です。この機能を利用する場合，次のプログラムの中から，ご使用のデジタル複合機に応じたプログラムを使用してください。

DocumentBroker イメージ登録 for DocuCentre　（DocuCentre対応）

DocumentBroker イメージ登録 for iR　（imageRUNNER対応）

DocumentBroker イメージ登録 for imagio and IPSiO　（imagioおよびIPSiO対応）

DocumentBroker イメージ登録 for Konica　（Sitios対応）

さらに，次のオプションプログラムを使用することで，DocumentBrokerにイメージ文書を登録する際に，文書に記載された情報を文字認識して，文書のプロパティとして登録したり帳票ごとに分割して文書を登録したりできます。

DocumentBroker イメージ登録 文字認識オプション

イメージ文書の登録機能の詳細については，マニュアル「DocumentBroker イメージ登録 for DocuCentre」，マニュアル「DocumentBroker イメージ登録 for iR」，マニュアル「DocumentBroker イメージ登録 for imagio and IPSiO」，またはマニュアル「DocumentBroker イメージ登録 for Konica」を参照してください。

1.2.20　分散した文書の収集・検索機能

ネットワーク上に散在した文書を収集してDocumentBrokerに登録し，WWWブラウザから文書を検索できる機能です。この機能を利用する場合は，DocumentBroker Collectorと，DocumentBroker Integrated Search Suite for JまたはDocumentBroker Integrated Search Suiteを使用します。これらの製品を使用した検索では，DocumentBrokerの検索機能を使用できます。

DocumentBroker Collectorは，インターネット，イントラネット，ファイルシステムやグループウェアなどに分散しているさまざまなフォーマットの文書から属性を収集し，XML形式に変換してDocumentBrokerに登録して管理できます。DocumentBroker Collectorの詳細については，マニュアル「DocumentBroker Collector」を参照してください。

WWWブラウザからDocumentBroker Integrated Search Suite for J，またはDocumentBroker Integrated Search Suiteが提供する検索テンプレートを使用することで，DocumentBroker Collectorで収集および登録した文書を検索できます。DocumentBroker Integrated Search Suite for Jの詳細については，マニュアル「DocumentBroker Integrated Search Suite for J Version 2」を参照してください。DocumentBroker Integrated Search Suiteの詳細については，マニュアル「DocumentBroker Integrated Search Suite」を参照してください。

1.2.21　文書の分析機能

DocumentBrokerで管理されている文書のテキスト情報と属性情報を分析する機能です。膨大な量の文書を分析して，その傾向や特徴を発見することで，情報の活用，新たな価値ある情報の創造を支援します。

分析対象となるデータを生成するためには，DocumentBroker テキスト分析コンポーネントを使用します。DocumentBroker テキスト分析コンポーネントの詳細については，マニュアル「DocumentBroker テキスト分析コンポーネント」を参照してください。

WWWブラウザからDocumentBrokerテキスト分析テンプレートが提供する分析テンプレートを使用することで，DocumentBroker テキスト分析コンポーネントで生成したデータを分析できます。DocumentBroker テキスト分析テンプレートの詳細については，マニュアル「DocumentBroker テキスト分析テンプレート」を参照してください。

1.2.22　文書のライフサイクル管理機能

文書管理システムには，文書の保管機能や検索機能に加えて，作成から破棄までの文書のライフサイクル管理に対応した機能が必要な場合があります。例えば，作成／審査／承認／公開／廃棄といった文書のライフサイクルと業務の流れが密接に関連する場合の文書管理システムには，文書の状態に応じて異なる情報を作業者に示す必要があります。

業務の流れと文書のライフサイクルを関連させて管理する文書管理システムを構築する場合，DocumentBroker Life Cycle Suiteを使用します。DocumentBroker Life Cycle Suiteは，業務の流れと文書のライフサイクルを関連させて業務の要件に適した基幹システムを構築できるよう，ワーク管理システムであるWorkCoordinatorと連携するための機能を提供しています。

また，DocumentBroker Life Cycle Suiteが提供する文書ライフサイクル管理システムの構築を支援する各種のアプリケーションフレームワークを使用すると，システム構築期間の短縮，および開発効率の向上を実現できます。なお，DocumentBroker Life Cycle Suiteの詳細については，マニュアル「DocumentBroker Life Cycle Suite Version 2」を参照してください。

1.2.23　ファイル転送機能

DocumentBrokerサーバとDocumentBrokerクライアントを別のマシンで運用する場合，サーバとクライアント間のデータ転送には，ファイル転送機能を使用します。例えば，DocumentBrokerで管理している文書のファイルをクライアントのマシンに取得したり，クライアントのマシン上にあるファイルをDocumentBrokerの文書として登録したりする場合に，ファイル転送が必要になります。ファイル転送機能は，ファイル転送サービスが提供しています。

1.2.24　複数の実行環境機能

使用ユーザ数や単位時間当たりのトランザクション数の増加などによるシステム負荷を軽減するために，一つのデータベースに複数のDocumentBrokerサーバの実行環境を配置したシステム構成を構築できます。これによって，システム負荷が複数のサーバに分散されるため，システム全体の処理能力が向上します。複数のDocumentBrokerサーバの実行環境を配置したシステム構成を次の図に示します。

図1-12　複数のDocumentBrokerサーバの実行環境を配置したシステム構成

実行環境を識別する実行環境識別子を使用して，文書を管理できます。これによって，複数の実行環境から，同じ文書空間にアクセスする運用形態を構築できます。

1.2.25　システム導入支援機能

システム導入支援機能は，新規に文書空間を構築するための設定を支援します。

システム導入支援機能を使用すると，システム導入支援機能を使用しないで文書空間を構築する場合に比べて，DocumentBrokerでデータベースシステムを使用するための設定手順を簡易化できます。

システム導入支援機能を使用する場合の，データベースシステムを使用するための設定の詳細は，「3.12　システム導入支援機能での設定」を参照してください。

1.2.26　クライアントアプリケーション動作定義機能

クライアントアプリケーション動作定義機能を使用すると，あらかじめ定義しておいた動作環境でクライアントアプリケーションを動作させることができます。

クライアントアプリケーションの動作環境は，クライアントアプリケーション動作定義ファイルに定義します。クライアントアプリケーション動作定義ファイルの詳細については，「4.18　クライアントアプリケーション動作定義ファイル（application.ini）」を参照してください。

1.3　DocumentBrokerのシステム構成

この節では，DocumentBrokerのシステム構成について説明します。

＜この節の構成＞

1.3.1　DocumentBrokerを使用したシステムの概略

1.3.2　DocumentBrokerサーバを構成するプログラム

1.3.3　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（C++ クラスライブラリの場合）

1.3.4　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（Java クラスライブラリの場合）

1.3.5　DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラム

1.3.1　DocumentBrokerを使用したシステムの概略

ここでは，DocumentBrokerを使用したシステムの概略について説明します。

DocumentBrokerは，分散オブジェクト環境での文書管理基盤フレームワークとして，文書管理に関するさまざまな機能を提供します。これによって，用途に合わせた各種業務システムを構築できます。また，ORBによる既存システムと連携した業務システムを構築できます。

＜この項の構成＞

(1)　DocumentBrokerのシステムの構成

(2)　DocumentBrokerクライアントのインターフェース

(1)　DocumentBrokerのシステムの構成

DocumentBrokerで構築する文書管理システムは，DocumentBrokerサーバとDocumentBrokerクライアントで構成されます。DocumentBrokerのシステムの構成を次の図に示します。

図1-13　DocumentBrokerのシステムの構成

DocumentBrokerサーバは，文書の管理機能の実現に必要なオブジェクトと，DocumentBrokerのメモリ空間である文書空間を提供します。DocumentBrokerクライアントは，クライアントアプリケーションの開発環境と，作成したクライアントアプリケーションの実行環境を提供します。DocumentBrokerクライアントでは，業務に対応したクライアントアプリケーションを構築し，それを実行することでDocumentBrokerサーバの機能を利用します。クライアントアプリケーションを実行し，DocumentBrokerサーバの文書空間上でデータベースに格納されているオブジェクトを操作することで，文書の参照や更新などの文書管理が実現します。DocumentBrokerサーバとDocumentBrokerクライアント間のオブジェクトのやり取りはCORBA通信によって実現します。また，システムの運用形態に応じて使用する各種の関連プログラムも提供しています。

(2)　DocumentBrokerクライアントのインターフェース

クライアントアプリケーションの開発には，DocumentBroker Development Kitを使用します。

DocumentBroker Development Kitは，C++言語とJava言語に対応したクライアントアプリケーション開発用のクラスライブラリ，およびクライアントの実行環境を提供しています。

C++言語対応のクラスライブラリ（C++ クラスライブラリ）では，C++環境で動作するクライアントアプリケーションを開発・実行できます。DocumentBrokerで提供する機能のうち，マルチファイル管理機能，FileLink連携機能は，C++ クラスライブラリで開発したクライアントアプリケーションでしか使用できません。

Java言語対応のクラスライブラリ（Java クラスライブラリ）では，Java環境で動作するクライアントアプリケーションを開発・実行できます。また，Java クラスライブラリを使用して開発したサンプルのWebアプリケーションも提供しているため，このサンプルを参考にして，業務に適合したクライアントアプリケーションを開発できます。

次に，DocumentBrokerを使用したシステムでの，DocumentBrokerサーバを構成するプログラムと，DocumentBrokerクライアントを構成するプログラムについて説明します。

1.3.2　DocumentBrokerサーバを構成するプログラム

DocumentBrokerサーバを構成するプログラムを必須プログラムと関連プログラムに分けて説明します。DocumentBrokerサーバを構成するプログラムのシステム構成を次の図に示します。

図1-14　DocumentBrokerサーバを構成するプログラムのシステム構成

この図では，DocumentBrokerサーバを配置したサーバを文書管理サーバ，HiRDBサーバを配置したサーバをデータベースサーバと呼んでいます。

＜この項の構成＞

(1)　必須プログラム

(2)　DocumentBrokerサーバとHiRDBサーバを別マシンで利用する場合に必要なプログラム

(3)　全文検索機能を使用する場合に必要なプログラム

(4)　File Link連携機能を使用する場合に必要なプログラム

(5)　アクセス制御機能を使用する場合に必要なプログラム

(6)　オブジェクト一括登録機能を使用する場合に必要なプログラム

(7)　全文検索インデクス一括登録機能を使用する場合に必要なプログラム

(8)　文書のライフサイクル管理機能を使用する場合に必要なプログラム

(1)　必須プログラム

TPBroker

CORBAを利用したクライアントとサーバ間の通信機能を提供するプログラムです。TPBrokerは，ORB機能を利用して，クライアントアプリケーションとの間の通信基盤として使用します。VisiBrokerで実現できるORB機能に，OTS機能，運用支援機能などを備えています。

なお，Linuxの場合はTPBroker V3は使用できません。TPBroker V5を使用してください。

DocumentBroker Server

DocumentBrokerのサーバ機能を提供するプログラムです。文書管理に使用する文書空間を提供します。また，このほかに，アクセス制御機能，サーバ監視プロセス，および運用コマンドを提供します。

DABrokerおよびDABroker for C++

DABrokerは，分散オブジェクト環境でのシームレスなデータベースアクセスを提供するプログラムです。DABroker for C++は，DABrokerの機能をC++ クラスライブラリとして提供するプログラムです。

HiRDBサーバ

DocumentBrokerで管理する文書や属性を格納するデータベースシステムです。HiRDB/Parallel ServerまたはHiRDB/Single Serverが必要です。

SORT

HiRDBサーバの前提製品で，データのソート時に必要な製品です。HiRDB Version 6またはHiRDB Version 7を使用する場合に必要になります。HiRDB Version 8以降を使用する場合，SORTは必要ありません。

OS

オペレーティングシステムはAIXまたはLinuxを使用します。

(2)　DocumentBrokerサーバとHiRDBサーバを別マシンで利用する場合に必要なプログラム

HiRDB/Run Time

DocumentBrokerサーバとHiRDBサーバは，別のマシンに配置できます。DocumentBrokerサーバとHiRDBサーバを別のマシンに配置する場合は，DocumentBrokerを配置する文書管理サーバ側にHiRDB/Run Timeをインストールしてください。

(3)　全文検索機能を使用する場合に必要なプログラム

全文検索機能または概念検索機能使用するためには，次のプログラムが必要です。

文書に対する全文検索機能の場合

HiRDB Object Option※

HiRDB Text Search Plug-in

概念検索機能の場合

HiRDB Object Option※

HiRDB Text Search Plug-in

HiRDB Text Search Plug-in Conceptual Extension

文字列型プロパティに対する全文検索機能の場合

HiRDB Object Option※

HiRDB Text Search Plug-in

注※

HiRDB Version 6またはHiRDB Version 7を使用する場合に必要になります。

各プログラムについて説明します。

HiRDB Object Option

RDBであるHiRDBをORDBに拡張するオプション製品です。HiRDBにHiRDB Object Optionを組み込むことで，数値や文字データだけでなく，文書や画像などを格納できるようになります。

HiRDB Text Search Plug-in

検索タームを指定して全文検索する場合に必要なプログラムです。HiRDB Text Search Plug-inの詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

HiRDB Text Search Plug-in Conceptual Extension

文章または文字列をキーに概念検索する場合に必要なプログラムです。HiRDB Text Search Plug-in Conceptual Extensionの詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

(4)　File Link連携機能を使用する場合に必要なプログラム

HiRDB File Link

コンテント自体は任意のファイルサーバへ格納し，格納先の情報（ファイル名などのリンク情報）をデータベース（HiRDB）に登録するという保管システムを構築する製品です。HiRDB File Linkは，HiRDBサーバを配置したサーバ，ファイルサーバ，およびコンテンツアクセス用アプリケーションの実行環境（クライアント）すべてへインストールする必要があります。HiRDB File Linkの詳細については，マニュアル「HiRDB File Link」を参照してください。

なお，Linuxの場合およびTPBroker V5を使用している場合，File Link連携機能は使用できません。

(5)　アクセス制御機能を使用する場合に必要なプログラム

LDAP対応のディレクトリサービス

DocumentBrokerが提供するアクセス制御機能を使用する場合，DocumentBrokerでは，LDAP対応のディレクトリサービスとして，次の製品との連携をサポートしています。

IBM Directory Server（AIXの場合）

IBM Tivoli Directory Server（AIXの場合）

SecureWay Directory（AIXの場合）

Oracle Directory Server（Linuxの場合）

Active Directory Server（Linuxの場合）

なお，ユーザ管理システムとしてUNIXのパスワードファイルを使用している場合，運用中のLDAP対応のディレクトリサービスが，そのままではDocumentBrokerのアクセス制御機能に適応できないことがあります。このような場合，ユーザが作成したアクセスルーチン（UOC）を組み込むことによって，そのユーザ管理システムをDocumentBrokerのアクセス制御機能として使用できます。

(6)　オブジェクト一括登録機能を使用する場合に必要なプログラム

DocumentBroker Object Loader

大量のオブジェクトをDocumentBrokerに一括して登録する場合は，DocumentBroker Object Loaderが必要です。DocumentBroker Object Loaderでは，DocumentBrokerからオブジェクトを取得してほかのDocumentBrokerへ一括して登録する場合に，DocumentBroker Object Loaderの実行に必要な入力データファイルを生成する機能も提供しています。

さらに，DocumentBroker Object Loader High-end Optionを使用すると，複数のDocumentBroker Object Loaderを同時に実行して，オブジェクトの登録時間を短縮できます。

DocumentBroker Object Loader，およびDocumentBroker Object Loader High-end Optionの詳細については，マニュアル「DocumentBroker Object Loader Version 3」を参照してください。

(7)　全文検索インデクス一括登録機能を使用する場合に必要なプログラム

DocumentBroker Text Search Index Loader

DocumentBrokerに登録されている文書からテキスト情報を抽出して，全文検索インデクスとして一括登録する場合は，DocumentBroker Text Search Index Loaderが必要です。DocumentBroker Text Search Index Loaderは，DocumentBrokerサーバと同じネットワーク上のWindowsマシンにインストールしてください。

DocumentBroker Text Search Index Loaderの詳細については，マニュアル「DocumentBroker Text Search Index Loader Version 3」を参照してください。

(8)　文書のライフサイクル管理機能を使用する場合に必要なプログラム

DocumentBroker Life Cycle Suite

文書のライフサイクル管理をする場合は，DocumentBroker Life Cycle Suiteが必要です。DocumentBrokerからWorkCoordinatorを操作するためのC++ クラスライブラリおよび分散オブジェクト群を提供しています。また，デフォルトオブジェクトで対応できない複雑なロジックを持つルールを設定したい場合のために，アプリケーションフレームワークを提供しています。

文書のライフサイクル管理をする場合は，DocumentBrokerサーバを配置する文書管理サーバ上に，DocumentBroker Life Cycle SuiteのほかにDocumentBroker Development KitまたはDocumentBroker Runtime，およびWorkCoordinatorが必要です。

DocumentBroker Life Cycle Suiteの詳細については，マニュアル「DocumentBroker Life Cycle Suite Version 2」を参照してください。

1.3.3　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（C++ クラスライブラリの場合）

ここでは，DocumentBroker Development Kitが提供するC++ クラスライブラリで開発したクライアントを構成するプログラムを，必須プログラムと関連プログラムに分けて説明します。C++ クラスライブラリで開発したクライアントを構成するプログラムのシステム構成を次の図に示します。

図1-15　C++ クラスライブラリで開発したクライアントを構成するプログラムのシステム構成

＜この項の構成＞

(1)　必須プログラム

(2)　File Link連携機能を使用する場合に必要なプログラム

(3)　XML文書管理機能を使用する場合に必要なプログラム

(4)　レンディション変換要求機能を使用する場合に必要なプログラム

(5)　イメージ文書登録機能を使用する場合に必要なプログラム

(6)　文書のライフサイクル管理機能を使用する場合に必要なプログラム

(1)　必須プログラム

クライアントアプリケーション

C++ クラスライブラリを使用してユーザが作成するアプリケーションプログラムです。

C++ クラスライブラリを使用してクライアントアプリケーションを作成する方法については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」を参照してください。

DocumentBroker Development Kit（クライアント開発環境）またはDocumentBroker Runtime（クライアント実行環境）

DocumentBroker Development Kitは，C++言語対応のクライアントアプリケーション開発用のクラスライブラリ，およびクライアントの実行環境を提供します。

クライアントの実行環境だけが必要な場合は，DocumentBroker Runtimeを使用します。DocumentBroker Runtimeは，DocumentBroker Development Kitで開発したクライアントアプリケーションを実行するためのライブラリを提供しています。

C++ クラスライブラリの詳細については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　リファレンス　基本機能編」を参照してください。

また，クライアントアプリケーションを円滑に開発するために必要なC++ クラスライブラリの機能を，コマンド群（オブジェクト操作ツール）として提供しているDocumentBroker オブジェクト操作ツールを使用する場合には，マニュアル「DocumentBroker Version 3　オブジェクト操作ツール」を参照してください。

TPBroker

DocumentBroker Development Kitの前提プログラムとして，CORBA仕様に基づく分散アプリケーションを開発するためのプログラムです。

OS

次に示すオペレーティングシステムを使用します。

AIXの場合：
AIX 5L V5.1，AIX 5L V5.2，またはAIX 5L V5.3を使用してください。

Linuxの場合：
Red Hat Enterprise Linux 6 (x86_64)を使用してください。

Windows Server 2003の場合：
Windows Server 2003，Enterprise EditionまたはWindows Server 2003，Standard Editionを使用してください。

Windows Server 2003 R2の場合：
Windows Server 2003 R2，Enterprise EditionまたはWindows Server 2003 R2，Standard Editionを使用してください。

Windows Server 2008の場合：
Windows Server 2008，Enterprise EditionまたはWindows Server 2008，Standard Editionを使用してください。

Windows Server 2008 R2の場合：
Windows Server 2008 R2，Enterprise EditionまたはWindows Server 2008 R2，Standard Editionを使用してください。

Windows XPの場合：
Windows XP Professionalを使用してください。

Windows Vistaの場合：
Windows Vista Business，Windows Vista EnterpriseまたはWindows Vista Ultimateを使用してください。

Windows 7の場合：
Windows 7 Professional，Windows 7 EnterpriseまたはWindows 7 Ultimateを使用してください。

(2)　File Link連携機能を使用する場合に必要なプログラム

HiRDB File Link

コンテント自体は任意のファイルサーバへ格納し，格納先の情報（ファイル名などのリンク情報）をデータベース（HiRDB）に登録するという保管システムを構築する製品です。HiRDB File Linkは，HiRDBサーバを配置したサーバ，ファイルサーバ，およびコンテンツアクセス用アプリケーションの実行環境（クライアント）すべてへインストールする必要があります。HiRDB File Linkの詳細については，マニュアル「HiRDB File Link」を参照してください。

なお，Linuxの場合およびTPBroker V5を使用している場合，File Link連携機能は使用できません。

(3)　XML文書管理機能を使用する場合に必要なプログラム

HiRDB Adapter for XML

XML文書を解析して，XMLのタグをRDBの表や列に対応づけ，XML文書に含まれる文字列を適切なデータ型に変換してRDBに登録するXML-RDBマッピング機能を持つプログラムです。XML文書管理機能を利用してXML形式の文書を管理する場合は，このプログラムを使用します。

HiRDB Adapter for XMLの詳細については，マニュアル「HiRDB Adapter for XML　ユーザーズガイド」を参照してください。

Preprocessing Library for Text Search

XML文書から構造を指定した全文検索に必要なインデクスデータを生成する機能を持つプログラムです。XMLインデクスデータ作成機能を利用する場合は，このプログラムを使用します。XMLインデクスデータ作成機能によって作成されたインデクスデータを全文検索インデクスとして登録したXML文書は，XMLの構造（タグ間の文字列，タグの属性）をキーにした全文検索の対象にできます。

Preprocessing Library for Text Searchの詳細については，マニュアル「Preprocessing Library for Text Search Version 2」を参照してください。

なお，Linuxの場合，XML文書管理機能は使用できません。

(4)　レンディション変換要求機能を使用する場合に必要なプログラム

DocumentBroker Rendering Option

レンディション変換要求機能を利用する場合に，レンディション変換を実行するクライアントの，クライアントアプリケーションとして使用するプログラムです。DocumentBrokerに登録された文書のマスタレンディションを，サブレンディションで指定されたレンディションに変換してサブレンディションのコンテントとしてサーバに登録する機能を持ちます。レンディション変換を実行するクライアントには，マスタレンディションのコンテントを扱うアプリケーションプログラム，および指定されたレンディションの形式へのコンテントの変換を実行するアプリケーションプログラムも必要です。例えば，Word形式からPDF形式にレンディション変換する場合は，OfficeおよびAdobe Acrobatが必要です。

DocumentBroker Rendering Optionの詳細については，マニュアル「DocumentBroker Rendering Option」を参照してください。

(5)　イメージ文書登録機能を使用する場合に必要なプログラム

イメージ文書登録機能を使用する場合，ご使用のデジタル複合機に対応したプログラムを使用してください。これらのプログラムは，デジタル複合機でスキャンした紙の文書や受信したFAXをDocumentBrokerにイメージ文書として登録するクライアントの，クライアントアプリケーションとして使用します。

DocumentBroker イメージ登録 for DocuCentre

DocuCentreでスキャンした紙の文書や受信したFAXをDocumentBrokerにイメージ文書として登録するプログラムです。イメージ文書を登録するクライアントには，CentreWareスキャンサービスおよびCentreWareスキャンサービス カスタム連携ツールも必要です。

DocumentBroker イメージ登録 for iR

imageRUNNERでスキャンした紙の文書や受信したFAXを，DocumentBrokerにイメージ文書として登録するプログラムです。

DocumentBroker イメージ登録 for imagio and IPSiO

imagioまたはIPSiOでスキャンした紙の文書や受信したFAXを，DocumentBrokerにイメージ文書として登録するプログラムです。

DocumentBroker イメージ登録 for Konica

Sitiosでスキャンした紙の文書や受信したFAXを，DocumentBrokerにイメージ文書として登録するプログラムです。

DocumentBroker イメージ登録 文字認識オプション

DocumentBrokerにイメージ文書を登録するときに，文書に記載された情報を文字認識して，文書のプロパティとして登録したり帳票ごとに分割して文書を登録したりできます。

イメージ文書登録機能の詳細については，マニュアル「DocumentBroker イメージ登録 for DocuCentre」，マニュアル「DocumentBroker イメージ登録 for iR」，マニュアル「DocumentBroker イメージ登録 for imagio and IPSiO」，またはマニュアル「DocumentBroker イメージ登録 for Konica」を参照してください。

(6)　文書のライフサイクル管理機能を使用する場合に必要なプログラム

DocumentBroker Life Cycle Suite Development Kit（クライアント開発環境）またはDocumentBroker Life Cycle Suite Runtime（クライアント実行環境）

文書のライフサイクル管理の機能を利用するクライアントアプリケーションを開発する場合，DocumentBroker Life Cycle Suite Development Kitが必要です。なお，その場合は，WorkCoordinatorのビジネスプロセスを定義するWorkCoordinator Definerも必要です。DocumentBroker Life Cycle Suite Development Kitは，文書のライフサイクル管理機能を利用したクライアントアプリケーション開発用のクラスライブラリおよびクライアント実行環境を提供します。

文書のライフサイクル管理の機能を利用するクライアントの実行環境だけが必要な場合は，DocumentBroker Life Cycle Suite Runtimeを使用します。DocumentBroker Life Cycle Suite Runtimeは，DocumentBroker Life Cycle Suite Development Kitで開発したクライアントアプリケーションを実行するためのライブラリを提供しています。

DocumentBroker Life Cycle Suiteの詳細については，マニュアル「DocumentBroker Life Cycle Suite Version 2」を参照してください。

1.3.4　DocumentBroker Development Kitで開発したクライアントを構成するプログラム（Java クラスライブラリの場合）

ここでは，DocumentBroker Development Kitが提供するJava クラスライブラリで開発したクライアントを構成するプログラムを，必須プログラムと関連プログラムに分けて説明します。Java クラスライブラリで開発したクライアントを構成するプログラムのシステム構成を次の図に示します。

図1-16　Java クラスライブラリで開発したクライアントを構成するプログラムのシステム構成

＜この項の構成＞

(1)　必須プログラム

(2)　XML文書管理機能を使用する場合に必要なプログラム

(3)　レンディション変換要求機能を使用する場合に必要なプログラム

(4)　分散した文書の収集・検索機能を使用する場合に必要なプログラム

(5)　文書の分析機能を使用する場合に必要なプログラム

(1)　必須プログラム

WWWサーバ

Java クラスライブラリは，WWWサーバシステムが構築されている環境で使用します。

Cosminexus

Cosminexusは，Javaの開発環境および実行環境を提供するアプリケーションサーバであり，Java クラスライブラリに必要な環境を提供しています。

クライアントアプリケーション

Java クラスライブラリを使用してユーザが作成するアプリケーションプログラムです。

Java クラスライブラリを使用してクライアントアプリケーションを作成する方法については，マニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」を参照してください。

DocumentBroker Development Kit（クライアント開発環境）またはDocumentBroker Runtime（クライアント実行環境）

DocumentBroker Development Kitは，Java言語対応のクライアントアプリケーション開発用のクラスライブラリ，およびクライアントの実行環境を提供します。

クライアントの実行環境だけが必要な場合は，DocumentBroker Runtimeを使用します。DocumentBroker Runtimeは，DocumentBroker Development Kitで開発したクライアントアプリケーションを実行するためのライブラリを提供しています。

また，Java クラスライブラリを使用して開発したサンプルのWebアプリケーションも提供しているため，このサンプルを参考にして，業務に適合したクライアントアプリケーションを開発できます。

Java クラスライブラリの詳細については，マニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」，マニュアル「DocumentBroker Version 3　クラスライブラリ　Java　リファレンス」，およびマニュアル「DocumentBroker Version 3　クラスライブラリ　Java　サンプルWebアプリケーション」を参照してください。

TPBroker

CORBA仕様に基づく分散アプリケーションを開発するためのプログラムです。

OS

次に示すオペレーティングシステムを使用します。

AIXの場合：
AIX 5L V5.1，AIX 5L V5.2，またはAIX 5L V5.3を使用してください。

Linuxの場合：
Red Hat Enterprise Linux 6 (x86_64)を使用してください。

Windows Server 2003の場合：
Windows Server 2003，Enterprise EditionまたはWindows Server 2003，Standard Editionを使用してください。

Windows Server 2003 R2の場合：
Windows Server 2003 R2，Enterprise EditionまたはWindows Server 2003 R2，Standard Editionを使用してください。

Windows Server 2008の場合：
Windows Server 2008，Enterprise EditionまたはWindows Server 2008，Standard Editionを使用してください。

Windows Server 2008 R2の場合：
Windows Server 2008 R2，Enterprise EditionまたはWindows Server 2008 R2，Standard Editionを使用してください。

Windows XPの場合：
Windows XP Professionalを使用してください。

Windows Vistaの場合：
Windows Vista Business，Windows Vista EnterpriseまたはWindows Vista Ultimateを使用してください。

Windows 7の場合：
Windows 7 Professional，Windows 7 EnterpriseまたはWindows 7 Ultimateを使用してください。

(2)　XML文書管理機能を使用する場合に必要なプログラム

XML文書管理機能を使用する場合は，次のプログラムが必要です。

HiRDB Adapter for XML

Preprocessing Library for Text Search

これらのプログラムの説明については，「1.3.3(3)　XML文書管理機能を使用する場合に必要なプログラム」を参照してください。

なお，Linuxの場合，XML文書管理機能は使用できません。

(3)　レンディション変換要求機能を使用する場合に必要なプログラム

レンディション変換要求機能を使用する場合は，次のプログラムが必要です。

DocumentBroker Rendering Option

このプログラムの説明については，「1.3.3(4)　レンディション変換要求機能を使用する場合に必要なプログラム」を参照してください。

(4)　分散した文書の収集・検索機能を使用する場合に必要なプログラム

DocumentBroker Collector

ネットワーク上に散在した文書を収集してDocumentBrokerに登録する場合に必要なプログラムです。インターネット，イントラネット，ファイルシステムやグループウェアなどに分散しているさまざまなフォーマットの文書から属性を収集し，XML形式に変換してDocumentBrokerに登録して管理するプログラムです。DocumentBroker Collectorの詳細については，マニュアル「DocumentBroker Collector」を参照してください。

DocumentBroker Integrated Search Suite for J

DocumentBroker Collectorによって収集および登録された文書を検索する場合に必要なプログラムです。DocumentBroker Integrated Search Suite for Jが提供する検索テンプレートを使用してWWWブラウザ上に表示した検索画面から文書を検索できます。また，Cosminexus Portal Frameworkと連携すると，検索画面をCosminexus Portal Frameworkのポートレットとして表示できます。

DocumentBroker Integrated Search Suite for Jの詳細については，マニュアル「DocumentBroker Integrated Search Suite for J Version 2」を参照してください。

(5)　文書の分析機能を使用する場合に必要なプログラム

DocumentBroker テキスト分析コンポーネント

DocumentBrokerで管理されている文書のテキスト情報と属性情報を分析する場合に必要なプログラムです。分析対象となるデータを生成するためのコマンドやクラスライブラリを提供しています。DocumentBroker テキスト分析コンポーネントの詳細については，マニュアル「DocumentBroker テキスト分析コンポーネント」を参照してください。

DocumentBrokerテキスト分析テンプレート

DocumentBroker テキスト分析コンポーネントで生成したデータを分析する場合に必要なプログラムです。DocumentBrokerテキスト分析テンプレートが提供する分析テンプレートを使用してWWWブラウザ上に表示した分析画面から文書を分析できます。DocumentBroker テキスト分析テンプレートの詳細については，マニュアル「DocumentBroker テキスト分析テンプレート」を参照してください。

1.3.5　DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラム

DocumentBroker Standard GUIは，業種・業務に依存しない標準的な企業内文書管理システムを提供するECMパッケージ製品です。

DocumentBroker Standard GUIは，文書を審査・承認後に公開する仕組み，公開する文書に電子署名や承認日時を付与する機能などを文書管理システムに取り込めるため，コンプライアンスや情報セキュリティへの対応が容易になります。

ここでは，DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラムを，必須プログラムと関連プログラムに分けて説明します。DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラムのシステム構成を次の図に示します。

図1-17　DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラムのシステム構成

＜この項の構成＞

(1)　必須プログラム

(2)　電子署名機能およびタイムスタンプ機能を使用する場合に必要なプログラム

(3)　レンディション変換要求機能を使用する場合に必要なプログラム

(1)　必須プログラム

WWWサーバ

DocumentBroker Standard GUIは，WWWサーバシステムが構築されている環境で使用します。DocumentBroker Standard GUIで使用できるWWWサーバの種類とWWWサーバのバージョンについては，マニュアル「DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド」を参照してください。

Cosminexus

Cosminexusは，Javaの開発環境および実行環境を提供するアプリケーションサーバであり，DocumentBroker Standard GUIに必要な環境を提供しています。DocumentBroker Standard GUIで使用できるCosminexusの種類とCosminexusのバージョンについては，マニュアル「DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド」を参照してください。

DocumentBroker Standard GUI

DocumentBroker Standard GUIは，Cosminexusで構築したWWW環境で動作するDocumentBrokerの標準GUIです。DocumentBroker Standard GUIの詳細については，マニュアル「DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド」およびマニュアル「DocumentBroker Version 3 Standard GUI　操作ガイド」を参照してください。

DocumentBroker Development KitまたはDocumentBroker Runtime

DocumentBroker Development KitおよびDocumentBroker Runtimeは，DocumentBroker Standard GUIがDocumentBrokerサーバに対して処理を要求するためのAPIを持つプログラムです。DocumentBroker Standard GUIでは，DocumentBroker Development KitまたはDocumentBroker Runtimeが提供するJava クラスライブラリを使用してDocumentBrokerサーバに処理を要求して，標準GUIの機能を実現します。

OS

DocumentBroker Standard GUIで使用できるOSについては，マニュアル「DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド」を参照してください。

(2)　電子署名機能およびタイムスタンプ機能を使用する場合に必要なプログラム

電子署名機能およびタイムスタンプ機能を使用するためには，次のプログラムが必要です。

ProofboxLibrary履歴管理サーバ

ProofboxLibraryクライアント
ProofboxLibraryクライアントは，クライアントに必要なプログラムです。

DocumentBroker Standard GUIで使用できるこれらのプログラムのバージョンについては，マニュアル「DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド」を参照してください。

(3)　レンディション変換要求機能を使用する場合に必要なプログラム

レンディション変換要求機能を使用する場合は，次のプログラムが必要です。

DocumentBroker Rendering Option

このプログラムの説明については，「1.3.3(4)　レンディション変換要求機能を使用する場合に必要なプログラム」を参照してください。

1.4　プロセス構成

この節では，DocumentBrokerのプロセス構成について説明します。

＜この節の構成＞

1.4.1　DocumentBrokerの基本プロセス構成

1.4.2　DocumentBrokerのプロセスの関連

1.4.1　DocumentBrokerの基本プロセス構成

DocumentBrokerの基本プロセス構成を次の表に示します。

表1-3　DocumentBrokerの基本プロセス構成

プロセス | 機能概要
起動プロセス（EDMStart） | DocumentBrokerサーバを起動する。
停止プロセス（EDMStop） | DocumentBrokerサーバを停止する。
サーバ監視プロセス（EDMDaemon） | 一つのDocumentBrokerシステムを監視する。
サービスプロセス監視プロセス（EDMSrvMgr） | サービスプロセスの動作を監視する。
サービスプロセス（EDMService） | クライアントへ文書空間のサービスを供給する。

各プロセスについて説明します。

＜この項の構成＞

(1)　起動プロセス（EDMStart）

(2)　停止プロセス（EDMStop）

(3)　サーバ監視プロセス（EDMDaemon）

(4)　サービスプロセス監視プロセス（EDMSrvMgr）

(5)　サービスプロセス（EDMService）

(1)　起動プロセス（EDMStart）

DocumentBrokerサーバを起動するプロセスです。システム管理者がDocumentBrokerサーバを起動した時点で（EDMStartコマンドの実行）生成されます。起動プロセスは，サーバ監視プロセスを起動します。

(2)　停止プロセス（EDMStop）

DocumentBrokerサーバを終了するプロセスです。システム管理者がDocumentBrokerサーバを終了した時点で（EDMStopコマンドの実行）生成されます。停止プロセスは，サーバ監視プロセスに対して終了要求を実行し，終了要求に対するサーバ監視プロセスの応答を確認してから終了します。

(3)　サーバ監視プロセス（EDMDaemon）

DocumentBrokerを監視するプロセスです。サービスプロセス監視プロセスの動作状況を監視して，サービスプロセス監視プロセスが終了した場合は，このプロセスが監視しているサービスプロセスをすべて強制終了させてから，サービスプロセス監視プロセスの再起動を実行します。このとき，強制終了したサービスプロセスに接続していたクライアントにはエラーが返却されて，サービスの提供を受けられなくなります。サーバ監視プロセスは，起動プロセスによって生成され，停止プロセスからの終了要求によってサービスプロセス監視プロセスへ停止要求を通知します。

(4)　サービスプロセス監視プロセス（EDMSrvMgr）

サービスプロセスを定義されている数だけ生成して，サービスプロセスの状態を管理するプロセスです。サービスプロセスの動作状況も監視して，サービスプロセスが終了した場合は，サービスプロセスを再起動します。サービスプロセス監視プロセスは，サーバ監視プロセスによって生成され，サーバ監視プロセスからの停止要求によってサービスプロセスへ停止要求を通知します。

(5)　サービスプロセス（EDMService）

クライアントへ文書空間のサービスを供給するプロセスです。サービスプロセスは，DocumentSpace構成定義ファイルに指定されている数だけサービスプロセス監視プロセスによって生成されます。システム管理者がDocumentBrokerを終了した場合（EDMStopコマンドの実行）は，サービスプロセス監視プロセスからの停止要求によって，すべてのサービスプロセスは終了します。また，障害などによってサービスプロセスが終了した場合は，サービスプロセス監視プロセスによって再起動されます。

サービスプロセスは，1プロセス当たり複数クライアントに対してサービスを供給できます。ただし，サービスプロセスがダウンした場合，ダウンしたプロセスに接続していたクライアントにはエラーが返却されて，接続できなくなります。したがって，クライアントからの再接続が必要となります。

参考　サービスプロセスのリフレッシュ

DocumentBrokerサーバを長時間連続して運転すると，サービスプロセスのサイズが大きくなり，メモリ不足による障害などが起きる可能性があります。このため，DocumentBrokerでは，サービスプロセスをリフレッシュするコマンド（EDMRefresher）やサービスプロセスのメモリサイズを監視してリフレッシュする機能を提供しています。リフレッシュとは，DocumentBrokerサーバを停止することなく，クライアントからの要求に対して文書空間へのサービスを供給しながら，サービスプロセスを順次再起動することです。OSのcronデーモンなどを利用して，EDMRefresherコマンドを定期的に実行したり，DocumentSpace構成定義ファイルにリフレッシュする契機となるサービスプロセスのメモリサイズを指定することで，DocumentBrokerサーバを連続して運転できます。EDMRefresherコマンドの詳細については，「7.3　コマンドの文法」の「EDMRefresher（サービスプロセスのリフレッシュ）」を参照してください。

1.4.2　DocumentBrokerのプロセスの関連

DocumentBrokerのプロセスの関連について説明します。

図1-18　基本プロセスの関連

DocumentBrokerの起動コマンドの実行によって，起動プロセスが生成されます。

起動プロセスは，サーバ監視プロセスを生成します。

サーバ監視プロセスは，サービスプロセス監視プロセスを生成して，その状態を監視します。

サービスプロセス監視プロセスは，サービスプロセスを生成して，その状態を監視します。

サービスプロセスは，クライアントからの要求に対して，文書空間へのサービスを供給します。

DocumentBrokerの終了コマンドの実行によって，停止プロセスが生成されます。

停止プロセスはサーバ監視プロセスに対して終了要求を実行し，終了要求に対するサーバ監視プロセスの応答を確認してから終了します。

2.　システム導入前の検討

この章では，DocumentBrokerを利用した文書管理システムの導入前に必要な検討項目について説明します。

＜この章の構成＞

2.1　適用業務の検討

2.2　文書管理に使用するオブジェクト

2.3　追加するクラスおよびプロパティの検討

2.4　文書空間で使用する文字コード種別の検討

2.5　XML文書管理機能を使用したシステム構築の検討

2.6　アクセス制御機能を使用したシステム構築の検討

2.7　メモリ所要量とディスク占有量の見積もり

2.8　データベース容量の見積もり

2.9　リファレンスファイル管理機能を使用する場合のファイルシステムのディスク容量の見積もり

2.10　File Link連携機能を使用する場合のファイルサーバ容量の見積もり

2.11　マルチレンディション管理機能を使用する場合の排他資源管理テーブルの見積り

2.1　適用業務の検討

DocumentBrokerは，基幹業務での文書管理システムの構築を支援します。この文書管理システムによって膨大な量の文書として蓄積されているデータを扱うことができるとともに，文書管理を基幹業務プロセスの一環として組み込むことで業務の効率を高めます。この節では，DocumentBrokerを使用した文書管理システムの導入時に検討していただきたいことについて説明します。

適用業務の分析

文書管理システムを適用する基幹業務の性質についての分析が必要です。検索機能を充実させたシステムが必要な業務か，手書きの書類を大量にデータとして登録する業務か，文書のライフサイクル管理が必要な業務か，異なる業務間の連携が必要な業務か，などといった基幹業務の性質について分析してください。

導入するプログラムの検討

適用業務の分析結果を基に，何を目的とした文書管理システムを構築するか，どの機能を使用するかを明確にして，その機能の実現に必要な前提プログラムおよび関連プログラムの導入について検討してください。

DocumentBrokerの機能については，「1.2　DocumentBrokerの機能」を参照してください。また，XML文書管理機能とアクセス制御機能の詳細については，「2.5　XML文書管理機能を使用したシステム構築の検討」，または「2.6　アクセス制御機能を使用したシステム構築の検討」を参照してください。

機能の実現に必要なプログラムとシステム構成については，「1.3　DocumentBrokerのシステム構成」を参照してください。

動作環境や機能のサポート範囲などは製品ごとに異なります。各製品のマニュアルを参照してこれらの内容を十分に確認した上で，必要なプログラムを導入して，業務内容に最も適した機能を持つ文書管理システムを構築してください。

業務で扱う文書の分析

文書管理システムの導入時には，企業や組織の基幹的な業務で扱っている文書についての分析が必要です。これらの文書の種類は非常に多く，組織や部門ごとに異なった文書を扱っています。このため，現行の業務内容でそれぞれの文書が果たしている役割について，よく分析する必要があります。分析する場合の要点を次に示します。

文書の特性についての分析
管理する対象となる文書の作成と業務との関係について分析します。例えば，「文書の作成方法」については，「一つの文書は複数人で作成する」，「XMLで作成する」，「文書をバージョン管理する」などといったことを分析します。この場合，扱っている文書の目的，作成者と作成方法，文書の利用方法，文書と業務との関係，文書同士の関係などを分析する必要があります。

文書のライフサイクルについての分析
基幹業務で扱っている文書のライフサイクルを分析します。この場合，「作成中／審査中／承認済／公開中／更新中」といった業務での文書の状態や，状態ごとの「作成／レビュー／審査／承認／公開／改訂／破棄」のようなイベントの実施形式などについてそれぞれ分析する必要があります。

文書に付加する情報の検討

対象の文書の分析結果を基にして，管理する文書に付加する情報を検討します。この作業では，管理する文書を種類ごとに分類して，それぞれに必要な付加情報を検討します。例えば，製品の設計ドキュメントを管理する場合は，「設計者名」，「開発完了予定日」，「特許情報」などの情報をあわせて管理することを検討します。なお，DocumentBrokerでは，「文書」は「クラス」に相当し，「付加情報」は「プロパティ」に相当します。したがって，ここでは，管理する文書の種類ごとにサブクラスを作成するとともに，文書の種類ごとに必要な付加情報については，各サブクラスにプロパティを追加していきます。

文書の管理方法の検討

DocumentBrokerでは，文書の管理方法によって，使用するオブジェクトが異なります。例えば，文書のバージョンを管理する場合はバージョン付き文書を，コンテナ機能を使用して文書をまとめて管理する場合はコンテナを，構成管理機能を利用して文書のバージョン構成を管理する場合は，構成管理コンテナを使用します。また，例えば，コンテナ機能を使用する場合は，コンテナに具体的でわかりやすい名称を付けるためのプロパティを追加することが考えられます。関連づけの種類ごとに，サブクラスを追加して，そのサブクラスを基にコンテナを作成していくような運用も考えられます。このように，文書の管理方法に合わせて，作成するオブジェクトについて検討し，管理方法に合わせたクラスおよびプロパティを効果的に定義する必要があります。

文書管理に使用するオブジェクトとオブジェクトの構成については，「2.2　文書管理に使用するオブジェクト」を参照してください。

また，クラスおよびプロパティの追加については，「2.3　追加するクラスおよびプロパティの検討」を参照してください。

文書空間で使用する文字コード種別の分析

文書管理システムで使用する文字コード種別を分析し，文書空間で使用する文字コード種別を選択します。

文字コード種別は，文書の付加情報やファイル名に使用する文字コード種別に応じて，Shift-JISまたはUTF-8を選択してください。

文書空間で使用する文字コード種別の検討については，「2.4　文書空間で使用する文字コード種別の検討」を参照してください。

2.2　文書管理に使用するオブジェクト

この節では，DocumentBrokerで文書を管理するために知っておく必要がある，DocumentBrokerのオブジェクトの概要，オブジェクトの構成，オブジェクトとデータベースとの関係について説明します。また，このマニュアルで使用するオブジェクト名と機能名についても説明します。

この節の内容を参照して，どのオブジェクトを使用して文書を管理するかを検討してください。また，「2.8　データベース容量の見積もり」でDocumentBrokerが使用するデータベースの容量を見積もる際には，オブジェクトの構成，DocumentBrokerのオブジェクトとデータベースの関係を参考にしてください。

＜この節の構成＞

2.2.1　DocumentBrokerのオブジェクト

2.2.2　このマニュアルで使用するオブジェクト名と機能名

2.2.3　バージョンなし文書の管理に必要なオブジェクト

2.2.4　バージョン付き文書の管理に必要なオブジェクト

2.2.5　マルチレンディション文書の管理に必要なオブジェクト

2.2.6　コンテナの管理に必要なオブジェクト

2.2.7　構成管理コンテナの管理に必要なオブジェクト

2.2.8　文書間リレーションの管理に必要なオブジェクト

2.2.9　XML文書の管理に必要なオブジェクト

2.2.10　独立データの管理に必要なオブジェクト

2.2.11　全文検索機能付き文書クラスを作成する場合に必要なオブジェクト

2.2.12　オブジェクトとデータベースの関連

2.2.1　DocumentBrokerのオブジェクト

ここでは，DocumentBrokerのオブジェクト，クラスおよびプロパティの関係について説明します。

＜この項の構成＞

(1)　DocumentBrokerオブジェクトとDMAオブジェクトの関係

(2)　DocumentBrokerのクラスとDMAクラスの関係

(1)　DocumentBrokerオブジェクトとDMAオブジェクトの関係

DocumentBrokerでは，文書および文書を管理する仕組みをオブジェクトの概念で表現します。DocumentBrokerの文書空間上に存在する文書やコンテナなどのオブジェクト（DocumentBrokerオブジェクト）は，データベース上に実体が存在するオブジェクトです。

DocumentBrokerでは，DMAのオブジェクトモデルに基づいたオブジェクト（DMAオブジェクト）を使用して文書を管理しており，DocumentBrokerオブジェクトは，複数のDMAオブジェクトを包含した形で構成されます。

図2-1　DocumentBrokerオブジェクトとDMAオブジェクトの関係

このマニュアルでは，DocumentBrokerオブジェクトを構成するDMAオブジェクトのうち，最上位に当たるオブジェクトをトップオブジェクトといいます。

DMAオブジェクトには，文書として表現するためのオブジェクト，文書をまとめるコンテナの役目をするオブジェクト，文書のバージョンを管理するためのオブジェクトなどがあります。DocumentBrokerでは，文書管理の用途に応じて，複数のDMAオブジェクトを，文書やコンテナなどのまとまった一つのオブジェクトとして扱います。

(2)　DocumentBrokerのクラスとDMAクラスの関係

DMAオブジェクトに対応するクラスがDMAクラスです。一つのDMAオブジェクトは，一つのDMAクラスを基に作成されます。DMAクラスには，文書を表すオブジェクトのクラス，コンテナを表すオブジェクトのクラスなどがあります。DocumentBrokerでは，DMAが規定する文書管理に必要なオブジェクトを作成するためのDMAクラス（クラス名がdmaClass_で始まるクラス）に加えて，拡張した機能を持つDMAクラス（クラス名がedmClass_で始まるクラス）を独自に提供しています。例えば，構成管理機能を持つDMAオブジェクトは，DocumentBrokerが拡張したDMAクラスを基に作成されます。

DocumentBrokerでは，文書管理に必要な複数のDMAクラスをまとめたクラスを提供しています。また，DocumentBroker Development Kitでは，文書管理に必要な操作をメソッドとして提供しています。DocumentBrokerのクラスを基にDocumentBrokerオブジェクトを作成することで，その機能を実現するために必要なDMAオブジェクトが作成され，メソッドを実行してDocumentBrokerオブジェクトを操作することで，その操作に必要なプロパティがDMAオブジェクトに設定されます。したがって，文書を表すDocumentBrokerオブジェクトを操作することで，文書を表すオブジェクト，文書の表現形式を管理するオブジェクト，文書のコンテントデータを管理するオブジェクトなどの複数のDMAオブジェクトを包含した，一つの文書が操作できます。

図2-2　DocumentBrokerでのオブジェクトの操作

2.2.2　このマニュアルで使用するオブジェクト名と機能名

ここでは，このマニュアルで使用するオブジェクト名と機能名について説明します。

このマニュアルでは，DocumentBrokerの機能について説明するときに，C++ クラスライブラリに対応するマニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」で使用している用語を使用します。

なお，オブジェクト名や機能名などの用語は，DocumentBroker Development Kitが提供するC++ クラスライブラリとJava クラスライブラリで異なる場合があります。それぞれのオブジェクト名と機能名の対応を次の表に示します。

表2-1　オブジェクト名と機能名の対応

分類 | C++ クラスライブラリの場合 | Java クラスライブラリの場合
DocumentBrokerオブジェクト名 | バージョンなし文書 | バージョンなし文書
バージョン付き文書 | バージョン付き文書
バージョンなしコンテナ | バージョンなしフォルダ
バージョンなし構成管理コンテナ | －
バージョン付き構成管理コンテナ | バージョン付きフォルダ
独立データ | 独立データ
パブリックACL | パブリックACL
機能名 | 文書間リレーション | 文書間リンク
コンテインメント | リンク

（凡例）

－：サポートしていません。

なお，このマニュアルでは，それぞれのオブジェクトをまとめて，次のような総称で表記することがあります。

コンテナ

「バージョンなしコンテナ」，「バージョンなし構成管理コンテナ」および「バージョン付き構成管理コンテナ」の総称として使用します。

構成管理コンテナ

「バージョンなし構成管理コンテナ」と「バージョン付き構成管理コンテナ」の総称として使用します。

次に，DocumentBroker Development KitのC++ クラスライブラリに対応するマニュアルで使用しているオブジェクト名と機能名を使用して，DocumentBrokerオブジェクトの構成や機能について説明します。なお，クライアントアプリケーションを構築するインターフェースごとにオブジェクトの構成や機能が異なる場合があります。オブジェクトや機能の名称，オブジェクトの構成およびオブジェクトの操作方法については，使用するクライアントアプリケーションを構築するインターフェースに応じて，次のマニュアルのどちらかを参照してください。

「DocumentBroker Version 3　クラスライブラリ　C++　解説」

「DocumentBroker Version 3　クラスライブラリ　Java　解説」

2.2.3　バージョンなし文書の管理に必要なオブジェクト

ここでは，バージョンなし文書のオブジェクト構成について説明します。

バージョンなし文書は，一つのバージョンだけを持ち，バージョンを管理しない文書です。バージョンなし文書は，文書の実体であるコンテント（Wordやテキストエディタなどのアプリケーションプログラムで作成された文書ファイル），プロパティ，およびレンディションについての情報を保持するオブジェクトによって構成されています。

バージョンなし文書を構成するDMAオブジェクトを次の図に示します。

図2-3　バージョンなし文書を構成するDMAオブジェクト

バージョンなし文書を構成するDMAオブジェクトについて説明します。なお，マルチファイル管理機能，リファレンスファイル管理機能またはFile Link連携機能を使用する場合，DMAオブジェクトの構成が一部異なります。

DocVersionオブジェクト
バージョンなし文書で，文書を表現するオブジェクトです。dmaClass_DocVersionクラスまたはそのサブクラスのオブジェクトです。

Renditionオブジェクト
文書を構成するファイルの形式を管理するオブジェクトです。

ContentTransferオブジェクト，ContentTransfersオブジェクト，ContentReferenceオブジェクト，またはContentFileLinkオブジェクト
文書の実体であるコンテントデータを管理するオブジェクトです。マルチファイル管理機能，リファレンスファイル管理機能およびFile Link連携機能を使用しない場合，ContentTransferオブジェクトを使用します。マルチファイル管理機能を使用する場合，ContentTransfersオブジェクトを使用します。リファレンスファイル管理機能を使用する場合，ContentReferenceオブジェクトを使用します。File Link連携機能を使用する場合，ContentFileLinkオブジェクトを使用します。

2.2.4　バージョン付き文書の管理に必要なオブジェクト

ここでは，バージョン付き文書のオブジェクト構成について説明します。

バージョン付き文書は，複数のバージョンを持ち，バージョンを管理する文書です。例えば，新規に作成した文書を編集する場合に，編集前の文書は残しておいて，編集後の文書を最新のバージョンとして管理するような運用が考えらる場合に，バージョン付き文書を使用します。

バージョン付き文書を構成するDMAオブジェクトを次の図に示します。

図2-4　バージョン付き文書を構成するDMAオブジェクト

バージョン付き文書の個々のバージョンは，バージョンなし文書に対応しています。

バージョン付き文書を構成するDMAオブジェクトについて説明します。なお，マルチファイル管理機能，リファレンスファイル管理機能またはFile Link連携機能を使用する場合，DMAオブジェクトの構成が一部異なります。

ConfigurationHistoryオブジェクト
文書の一連のバージョンを統括するオブジェクトです。dmaClass_ConfigurationHistoryクラスまたはそのクラスのサブクラスのオブジェクトです。

VersionSeriesオブジェクト
バージョンの構成を管理するオブジェクトです。

VersionDescriptionオブジェクト
VersionSeriesオブジェクトとDocVersionオブジェクトを結び付け，DocVersionオブジェクトがどのバージョンに対応するかを管理するオブジェクトです。

DocVersionオブジェクトまたはVersionTracedDocVersionオブジェクト
バージョン付き文書でのDocVersionオブジェクトは，文書の特定のバージョンに相当するオブジェクトです。dmaClass_DocVersionクラスまたはそのサブクラス（edmClass_VersionTracedDocVersionクラスを除く）のオブジェクトです。DocVersionオブジェクトで構成されるバージョン付き文書は，構成管理コンテナによる構成管理の対象になりません。
VersionTracedDocVersionオブジェクトは，文書の特定のバージョンに相当するオブジェクトです。dmaClass_DocVersionクラスのサブクラスである，edmClass_VersionTracedDocVersionクラスまたはそのサブクラスのオブジェクトです。VersionTracedDocVersionオブジェクトで構成されるバージョン付き文書は，構成管理コンテナによる構成管理の対象になります。

Renditionオブジェクト
文書を構成するファイルの形式を管理するオブジェクトです。

ContentTransferオブジェクト，ContentTransfersオブジェクト，ContentReferenceオブジェクト，またはContentFileLinkオブジェクト
文書の実体であるコンテントデータを管理するオブジェクトです。マルチファイル管理機能，リファレンスファイル管理機能およびFile Link連携機能を使用しない場合，ContentTransferオブジェクトを使用します。マルチファイル管理機能を使用する場合，ContentTransfersオブジェクトを使用します。リファレンスファイル管理機能を使用する場合，ContentReferenceオブジェクトを使用します。File Link連携機能を使用する場合，ContentFileLinkオブジェクトを使用します。

Reservationオブジェクト
チェックアウトとチェックインをすることで文書をバージョンアップする時点で，文書が予約されていることを示す一時的なDMAオブジェクトです。対象の文書をチェックアウトして予約すると，VersionSeriesオブジェクトにReservationオブジェクトが作成されます。バージョンを確定してチェックインをすると，Reservationオブジェクトは削除されて，VersionDescriptionオブジェクトに置き換えられます。

2.2.5　マルチレンディション文書の管理に必要なオブジェクト

ここでは，マルチレンディション文書のオブジェクト構成について説明します。

DocumentBrokerは，バージョンなし文書またはバージョン付き文書をマルチレンディション文書として管理できます。マルチレンディション文書では，一つの文書に1個のマスタレンディションと9個のサブレンディションを登録できます。また，マルチレンディションを使用する場合は，ファイルの形式に合わせてレンディションタイプを指定する必要があります。なお，同じレンディションタイプを重複して登録することはできません。

マルチレンディション文書を構成するDMAオブジェクトを次の図に示します。

図2-5　マルチレンディション文書を構成するDMAオブジェクト

マルチレンディション文書を構成するDMAオブジェクトについて説明します。なお，File Link連携機能を使用する場合，DMAオブジェクトの構成が一部異なります。

DocVersionオブジェクト
バージョンなし文書で，文書を表現するオブジェクトです。バージョンなし文書をマルチレンディション文書として管理する場合は，一つのDocVersionオブジェクトまたはVersionTracedDocVersionオブジェクトに複数のレンディションを登録できます。

DocVersionオブジェクトまたはVersionTracedDocVersionオブジェクト
バージョン付き文書で，文書の特定のバージョンに相当するオブジェクトです。
バージョン付き文書をマルチレンディション文書として管理する場合は，一つのDocVersionオブジェクトまたはVersionTracedDocVersionオブジェクトに複数のレンディションを登録できます。

Renditionオブジェクト
文書のレンディションタイプを管理するオブジェクトです。マスタレンディションを含めて最大10個登録できます。

ContentTransferオブジェクトまたはContentFileLinkオブジェクト
文書のコンテントである文書ファイルを格納するためのオブジェクトです。Renditionオブジェクトに対応するコンテントを指定して登録します。
File Link連携機能を使用しない場合，ContentTransferオブジェクトを使用します。File Link連携機能を使用する場合，ContentFileLinkオブジェクトを使用します。

2.2.6　コンテナの管理に必要なオブジェクト

ここでは，コンテナを利用した文書管理と，バージョンなしコンテナのオブジェクト構成について説明します。なお，構成管理コンテナについては，「2.2.7　構成管理コンテナの管理に必要なオブジェクト」で説明します。

＜この項の構成＞

(1)　コンテナによる文書管理

(2)　バージョンなしコンテナを構成するDMAオブジェクト

(1)　コンテナによる文書管理

コンテナを利用してオブジェクトを管理することを，コンテインメントといいます。コンテインメントは，次の3種類に区別できます。

直接型のコンテインメント
コンテナをフォルダのように利用して文書を管理する方法です。

参照型のコンテインメント
コンテナをインデクスのように利用して，コンテナと文書を関連づけて管理するような方法です。

構成管理型のコンテインメント
構成管理コンテナを利用してオブジェクトのバージョンを管理する方法です。

ここでは，直接型のコンテインメントと参照型のコンテインメントについて説明します。構成管理型のコンテインメントについては，「2.2.7　構成管理コンテナの管理に必要なオブジェクト」で説明します。

コンテナを利用してオブジェクトを管理する場合は，コンテナの用途によって次に示す点を考慮する必要があります。

直接型のコンテインメントの場合
文書の管理体系に沿ったコンテナを設計したり，必要に応じてコンテナの階層構造を設計したりする必要があります。例えば，プロジェクト名をキーにしてコンテナを作成すると，そのプロジェクトに関連する文書をまとめて管理できます。プロジェクト内で作成，管理する文書はさまざまな種類があるので，種類ごとにコンテナの下にコンテナを作成することもできます。また，書籍やマニュアルのように複数の章から構成される文書は章単位で分割して，一つのコンテナでまとめて管理できます。

参照型のコンテインメントの場合
管理する文書の内容や種類を考慮した管理体系を設計する必要があります。例えば，書籍を管理するようなシステムを構築する場合を考えます。書籍を分類していくと，実用書，文学作品，哲学，史学，政治学などのように，幾つかのカテゴリによって整理できます。また，その書籍が書かれた時代，地域，著者ごとに分類することもできます。このように管理する文書を分類して，その分類結果に合わせた管理体系をコンテナの階層化によって表現することで，ある特定のカテゴリに属する文書を，内容にかかわらないでまとめて管理できます。このようなコンテナによる分類体系を作成すると，コンテナを閲覧することで，あるカテゴリに関連する文書の集合を参照できます。

(2)　バージョンなしコンテナを構成するDMAオブジェクト

バージョンなしコンテナを構成するDMAオブジェクトを次の図に示します。

図2-6　バージョンなしコンテナを構成するDMAオブジェクト

バージョンなしコンテナを構成するDMAオブジェクトについて説明します。

Containerオブジェクト
バージョンなしコンテナを表すオブジェクトです。

DirectContainmentRelationshipオブジェクト
直接型のコンテインメントを表すオブジェクトです。

ReferentialContainmentRelationshipオブジェクト
参照型のコンテインメントを表すオブジェクトです。

2.2.7　構成管理コンテナの管理に必要なオブジェクト

ここでは，構成管理コンテナによる文書管理と，構成管理コンテナのオブジェクト構成について説明します。

＜この項の構成＞

(1)　構成管理コンテナによる文書管理

(2)　バージョンなし構成管理コンテナを構成するDMAオブジェクト

(3)　バージョン付き構成管理コンテナを構成するDMAオブジェクト

(1)　構成管理コンテナによる文書管理

実用書やマニュアルなどの出版物は，複数の章から構成されます。このような出版物の章に相当する部分を文書として扱い，全体の構成を管理する場合は，構成管理コンテナを使用します。構成管理コンテナは，「2.2.6　コンテナの管理に必要なオブジェクト」で説明したバージョンなしコンテナと同様に，複数の文書をまとめたり，分類したりするために使用します。さらに，構成管理コンテナは，包含されるオブジェクトのバージョンを固定して管理したり，常に最新のバージョンを追跡して管理したりすることで，包含されるオブジェクト全体の構成を管理できます。このように，構成管理コンテナを利用してオブジェクトのバージョンを管理することを，構成管理型のコンテインメントといいます。

構成管理コンテナは，それ自身がバージョンを保持できるバージョン付き構成管理コンテナと，バージョンを保持しないバージョンなし構成管理コンテナに分けられます。バージョン付き構成管理コンテナを使用する場合，包含されるオブジェクトの全体の構成を，バージョン付き構成管理コンテナのバージョンごとにまとめて管理できます。バージョンなし構成管理コンテナを使用する場合，包含されるオブジェクトの全体の構成だけを管理します。

(2)　バージョンなし構成管理コンテナを構成するDMAオブジェクト

バージョンなし構成管理コンテナのオブジェクト構成について説明します。

バージョンなし構成管理コンテナを構成するDMAオブジェクトを次の図に示します。

図2-7　バージョンなし構成管理コンテナを構成するDMAオブジェクト

バージョンなし構成管理コンテナを構成するDMAオブジェクトについて説明します。

ContainerVersionオブジェクト
バージョンなし構成管理コンテナを表すオブジェクトです。

DirectContainmentRelationshipオブジェクト
直接型のコンテインメントを表すオブジェクトです。

ReferentialContainmentRelationshipオブジェクト
参照型のコンテインメントを表すオブジェクトです。

VersionTraceableContainmentRelationshipオブジェクト
構成管理型のコンテインメントを表す場合に，コンテナ（VTContainer）とコンテナに包含されるオブジェクト（VTContainee）を関連づけるオブジェクトです。

(3)　バージョン付き構成管理コンテナを構成するDMAオブジェクト

バージョン付き構成管理コンテナのオブジェクト構成について説明します。

バージョン付き構成管理コンテナを構成するDMAオブジェクトを次の図に示します。

図2-8　バージョン付き構成管理コンテナを構成するDMAオブジェクト

バージョン付き構成管理コンテナを構成するDMAオブジェクトについて説明します。

ConfigurationHistoryオブジェクト
構成管理コンテナの一連のバージョンを統括するオブジェクトです。

VersionSeriesオブジェクト
バージョン構成を管理するオブジェクトです。

VersionDescriptionオブジェクト
VersionSeriesオブジェクトとContainerVersionオブジェクトを結び付け，ContainerVersionオブジェクトがどのバージョンに対応するかを管理するオブジェクトです。

ContainerVersionオブジェクト
バージョン付き構成管理コンテナの1バージョンに相当するオブジェクトです。

DirectContainmentRelationshipオブジェクト
直接型のコンテインメントを表すオブジェクトです。

ReferentialContainmentRelationshipオブジェクト
参照型のコンテインメントを表すオブジェクトです。

VersionTraceableContainmentRelationshipオブジェクト
構成管理型のコンテインメントを表す場合に，コンテナ（VTContainer）とコンテナに包含されるオブジェクト（VTContainee）を関連づけるオブジェクトです。

2.2.8　文書間リレーションの管理に必要なオブジェクト

ここでは，文書間リレーションを表すDMAオブジェクトについて説明します。

文書間リレーションは，文書を表す次のオブジェクト間の関連づけに使用できます。

バージョンなし文書

バージョン付き文書

文書間リレーションを表すDMAオブジェクトについて説明します。

Relationshipオブジェクト
文書間リレーションを表すオブジェクトです。Relationshipオブジェクトは，リレーション元文書に従属するオブジェクトです。
文書間リレーションは，リレーション元文書から操作します。リレーション元文書から文書間リレーションを設定した時点でこのオブジェクトが作成されて，リレーション元文書とリレーション先文書のトップオブジェクトを関連づけます。

バージョンなし文書間に文書間リレーションを設定した場合のオブジェクトの構成を次の図に示します。

図2-9　バージョンなし文書間に文書間リレーションを設定した場合のオブジェクトの構成

バージョン付き文書とバージョンなし文書間に文書間リレーションを設定した場合のオブジェクトの構成を次の図に示します。

図2-10　バージョン付き文書とバージョンなし文書間に文書間リレーションを設定した場合のオブジェクトの構成

2.2.9　XML文書の管理に必要なオブジェクト

XML文書は，バージョンなし文書またはバージョン付き文書として作成，管理します。バージョンなし文書については，「2.2.3　バージョンなし文書の管理に必要なオブジェクト」を参照してください。バージョン付き文書については，「2.2.4　バージョン付き文書の管理に必要なオブジェクト」を参照してください。

ここでは，XML文書を管理する場合の注意点と，XML文書管理機能によって設定される情報について説明します。

XML文書を管理する場合は，利用目的に応じて次に示す点に注意する必要があります。

XMLプロパティマッピング機能を使用する場合
マッピング先となるXML文書のプロパティを追加する必要があります。
また，登録するXMLファイルの論理構造を明確にして，どのタグをどのプロパティにマッピングするかという対応を定義してください。詳細については，「2.5　XML文書管理機能を使用したシステム構築の検討」を参照してください。

XMLインデクスデータ作成機能を使用する場合
バージョンなし文書またはバージョン付き文書の構成要素として，全文検索機能付き文書クラスを指定する必要があります。また，全文検索インデクス用プロパティを追加する必要があります。詳細については，「2.2.11　全文検索機能付き文書クラスを作成する場合に必要なオブジェクト」，および「2.5　XML文書管理機能を使用したシステム構築の検討」を参照してください。

それぞれのオブジェクトに対して，XML文書管理機能によって設定される情報について説明します。

バージョンなし文書の場合

XMLプロパティマッピング機能によって抽出した情報は，DMAオブジェクトのDocVersionオブジェクトのプロパティにマッピングできます。

バージョンなし文書に対するXMLプロパティマッピングの例を次の図に示します。

図2-11　バージョンなし文書に対するXMLプロパティマッピングの例

また，XMLインデクスデータ作成機能で作成したインデクスデータを基に，DocVersionオブジェクトの全文検索インデクス用プロパティが設定できます。

バージョン付き文書の場合

XMLプロパティマッピング機能によって抽出した情報は，DMAオブジェクトのConfigurationHistoryオブジェクトとDocVersionオブジェクト（またはVersionTracedDocVersionオブジェクト）のプロパティにマッピングできます。

例えば，タイトルや著者などバージョン共通の情報を表すタグの情報は，ConfigurationHistoryオブジェクトのプロパティにマッピングできます。バージョンや作成日などバージョンごとに異なる情報を表すタグの情報は，DocVersionオブジェクトのプロパティにマッピングできます。バージョン付き文書に対するXMLプロパティマッピングの例を次の図に示します。

図2-12　バージョン付き文書に対するXMLプロパティマッピングの例

また，XMLインデクスデータ作成機能で作成したインデクスデータを基に，DocVersionオブジェクトの全文検索インデクス用プロパティが設定できます。

2.2.10　独立データの管理に必要なオブジェクト

ここでは，独立データの概要と，独立データのオブジェクト構成について説明します。

独立データは，文書やコンテナなどのほかのオブジェクトの体系に関係しない，独立したデータを扱うオブジェクトです。

独立データを表すDMAオブジェクトを次の図に示します。

図2-13　独立データを表すDMAオブジェクト

IndependentPersistenceオブジェクト
独立データを表すオブジェクトです。edmClass_IndependentPersistenceクラスまたはそのサブクラスのオブジェクトです。

2.2.11　全文検索機能付き文書クラスを作成する場合に必要なオブジェクト

ここでは，全文検索機能付き文書クラスの作成に必要なDMAオブジェクトについて説明します。

全文検索は，全文検索機能を持ったクラスを基に作成された文書に対して実行できます。全文検索に必要な機能を持ったプロパティを追加したサブクラスのことを，全文検索機能付き文書クラスといいます。全文検索機能付き文書クラスは，dmaClass_DocVersionクラスのサブクラスとしてユーザが作成する必要があります。

なお，全文検索のうち，概念検索の対象になるクラスについては，全文検索用の機能を持ったプロパティのほかに，概念検索用の機能を持ったプロパティも追加します。

全文検索の対象になるオブジェクトを作成する場合は，全文検索機能付き文書クラスを，次に示すオブジェクトの構成要素として指定します。

バージョンなし文書

バージョン付き文書

文書の種類ごとにサブクラスを追加するような場合，そのサブクラスを全文検索機能付き文書クラスとするかどうかについても検討する必要があります。なお，全文検索機能付き文書クラスの追加については，「2.3.4　全文検索機能付き文書クラスの追加」を参照してください。

2.2.12　オブジェクトとデータベースの関連

ここでは，DocumentBrokerオブジェクトとデータベースの関係について説明します。

DocumentBrokerオブジェクトは，複数のDMAオブジェクトを包含した形で表現されるメモリ上のオブジェクトです。データベースのスキーマは，DMAのオブジェクトモデルと対応して構成されています。なお，DMAオブジェクトは，各DMAクラスに対応する表の1レコードになります。通常，DocumentBrokerオブジェクトに対してメソッドを発行すると，構成している複数のDMAオブジェクトへのメソッドとして配置され，該当する表が操作されます。

例えば，dmaClass_DocVersionクラスには，一つの表が対応します。この場合，DocVersionオブジェクトは，その表のレコードとして格納されます。また，dmaClass_DocVersionクラスのサブクラスには，（dmaClass_DocVersionクラスに対応する表と異なる）別の表が対応します。したがって，このサブクラスのオブジェクトは，サブクラスに対応する表のレコードとして格納されます。

DocumentBrokerオブジェクトおよびDMAオブジェクトとデータベースの対応を次の図に示します。

図2-14　DocumentBrokerオブジェクトおよびDMAオブジェクトとデータベースの対応

この図では，バージョンなし文書を構成するDMAオブジェクトとデータベースとの関係を示しています。バージョンなし文書は，次に示すDMAオブジェクトを包含したオブジェクトです。

DocVersionオブジェクト（dmaClass_DocVersionクラスのインスタンス）

Renditionオブジェクト（dmaClass_Renditionクラスのインスタンス）
ただし，ここでのRenditionオブジェクトは，マスタレンディションだけを表します。

ContentTransferオブジェクト（dmaClass_ContentTransferクラスのインスタンス）

データベースの表は，各DMAクラスに対応しており，DMAオブジェクトは，各DMAクラスに対応する表の1レコードに相当します。ただし，文書中の一つ目のRenditionオブジェクトのレコードは，dmaClass_DocVersionクラスに対応する表と同じ表に格納されます。二つ目のRenditionオブジェクトのレコードは，dmaClass_Renditionクラスに対応する表に格納されます。この例では，レンディションが一つだけ存在するので，Renditionオブジェクトのレコードが格納されているのは，dmaClass_DocVersionクラスに対応する表と同じ表です。

また，DMAオブジェクト同士の関連は，各オブジェクトが属性として保持する参照先のOIIDによって表現します。この場合，DocVersionオブジェクトは，ContentTransferオブジェクトのOIIDの値（この例では「302」です。実際はこれと異なる値が格納されます）を保持することで，参照先のContentTransferオブジェクトを特定します。

2.3　追加するクラスおよびプロパティの検討

この節では，クラスとプロパティの追加の概要，サブクラスとプロパティを追加できるクラス，全文検索機能を使用するために作成する全文検索機能付き文書クラスの追加について説明します。また，具体的な例を示してクラスとプロパティの追加について説明します。

DocumentBrokerでは，文書の管理方法に合わせてサブクラスを作成したり，クラスにプロパティを追加したりできます。この節の内容を参照して，サブクラスの作成とプロパティの追加について検討してください。なお，実際にサブクラスを作成して，クラスにプロパティを追加するためには，定義情報ファイルを作成する必要があります。定義情報ファイルの作成については，「3.11.2　データベースシステムの設定に必要なファイル」，および「4.7　定義情報ファイル」を参照してください。

＜この節の構成＞

2.3.1　クラスおよびプロパティの追加

2.3.2　サブクラスの追加

2.3.3　プロパティの追加

2.3.4　全文検索機能付き文書クラスの追加

2.3.5　クラスおよびプロパティの追加例

2.3.1　クラスおよびプロパティの追加

DocumentBrokerで扱うオブジェクトは，オブジェクト指向に基づいて作成されるため，あるクラスを基に作成されるオブジェクトは，そのクラスのインスタンスとして扱われ，クラスからすべてのプロパティを継承します。すなわち，あるクラスを基に作成したオブジェクトは，同じ種類のオブジェクトであり，同じプロパティが付加されることになります。

幾つかのクラスは，文書の種類や管理方法に合わせてサブクラスを追加できます。DocumentBrokerが提供するクラスやユーザが追加したサブクラスには，必要に応じてプロパティを追加できます。プロパティには，文書に共通的に追加すると便利な情報やその文書に固有の情報など，ユーザがオブジェクトの管理情報として保持したい情報を設定できます。また，追加したプロパティをキーにしてオブジェクトを検索できます。オブジェクトをどのように管理するか，どのように検索するかを考慮して，必要なサブクラスを作成し，管理情報として利用できるプロパティや検索のキーになるようなプロパティを追加して，プロパティの値を設定する必要があります。

DocumentBrokerで管理する文書はその種類ごとに分類できます。例えば，ある製品の購入を勧めるためのプレゼンテーション資料を管理する場合，プレゼンテーション資料作成用のサブクラスを定義して，そのサブクラスに対して，必要なプロパティを追加するような運用が考えられます。プレゼンテーション資料作成用に定義したクラスと文書の作成例を次の図に示します。

図2-15　プレゼンテーション資料作成用に定義したクラスと文書の作成例

この図では，プレゼンテーション資料作成用に追加定義したサブクラスに，次に示すプロパティを追加しています。

文書管理に必要な一般的な管理情報
「文書名」と「作成者名」というString型のプロパティを追加しています。

プレゼンテーション資料としての付加情報
プレゼンテーション先の顧客名を管理する「提案先」というプロパティと競合する会社名を管理する「競合先」というプロパティを追加しています。

このクラスを基に作成した文書（プレゼンテーション資料）は，共通のプロパティを持ちます。プロパティに値を入れることによって，それぞれの文書の内容をプロパティから判別したり，文書の検索性を向上させたりできます。

2.3.2　サブクラスの追加

DocumentBrokerが提供しているクラスに対して，必要に応じてサブクラスを追加できます。ここでは，サブクラスを追加できるクラスとサブクラスを追加する場合の注意事項について説明します。

＜この項の構成＞

(1)　サブクラスを追加できるクラス

(2)　サブクラスを追加する場合の注意事項

(1)　サブクラスを追加できるクラス

サブクラスを追加できるクラスは次のとおりです。

dmaClass_ConfigurationHistoryクラス

dmaClass_Containerクラス

dmaClass_DocVersionクラス

edmClass_ComponentDocVersionクラス

edmClass_ContainerVersionクラス

edmClass_IndependentPersistenceクラス

edmClass_Structクラス

edmClass_VersionTraceableContainerクラス

edmClass_VersionTracedDocVersionクラス

edmClass_VersionTracedComponentDocVersionクラス

(2)　サブクラスを追加する場合の注意事項

追加するサブクラスの名称には「dmaClass」および「edmClass」で始まる文字列は使用できません。

サブクラスの名称は重複しないようにしてください。

追加したサブクラスはスーパークラスのすべてのプロパティを継承します。

dmaClass_DocVersionクラスのサブクラスとして追加したサブクラスは，問い合わせ中に参照される検索可能なクラスとなります。

2.3.3　プロパティの追加

DocumentBrokerが提供するクラスとユーザが定義したクラスに対して，プロパティを追加できます。例えば，dmaClass_DocVersionクラスに「文書名」のプロパティを追加するような場合です。ここでは，プロパティを追加できるクラス，プロパティのデータ型，プロパティの基本単位，およびプロパティを追加する場合の注意事項について説明します。

＜この項の構成＞

(1)　プロパティを追加できるクラス

(2)　データ型の対応

(3)　プロパティの基本単位

(4)　プロパティを追加する場合の注意事項

(1)　プロパティを追加できるクラス

プロパティを追加できるクラスは次のとおりです。

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_PublicACLクラス

edmClass_Relationshipクラス

ユーザが追加したサブクラス

(2)　データ型の対応

追加できるプロパティのデータ型とHiRDBで対応するデータ型について次の表に示します。

表2-2　追加できるプロパティのデータ型とHiRDBで対応するデータ型

追加できるプロパティのデータ型
HiRDBで対応するデータ型

String

MVARCHAR

FREEWORD※

Integer32
INTEGER

Boolean

注※

全文検索機能付き文字列型プロパティは，HiRDB Text Search Plug-inのFREEWORD型を使用します。

(3)　プロパティの基本単位

プロパティは，データ型に従った値を1個持つか複数個持つかが決められています。これを基本単位といいます。基本単位には，次の種類があります。

値を1個持つプロパティ

データ型に従った値を一つだけ持つプロパティです。この基本単位はScalar型です。

値を複数個持つプロパティ

データ型に従った複数の値を一つの値として持つプロパティです。この基本単位はList型，Enumeration型およびVariableArray型です。

List型

すべてのデータ型の値をリスト化できます。ただし，異なる種類のデータ型は混在できません。したがって，List型のプロパティは，ListOfInteger32オブジェクト，ListOfStringオブジェクトのように，データ型ごとに値をリスト化するオブジェクトへのリファレンスを値として持ちます。

Enumeration型

すべてのデータ型の値を列挙します。ただし，異なる種類のデータ型は混在できません。また，DocumentBrokerはObject型の値だけを列挙できます。したがって，Enumeration型のプロパティは，EnumerationOfObjectオブジェクトのようにデータ型に従って値を列挙するオブジェクトへのリファレンスを値として持ちます。

VariableArray型

すべてのデータ型の値の一次元配列です。この一次元配列は可変長です。List型，Enumeration型と同様に，異なる種類のデータ型は混在できません。またDocumentBrokerはObject型の値だけを配列要素にできます。したがって，VariableArray型のプロパティは，VariableArrayOfObjectオブジェクトのようにデータ型に従った値を一次元配列として持つオブジェクトへのリファレンスを値として持ちます。

なお，追加できるプロパティは，基本単位がScalar型とVariableArray型であるプロパティだけです。

(4)　プロパティを追加する場合の注意事項

追加するプロパティの名称には「dmaProp」および「edmProp」で始まる文字列は使用できません。

全文検索機能付き文字列型プロパティを追加する場合には，メタ情報の追加コマンド（EDMAddMeta）を使用してください。文書空間の定義コマンド（EDMCDefDocSpace）および文書空間の構築コマンド（EDMCBuildDocSpace）の使用では，全文検索機能付き文字列型プロパティを追加できません。

2.3.4　全文検索機能付き文書クラスの追加

ここでは，全文検索機能を利用するための全文検索機能付き文書クラスの追加について説明します。

構造を持たないテキスト形式の文書（プレーンテキスト）および構造を持つ文書に対して全文検索を実行するためには，全文検索の対象となるサブクラスを追加する必要があります。全文検索の対象となるサブクラスのことを，全文検索機能付き文書クラスといいます。全文検索機能付き文書クラスとは，全文検索に必要な機能を持ったプロパティを追加したdmaClass_DocVersionクラスのサブクラスのことです。

全文検索のうち，概念検索の対象になるクラスについては，全文検索用の機能を持ったプロパティのほかに，概念検索用の機能を持ったプロパティも追加する必要があります。概念検索に必要な機能を持ったプロパティを追加したdmaClass_DocVersionクラスのサブクラスのことを特に，概念検索機能付き文書クラスといいます。

全文検索の対象になるオブジェクトを作成する場合は，全文検索機能付き文書クラスを，次に示すオブジェクトの構成要素として指定します。

バージョンなし文書

バージョン付き文書

全文検索機能付き文書クラスに追加するプロパティは，使用する検索機能によって異なります。ここでは，プレーンテキストおよび構造を持つ文書を対象として，次に示す文書クラスの定義について説明していきます。

全文検索機能付き文書クラス

概念検索機能付き文書クラス

なお，構造を指定した検索機能を使用する文書クラスの定義については，それぞれの文書クラスの定義に含めて説明します。

＜この項の構成＞

(1)　全文検索機能付き文書クラスの定義

(2)　概念検索機能付き文書クラスの定義

(1)　全文検索機能付き文書クラスの定義

ここでは，検索タームを指定する全文検索機能を使用する文書クラスの追加定義に必要なプロパティについて説明します。

(a)　追加するプロパティ

全文検索機能を使用する文書クラスを作成する場合，dmaClass_DocVersionクラスのサブクラスとして，次に示すプロパティを追加した文書クラスを作成する必要があります。

全文検索インデクス用プロパティ

edmProp_Scoreプロパティ

edmProp_RawScoreプロパティ

edmProp_DocLengthプロパティ

edmProp_ContentIndexStatusプロパティ

全文検索インデクス用プロパティを次の表に示します。

表2-3　全文検索インデクス用プロパティ

プロパティ | 全文検索 | 構造指定検索
edmProp_TextIndex | ○ | ×
edmProp_StIndex | ○ | ○
edmProp_ConceptTextIndex | ○ | ×
edmProp_ConceptStIndex | ○ | ○
edmProp_Content（Version 1互換用） | ○ | ○

（凡例）

○：実行できる。

×：実行できない。

(b)　必要に応じて追加するプロパティ

全文検索機能を使用する文書クラスの定義には，次に示すプロパティのうち，必要なプロパティを追加してください。

edmProp_TextIndexプロパティ
検索エンジンに対して，全文検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は，このプロパティを追加します。

edmProp_StIndexプロパティ
検索エンジンに対して，文書の構造を指定した全文検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は，このプロパティを追加します。

edmProp_ConceptTextIndexプロパティ
検索エンジンに対して，全文検索用または概念検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は，このプロパティを追加します。

edmProp_ConceptStIndexプロパティ
検索エンジンに対して，文書の構造を指定した全文検索用または概念検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は，このプロパティを追加します。

edmProp_Contentプロパティ
全文検索エンジンに対して，全文検索用および文書の構造を指定した全文検索用の登録情報を参照することを示すためのプロパティです。プレーンテキスト， XML文書のプロパティとして追加できます。なお，このプロパティは，Version 1との互換用のプロパティです。

edmProp_DocLengthプロパティ
検索した文書の長さを示すプロパティです。バイト単位で示します。

edmProp_ContentIndexStatusプロパティ
全文検索機能を使用する文書クラスに，全文検索インデクスの登録状態を示します。

edmProp_Scoreプロパティ
ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されて，値として設定されます。

edmProp_RawScoreプロパティ
ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されないで，値として設定されます。

文書の管理方法に合わせて，プロパティを追加してください。

全文検索機能を使用する文書クラスを定義する場合

1.，2.，3.，4.，および5.のプロパティのうち，どれか一つを必ず追加してください。また，6.および7.のプロパティを必ず追加してください。

なお，5.のプロパティは，Version 1との互換用として，1.，2.，3.，および4.のプロパティの代わりに追加できます。

全文検索結果のスコアを取得する場合

8.および9.のプロパティを必ず追加してください。

(2)　概念検索機能付き文書クラスの定義

ここでは，概念検索機能を使用する文書クラスの追加定義に必要なプロパティについて説明します。

(a)　追加するプロパティ

概念検索機能を使用する文書クラスを作成する場合，dmaClass_DocVersionクラスのサブクラスとして，次に示すプロパティを追加した文書クラスを作成する必要があります。

全文検索インデクス用プロパティ（概念検索機能用）

edmProp_DocLengthプロパティ

edmProp_ContentIndexStatusプロパティ

edmProp_Scoreプロパティ

edmProp_RawScoreプロパティ

edmProp_ScoreConceptプロパティ

全文検索インデクス用プロパティ（概念検索機能用）を次の表に示します。

表2-4　全文検索インデクス用プロパティ（概念検索機能用）

プロパティ | 概念検索 | 全文検索 | 構造指定検索
edmProp_ConceptTextIndex | ○ | ○ | ×
edmProp_ConceptStIndex | ○ | ○ | ○

（凡例）

○：実行できる。

×：実行できない。

(b)　必要に応じて追加するプロパティ

概念検索機能を使用する文書クラスの定義には，次に示すプロパティのうち，必要なプロパティを追加してください。

edmProp_ConceptTextIndexプロパティ
検索エンジンに対して，概念検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は，このプロパティを追加します。

edmProp_ConceptStIndexプロパティ
検索エンジンに対して，文書の構造を指定した概念検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は，このプロパティを追加します。

edmProp_DocLengthプロパティ
検索した文書の長さを示すプロパティです。バイト単位で示します。

edmProp_ContentIndexStatusプロパティ
概念検索機能を使用する文書クラスに，概念検索インデクスの登録状態を示します。

edmProp_Scoreプロパティ
ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されて，値として設定されます。

edmProp_RawScoreプロパティ
ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されないで，値として設定されます。

edmProp_ScoreConceptプロパティ
概念検索結果のスコアを取得するための形式的なプロパティです。

文書の管理方法に合わせて，プロパティを追加してください。

概念検索機能を使用する文書クラスを追加する場合

1.または2.のプロパティを必ず追加してください。また，3.および4.のプロパティを必ず追加してください。

全文検索結果のスコアを取得する場合

5.および6.のプロパティを必ず追加してください。

概念検索結果のスコアを取得する場合

7.のプロパティを必ず追加してください。

2.3.5　クラスおよびプロパティの追加例

ここでは，具体的な例を示して，クラスとプロパティの追加について説明します。

文書を作成，管理するために追加するクラス（dmaClass_DocVersionクラスおよびedmClass_VersionTracedDocVersionクラスのサブクラス）とプロパティについて，例に沿って説明します。

（例）

「問題点管理ドキュメント」と「設計ドキュメント」という2種類の文書を管理するためにクラスを追加します。この例で扱う文書の詳細情報を次の表に示します。

表2-5　文書の詳細情報

文書の種類
概要
付加情報
管理方法

問題点管理ドキュメント
製品の開発時の問題点を管理するための文書

問題点分類

問題点発生日時

検討結果

解決日時

対策日

直接型のコンテインメントを使用して管理する。

設計ドキュメント
製品開発の基となる設計書

文書名

執筆者

特許情報

執筆日時

構成管理型のコンテインメントを使用して，複数の設計書の構成を管理する。

この2種類の文書を管理するためのクラスを次のように設計します。追加するサブクラスとスーパークラスの対応を次の表に示します。

表2-6　追加するサブクラスとスーパークラスの対応

管理する文書 | 追加するサブクラス | スーパークラス
問題点管理ドキュメント | usrClass_ProbInfoDoc | dmaClass_DocVersion
設計ドキュメント | usrClass_DesignDoc | edmClass_VersionTracedDocVersion

問題点管理ドキュメントは，直接型のコンテインメントを使用して管理します。したがって，dmaClass_DocVersionクラスのサブクラスとしてusrClass_ProbInfoDocクラスを追加して管理します。

設計ドキュメントは，バージョン付き構成管理コンテナを使用して構成を管理する文書として作成します。したがって，edmClass_VersionTracedDocVersionクラスのサブクラスとしてusrClass_DesignDocクラスを追加して管理します。

次に，文書に対して付加する情報を各クラスのプロパティとして追加します。文書の付加情報とプロパティの対応を次の表に示します。

表2-7　付加情報とプロパティの対応

クラス名 | 付加情報 | プロパティ名 | データ型
usrClass_ProbInfoDoc | 問題点分類 | usrProp_Category | String型
問題点発生日時 | usrProp_DateOfProb | Integer32型
検討結果 | usrProp_Status | Boolean型
解決日時 | usrProp_DateOfResolve | Integer32型
usrClass_DesignDoc | 文書名 | usrProp_DocName | String型
執筆者 | usrProp_DocWriter | String型
特許情報 | usrProp_PatentInfo | String型
執筆日時 | usrProp_DateOfWrite | Integer32型

なお，追加するサブクラスは，全文検索機能付き文書クラスとして追加します。したがって，この表に示したプロパティのほかに，全文検索用のプロパティを追加する必要があります。全文検索機能付き文書クラスに追加するプロパティについては，「2.3.4　全文検索機能付き文書クラスの追加」を参照してください。

このように，管理する文書の種類や付加情報などから必要なクラスとプロパティを決定してから，その設計情報を基に必要なクラスおよびプロパティを追加してください。

2.4　文書空間で使用する文字コード種別の検討

この節では，文書空間で使用する文字コード種別について説明します。

DocumentBrokerの文書空間では，次のどちらかの文字コード種別を使用できます。一つの文書空間では複数の文字コード種別を使用できません。

Shift-JIS

UTF-8（使用できる文字コードの範囲はUCS-2またはUCS-4です）

DocumentBrokerクライアント，DocumentBrokerサーバ，およびデータベースで使用する文字コード種別は，必ず一致させてください。異なる文字コード種別を設定した場合の動作は保証しません。

また，文書空間で使用する文字コード種別がUTF-8の場合，DocumentBrokerで使用できる機能やコマンドに制限があります。文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能やコマンドの詳細は，「付録I　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド」を参照してください。

＜この節の構成＞

(1)　データベースの文字コード種別の設定

(2)　文書空間の文字コード種別の設定

(1)　データベースの文字コード種別の設定

データベース（HiRDB）の文字コード種別は，データベースの環境構築時にHiRDBの動作環境の設定コマンド（pdntenv）で設定します。HiRDBの動作環境の設定コマンドの詳細は，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　文書空間の文字コード種別の設定

文書空間の文字コード種別は，DocumentBrokerの環境構築時に次のどちらかで設定します。

メタ情報の初期設定コマンド（EDMInitMeta）の-Cオプション

文書空間情報ファイルのDocSpaceCharacterSetエントリ（文書空間の定義コマンド（EDMCDefDocSpace）を使用するとき）

メタ情報の初期設定コマンド（EDMInitMeta）については，「7.3　コマンドの文法」の「EDMInitMeta（メタ情報の初期設定）」を参照してください。文書空間情報ファイルについては，「4.16　文書空間情報ファイル」を参照してください。

2.5　XML文書管理機能を使用したシステム構築の検討

この節では，XMLを使用した文書管理について説明します。XML文書管理機能を使用したシステムを構築する場合に参照してください。なお，Linuxの場合，XML文書管理機能は使用できません。

＜この節の構成＞

2.5.1　DocumentBrokerで提供するXML文書管理機能

2.5.2　XMLプロパティマッピング機能

2.5.3　XMLインデクスデータ作成機能

2.5.4　DocumentBrokerが管理できるXML文書

2.5.1　DocumentBrokerで提供するXML文書管理機能

DocumentBrokerは，XML形式で記述されたファイルをバージョンなし文書およびバージョン付き文書のコンテントとして管理できます。

また，DocumentBrokerは，XML文書を管理するために次のような機能を提供しています。

XMLプロパティマッピング機能

XMLインデクスデータ作成機能

上記の機能を使用する場合に，前提プログラムとして必要なプログラムを次に示します。

XMLプロパティマッピング機能を使用する場合

HiRDB Adapter for XML

XMLインデクスデータ作成機能を使用する場合

HiRDB Adapter for XML

Preprocessing Library for Text Search

なお，XML文書を全文検索する場合には，HiRDB Text Search Plug-inも必要です。

2.5.2　XMLプロパティマッピング機能

XMLプロパティマッピング機能について説明します。

＜この項の構成＞

(1)　XMLプロパティマッピング機能とは

(2)　XMLプロパティマッピング機能の処理内容

(3)　XMLプロパティマッピング機能を使用するための設定

(4)　XMLプロパティマッピング機能の処理対象となる文字コード

(1)　XMLプロパティマッピング機能とは

XMLプロパティマッピング機能とは，XMLファイル中の，タグ間の文字列やタグの属性値を抽出して，XML文書のプロパティに設定するための情報を作成する機能です。この情報をXML文書のプロパティにマッピングすることによって，例えば，次の検索ができるようになります。

プロパティの一覧として情報を取得する。

属性検索の対象にする。

検索結果をソートする場合のキーにする。

XMLプロパティマッピング機能を使用するXMLファイルの例を次の図に示します。

図2-16　XMLプロパティマッピング機能を使用するXMLファイルの例

<prop>タグで囲まれた内容には，タイトル，著者名，著者の所属する組織名，版についての情報などが，それぞれのタグ内の文字列または属性値として記述されています。

ここでは，XMLファイルをバージョン付き文書のコンテントとして登録する場合について説明します。タイトルと著者の情報はバージョン付き文書のプロパティ（DMAオブジェクトのConfigurationHistoryオブジェクトのプロパティ）として，バージョン情報はバージョンなし文書（バージョン付き文書の一つのバージョン）のプロパティ（DMAオブジェクトのDocVersionオブジェクトのプロパティ）としてマッピングすることにします。

図2-16のXMLファイルに含まれる情報をXML文書のプロパティにマッピングした例を次の図に示します。

図2-17　XMLプロパティマッピング機能によってXML文書のプロパティにマッピングした例

この例では，<title>タグ間の情報は，バージョン付き文書のusrProp_titleプロパティにマッピングしています。<author>タグ間の情報は，複数の情報を表すタグを含むので，VariableArray型のプロパティであるusrProp_authorプロパティにマッピングしています。<author>タグの属性である，nameの値，<author>タグ間に含まれる<birthday>タグおよび<organization>タグ間の情報は，VariableArray型のプロパティの構成要素を表すusrProp_nameプロパティ，usrProp_birthdayプロパティおよびusrProp_organizationプロパティにそれぞれマッピングしています。

(2)　XMLプロパティマッピング機能の処理内容

XMLプロパティマッピング機能は，ユーザの定義に従ってXML文書のタグ間の文字列，またはタグの属性値から必要な情報を取得し，これをDocumentBrokerのプロパティリストに変換します。DocumentBrokerは，プロパティリストを生成するライブラリを提供します。XML文書管理機能を実現するためには，登録するXML文書の文書構造を表現するマッピング元XMLタグ定義，およびXML文書中のタグ名とその内容をマッピングするクラス名，プロパティ名の対応を定義したプロパティマッピング定義をユーザが作成する必要があります。ユーザが作成したプロパティマッピング定義で，HiRDB Adapter for XMLが提供する，機能およびマッピング定義情報に変換するコマンドを利用してXML文書を解析し，DocumentBrokerのプロパティリストを生成します。このライブラリを利用して生成されたプロパティリストをC++ クラスライブラリの引数に指定することで，プロパティマッピングができます。

(3)　XMLプロパティマッピング機能を使用するための設定

XMLプロパティマッピング機能を使用する場合は，登録するXMLファイルの論理構造を明確にして，マッピング先となるXML文書にプロパティを追加する必要があります。また，どのタグをどのプロパティにマッピングするかという対応を定義しておく必要があります。定義に必要なファイルには，次のファイルがあります。

マッピングセット定義ファイル（XMS）※1

マッピング定義ファイル（XMP）※1

マッピング元XMLタグ定義ファイル（DCD）※2

プロパティマッピング定義ファイル（DPM）※2

注※1

DocumentBrokerのコマンド，またはHiRDB Adapter for XMLによって生成される定義ファイルです。

注※2

ユーザが作成する定義ファイルです。

XML文書管理機能を使用するための定義ファイルの作成および生成については，「3.18　XML文書管理機能を使用する場合の設定」を参照してください。

(4)　XMLプロパティマッピング機能の処理対象となる文字コード

XMLプロパティマッピング機能は，次の文字コードで記述されたXMLファイルを対象に実行できます。

Shift-JIS

EUC

UTF-8

UTF-16

ただし，プロパティリストの文字列は，AIXの場合，すべてShift-JISに変換されます。

2.5.3　XMLインデクスデータ作成機能

ここでは，XMLインデクスデータ作成機能について説明します。

＜この項の構成＞

(1)　XMLインデクスデータ作成機能とは

(2)　XMLインデクスデータ作成機能の処理内容

(3)　XMLインデクスデータ作成機能を使用するための設定

(4)　XMLインデクスデータ作成機能の処理対象となる文字コード

(1)　XMLインデクスデータ作成機能とは

XMLインデクスデータ作成機能は，XMLファイルの構文解析を実行して，インデクスデータを作成し，タグ情報などを削除したプレーンテキスト形式の全文検索インデクスまたは構造指定検索用の全文検索インデクスを登録する機能です。

論理構造を持つ文書の構造を指定して実行する全文検索を，構造指定検索といいます。XMLインデクスデータ作成機能を使用して全文検索インデクスを作成したXML文書は，構造指定検索の対象になります。

構造指定検索で使用するXML文書の例を次の図に示します。

図2-18　構造指定検索で使用するXML文書の例

構造指定検索では，この図のXML文書1およびXML文書2に対して，「構造<chap>の下の構造<topic>の中に『W3C』が含まれる文書を検索する」といった検索ができます。この例の場合は，XML文書2が検索結果として取得できます。

(2)　XMLインデクスデータ作成機能の処理内容

XMLインデクスデータ作成機能では，Preprocessing Library for Text Searchを利用してXMLファイルの構文解析を実行し，全文検索用のインデクスデータ（ESIS-B形式のデータ）を生成します。このインデクスデータをXML文書の全文検索インデクスとして登録することで，XML文書の構造を指定した全文検索ができるようになります。

また，インデクスデータを作成するときには，Preprocessing Library for Text Searchのフィルタリング機能を使用して，XMLファイルの内容から不要なタグを表す情報を削除したり，不要なタグおよびそのタグに囲まれた文字列全体を削除したりできます。なお，削除するタグについての定義は，フィルタリング定義ファイルとして作成しておく必要があります。

(3)　XMLインデクスデータ作成機能を使用するための設定

XMLインデクスデータ作成機能を使用する場合は，フィルタリング定義ファイル（TFD）を作成して，削除するタグについて定義しておく必要があります。フィルタリング定義ファイルの作成については，「3.18　XML文書管理機能を使用する場合の設定」を参照してください。

また，構造指定検索の対象になるXML文書は，次の条件に従って作成する必要があります。

バージョンなし文書またはバージョン付き文書の構成要素として，全文検索を実行するためのプロパティを追加したdmaClass_DocVersionクラスまたはそのサブクラス（全文検索機能付き文書クラス）が指定されていること。

全文検索機能付き文書クラスに追加するプロパティのうち，全文検索インデクス用プロパティとして，次のプロパティのうち，どれか一つが追加されていること。

edmProp_StIndexプロパティ（構造指定検索用全文検索インデクス用）

edmProp_ConceptStIndexプロパティ（構造指定検索用概念検索インデクス用）

edmProp_Contentプロパティ（Version 1互換用全文検索インデクス用）

全文検索機能付き文書クラスについては，「2.3.4　全文検索機能付き文書クラスの追加」を参照してください。

(4)　XMLインデクスデータ作成機能の処理対象となる文字コード

XMLインデクスデータ作成機能は，次の文字コードで記述されたXMLファイルを対象に実行できます。

Shift-JIS

EUC

UTF-8

UTF-16

ただし，全文検索インデクスは，AIXの場合，すべてShift-JISで登録されます。このため，XML文書に対して構造指定検索を実行するための検索条件は，AIXの場合，すべてShift-JISで入力してください。

2.5.4　DocumentBrokerが管理できるXML文書

ここでは，DocumentBrokerがXML文書のコンテントとして管理できるXMLファイルについて説明します。

＜この項の構成＞

(1)　XMLファイルの形式

(2)　XMLプロパティマッピング機能が使用できるXMLファイルの例

(1)　XMLファイルの形式

DocumentBrokerは，次のようなXMLファイルをXML文書のコンテントとして管理できます。

外部参照を含まない，単一ファイルで構成されたXMLファイル

イメージファイルなど，構文解析の対象外の外部参照を含むXMLファイル
ただし，この場合も，XMLファイルそのものは単一ファイルで構成されることが必要です。

また，XMLプロパティマッピング機能を使用する場合は，XMLファイルの構造は，次の条件を満たす必要があります。

XML宣言が記載されている。

一つのタグで文書全体が囲まれている。

プロパティにマッピングするタグが，1回だけ出現する（VariableArray型のプロパティにマッピングするタグは除く）。

VariableArray型のプロパティにマッピングするタグの構造が，次の図に示す形式である。

図2-19　VariableArray型のプロパティにマッピングできるタグの構造

(2)　XMLプロパティマッピング機能が使用できるXMLファイルの例

XMLプロパティマッピング機能を使用できるXMLファイルの例を次の図に示します。なお，それぞれのタグ名は任意です。

図2-20　XMLプロパティマッピング機能を使用できるXMLファイルの例

次にXMLプロパティマッピング機能が使用できないXMLファイルの形式の例と，使用できる形式への変更例を説明します。

使用できない例1：プロパティにマッピングするタグが複数回出現するXMLファイル

例えば，次の図のような文書です。

図2-21　マッピングできない例1：プロパティに割り当てるタグが複数回出現するXMLファイルの例

例1のXMLファイルには，<title>タグで囲まれた情報が複数あるため，一つ値を取るプロパティにマッピングすることはできません。

複数回出現するタグの情報をプロパティにマッピングするためは，VariableArray型のプロパティとしてマッピングする方法があります。例えば，次の図のように複数回出現するタグの前後にVariableArray型のプロパティを表すタグを記述すれば，<title>タグの情報をプロパティにマッピングできます。

図2-22　例1を登録できる構造に変更した例

使用できない例2：要素が繰り返し出現してVariableArray型のプロパティを表すタグがないXMLファイル

例えば，次の図のようなXMLファイルです。

図2-23　マッピングできない例2：要素が繰り返し出現してVariableArray型のプロパティを表すタグがないXMLファイルの例

この例では，<author>タグと<organization>タグを繰り返していますが，出現順序が明確にならないため，VariableArray型のプロパティにマッピングできません。

この場合，次の図のようにVariableArray型のプロパティを表す<list>タグを追加して構造を変更すれば，VariableArray型のプロパティとして登録できます。

図2-24　例2を登録できる構造に変更した例

2.6　アクセス制御機能を使用したシステム構築の検討

この節では，DocumentBrokerのアクセス制御機能の概要およびアクセス制御機能を使用した文書管理について説明します。アクセス制御機能を使用したシステムを構築する場合に参照してください。

また，アクセス制御機能の詳細については，使用するクライアントアプリケーションを構築するインターフェースに応じて，次のマニュアルのどちらかを参照してください。

「DocumentBroker Version 3　クラスライブラリ　C++　解説」

「DocumentBroker Version 3　クラスライブラリ　Java　解説」

＜この節の構成＞

2.6.1　アクセス制御情報の概要

2.6.2　文書管理モデルへのアクセス制御の適用

2.6.1　アクセス制御情報の概要

DocumentBrokerのアクセス制御は，ユーザが文書空間にログインしたときに生成されるユーザ情報と，アクセス制御の対象であるDocumentBrokerオブジェクトに付与されたアクセス制御情報を使用してアクセス制御を実行します。

アクセス制御対象オブジェクトに設定されたアクセス制御情報には，次に示す3種類の情報があります。

アクセス制御フラグ（ACFlag）

アクセス制御リスト（ACL）

セキュリティACL

これらの情報は，組み合わせて使用できます。DocumentBrokerのアクセス制御情報の設定例を次の図に示します。

図2-25　DocumentBrokerのアクセス制御情報の設定例

＜この項の構成＞

(1)　アクセス制御フラグ（ACFlag）

(2)　アクセス制御リスト（ACL）

(3)　セキュリティACL

(1)　アクセス制御フラグ（ACFlag）

アクセス制御フラグ（以降，ACFlagと呼びます）は，アクセス制御対象オブジェクトのプロパティとして設定します。ACFlagを使用することで次のユーザに対してアクセス制御対象オブジェクトのアクセス権を設定できます。

ユーザ（アクセス制御対象のオブジェクトの所有者）

グループ

すべてのユーザ

ACFlagを使用すると，グループに対してアクセス権を設定できます。図2-25では，「文書に対して，文書の所有者は参照と更新が可能であり，グループは参照が可能である」というアクセス権を設定しています。このアクセス権の場合，全ユーザに対してはアクセス権を与えていないので，グループに所属していないユーザは文書を参照できません。

(2)　アクセス制御リスト（ACL）

アクセス制御リスト（以降，ACLと呼びます）は，任意のユーザまたは任意のグループごとにパーミッションを設定してアクセス権を与えるためのリストです。アクセス制御対象オブジェクトに付与されるアクセス制御情報の一部として使用されます。ACLを使用すると，ユーザ単位，およびグループ単位に異なるアクセス権を設定できます。図2-25では，「文書に対して，ユーザ『Tanaka』は文書の参照と更新が可能であり，グループ『2G』は参照が可能で，ユーザ『Suzuki』は参照と更新が可能である」というアクセス権を設定しています。

ACLは，設定されるオブジェクトや用途によって，次の3種類に分けられます。

ローカルACL

パブリックACL

セキュリティACL

ここでは，ACLに設定するACEと，ローカルACLおよびパブリックACLについて説明します。セキュリティACLについては，「(3)　セキュリティACL」で説明します。

(a)　アクセス制御エレメント（ACE）

ACLは，アクセス制御エレメント（以降，ACEと呼びます）のリストです。ACLとACEの関係を次の図に示します。なお，一つのACLが保持できるACEの個数は，64個までです。

図2-26　ACLとACEの関係

ACEには，ユーザ単位，およびグループ単位に許可する操作（例えば，参照や更新など）を設定します。ACEに設定する項目を説明します。

サブジェクト
アクセスを許可するユーザ，またはグループの識別子を設定します。図2-26では，「Tanaka」，「1G」および「self」がサブジェクトです。

サブジェクトタイプ
サブジェクトの種別を設定します。「ユーザサブジェクト（U）」，「グループサブジェクト（G）」，および「システムサブジェクト（S）」があります。

パーミッション
オブジェクトの作成，オブジェクトのプロパティ参照，オブジェクトのコンテント更新などの実行可能な操作の範囲を表す値です。オブジェクト作成権限を与えるパーミッション，オブジェクトの操作の範囲を定めるパーミッションがあります。図2-26では，「READ」，「WRITE」がパーミッションです。

(b)　ローカルACL

アクセス制御対象オブジェクトごとのアクセス権を設定するためのACLです。ローカルACLは，アクセス制御対象オブジェクトのプロパティとして，アクセス制御対象オブジェクトに一つだけ設定します。

(c)　パブリックACL

複数のオブジェクトに対して同じアクセス制御情報を設定したい場合に使用するACLです。パブリックACLを使用すると，複数の文書やコンテナの間で，同じアクセス制御情報を共有できます。

パブリックACLは，独立したオブジェクトとして文書空間に作成しておきます。このオブジェクトに共有したいACLを設定し，複数のオブジェクトから参照することで，ACLを共有できます。

パブリックACLの設定例を次の図に示します。

図2-27　パブリックACLの設定例

この図では，「設計書1」および「報告書1」が，パブリックACLを参照して同じアクセス制御情報を共有しています。また，「報告書1」は，ローカルACLも参照しています。このように，アクセス制御対象オブジェクトのACLとパブリックACLを混在させて使用することもできます。

パブリックACLは一つのアクセス制御対象オブジェクトに対して10個まで設定できます。また，パブリックACLは，パブリックACL自身の所有者を持ち，パブリックACLのプロパティに値を設定できます。なお，文書やコンテナを表すオブジェクトからパブリックACLを参照することを，バインドといいます。また，パブリックACLのバインドを解除することを，アンバインドといいます。

パブリックACLは，使用する場合に応じて文書に設定できます。例えば，文書の審査，承認の各段階で担当者が決まっている場合などでは，各担当者が持つ権利（参照権や更新権など）を記載したパブリックACLをあらかじめ作成しておくことができます。したがって，パブリックACLの運用に当たっては，その用途を検討して，あらかじめ設計しておくことをお勧めします。また，パブリックACLは複数のオブジェクトで共有されますので，作成時に明確な運用方法を決めてからアクセス制御情報を設定してください。

(3)　セキュリティACL

DocumentBrokerのアクセス制御機能は，ACFlagやACLに設定したアクセス制御情報を使用してアクセス制御を実行します。オブジェクトに対してアクセス権を持たないユーザでも，ACFlagやACLを変更すればアクセス権を取得できます。このため，ACFlagやACLは，適切な権利を持つユーザだけが変更でき，それ以外のユーザからは変更されないように制御する必要があります。

アクセス制御情報を変更するための権利を，アクセス制御情報変更権といいます。アクセス制御情報変更権は，各オブジェクトのプロパティに，ACLとして設定されています。このACLをセキュリティACLといいます。

一つのセキュリティACLが保持できるACEの個数は，64個までです。また，セキュリティACLに設定できるパーミッションは，「CHANGE_PERM（アクセス制御情報変更権）」です。

図2-25で，アクセス制御対象オブジェクトの所有者である「Abe」は，セキュリティACLで「Tanaka」に対して「CHANGE_PERM」を与えています。これによって，「Tanaka」は，アクセス制御対象オブジェクトのアクセス制御情報（ACL，ACFlag）を変更できます。

2.6.2　文書管理モデルへのアクセス制御の適用

ここでは，具体的な例を示して，DocumentBrokerが想定する文書管理モデルへのアクセス制御機能の適用について説明します。

＜この項の構成＞

(1)　文書のライフサイクルに合わせた文書管理

(2)　各フェーズの文書管理システムのアクセス制御

(3)　各フェーズの文書管理へのアクセス制御の適用例

(1)　文書のライフサイクルに合わせた文書管理

DocumentBrokerは，基幹業務で作成および使用される文書を対象に文書のライフサイクルに合わせた文書管理を実現します。文書のライフサイクルに合わせた文書管理とは，文書が作成され，審査および承認を経て，公開され破棄される過程を管理することです。ここで，DocumentBrokerによる文書管理を，文書のライフサイクルから，次に示す二つの段階に分けて説明します。

作成フェーズ（文書の公開前の段階）

公開フェーズ（文書の公開後の段階）

作成フェーズでの，業務担当者による文書の共有を目的とする文書管理システムを「作成フェーズの文書管理システム」と呼びます。また，公開フェーズでの文書登録，文書の参照，および文書の再利用を目的とする文書管理システムを「公開フェーズの文書管理システム」と呼びます。

(a)　作成フェーズの目的

作成フェーズの文書管理システムの主な目的は，共通の業務目的を達成するための文書の作成，審査，および承認の遂行と，それらの作業での文書の共有です。作成フェーズの文書の登録者，文書の利用者，および登録後の文書について次に説明します。

文書の登録者
文書の登録者は，その文書の作成者です。

文書の利用者
文書の利用者は，その文書の審査担当者や文書を承認する承認者です。また，すでに登録されている文書を参照して新しい文書を作成する作成者も文書の利用者になります。

登録後の文書
登録された文書は，頻繁に更新されます。

(b)　公開フェーズの目的

公開フェーズの文書管理システムの主な目的は，利用者が必要とする文書を迅速かつ正確に検索して，参照または公開することです。公開フェーズの文書の登録，文書の利用者，および公開後の文書について次に説明します。

文書の登録
文書の登録は，文書の作成者または文書の管理者です。

文書の利用者
文書の利用者は，組織内部および組織外部に存在します。

公開後の文書
公開された文書は，長期間，参照や再利用されます。

(2)　各フェーズの文書管理システムのアクセス制御

ここでは，作成フェーズの文書管理システム，および公開フェーズの文書管理システムでのアクセス制御について説明します。

(a)　作成フェーズの文書管理システムのアクセス制御

作成フェーズの文書管理システムのアクセス制御には，ローカルACL，ACFlag，およびパブリックACLを使用します。

作成フェーズの文書管理システムは，文書の作成，審査，および承認の段階で，文書の参照者が変化します。この場合，文書のライフサイクルを管理する管理者などが，あらかじめ作成フェーズの各段階に合わせたパブリックACLを作成しておく必要があります。例えば，「作成用パブリックACL」，「審査用パブリックACL」，「承認用パブリックACL」を作成しておきます。

文書に付与するパブリックACLを切り替えることで，作成，審査，および承認の各段階に応じたアクセス制御を実行できます。次に，作成，審査，および承認段階でのアクセス制御の実行例を示します。

作成段階のアクセス権の設定
文書の作成者が，作成中の文書に「作成用パブリックACL」を付与します。作成の初期段階には，「作成用パブリックACL」ではなく，ACFlagやローカルACLを使用してアクセス権を設定することもできます。
また，審査・承認を依頼するときに，担当者自身がアクセス権を付与できるようにしておく必要があります。文書の作成者は，審査担当者と承認担当者に対してセキュリティACLの「アクセス制御情報変更権」を付与しておきます。

審査段階のアクセス権の設定
文書の作成者が，審査を依頼する文書に「審査用パブリックACL」を付与します。「審査用パブリックACL」には，審査担当者が参照できるアクセス権が記載されています。審査担当者は，審査が完了した文書の承認を，承認者に依頼します。なお，文書の作成者は，文書を審査担当者に渡す前に，文書に付与されている「作成用パブリックACL」を解除しておく必要があります。

承認段階のアクセス権の設定
文書の審査担当者が承認を依頼する文書に「承認用パブリックACL」を付与します。承認用パブリックACLには，承認担当者が参照できるアクセス権が記載されています。なお，文書の審査担当者は，文書を承認担当者に渡す前に，文書に付与されている「審査用パブリックACL」を解除しておく必要があります。承認者は，承認が完了した文書に対して公開のための作業をして，公開します。

(b)　公開フェーズの文書管理システムのアクセス制御

公開フェーズの文書管理システムのアクセス制御には，パブリックACLを使用します。

公開フェーズの文書管理システムは，文書管理者が，あらかじめ公開用のパブリックACLを作成します。また，公開用パブリックACLを複数作成することで，公開する文書によって異なるアクセス権を設定できます。例えば，「グループ限定の公開用パブリックACL」，「社内の公開用パブリックACL」，「社外への公開用パブリックACL」などを作成しておきます。

公開用の文書を登録する場合，文書管理者または作成者が，文書に公開用のパブリックACLを付与します。この場合，付与するパブリックACLを変更することで，文書を公開する範囲を限定できます。また，公開する文書の所有者や，アクセス制御フラグなどを必要に応じて変更します。例えば，文書の所有者を作成者から文書管理者に変更することで，文書の作成者が，承認後の文書に対して自由にアクセス権を設定できないようにすることができます。ただし，文書の所有者の変更は，所有者だけ実行できます。文書の所有者を変更する場合は，変更前の所有者に変更を依頼する必要があります。

文書のアクセス権は，付与するパブリックACLを変えるだけで変更できます。同じパブリックACLを使用しているすべての文書のアクセス権を一括して変更する場合，そのパブリックACLの内容を変更するだけで，すべての文書のアクセス権を変更できます。

また，組織外の利用者に対しては，文書などのアクセス制御対象オブジェクトを作成できないようにすることもできます。

(3)　各フェーズの文書管理へのアクセス制御の適用例

ここでは，作成フェーズの文書管理，および公開フェーズの文書管理へのアクセス制御の適用例を説明します。

(a)　アクセス制御を運用するグループ

アクセス制御の適用例を説明する前提として，次の図に示すグループを想定します。このグループは，開発グループ，および設計グループによって構成されています。開発グループの「鈴木」は審査担当者で，「田中」は承認担当者です。また，設計グループの「高橋」は，開発グループの関係者です。

図2-28　グループの概要

なお，このグループで作成された文書は，審査，および承認を経て公開されます。

ここでは，次のようなアクセス制御の運用について説明します。

開発グループの「佐藤」による文書の作成

開発グループの「山田」および設計グループの「高橋」による文書のレビュー

開発グループの「鈴木」による文書の審査

開発グループの「田中」による承認および公開

文書の作成から，公開までの流れを次の図に示します。

図2-29　文書の作成から公開までの流れ

(b)　作成フェーズ

文書の作成
開発グループの「佐藤」が，文書を作成します。「佐藤」は，文書を作成した場合，次の図に示すように文書にアクセス制御情報を付与します。

図2-30　文書の作成

この場合，「佐藤」と同じグループに所属する「山田」に対して，ローカルACLに参照権を記載します。また，セキュリティACLで開発グループの「鈴木」および「田中」にアクセス制御情報変更権を与えます。これは，文書の審査および承認を依頼するときに，「鈴木」および「田中」がアクセス制御情報を変更できるようにするためです。

関係者に対する文書のレビューの依頼
文書の作成者である「佐藤」が，同じ開発グループの「山田」および設計グループ内の関係者である「高橋」にレビューを依頼します。この場合，作成用パブリックACLに，設計グループの「高橋」に対して参照権を記載して，文書に付与します。次の図に，「山田」および「高橋」が参照する場合の文書のアクセス制御情報を示します。

図2-31　文書の参照

文書の審査の依頼
文書作成者である「佐藤」は，作成した文書の審査を依頼します。「佐藤」は，作成した文書に審査用パブリックACLを付与して，開発グループの審査担当者である「鈴木」に文書を渡します。審査用パブリックACLには，審査担当者が文書を参照できるアクセス権が記載されています。なお，「佐藤」は，文書を「鈴木」に渡す前に，ローカルACLに記載されている「山田」に対する参照権を削除し，作成用パブリックACLを解除しておきます。次の図に，審査担当者の「鈴木」が審査する場合の文書のアクセス制御情報を示します。

図2-32　文書の審査

文書の承認の依頼
審査担当者である「鈴木」が，文書の承認を依頼します。この場合，「鈴木」は，審査した文書に承認用パブリックACLを付与して，開発グループの承認担当者である「田中」に文書を渡します。なお，「鈴木」は，文書を渡す前に，審査用パブリックACLを解除しておきます。承認用のパブリックACLには，承認者が文書を参照できるアクセス権が記載されています。次の図に，「田中」が承認する場合の文書のアクセス制御情報を示します。

図2-33　文書の承認

承認担当者である「田中」は，承認が完了した文書に対して，文書の公開のための作業を実行してから，文書を公開します。

(c)　公開フェーズ

文書を公開する場合，承認担当者である「田中」は，文書の作成者である「佐藤」に文書の所有者を「田中」へ変更するように依頼します。「佐藤」は，文書の所有者を「田中」に変更すると，文書に対してアクセス権を設定できなくなります。文書の所有者になった「田中」は，文書を公開するための作業として，セキュリティACLとACFlagを変更して，公開用のパブリックACLを付与します。次の図に，承認者の「田中」が文書を公開するときの文書のアクセス制御情報を示します。

図2-34　文書の公開

また，公開用のパブリックACLを変更することで，文書を公開する対象者によって，異なるアクセス権を設定できます。次の図に公開用のパブリックACLの例を示します。

図2-35　公開用のパブリックACL

2.7　メモリ所要量とディスク占有量の見積もり

この節では，DocumentBrokerのメモリ所要量とディスク占有量の見積もりについて説明します。

＜この節の構成＞

2.7.1　仮想メモリ所要量の見積もり

2.7.2　VariableArray型のプロパティが使用するメモリ所要量の見積もり

2.7.3　ディスク占有量の見積もり

2.7.1　仮想メモリ所要量の見積もり

仮想メモリ所要量は，次に示す計算式で算出してください。なお，仮想メモリが不足すると，動作が不安定になり異常終了することがありますので必要量を確保してください。

計算式（単位：メガバイト）

AIXの場合

TPBroker V3を使用するとき
26＋r＋（7＋r）×p＋（0.02＋a＋b）×u＋d

TPBroker V5を使用するとき
33＋r＋（10＋r）×p＋（0.02＋a＋b）×u＋d

Linuxの場合

192＋r＋（124＋r）×p＋（0.02＋a＋b）×u＋d

ただし，d＝e×s×c

仮想メモリの計算式に使用する変数のうち，d以外の変数に設定する値を次の表に示します。

表2-8　仮想メモリの計算式の変数に設定する値

変数
設定する値

r
メタ情報管理用に確保する共用メモリセグメントサイズ。
この値は，DocumentSpace構成定義ファイルの[Entry0001]セクションのXdkShmemSizeエントリの説明で記述されている計算式を基に算出してください。DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

p
サービスプロセス数

a

アクセスログを取得する場合

2

アクセスログを取得しない場合

0（ゼロ）

b
VariableArray型プロパティが使用するメモリ所要量。
算出方法の詳細については「2.7.2　VariableArray型のプロパティが使用するメモリ所要量の見積もり」を参照してください。

u
同時接続セッション数

e

ファイル転送機能を使用しない場合

2

ファイル転送機能を使用する場合

4

s
次の1.と2.で算出した値の中での最大値（単位：メガバイト）

マルチファイル文書の場合
DocumentSpace構成定義ファイルのBlobSubstrModeエントリに指定する値によって，算出値が異なります。
ALLの場合：一つの文書に格納するファイルの合計サイズの最大サイズ＋2.5
ELEMENTの場合：文書空間で管理する最大ファイルサイズ＋2.5
THRESHOLDの場合：BlobSubstrThresholdエントリ値＋2.5

上記以外の文書の場合
文書空間で管理する最大文書サイズ

DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

c
文書空間で管理する同時作業文書数

2.7.2　VariableArray型のプロパティが使用するメモリ所要量の見積もり

VariableArray型のプロパティが使用するメモリ所要量の算出について説明します。DocumentBrokerは，VariableArray型のプロパティの要素を格納する方法として，次の方法を提供しています。

HiRDBの繰り返し列に格納する方法

別表に要素を格納する方法

ここでは，VariableArray型のプロパティ「A」を例にして，それぞれの方法についてメモリ所要量の算出方法を説明します。メモリ所要量を算出する基となるVariableArray型のプロパティ「A」のデータ構造を次の図に示します。

図2-36　VariableArray型のプロパティ「A」のデータ構造

この図では，Lは実際に登録される要素数，Mはデータベースに定義した最大要素数を表します。それぞれの値は，複合データに設定した値を表します。複合データとは，複数の異なる型によって表されるデータです。VariableArray型のプロパティの要素の値を格納するために使用します。

値VX,Xのデータサイズ（単位はバイト）をdX,X，値VX,Xが格納される表の列に定義されているデータサイズ（単位はバイト）をDXとすると，1セッション当たりVariableArray型のプロパティ「A」を取得する場合に占有するメモリ量は，次に示す算出式で求めることができます。

ただし，次に示す算出式はBatchSizeHintエントリが1の場合の式です。BatchSizeHintエントリが2以上の場合，算出式の（ａ）および（ｂ）はBatchSizeHintエントリに指定した値を掛けた値になります。なお，BatchSizeHintエントリはDocumentSpace構成定義ファイル（docspace.ini）で指定できます。

HiRDBの繰り返し列に要素を格納するVariableArray型のプロパティの算出式
VariableArray型のプロパティ「A」を取得するために占有するメモリ量=（ａ）クライアント・サーバ間通信用領域＋（ｂ）DABrokerが確保する領域＋（ｃ）HiRDBのクライアントが確保する領域

（ａ）：
クライアント・サーバ間通信用領域 = 8 + ( 8 + 8×N + Σj=1,LΣi=1,N dij )×L

（ｂ）：
DABrokerが確保する領域 = ( (Σi=1,N (16 + Di)) + 2×( 1 + N ) )×M

（ｃ）：
HiRDBのクライアントが確保する領域 = ( (Σi=1,N(16 + Di)) + 2×( 1 + N ) )×M

別表に要素を格納するVariableArray型プロパティの算出式
VariableArray型のプロパティ「A」を取得するために占有するメモリ量=（ａ）クライアント・サーバ間通信用領域 ＋（ｂ）DABrokerが確保する領域＋（ｃ）HiRDBのクライアントが確保する領域

（ａ）：
クライアント・サーバ間通信用領域 = 8 + ( 8 + 8×N + Σj=1,LΣi=1,N dij )×L

（ｂ）：
DABrokerが確保する領域 = 136 + (Σi=1,NDi) + 2×( 4 + N )

（ｃ）：
HiRDBのクライアントが確保する領域 = 136 + (Σi=1,NDi) + 2×( 4 + N )

2.7.3　ディスク占有量の見積もり

DocumentBrokerでは，すべての文書および文書に付随する情報を，データベースシステムであるHiRDBに格納します。ディスク占有量として，HiRDBでデータベースシステムを構築するために必要なデータベースの容量と，プログラムファイルの容量を合計した量を確保してください。

また，BLOBデータの取得先を"$DOCBROKERDIR/tmp"下に一時ファイルとする場合は，BLOBデータ用の一時ファイルの容量も見積もってディスク占有量に加えてください。BLOBデータを一時ファイルとして取得するか，メモリを使用して取得するかは，DocumentSpace構成定義ファイル（docspace.ini）のBlobGettingMethodエントリに設定します。詳細については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

プログラムファイルの容量

各プログラムファイルのディスク占有量を確保してください。

データベースの容量

「2.8　データベース容量の見積もり」に従って値を算出してください。

BLOBデータ用の一時ファイルの容量

＝DocumentBrokerに同時に接続できるクライアントの最大数×1回の接続で取得するBLOBデータの大きさ

DocumentBrokerに同時に接続できるクライアントの最大数は，DocumentSpace構成定義ファイル（docspace.ini）の［Entry0001］セクションのSessionMaxエントリに指定する値です。

なお，作成された一時ファイルは，クラスのオブジェクトを破棄（デストラクタを実行）した時点で削除されます。

2.8　データベース容量の見積もり

ここでは，DocumentBrokerのデータベース容量の見積もりについて説明します。

＜この節の構成＞

2.8.1　データベース容量の見積もり方法

2.8.2　ユーザ用RDエリアの容量の見積もり

2.8.3　ユーザLOB用RDエリアの容量の見積もり

2.8.4　アクセス制御機能を使用する場合のデータベース容量の見積もり

2.8.1　データベース容量の見積もり方法

HiRDBでデータベースシステムを構築するために必要なデータベース容量として，次の容量を確保してください。

データベース容量 = RDエリアの容量 + システムファイルの容量

RDエリアは，HiRDBが管理する表およびインデクスを格納する論理的なエリアのことです。DocumentBrokerで使用するRDエリアを次の表に示します。

表2-9　DocumentBrokerで使用するRDエリア

分類 | RDエリアの種類 | 説明
システム用RDエリア | マスタディレクトリ用RDエリア | データベースシステムの情報を格納します。
データディレクトリ用RDエリア
データディクショナリ用RDエリア
システムLOB用RDエリア | データディクショナリLOB用RDエリア
レジストリ用RDエリア | レジストリ用RDエリア | HiRDB Text Search Plug-inを利用した全文検索機能を使用する場合に，HiRDB Text Search Plug-inのレジストリ情報を格納します。
レジストリLOB用RDエリア
ユーザ用RDエリア | ユーザ表用RDエリア | DocumentBrokerで扱う文書やコンテナのデータを格納します。
ユーザインデクス用RDエリア
ユーザLOB用RDエリア | コンテント格納用RDエリア | 文書のコンテントを格納します。
SGMLTEXTデータ格納用RDエリア | HiRDB Text Search Plug-inを利用した全文検索機能を使用する場合に，コンテントのテキストデータ，テキストデータのインデクスを格納します。
n-gramインデクス情報格納用RDエリア
全文検索機能付き文字列型プロパティのインデクス格納用RDエリア | HiRDB Text Search Plug-inを利用した文字列型プロパティに対する全文検索機能を使用する場合に，全文検索機能付き文字列型プロパティのデータのインデクスを格納します。

このマニュアルでは，DocumentBrokerで扱う文書やコンテナのデータを格納する，次のRDエリアの容量の算出方法について説明します。

ユーザ用RDエリア

ユーザLOB用RDエリア

ほかのRDエリアの容量およびシステムファイルの容量の算出方法については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。なお，レジストリ用RDエリアの容量の算出方法については，マニュアル「HiRDB Text Search Plug-in」も参照してください。

2.8.2　ユーザ用RDエリアの容量の見積もり

ここでは，DocumentBrokerで使用するユーザ用RDエリアの容量の見積もりについて説明します。なお，アクセス制御機能で使用する容量も加算して，RDエリアの容量を見積もる必要があります。アクセス制御機能を使用する場合の容量の算出方法については，「2.8.4　アクセス制御機能を使用する場合のデータベース容量の見積もり」を参照してください。

＜この項の構成＞

(1)　DocumentBrokerで使用するユーザ用RDエリア

(2)　ユーザ用RDエリアが使用するデータベースリソースの所要量

(3)　ユーザ用RDエリアの容量の見積もり方法

(4)　見積もりの例

(1)　DocumentBrokerで使用するユーザ用RDエリア

DocumentBrokerで管理する文書やコンテナは，DocumentBrokerオブジェクトとして，HiRDBに格納されて管理されます。DocumentBrokerオブジェクトは，複数のDMAオブジェクトを包含した形で表現されています。したがって，ユーザ用RDエリアの容量を見積もる場合，DocumentBrokerオブジェクトに包含されるDMAオブジェクトの構成を考慮して，容量を算出しておく必要があります。

DocumentBrokerで使用するユーザ用RDエリアを次の表に示します。

表2-10　DocumentBrokerで使用するユーザ用RDエリア

ユーザ用RDエリアの種類
説明

ユーザ表用RDエリア
次の情報を格納します。

DMAクラスに対応する表

DocumentBrokerのメタ情報

ユーザインデクス用RDエリア
次の情報を格納します。

DMAクラスに対応する表のインデクス

DocumentBrokerのメタ情報のインデクス

ユーザ用RDエリアには，表とそのインデクス，およびDocumentBrokerのメタ情報とそのインデクスを格納します。これらの容量は，文書やコンテナなどの数，定義されているプロパティなどから算出します。また，バージョン付き文書の場合は管理するバージョンの数，マルチレンディション文書の場合はレンディションの数など，文書の構成を考慮する必要があります。

(2)　ユーザ用RDエリアが使用するデータベースリソースの所要量

ここでは，ユーザ用RDエリアの容量を見積もるための目安として，DocumentBrokerのクラス（表）ごとに，各レコードのデータサイズ，および各表に格納するレコード数の見積もり方法を説明した一覧を示します。この一覧を参照して，どのようにRDエリアの容量を見積もるかについては，「(3)　ユーザ用RDエリアの容量の見積もり方法」で説明します。

ユーザ用RDエリア分のデータベースリソースの所要量を次の表に示します。なお，DocumentBrokerオブジェクトとDMAオブジェクト，DMAクラスの対応については，「2.2　文書管理に使用するオブジェクト」を参照してください。

表2-11　ユーザ用RDエリア分のデータベースリソースの所要量

種別
クラス（表名）
列数
データサイズ（バイト）
レコード数見積もり方法
備考

文書
DocVersion※1
11
573
バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2
－

Rendition
6
380
（バージョンごとのRendition数－1）×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2）
Renditionが一つの場合は，DocVersionの表に含まれます。

ContentReference
8
4949
バージョンごとのRendition数×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2）
リファレンスファイル管理機能を使用する場合にだけ必要なクラス。

ContentTransfer
6
605
バージョンごとのRendition数×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2）
－

ContentTransfers
12
629 + 543 × n
バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2
マルチファイル管理機能を使用する場合にだけ必要なクラス。
nは一つの文書に格納するファイルの最大数であり，EDMInitMetaコマンドの-cオプションで指定します。

ContentFileLink
6
774
バージョンごとのRendition数×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2）
File Link連携機能を使用する場合にだけ必要なクラス。

VersionTracedDocVersion※1
11
573
バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2
－

コンテナ
Container※1
5
176
バージョンなしコンテナ数
－

ContainerVersion※1
6
180
バージョン付き構成管理コンテナごとの平均バージョン数×バージョン付き構成管理コンテナ数＋バージョンなし構成管理コンテナ数
－

VersionTraceableContainer※1
5
176
バージョンなし構成管理コンテナ数
－

バージョン
ConfigurationHistory※1
6
228
バージョン付き文書数＋バージョン付き構成管理コンテナ数
－

VersionSeries
11
656
バージョン付き文書ごとのVersionSeries数×（バージョン付き文書数＋バージョン付き構成管理コンテナ数）
バージョン付き文書ごとのVersionSeries数は一つです。

VersionDescription
6
180
バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョン付き構成管理コンテナごとの平均バージョン数×バージョン付き構成管理コンテナ数
－

コンテインメント
DirectContainmentRelationship
4
172
DirectContainmentRelationshipオブジェクトを利用した関連するオブジェクトの個数
－

ReferentialContainmentRelationship
4
172
ReferentialContainmentRelationshipオブジェクトを利用した関連するオブジェクトの個数
－

VersionTraceableContainmentRelationship
7
280
VersionTraceableContainmentRelationshipオブジェクトを利用した関連するオブジェクトの個数
－

文書間リレーション
Relationship
5
176
文書間リレーションに使用しているRelationshipオブジェクトの個数
－

VTRelationship
13
496
文書間リレーションに使用しているVTRelationshipオブジェクトの個数
構成管理の対象となる文書間リレーションを使用する場合のクラス。

独立データ
IndependentPersistence※1
3
72
独立データオブジェクト数
－

全文検索
全文検索機能付き文書クラス
14
606
バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※2
全文検索用，および構造指定検索用のデータを格納する列を追加した文書クラス。

OIID
OIID
3
20
実行環境の数
最新のOIIDです。

VariableArray
Struct
3
84
VariableArray型プロパティの配列に格納する平均要素数×VariableArray型プロパティを定義するオブジェクト数
基本単位がVariableArray型のプロパティの配列の要素を定義する場合のクラス。

メタ情報
EDMS_METAMETA
3
33
1
－

EDMS_METAINI
3
158
2,200＋a×7＋b×5＋c
a：定義するユーザクラスの数
b：定義するユーザプロパティの数
c：各クラスに定義するVariableArray型のユーザプロパティの合計数

EDMSMETAREGENVID
5
554
実行環境の数
リファレンスファイル管理機能を使用する場合は，列数を6，データサイズを558バイトとして見積もってください。

EDMS_META_edms
5
527
700＋a×23＋b×7＋c＋d×6
a：定義するユーザクラスの数
b：各クラスに定義するVariableArray型のユーザプロパティの合計数
c：各クラスに定義するクラスに追加するユーザプロパティの合計数
d：全文検索機能付き文書クラスの数

EDMS_META_dmaclass
5
527
1,800
－

EDMS_META_dmaprop
5
527
3,200
－

EDMS_META_dmaproto
5
527
500
－

EDMS_META_dsclass
5
527
1,500＋a×48＋b＋c×6
a：「dmaClass_」で始まるクラスのサブクラスとして定義するユーザクラスの数
b：aの各ユーザクラス，dmaClass_DirectContainmentRelationshipクラス，およびdmaClass_ReferentialContainmentRelationshipクラスに定義するユーザプロパティの合計数
c：aのクラスのうち全文検索機能付き文書クラスの数

EDMS_META_dsprop
5
527
1,500＋a×43
a：「dmaClass_」で始まるクラスのサブクラスに定義するユーザプロパティの合計数
b：aのユーザプロパティに定義するオペレータの平均数

EDMS_META_dsqop
5
527
1,500
－

EDMS_META_edmclass
5
527
1,100＋a×50＋b＋c×6
a：「edmClass_」で始まるクラスのサブクラスとして定義するユーザクラスの数
b：aの各ユーザクラス，edmClass_VersionTraceableContainmentRelationshipクラス，edmClass_PublicACLクラス，およびedmClass_Relationshipクラスに定義するユーザプロパティの合計数
c：aのクラスのうち全文検索機能付き文書クラスの数

EDMS_META_edmprop
5
527
2,000＋a×43
a：「edmClass_」で始まるクラスおよびサブクラスに定義するユーザプロパティの合計数
b：aのユーザプロパティに定義するオペレータの平均数

EDMS_META_edmqop
5
527
600
－

EDMS_META_edmsys
5
527
100
－

EDMS_META_edmsysclass
5
527
400
－

EDMS_META_edmsysprop
5
527
200
－

EDMS_META_ssysobj
5
527
50
－

EDMS_META_edmnmclass
5
527
100＋a
a：定義するユーザクラスの数

EDMS_META_edmnmprop
5
527
200＋a
a：定義するユーザプロパティの数

EDMSMETAdocinfo
2
260
a×2＋b＋2
文書空間構築コマンド（EDMCBuildDocSpace）実行時だけ
a：文書空間情報ファイルに指定するセクション数
b：文書空間情報ファイルに指定するエントリの合計数

EDMSMETAclassdef
2
260
a×16＋b×10＋c×5＋d×9＋2
文書空間構築コマンド（EDMCBuildDocSpace）実行時だけ
a：定義するユーザクラスの数
b：各クラスに定義するユーザプロパティの合計数
c：全文検索機能付き文書クラスの数
d：定義するユーザインデクスの数

注※1

サブクラスごとに算出する必要があります。

注※2

バージョンなし文書は，バージョン付き文書の個々のバージョンに対応しない文書を指します。

(3)　ユーザ用RDエリアの容量の見積もり方法

ここでは，ユーザ用RDエリアの容量を見積もるための方法について説明します。ここで算出した値を基にして，実際に使用するディスク占有量を算出してください。ディスク占有量の算出方法については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

「(2)　ユーザ用RDエリアが使用するデータベースリソースの所要量」の表2-11の内容を参考にして，次の値を算出してください。

(a)　各表に格納するレコードの総数

表2-11のデータサイズおよびレコード数の見積もり方法を参考にして，文書数やコンテナの数などから，各表に格納するレコードの総数を算出してください。

(b)　各表に定義する列の総数

表2-11には，DocumentBrokerのシステムプロパティが使用する列数が示してあります。サブクラスを定義してユーザプロパティを追加した場合は，この表に示すスーパークラスの列数の値に，ユーザプロパティ数を加算して算出してください。

(c)　各列のデータサイズ

表2-11には，DocumentBrokerのシステムプロパティが使用するデータサイズが示してあります。サブクラスを定義してユーザプロパティを追加した場合は，この表に示すスーパークラスのデータサイズの値に，ユーザプロパティのデータサイズを加算してください。ユーザプロパティのデータサイズについては，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。対応するHiRDBのデータ型を基に，データサイズを算出してください。

(d)　インデクス

オブジェクトのプロパティに定義されるインデクスの算出については，データベース定義文出力コマンド（EDMCrtSql）によって出力されるデータベース定義文を参考にしてください。

EDMS_META_で始まるメタ情報の表には，次に示す複数列インデクスが一つ定義されます。

UNIQUE指定あり

キー長：136

EDMSMETAREGENVIDのメタ情報の表には，次に示す単一列インデクスが一つ定義されます。

UNIQUE指定あり

キー長：2

EDMSMETAdocinfoおよびEDMSMETAclassdefのメタ情報の表には，次に示す単一列インデクスが一つ定義されます。

UNIQUE指定あり

キー長：4

(4)　見積もりの例

ここでは，文書を管理する表の見積もりの例として，バージョン付き文書を管理する表の見積もりの例を示します。バージョン付き文書を管理する表の見積もりの例を次の図に示します。

図2-37　バージョン付き文書を管理する表の見積もりの例

この例では，バージョン付き文書で，三つのバージョンと二つのレンディションを管理しています。ユーザプロパティの追加はありません。例えば，このバージョン付き文書の文書数が1,000の場合，バージョン付き文書を管理する表の容量は次のように算出できます。

文書数×（文書情報＋（バージョン数×（バージョン情報＋（レンディション数－1）×Renditionオブジェクト＋（レンディション数×ContentTransferオブジェクト））））

＝1,000×（884＋（3×（753＋（2－1）×380＋（2×605））））

＝約8.0メガバイト

文書情報

＝ConfigurationHistoryのデータサイズ＋VersionSeriesのデータサイズ

＝228バイト＋656バイト

＝884バイト

バージョン情報

＝VersionDescriptionのデータサイズ＋DocVersionのデータサイズ

＝180バイト＋573バイト

＝753バイト

2.8.3　ユーザLOB用RDエリアの容量の見積もり

ここでは，DocumentBrokerで使用するユーザLOB用RDエリアの容量の見積もりについて説明します。

＜この項の構成＞

(1)　DocumentBrokerで使用するユーザLOB用RDエリア

(2)　ユーザLOB用RDエリアが使用するデータベースリソースの所要量

(3)　ユーザLOB用RDエリアの容量の見積もり方法

(1)　DocumentBrokerで使用するユーザLOB用RDエリア

DocumentBrokerで使用するユーザLOB用RDエリアを次の表に示します。

表2-12　DocumentBrokerで使用するユーザLOB用RDエリア

ユーザLOB用RDエリアの種類
説明

コンテント格納用RDエリア
文書の実体であるコンテントを格納します。
このRDエリアは必ず作成してください。

SGMLTEXTデータ格納用RDエリア
コンテントのテキストデータ（SGMLTEXT）を格納します。
HiRDB Text Search Plug-inを利用した全文検索機能を使用する場合には，このRDエリアを作成してください。

n-gramインデクス情報格納用RDエリア
コンテントのテキストデータのインデクス（n-gramインデクス）を格納します。
HiRDB Text Search Plug-inを利用した全文検索機能を使用する場合には，このRDエリアを作成してください。

全文検索機能付き文字列型プロパティのインデクス格納用RDエリア
全文検索機能付き文字列型プロパティのデータのインデクスを格納します。
HiRDB Text Search Plug-inを利用した文字列型プロパティに対する全文検索機能を使用する場合には，このRDエリアを作成してください。

ユーザLOB用RDエリアに格納するデータについて説明します。

コンテント

Wordやテキストエディタなどのアプリケーションプログラムで作成されたバイナリ形式のファイルです。コンテントは，dmaClass_ContentTransferクラス（マルチファイル文書の場合は，edmClass_ContentTransfersクラス）に対応する表に格納されます。

テキストデータ（SGMLTEXT）

コンテントから抽出されたテキスト形式のデータです。テキストデータ（SGMLTEXT）は，dmaClass_DocVersionクラスに対応する表に格納されます。

なお，SGML TEXTは，HiRDB Text Search Plug-inでプレーンテキストを扱う抽象データ型（SGMLTEXT型）のデータのことです。詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

n-gramインデクス

テキストデータ（SGMLTEXT）の列に対するインデクスデータです。n-gramインデクスは，dmaClass_DocVersionクラスに対応する表に格納されます。

なお，n-gramインデクスは，文書中のn文字（n-gram）の出現位置を登録するインデクスのことで，HiRDB Text Search Plug-inで全文検索を実行するときに使用されます。詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

全文検索機能付き文字列型プロパティのデータのインデクス

全文検索機能付き文字列型プロパティのデータの列に対するインデクスデータです。全文検索機能付き文字列型プロパティのインデクスデータは，全文検索機能付き文字列型プロパティを追加するサブクラスに対応する表に格納されます。

(2)　ユーザLOB用RDエリアが使用するデータベースリソースの所要量

ここでは，ユーザLOB用RDエリアの容量を見積もるための目安として，DocumentBrokerのクラス（表）ごとのデータサイズの見積もり方法を説明した一覧を示します。この一覧を参照して，どのようにRDエリアの容量を見積もるかについては，「(3)　ユーザLOB用RDエリアの容量の見積もり方法」で説明します。

ユーザLOB用RDエリア分のデータベースリソースの所要量を次の表に示します。なお，DocumentBrokerオブジェクトとDMAオブジェクト，DMAクラスの対応については，「2.2　文書管理に使用するオブジェクト」を参照してください。

表2-13　ユーザLOB用RDエリア分のデータベースリソースの所要量

分類
クラス
データサイズ（バイト）
備考

コンテント格納用
ContentTransfer
バージョンごとのRendition数×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※1）×1文書に格納するファイルのファイルサイズの平均値
文書の実体であるコンテントデータを管理するクラス。
なお，マルチファイル管理機能を使用する場合は，ContentTransfersクラスを使用します。

ContentTransfers
（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※1）×1文書に格納するファイルのファイルサイズの平均値

全文検索データ格納用
全文検索機能付き文書クラス
登録する文書のコンテントのサイズに従って算出※2
－

全文検索機能付き文字列型プロパティのインデクス格納用
全文検索機能付き文字列型プロパティを追加するサブクラス
オブジェクトに設定する全文検索機能付き文字列型プロパティのデータのサイズに従って算出※2
－

注※1

バージョンなし文書は，バージョン付き文書の個々のバージョンに対応しない文書を指します。

注※2

登録する文書のコンテントのサイズ，またはオブジェクトに設定するプロパティのデータのサイズを求めて，マニュアル「HiRDB Text Search Plug-in」に従って算出する必要があります。

(3)　ユーザLOB用RDエリアの容量の見積もり方法

ここでは，ユーザLOB用RDエリアの容量を見積もるための方法について説明します。ここで算出した値を基にして，実際に使用するディスク占有量を算出してください。ディスク占有量の算出方法については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

ユーザLOB用RDエリアに格納するデータの容量は，登録するコンテントのデータサイズや登録する文書の数などを考慮して，的確に見積もってください。

(a)　コンテントの容量

「(2)　ユーザLOB用RDエリアが使用するデータベースリソースの所要量」の表2-13の内容を参考にして，コンテント格納用RDエリアに格納するコンテントの容量を算出してください。レンディションの数，ファイルの数，文書の論理構造など，文書の構成を考慮して，登録する文書の総数と文書のコンテントの平均サイズから容量を算出してください。

(b)　全文検索機能で使用する容量

全文検索機能を使用するためには，全文検索機能付き文書クラスごとに，SGMLTEXTデータ格納用RDエリアとn-gramインデクス情報格納用RDエリアをそれぞれ作成する必要があります。全文検索機能を使用する場合のRDエリアについては，「4.5.1　RDエリア構成定義ファイルの概要」を参照してください。また，全文検索機能を使用するためのRDエリアの容量の見積もりについては，マニュアル「HiRDB Text Search Plug-in」を参照してください。

なお，HiRDB Text Search Plug-inに登録する文書サイズは，次に示す値（単位：バイト）を使用して算出してください。

(c)　文字列型プロパティに対する全文検索機能で使用する容量

文字列型プロパティに対する全文検索機能を使用するためには，オブジェクトに設定する全文検索機能付き文字列型プロパティごとに，プロパティのデータのインデクスを格納するためのRDエリアを作成します。文字列型プロパティに対する全文検索機能を使用する場合のRDエリアについては，「4.5.1　RDエリア構成定義ファイルの概要」を参照してください。また，文字列型プロパティに対する全文検索機能を使用するためのRDエリアの容量の見積もりについては，マニュアル「HiRDB Text Search Plug-in」を参照してください。

なお，HiRDB Text Search Plug-inに登録するプロパティのデータのサイズは，オブジェクトに設定する全文検索機能付き文字列型プロパティのデータのサイズと同じです。

2.8.4　アクセス制御機能を使用する場合のデータベース容量の見積もり

アクセス制御機能を使用する場合のデータベース容量の見積もり方法を説明します。なお，アクセス制御を使用しないため，アクセス制御対応のデータベーススキーマを定義しない場合は，この見積もりは不要です。

ここでは，アクセス制御機能を使用する場合のRDエリアの容量を見積もるための目安として，DocumentBrokerのクラス（表）ごとに，各表に定義する列数，各列のデータサイズ，および各表に格納するレコード数の見積もり方法を説明した一覧を示します。アクセス制御機能を使用する場合は，ここで算出した値を，「2.8.2　ユーザ用RDエリアの容量の見積もり」で算出した値に加算して，データベースの容量を見積もってください。

アクセス制御機能が使用するデータベースリソースの所要量を次の表に示します。

表2-14　アクセス制御機能が使用するデータベースリソースの所要量

分類
クラス（表名）
列数
データサイズ（バイト）
レコード数見積もり方法
備考

アクセス制御対象オブジェクト
DocumentBrokerオブジェクトのトップオブジェクトに該当する表
7
24＋u＋g＋17×n
すべてのDocumentBrokerオブジェクトのトップオブジェクト数

u：ユーザ識別子の最大長※1

g：グループ識別子の最大長※1

n：DocumentBrokerオブジェクトにバインドしたパブリックACLの平均の個数

ACL
edmClass_ACL
6
84＋（MAX※2（u，g）＋8）×（m＋n）
すべてのDocumentBrokerオブジェクトのトップオブジェクト数

u：ユーザ識別子の最大長※1

g：グループ識別子の最大長※1

m：DocumentBrokerオブジェクトのローカルACLに設定したACEの平均の個数

n：DocumentBrokerオブジェクトのセキュリティACLに設定したACEの平均の個数

パブリックACL
edmClass_PublicACL
8※3
88＋u＋（MAX※2（u，g）＋8）×（m＋n）※4
パブリックACLの個数

u：ユーザ識別子の最大長※1

g：グループ識別子の最大長※1

m：パブリックACLのローカルACLに設定したACEの平均の個数

n：パブリックACLのセキュリティACLに設定したACEの平均の個数

バインド
edmClass_BindRelationship
2
68
すべてのDocumentBrokerオブジェクトのトップオブジェクト数×DocumentBrokerオブジェクトごとのバインドするパブリックACLの平均の個数
なし

注※1

ユーザ識別子，グループ識別子の最大長を拡張しない場合，ユーザ識別子，グループ識別子の最大長はそれぞれ254バイトです。

ユーザ識別子の最大長を拡張する場合，ユーザ識別子の最大長は次のどちらかに指定する値です。

メタ情報の初期設定コマンド（EDMInitMeta）の-nオプション

文書空間情報ファイルのUserIDMaxLengthエントリ（文書空間の定義コマンド（EDMCDefDocSpace）を使用するとき）

グループ識別子の最大長を拡張する場合，グループ識別子の最大長は次のどちらかに指定する値です。

メタ情報の初期設定コマンド（EDMInitMeta）の-gオプション

文書空間情報ファイルのGroupIDMaxLengthエントリ（文書空間の定義コマンド（EDMCDefDocSpace）を使用するとき）

メタ情報の初期設定コマンド（EDMInitMeta）については，「7.3　コマンドの文法」の「EDMInitMeta（メタ情報の初期設定）」を参照してください。文書空間情報ファイルについては，「4.16　文書空間情報ファイル」を参照してください。

注※2

MAXは計算結果の最も大きい値を選ぶことを示しています。例えば，MAX（u，g）でuが254，gが512の場合，MAX（u，g）は512となります。

注※3

パブリックACLにユーザプロパティを追加した場合，追加したプロパティ数を加えて算出してください。

注※4

パブリックACLにユーザプロパティを追加した場合，追加したプロパティのデータサイズを加えて算出してください。

なお，表2-14の「レコード数見積もり方法」に記述されている「すべてのDocumentBrokerオブジェクトのトップオブジェクト数」とは，作成した文書やコンテナなどに含まれるオブジェクトの個数を表します。このオブジェクトを次に示します。

ComponentDocVersionオブジェクト

ConfigurationHistoryオブジェクト

Containerオブジェクト

ContainerVersionオブジェクト

DocVersionオブジェクト

IndependentPersistenceオブジェクト

VersionTraceableContainerオブジェクト

VersionTracedComponentDocVersionオブジェクト

VersionTracedDocVersionオブジェクト

2.9　リファレンスファイル管理機能を使用する場合のファイルシステムのディスク容量の見積もり

ここでは，リファレンスファイル管理機能を使用する場合の，ファイルシステムのディスク容量の見積もりについて説明します。なお，リファレンスファイル管理機能を使用しない場合，この見積もりは不要です。

ファイルシステムのディスク容量は，コンテント格納先ベースパスごとに見積もってください。コンテント格納先ベースパスごとに格納する文書の最大サイズを見積もり，見積もった値より大きいディスク容量を確保する必要があります。コンテント格納先ベースパスに対して格納する文書の最大サイズの見積もり式を次に示します。

表2-15　コンテント格納先ベースパスに対するデータサイズの見積もり

クラス | データサイズ（バイト） | 備考
ContentReference | バージョンごとのRendition数 × （バージョン付き文書ごとの平均バージョン数 × バージョン付き文書数 + バージョンなし文書数※） × 1文書に格納するファイルのファイルサイズの平均値 | リファレンスファイル管理機能を使用する場合にだけ必要なクラス。

注※

バージョンなし文書は，バージョン付き文書の個々のバージョンに対応しない文書を指します。

2.10　File Link連携機能を使用する場合のファイルサーバ容量の見積もり

ここでは，File Link連携機能を使用する場合の，ファイルサーバの容量の見積もりについて説明します。File Link連携機能を使用しない場合，この見積もりは不要です。なお，Linuxの場合およびTPBroker V5を使用している場合，File Link連携機能は使用できません。

DocumentBrokerが使用するファイルサーバのリソースの所要量を次の表に示します。

表2-16　ファイルサーバリソースの所要量

クラス | データサイズ（バイト） | 備考
ContentFileLink | バージョンごとのRendition数×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※1）×1文書に格納するファイルのファイルサイズの平均値※2 | File Link連携機能を使用する場合に必要なクラス。

注※1

バージョンなし文書は，バージョン付き文書の個々のバージョンに対応しない文書を指します。

注※2

フォルダを登録の対象とする場合は，フォルダ下に格納されたファイルのファイルサイズの総和の平均値になります。

2.11　マルチレンディション管理機能を使用する場合の排他資源管理テーブルの見積り

ここでは，マルチレンディション管理機能を使用する場合の，排他資源管理テーブルの見積もりについて説明します。なお，マルチレンディション管理機能を使用しない場合，この見積もりは不要です。

HiRDBのSQL最適化オプションに「DETER_AND_INDEXES」が指定されていない場合，ファイルの更新およびレンディションタイプの変更の際に，排他制御のためのHiRDBの排他資源管理テーブル不足エラーが発生することがあります。このため，サーバ当たりの排他制御用プールサイズに，次に示す計算式が成立する値を指定してください。SQL最適化オプションについては，マニュアル「HiRDB UAP開発ガイド」を参照してください。サーバ当たりの排他制御用プールサイズについては，マニュアル「HiRDB システム定義」を参照してください。

計算式

t ＞ r

ただし，t = p×c

排他資源管理テーブルの計算式に使用する変数に設定する値を次の表に示します。

表2-17　排他資源管理テーブルの計算式の変数に設定する値

変数
設定する値

t
排他資源管理テーブル数

p
サーバ当たりの排他制御用プールサイズ。この値はHiRDBのサーバ定義のpd_lck_pool_sizeに指定する値です。（単位：キロバイト）

c
32bitモードのHiRDB／シングルサーバまたはパラレルサーバの場合：6
64bitモードのHiRDB／シングルサーバまたはパラレルサーバの場合：4

r
（バージョンごとのRendition数－1）×（バージョン付き文書ごとの平均バージョン数×バージョン付き文書数＋バージョンなし文書数※1）×安全係数※2

注※1

バージョンなし文書は，バージョン付き文書の個々のバージョンに対応しない文書を指します。

注※2

安全係数として，1.3倍程度の余裕を見ておくことをお勧めします。

3.　環境設定

この章では，DocumentBrokerの環境設定について説明します。

＜この章の構成＞

3.1　環境設定の流れ

3.2　環境設定の準備

3.3　インストールとアンインストール

3.4　オペレーティングシステムでの環境設定

3.5　TPBrokerでの環境設定

3.6　DocumentBrokerの実行環境の作成

3.7　ユーザ管理機能の設定

3.8　文書空間の定義

3.9　アクセス制御機能を使用する場合の設定

3.10　データベースシステムでの環境設定

3.11　DocumentBrokerでデータベースシステムを使用するための設定

3.12　システム導入支援機能での設定

3.13　ファイル転送機能を使用する場合の設定

3.14　サービスプロセスを使用する場合の設定

3.15　複数の実行環境を構築する場合の設定

3.16　リファレンスファイル管理機能を使用する場合の設定

3.17　File Link連携機能を使用する場合の設定

3.18　XML文書管理機能を使用する場合の設定

3.1　環境設定の流れ

この節では，DocumentBrokerの環境設定の流れについて説明します。DocumentBrokerの環境を設定する順序を，次の図に示します。

図3-1　DocumentBrokerの環境設定の流れ

環境設定の概要

各プログラムの環境設定をする前の準備
各プログラムの環境設定をする前の準備として，前提プログラムのインストールやオペレーティングシステムにシステム管理者の登録などをします。

クライアントとサーバの通信の準備
クライアントとサーバ間の通信機能を使用するために必要な，TPBrokerの環境設定をします。

DocumentBrokerの実行環境の作成
DocumentBrokerの実行環境を作成します。

ユーザ管理の設定
DocumentBrokerには，幾つかのユーザ管理方法が用意されています。ここでは，利用環境に合わせたユーザ管理機能を設定します。なお，ここで設定したユーザ管理機能の内容は，次の文書空間の設定で必要になります。

DocumentBrokerサーバの設定
DocumentBrokerの文書空間に関連する内容を設定します。なお，ここで設定した内容は，次のデータベースシステムの環境設定で必要になります。

データベースシステムの設定
データベースシステムの環境設定と，DocumentBrokerでデータベースシステムを利用するために必要な環境設定をします。

オプション機能を利用するための設定
DocumentBrokerでは，オプション機能として幾つかの機能が用意されています。ここでは，使用するオプション機能に応じて，必要な環境設定をします。

なお，DocumentBrokerをクラスタリングシステムで運用する場合の環境設定については，「付録C　クラスタリングシステムでの運用」を参照してください。

3.2　環境設定の準備

この節では，DocumentBrokerの環境を設定する場合の準備について説明します。

＜この節の構成＞

(1)　システム管理者の決定

(2)　利用ユーザおよびグループの決定

(3)　DocumentBrokerの実行環境を作成するディレクトリの決定

(4)　DocumentBrokerクライアントとDocumentBrokerサーバの接続時の注意

(1)　システム管理者の決定

DocumentBrokerを運用，管理するシステム管理者を決定してください。システム管理者の設定は，スーパーユーザが実行してください。システム管理者は，DocumentBrokerのシステムディレクトリおよびシステムファイルの所有者として設定されます。また，運用コマンドはシステム管理者だけが実行できます。

また，DocumentBrokerのアクセス制御機能を使用する場合，セキュリティに関する運用管理のために，セキュリティ運用者を指定する必要があります。セキュリティ運用者については，「3.9.1(1)　セキュリティ運用者」を参照してください。

(2)　利用ユーザおよびグループの決定

DocumentBrokerを利用するユーザとユーザが所属するグループを決定してください。また，ここで決定した利用ユーザおよびグループは，ユーザ管理システムに登録してください。ユーザ管理システムについては，「3.7　ユーザ管理機能の設定」を参照してください。

DocumentBrokerのアクセス制御機能を使用する場合，DocumentBrokerに登録されたオブジェクトや，そのアクセス権を保守するために，セキュリティ管理者を必ず指定してください。セキュリティ管理者については，「3.9.1(2)　セキュリティ管理者」を参照してください。

(3)　DocumentBrokerの実行環境を作成するディレクトリの決定

DocumentBrokerの実行環境を作成するディレクトリを決定してください。

(4)　DocumentBrokerクライアントとDocumentBrokerサーバの接続時の注意

DocumentBrokerクライアントとDocumentBrokerサーバのバージョンが異なる場合の接続の整合性について説明します。

DocumentBrokerサーバがDocumentBrokerクライアントよりも新しい場合，接続を保証します。
ただし，DocumentBrokerサーバで使用する文書空間の文字コード種別とDocumentBrokerクライアントで使用する文字コード種別が異なる場合，DocumentBrokerクライアントからは接続できません。

DocumentBrokerクライアントがDocumentBrokerサーバのバージョンよりも古い場合，そのDocumentBrokerクライアントの機能セットの範囲で使用できます。ただし，DocumentBrokerクライアント02-10以前のファイル転送機能は使用できません。

DocumentBrokerクライアントがDocumentBrokerサーバのバージョンよりも新しい場合，接続は保証しません。ただし，Linux版のDocumentBrokerサーバ03-11の場合は，Windows版のDocumentBrokerクライアント 03-68以降と接続が可能です。

3.3　インストールとアンインストール

この節では，次に示すプログラムのインストールおよびアンインストールについて，説明します。

DocumentBroker Server

DocumentBroker Development KitまたはDocumentBroker Runtime

また，前提プログラムについてもインストールしてください。インストール方法については，各製品のマニュアルを参照してください。

＜この節の構成＞

3.3.1　インストール

3.3.2　アンインストール

3.3.3　インストール済みプログラムの一覧表示

3.3.1　インストール

DocumentBrokerのインストールディレクトリは，/opt/HiEDMSです。なお，デバイススペシャルファイル名やCD-ROMのマウントディレクトリは，使用する環境によって異なります。詳細については，オペレーティングシステムのマニュアルを参照してください。また，インストールの手順は，プログラムの提供媒体によって異なります。

＜この項の構成＞

(1)　インストールする場合の注意

(2)　CD-ROMからのインストール

(3)　DATからのインストール

(4)　バージョンアップする場合のインストールの方法

(1)　インストールする場合の注意

DocumentBroker Serverのインストール環境
DocumentBroker Serverは，次の製品がインストールされているマシンにはインストールできません。

DocumentBroker Repository Version 2

DocumentBroker Server Version 2

すでに該当する製品がインストールされている場合，次のどちらかの方法でインストールしてください。

該当する製品をアンインストールしてからインストールする

別のマシンにインストールする

DocumentBroker Development Kitのインストール環境
DocumentBroker Development Kitは，次の製品がインストールされているマシンにはインストールできません。

DocumentBroker Development Kit Version 2

DocumentBroker Runtime Version 2

DocumentBroker Runtime Version 3

DocumentBroker Web Component Version 2

すでに該当する製品がインストールされている場合，次のどちらかの方法でインストールしてください。

該当する製品をアンインストールしてからインストールする

別のマシンにインストールする

DocumentBroker Runtimeのインストール環境
DocumentBroker Runtimeは，次の製品がインストールされているマシンにはインストールできません。

DocumentBroker Development Kit Version 2

DocumentBroker Development Kit Version 3

DocumentBroker Runtime Version 2

DocumentBroker Web Component Version 2

すでに該当する製品がインストールされている場合，次のどちらかの方法でインストールしてください。

該当する製品をアンインストールしてからインストールする

別のマシンにインストールする

DocumentBroker RuntimeとDocumentBroker Development Kitを入れ換えてインストールする場合
すでにインストールされているプログラムのアンインストール後に，インストールしてください。なお，アンインストールの手順については，「3.3.2　アンインストール」を参照してください。

(2)　CD-ROMからのインストール

プログラムがCD-ROMで提供されている場合のインストールの手順を次に示します。

＜操　作＞

スーパーユーザ（id:root）としてオペレーティングシステムにログインする。

「mkdir/cdrom」を実行してCD-ROMをマウントする「/cdrom」ディレクトリを作成する。
「/cdrom」の部分には，CD-ROMをファイルシステムとしてマウントするディレクトリ名を指定してください。

DocumentBrokerのCD-ROMをCD-ROMドライブにセットする。

「mount -r -v cdfs /dev/dsk/c0t2d0 /cdrom」を実行してCD-ROMをマウントする。
「/dev/dsk/c0t2d0」および「/cdrom」の部分は使用する環境によって異なります。使用するデバイススペシャルファイル名およびCD-ROMファイルシステムを指定してください。

CD-ROMのセットアッププログラム「/cdrom/aix/setup /cdrom」を実行して日立PPインストーラを起動する。
初期画面が表示されます。なお，CD-ROMのディレクトリ名や，ファイル名は，lsコマンドで確認して，表示されたファイル名を入力してください。

「i」または「I」を入力して「I）Install Software」を選択する。
インストールできるプログラムの一覧が表示されます。

インストールするプログラムにカーソルを移動させて，スペースキーで選択する。
選択したプログラムの左側に「<@>」が付きます。なお，複数のプログラムを選択できます。

「i」または「I」を入力して「I）Install」を選択する。
プログラムをインストールするかどうかについてのメッセージが最下行に表示されます。

最下行に表示されるメッセージに対して「y」または「Y」を入力する。
インストールが始まります。ただし，「n」または「N」を入力すると，インストールが中止されて，手順7.で表示されたインストールできるプログラムの一覧が表示されます。

プログラムのインストールが終了したら，「q」または「Q」を入力して「Q)Quit」を選択して初期画面に戻る。
インストールを終了する場合，初期画面で「q」または「Q」を入力して「Q)Quit」を選択して終了します。

(3)　DATからのインストール

プログラムがDATで提供されている場合のインストールの手順を次に示します。

＜操　作＞

スーパーユーザ（id:root）としてオペレーティングシステムにログインする。

DocumentBrokerのテープをDATドライブにセットする。

「tar xf /dev/rmt/0m」を実行して日立PPインストーラを取り出す。
日立PPインストーラ「/etc/hitachi_setup」を取り出します。なお，使用環境によって，デバイススペシャルファイル名（「/dev/rmt/0m」の部分）が変わります。使用環境に合わせてファイル名を変更してください。

「/etc/hitachi_setup -i /dev/rmt/0mnb」を実行して日立PPインストーラを起動する。
初期画面が表示されます。なお，使用する環境によってデバイススペシャルファイル名（「/dev/rmt/0mnb」の部分）が変わります。使用環境に合わせてファイル名を変更してください。

「i」または「I」を入力して「I）Install Software」を選択する。
インストールできるプログラムの一覧が表示されます。

インストールするプログラムにカーソルを移動させて，スペースキーで選択する。
選択したプログラムの左側に「<@>」が付きます。なお，複数のプログラムを選択できます。

「i」または「I」を入力して「I）Install」を選択する。
プログラムをインストールするかどうかについてのメッセージが最下行に表示されます。

最下行に表示されるメッセージに対して「y」または「Y」を入力する。
インストールが始まります。ただし，「n」または「N」を入力すると，インストールが中止されて，手順6.で表示されたインストールできるプログラムの一覧が表示されます。

プログラムのインストールが終了したら，「q」または「Q」を入力して「Q）Quit」を選択して初期画面に戻る。
インストールを終了する場合，初期画面で「q」または「Q」を入力して「Q)Quit」を選択して終了します。

(4)　バージョンアップする場合のインストールの方法

DocumentBrokerを最新バージョンにバージョンアップするための上書きインストールの方法を次に示します。

＜操　作＞

起動しているプログラムを停止する。
停止するプログラムについては，「3.3.2(2)　アンインストールする前に停止しておくプログラム」を参照してください。

最新バージョンのプログラムをインストールする。
上書きインストールが実行されます。インストールの手順については，「3.3.1　インストール」を参照してください。

使用しなくなったファイルおよびディレクトリを削除する。
削除するファイルおよびディレクトリを次に示します。

/opt/HiEDMS/manual/<バージョン名>※¹/<製品名>※²以下のファイルおよびディレクトリ

/opt/HiEDMS/manual/<バージョン名>※¹/<製品名>※²

/opt/HiEDMS/manual/<バージョン名>※¹

注※1　バージョン名

すでにインストールされていたプログラムのバージョン名が，表示されます。例えば，すでにインストールされているプログラムのバージョンが03-00の場合，「0300」と表示されます。

注※2　製品名

インストールされていたプログラムが，DocumentBroker Serverの場合は，”server”と表示されます。また，インストールされていたプログラムが，DocumentBroker Development Kitの場合は，”devkit”と表示されます。

3.3.2　アンインストール

プログラムを再セットアップする場合，すでにインストールされているプログラムをアンインストールする必要があります。アンインストールする時の注意および手順を，次に説明します。

＜この項の構成＞

(1)　アンインストールする場合の注意

(2)　アンインストールする前に停止しておくプログラム

(3)　アンインストール

(4)　上書きインストールした場合のアンインストールの方法

(1)　アンインストールする場合の注意

プロパティマッピング機能を使用している場合，DocumentBroker Development KitまたはDocumentBroker Runtimeのアンインストールによって，DocumentBrokerクライアント環境下の「/opt/HiEDMS/client/etc/xml_files」ディレクトリに格納されているXML定義ファイルが，ディレクトリごと削除されます。

DocumentBroker Development KitまたはDocumentBroker Runtimeの再セットアップによってXML定義ファイルを取得する場合は，DocumentBrokerサーバの環境から再度コピーするか，またはバックアップから回復してください。なお，プロパティマッピング機能については，「3.18　XML文書管理機能を使用する場合の設定」を参照してください。

(2)　アンインストールする前に停止しておくプログラム

アンインストールする前に停止または終了しておくプログラムを次に示します。

DocumentBroker Serverをアンインストールする場合

DocumentBroker終了コマンド（EDMStop）の実行によって，DocumentBrokerを終了してください。

DocumentBroker Development KitおよびDocumentBroker Runtimeをアンインストールする場合

DocumentBrokerオブジェクト操作ツールおよびライブラリを使用しているプログラムを停止してください。また，ファイル転送サービスを開始している場合は，ファイル転送サービスを停止してください。

(3)　アンインストール

アンインストールの手順を次に示します。

＜操　作＞

スーパーユーザ（id:root）としてオペレーティングシステムにログインする。

起動しているプログラムを停止する。
停止するプログラムについては，「3.3.2(2)　アンインストールする前に停止しておくプログラム」を参照してください。

「/etc/hitachi_setup」を実行して日立PPインストーラを起動する。

「d」または「D」を入力して「D) Delete Software」を選択する。
アンインストールできるプログラムの一覧が表示されます。

アンインストールするプログラムにカーソルを移動させて，スペースキーで選択する。
選択したプログラムの左側に「<@>」が付きます。なお，複数のプログラムを選択できます。

「d」または「D」を入力して「D）Delete」を選択する。
プログラムをアンインストールするかどうかについてのメッセージが最下行に表示されます。

最下行に表示されるメッセージに対して「y」または「Y」を入力する。
アンインストールが始まります。ただし，「n」または「N」を入力すると，アンインストールが中止されて，手順5.で表示されたアンインストールできるプログラムの一覧が表示されます。

プログラムのアンインストールが終了したら，「q」または「Q」を入力して「Q）Quit」を選択して初期画面に戻る。
アンインストールを終了する場合，初期画面で「q」または「Q」を入力して「Q)Quit」を選択して終了します。

(4)　上書きインストールした場合のアンインストールの方法

上書きインストールした場合のアンインストールの方法について説明します。なお，上書きインストールについては，「3.3.1(4)　バージョンアップする場合のインストールの方法」を参照してください。

上書きインストールしたDocumentBrokerをアンインストールする場合，「3.3.2　アンインストール」で示している手順の実行だけでは削除されないファイルおよびディレクトリがあります。これらのファイルおよびディレクトリを削除する場合は，手動によって削除してください。このとき，ユーザはスーパーユーザでログインして，オペレーティングシステムのファイル削除コマンドおよびディレクトリ削除コマンドを使用して不要なファイルおよびディレクトリを削除してください。

手動で削除するファイルおよびディレクトリを次に示します。

/opt/HiEDMS/manual/<バージョン名>※¹/<製品名>※²以下のファイルおよびディレクトリ

/opt/HiEDMS/manual/<バージョン名>※¹/<製品名>※²

/opt/HiEDMS/manual/<バージョン名>※¹

/opt/HiEDMS/manual

/opt/HiEDMS

注※1　バージョン名

すでにインストールされていたプログラムのバージョン名が，表示されます。例えば，すでにインストールされているプログラムのバージョンが03-00の場合，「0300」と表示されます。

注※2　製品名

インストールされていたプログラムが，DocumentBroker Serverの場合は，”server”と表示されます。また，インストールされていたプログラムが，DocumentBroker Development Kitの場合は，”devkit”と表示されます。

3.3.3　インストール済みプログラムの一覧表示

日立PPインストーラで，すでにマシンにインストールされているプログラムの一覧を表示できます。プログラムの一覧を表示する手順を次に示します。

日立PPインストーラを起動する。
初期画面が表示されます。なお，日立PPインストーラの起動については，「3.3.1(2)　CD-ROMからのインストール」の手順5.，「3.3.1(3)　DATからのインストール」の手順4.，または「3.3.2(3)　アンインストール」の手順3.を参照してください。

「l」または「L」を入力して「L）List Installed Software」を選択する。
PP一覧表示画面が表示されます。この画面には，すでにマシンにインストールされているプログラムの一覧が表示されます。

PP一覧表示画面で「q」または「Q」を入力して「Q)Quit」を選択する。
初期画面に戻ります。なお，PP一覧表示画面で「p」または「P」を入力して「P) Print to」を選択すると，すでにインストールされているプログラムの一覧が「/tmp/hitachi_PPLIST」に出力されます。

3.4　オペレーティングシステムでの環境設定

この節では，オペレーティングシステムでの環境設定について説明します。

＜この節の構成＞

3.4.1　システム管理者の登録

3.4.2　パラメタのカスタマイズ

3.4.1　システム管理者の登録

オペレーティングシステムに，システム管理者を登録します。次の場合は，スーパーユーザ権限のあるユーザとして登録してください。

AIXの場合で，パスワードファイル（etc/passwd）を使用してユーザ管理をするとき

Linuxの場合で，シャドウパスワードファイル（etc/shadow）を使用してユーザ管理をするとき

なお，シャドウパスワードについては，オペレーティングシステムのマニュアルを参照してください。システム管理者の登録に必要な設定項目について，次の表に示します。

表3-1　システム管理者の登録に必要な設定項目

設定項目 | 説明
ユーザ登録 | ユーザ名 | /etc/passwdファイルに任意の名称を登録する。
ユーザ識別子 | /etc/passwdファイルに任意のユーザ識別子を登録する。
グループ識別子 | /etc/groupファイルに登録済みのグループ識別子を/etc/passwdファイルに登録する。
ホームディレクトリ | /etc/passwdファイルに既存のディレクトリをホームディレクトリとして登録する。
パスワード | passwdコマンドを使用して任意のパスワードを設定する。
グループ登録 | グループ名 | /etc/groupファイルに任意の名称を登録する。
グループ識別子 | /etc/groupファイルに任意の識別子を登録する。ここで登録したグループ識別子と同じ識別子をユーザ登録の項目「グループ識別子」に登録する。

3.4.2　パラメタのカスタマイズ

ここでは，DocumentBrokerを使用する場合に，オペレーティングシステムで設定するパラメタの推奨値について説明します。

＜この項の構成＞

(1)　AIXの場合

(2)　Linuxの場合

(1)　AIXの場合

AIXの場合のパラメタの変更手順を次に示します。

スーパーユーザとしてオペレーティングシステムにログインする。

パラメタに値を設定する。
パラメタに設定する値は，表3-2に示す推奨値よりも大きい値に設定してください。ただし，data_hardおよびnofilesには，表3-3に示す値を設定してください。値を変更する場合については，オペレーティングシステムのシステム管理インタフェース・ツール（SMIT）やオペレーティングシステムの提供するほかのコマンドを利用できます。SMITの使用方法およびパラメタの詳細については，オペレーティングシステムのマニュアルを参照してください。

表3-2　オペレーティングシステムで設定するパラメタと推奨値（AIXの場合）

パラメタ | 推奨値
maxuproc | 512
ライセンス数 | 64

表3-3　オペレーティングシステムで設定するパラメタと設定値（AIXの場合）

パラメタ | 設定値
data_hard | 134217728​（0x08000000​）以上を設定する。
nofiles | DocumentSpace構成定義ファイルでの設定値に依存する。

nofilesに設定する値について

nofilesに設定する値は，DocumentSpace構成定義ファイルに指定するProcessエントリおよびSessionMaxエントリの値を基に，次の計算式aを使用して算出してください。

a：nofiles >= ( SessionMax設定値 / Process設定値) × 8＋40

ただし，次に示す計算式ｂで得られる値が計算式ａで得られる値を超える場合，計算式ｂで得られる値を設定してください。

b：nofiles >= SessionMax設定値＋50

また，多数のクライアントから同時接続したり，長大な文書にアクセスするようなユーザ環境では，DocumentBroker Serverが無応答になったりメモリ不足になったりする場合があります。このような場合，次に示すパラメタについて見直す必要があります。

オペレーティングシステムのシステムパラメタ
stack_hard

HiRDBのpdsysファイルのパラメタ
pd_max_users

(2)　Linuxの場合

Linuxの場合のパラメタの変更手順を次に示します。

スーパーユーザとしてオペレーティングシステムにログインする。

パラメタに値を設定する。
パラメタに設定する値は，表3-4に示す推奨値よりも大きな値に設定してください。ただし，nofileには，表3-5に示す値を設定してください。

表3-4　オペレーティングシステムで設定するパラメタと推奨値（Linuxの場合）

パラメタ | 推奨値
nproc | 512

表3-5　オペレーティングシステムで設定するパラメタと設定値（Linuxの場合）

パラメタ | 設定値
nofile | DocumentSpace構成定義ファイルでの設定値に依存する。

nofileに設定する値について

nofileに設定する値は，DocumentSpace構成定義ファイルに指定するProcessエントリおよびSessionMaxエントリの値を基に，次の計算式aを使用して算出してください。

a：nofile >= ( SessionMax設定値 / Process設定値) × 8＋40

ただし，次に示す計算式ｂで得られる値が計算式ａで得られる値を超える場合，計算式ｂで得られる値を設定してください。

b：nofile >= SessionMax設定値＋50

また，多数のクライアントから同時接続したり，長大な文書にアクセスするようなユーザ環境では，DocumentBroker Serverが無応答になったりメモリ不足になったりする場合があります。このような場合，次に示すパラメタについて見直す必要があります。

オペレーティングシステムのシステムパラメタ
stack_size

HiRDBのpdsysファイルのパラメタ
pd_max_users

3.5　TPBrokerでの環境設定

この節では，DocumentBrokerの前提プログラムであるTPBrokerで必要な環境設定について説明します。ただし，すでにTPBrokerのシステムを構築している場合は，ここで説明する設定は不要です。

＜この節の構成＞

(1)　TPBrokerシステムの構築

(2)　スマートエージェントの設定

(1)　TPBrokerシステムの構築

DocumentBrokerはCORBA仕様に基づいたORBであるTPBrokerを利用したCORBA通信を利用します。したがって，DocumentBrokerの環境を設定する前に，TPBrokerのシステムを構築しておいてください。TPBrokerシステムの構築については，マニュアル「TPBroker　ユーザーズガイド」を参照してください。

(2)　スマートエージェントの設定

スマートエージェントは，ネットワーク上で使用できるオブジェクトを管理し，クライアントからサーバオブジェクトへのアクセスを実現します。DocumentBrokerを使用するためには，ネットワーク内に少なくとも一つのホスト上でスマートエージェントを開始しておく必要があります。スマートエージェントに関する設定や開始方法については，マニュアル「VisiBroker for C++ プログラマーズガイド」（TPBroker V3を使用する場合）または「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド」（TPBroker V5を使用する場合）を参照してください。

3.6　DocumentBrokerの実行環境の作成

この節では，DocumentBrokerの実行環境の作成について説明します。

＜この節の構成＞

3.6.1　DocumentBroker実行環境ディレクトリの作成

3.6.2　環境変数の設定（AIXの場合）

3.6.3　環境変数の設定（Linuxの場合）

3.6.4　DocumentBrokerの実行環境作成コマンドの実行

3.6.5　文書空間識別子の定義

3.6.1　DocumentBroker実行環境ディレクトリの作成

DocumentBrokerの実行環境を格納するためのディレクトリを作成してください。ここで作成したディレクトリの下にDocumentBrokerの各種ディレクトリおよびファイルが格納されます。ディレクトリの名称は任意ですが，次に示す情報を設定してください。

ディレクトリ所有者

システム管理者

ディレクトリへのアクセスパーミッション

0755

3.6.2　環境変数の設定（AIXの場合）

DocumentBrokerの動作に必要な環境変数の設定について説明します。環境変数は，各サーバマシンのログインシェル環境に合わせて次のファイルに設定してください。なお，$HOMEは，ログインユーザのホームディレクトリを示します。

Bourneシェル環境の場合

$HOME/.profile

Cシェル環境の場合

$HOME/.cshrcまたは$HOME/.login

＜この項の構成＞

(1)　LANGの設定

(2)　TZの設定

(3)　DOCBROKERDIRの設定

(4)　PSALLOCの設定

(5)　NODISCLAIMの設定

(6)　EXTSHMの設定

(7)　LIBPATH

(8)　XDK_HOMEの設定

(9)　XDK_SHMEM_SIZEの設定

(10)　注意事項

(1)　LANGの設定

環境変数「LANG」には，使用する文字コードセットを設定します。文書空間で使用する文字コード種別に合わせて値を設定してください。AIXの場合，次に示す値を指定します。

文書空間で使用する文字コード種別がShift-JISの場合

設定する値は「Ja_JP」です。

文書空間で使用する文字コード種別がUTF-8の場合

使用する言語に合わせて適切な値を設定してください。

ただし，文書空間で使用する文字コード種別に関係なく，ASCIIコードだけを扱う英語環境の場合は「C」を設定します。

なお，この環境変数に設定する値によって，メッセージの言語種別が変わります。「Ja_JP」を設定した場合は，日本語のメッセージが出力されます。「Ja_JP」以外を設定した場合は，英語のメッセージが出力されます。

(2)　TZの設定

環境変数「TZ」には，マシン時間のタイムゾーンを設定します。指定する値はJST-9です。

(3)　DOCBROKERDIRの設定

環境変数「DOCBROKERDIR」には，DocumentBrokerの実行環境を作成するディレクトリを指定してください。

(4)　PSALLOCの設定

環境変数「PSALLOC」には，メモリ領域の確保をメモリ使用時でなく，メモリ領域要求時に行う，早期ページスペース割り当てを実行するための設定をします。設定する値は「early」です。

(5)　NODISCLAIMの設定

環境変数「NODISCLAIM」には，メモリ領域の解放を抑止するための設定をします。設定する値は「true」です。

(6)　EXTSHMの設定

環境変数「EXTSHM」には，プロセス内で使用できる共用メモリ数を拡張するための設定をします。設定する値は「ON」です。

(7)　LIBPATH

環境変数「LIBPATH」には，関連プログラムおよびDocumentBrokerのライブラリのディレクトリを設定します。次の値を追加してください。

TPBroker V3を使用する場合

:HiRDBインストールディレクトリ/client/lib
:/opt/hitachi/common/lib
:/usr/vacpp/lib※1
:/opt/TPBroker/lib
:/opt/DABroker/lib※2
:/opt/HiEDMS/lib
:/usr/lib※3

TPBroker V5を使用する場合

:HiRDBインストールディレクトリ/client/lib
:/opt/hitachi/common/lib
:/usr/vacpp/lib※1
:TPBroker V5インストールディレクトリ/lib
:/opt/DABroker/lib※2
:/opt/HiEDMS/lib_tp5
:/usr/lib※3

注※1

VisualAge C++ Professional for AIX，またはIBM XL C/C++ Enterprise Edition for AIXのライブラリの格納ディレクトリを設定します。これは，デフォルトのインストールディレクトリにインストールされている場合の値です。

注※2

DABrokerがデフォルトのインストールディレクトリにインストールされている場合の値です。

注※3

この値は，AIX 5L V5.1のSecureWay Directory，AIX 5L V5.2のIBM Directory Server，またはAIX 5L V5.3のIBM Tivoli Directory Serverに付属しているLDAP クライアントライブラリを使用してユーザ認証を実行する場合に指定します。LDAP クライアントのファイルセットがインストールされていることを確認してください。なお，デフォルトではインストールされません。詳細については，AIX 5L V5.1，AIX 5L V5.2，またはAIX 5L V5.3のマニュアルを参照してください。

(8)　XDK_HOMEの設定

環境変数「XDK_HOME」には，smgrreg.iniを格納しているディレクトリの絶対パスを設定します。指定する値は，/opt/HiEDMS/etcです。smgrreg.iniには，レジストリ情報が記述されています。smgrreg.iniの内容を次の図に示します。

図3-2　smgrreg.iniの内容（AIXの場合）

(9)　XDK_SHMEM_SIZEの設定

環境変数「XDK_SHMEM_SIZE」には，メタ情報管理用に確保する共用メモリセグメントサイズを設定します。単位はバイトです。3,000,000～1,073,741,824の間で指定してください。省略した場合，3,000,000が仮定されます。なお，この共用メモリセグメントサイズは，DocumentSpace構成定義ファイルのXdkShmemSizeエントリにも指定できます。ただし，環境変数「XDK_SHMEM_SIZE」およびXdkShmemSizeエントリの両方に値を指定している場合は，XdkShmemSizeエントリに指定した値が優先されます。したがって，メタ情報管理用に確保する共用メモリセグメントサイズは，XdkShmemSizeエントリに指定することを推奨します。メタ情報管理用に確保する共用メモリセグメントの詳細については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(10)　注意事項

クライアントアプリケーションとDocumentBrokerサーバを同一マシンで実行する場合，同一の実行環境（同一の環境変数を持つ環境）で実行しないでください。

3.6.3　環境変数の設定（Linuxの場合）

DocumentBrokerの動作に必要な環境変数の設定について説明します。環境変数は，各サーバマシンのログインシェル環境に合わせて次のファイルに設定してください。なお，$HOMEは，ログインユーザのホームディレクトリを示します。

Bourneシェル環境の場合

$HOME/.profile

Cシェル環境の場合

$HOME/.cshrcまたは$HOME/.login

＜この項の構成＞

(1)　LANGの設定

(2)　TZの設定

(3)　DOCBROKERDIRの設定

(4)　LD_LIBRARY_PATHの設定

(5)　XDK_HOMEの設定

(6)　XDK_SHMEM_SIZEの設定

(7)　注意事項

(1)　LANGの設定

環境変数「LANG」には，使用する文字コードセットを設定します。文書空間で使用する文字コード種別に合わせて値を設定してください。

文書空間で使用する文字コード種別がShift-JISの場合

設定する値は「ja_JP.SJIS」です。

文書空間で使用する文字コード種別がUTF-8の場合

使用する言語に合わせて適切な値を設定してください。

ただし，文書空間で使用する文字コード種別に関係なく，ASCIIコードだけを扱う英語環境の場合は「C」を設定します。

なお，この環境変数に設定する値によって，メッセージの言語種別が変わります。「ja_JP.UTF-8」を設定した場合は，日本語のメッセージが出力されます。「ja_JP.UTF-8」以外を設定した場合は，英語のメッセージが出力されます。

(2)　TZの設定

環境変数「TZ」には，マシン時間のタイムゾーンを設定します。指定する値はJST-9です。

(3)　DOCBROKERDIRの設定

環境変数「DOCBROKERDIR」には，DocumentBrokerの実行環境を作成するディレクトリを指定してください。

(4)　LD_LIBRARY_PATHの設定

環境変数「LD_LIBRARY_PATH」に，関連プログラムおよびDocumentBrokerのライブラリのディレクトリを設定します。次の値を追加してください。

:HiRDBインストールディレクトリ/client/lib

:/opt/hitachi/common/lib

:/TPBroker V5インストールディレクトリ/lib

:/opt/DABroker/lib※

:/opt/HiEDMS/lib

注※

DABrokerがデフォルトのインストールディレクトリにインストールされている場合の値です。

(5)　XDK_HOMEの設定

環境変数「XDK_HOME」には，smgrreg.iniを格納しているディレクトリの絶対パスを設定します。指定する値は，/opt/HiEDMS/etcです。smgrreg.iniには，レジストリ情報が記述されています。smgrreg.iniの内容を次の図に示します。

図3-3　smgrreg.iniの内容（Linuxの場合）

(6)　XDK_SHMEM_SIZEの設定

環境変数「XDK_SHMEM_SIZE」には，メタ情報管理用に確保する共用メモリセグメントサイズを設定します。単位はバイトです。3,000,000～1,073,741,824の間で指定してください。省略した場合，3,000,000が仮定されます。なお，この共用メモリセグメントサイズは，DocumentSpace構成定義ファイルのXdkShmemSizeエントリにも指定できます。ただし，環境変数「XDK_SHMEM_SIZE」およびXdkShmemSizeエントリの両方に値を指定している場合は，XdkShmemSizeエントリに指定した値が優先されます。したがって，メタ情報管理用に確保する共用メモリセグメントサイズは，XdkShmemSizeエントリに指定することを推奨します。メタ情報管理用に確保する共用メモリセグメントの詳細については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(7)　注意事項

クライアントアプリケーションとDocumentBrokerサーバを同一マシンで実行する場合，同一の実行環境（同一の環境変数を持つ環境）で実行しないでください。

3.6.4　DocumentBrokerの実行環境作成コマンドの実行

DocumentBrokerの実行環境作成コマンドを実行してください。

AIXの場合

TPBroker V3を使用する場合

実行環境作成コマンド「/opt/HiEDMS/bin/EDMSetup」を実行してください。

TPBroker V5を使用する場合

実行環境作成コマンド「/opt/HiEDMS/bin_tp5/EDMSetup」を実行してください。

Linuxの場合

実行環境作成コマンド「/opt/HiEDMS/bin/EDMSetup」を実行してください。

DocumentBrokerの実行環境作成コマンドの文法と注意事項などの詳細については，「7.3　コマンドの文法」を参照してください。

3.6.5　文書空間識別子の定義

実行環境ディレクトリ/etc/slocalreg.iniのServiceObjectIDエントリには，文書空間のGUIDを設定してください。ただし，クライアントで指定する文書空間のGUID（クライアント側のclocalreg.iniで設定できます）と同じGUIDを設定してください。

3.7　ユーザ管理機能の設定

この節では，DocumentBrokerのユーザ管理機能について説明します。

DocumentBrokerは，LDAP対応のディレクトリサービス，およびUNIXのパスワードファイルと連携したユーザ管理機能を提供します。なお，DocumentBrokerが提供するアクセス制御機能を使用する場合，ユーザ管理システムとして，次の製品と連携しています。

IBM Directory Server（AIXの場合）

IBM Tivoli Directory Server（AIXの場合）

SecureWay Directory（AIXの場合）

Oracle Directory Server（Linuxの場合）

Active Directory Server（Linuxの場合）

DocumentBrokerの利用環境に合わせたユーザ管理機能を使用してください。また，ここで設定したユーザ管理機能は，DocumentSpace構成定義ファイルのUserAuthenticationエントリで指定する必要があります。DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

＜この節の構成＞

3.7.1　LDAP対応のディレクトリサービスによるユーザ管理機能を使用する場合の設定

3.7.2　UNIXのパスワードファイルによるユーザ管理機能を使用する場合の設定

3.7.3　ユーザ作成のアクセスルーチンを使用する場合の設定

3.7.1　LDAP対応のディレクトリサービスによるユーザ管理機能を使用する場合の設定

DocumentBrokerのユーザ管理機能としてLDAP対応のディレクトリサービスを使用する場合の設定について説明します。

LDAP対応のディレクトリサービスによるユーザ管理機能を使用する場合，DocumentSpace構成定義ファイルでの設定が必要です。DocumentSpace構成定義ファイルについては，「3.8　文書空間の定義」を参照してください。

＜この項の構成＞

(1)　ディレクトリサービスの情報管理の概念

(2)　LDAP対応のディレクトリサービスへのバインド

(3)　LDAP対応のディレクトリサービスのユーザ認証

(4)　LDAP対応のディレクトリサービスでのユーザ情報取得

(5)　LDAP対応のディレクトリサービスとの連携時の注意

(1)　ディレクトリサービスの情報管理の概念

ここでは，ディレクトリサービスでの情報の管理方法について，図3-4を基に説明します。

図3-4　ディレクトリサービスで管理する情報の構造の例

(a)　DIT

ディレクトリサービスが管理する情報は，図3-4の形式の構造図によって示されます。この構造をDITと呼びます。

(b)　エントリ

エントリまたはディレクトリエントリは，DITを構成する情報で，図3-4のDITの各節に該当します（以降，エントリと呼びます）。

図3-4の「c=jp」，「o=Software」，「ou=People1」，「uid=Tanaka」などがエントリです。エントリは，左辺と右辺を「=」（等号）でつないでいます。左辺は属性で右辺は属性値を表します。また，エントリは一つ以上の属性によって構成されています。ディレクトリサービスでは，データをエントリおよび属性によって管理します。

(c)　DN

DNは，DITの各エントリを一意に識別するための情報名です。ファイルシステム内のファイルパスのように扱われます。DNは，「,」（コンマ）で区切られたエントリの集まりで，各エントリはディレクトリ内の位置を表す相対識別名（RDN）で構成されます。相対識別名は，「属性=属性値」の形式で表現されます。例えば，uid=Tanakaやou=People1などが相対識別名に当たります。DNは，ファイルシステム内のファイルパスのように扱われますが，相対識別名の並びがファイルシステムとは逆の順番になります。つまり，ファイルシステムでは，ファイルの名称をいちばん右に指定して，左から右へパスを指定していきますが，DNでは，いちばん左の位置にDITの最下層のエントリを指定し，いちばん右側の位置にDITの最上位のエントリを指定していきます。DNの記述例を次に示します。

uid=Tanaka,ou=People1,o=Software,c=jp

この記述例は，図3-4に示した「jp」というディレクトリ内の，「Software」というサブディレクトリ内にある「People1」というサブディレクトリの「Tanaka」というエントリのDNを示します。

(2)　LDAP対応のディレクトリサービスへのバインド

DocumentBrokerでLDAP対応のディレクトリサービスへのバインド時に，認証を行うサーババインドを使用するか，認証を行わない匿名バインドを使用するかを選択できます。使用するLDAP対応のディレクトリサービスへのバインド方法に合わせて設定してください。

DocumentBrokerからLDAP対応のディレクトリサービスへのバインド方法は，DocumentSpace構成定義ファイル（docspace.ini）の次に示すエントリに設定します。

LdapBindUserDNエントリ

LdapBindPasswordエントリ

DocumentSpace構成定義ファイル（docspace.ini）の設定の詳細は，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(3)　LDAP対応のディレクトリサービスのユーザ認証

ユーザ管理システムとしてLDAP対応のディレクトリサービスを使用する場合は，DNとパスワードによってユーザを認証します。パスワードのチェックは，ユーザクラスのuserpassword属性の属性値と，ログインするときに入力したパスワードが一致しているかどうかによって行われます。

DocumentBrokerがLDAP対応のディレクトリサービスに対して，DNを指定する方法は次に示す3種類です。運用方法に合わせて，環境を定義してください。

(a)　DNを直接指定する方法

セッションを確立する時に，ユーザ名としてDNを直接指定する方法です。

(b)　ユーザが指定したDNの一部を基にDocumentBrokerが作成するDNを指定する方法

セッションを確立する時に，DNのうち，最後の相対識別名の属性値だけを指定する方法です。ただし，DocumentSpace構成定義ファイルで，ユーザ識別子として使用する属性とDNを構成するためにDocumentBrokerが補う相対識別名を定義しておく必要があります。ユーザ名の指定によるセッションの確立から，ユーザ認証用のDNの作成までの流れを次に示します。

ユーザ認証に使用する相対識別名の属性値（ユーザ名）を指定する。

DocumentSpace構成定義ファイルの定義に従って，1.で指定した属性値に対してDocumentBrokerが属性を付与して相対識別名を作成する。

DocumentSpace構成定義ファイルの定義に従って，2.の相対識別名にDocumentBrokerが相対識別名を補ってDNを作成する。

次に，DocumentBrokerがユーザ認証用のDNを作成するまでの流れを説明します。

定義内容

ユーザ識別子として使用する属性：uid属性

DocumentBrokerが補う相対識別名：ou=People1,o=Software,c=jp

DocumentBrokerがユーザ認証用のDNを作成する流れ

ユーザ名として「Tanaka」を指定する。

DocumentBrokerが属性値（ユーザ名：Tanaka）に対して属性を付与して「uid=Tanaka」として，相対識別名を作成する。

DocumentBrokerは，作成した相対識別名（uid=Tanaka）に「ou=People1,o=Software,c=jp」を補い，「uid=Tanaka,ou=People1,o=Software,c=jp」というDNを作成する。

この方法は，ユーザがあるディレクトリにフラットに存在する場合にだけ有効です。また，ディレクトリ内に存在するユーザが一意に識別できるようになっている必要があります。

DocumentSpace構成定義ファイルについては，「3.8　文書空間の定義」を参照してください。

(c)　DITから検索したDNを指定する方法

セッションを確立する時に，ユーザ属性の任意の一つの値を指定する方法です。セッションを確立する時に，ユーザが指定したユーザ名を基に，DocumentSpace構成定義ファイルで指定したDITを検索してユーザエントリを特定し，そのDNを指定します。この方法を利用すると，指定するユーザ名をわかりやすい名前にできます。また，ディレクトリ構成を意識しないでユーザを特定できます。ただし，ディレクトリ内に存在するユーザが一意に識別できるようになっている必要があります。

DocumentSpace構成定義ファイルについては，「3.8　文書空間の定義」を参照してください。

(4)　LDAP対応のディレクトリサービスでのユーザ情報取得

DocumentBrokerのアクセス制御機能を使用して，アクセス制御されている文書に接続する場合，DocumentBrokerはLDAP対応のディレクトリサービスに登録されているユーザに関する情報を使用して，目的の文書に対するアクセスが許可されているかどうか判断します。DocumentBrokerがアクセス制御機能で使用するユーザに関する情報は，ユーザ識別子およびグループ識別子です。ユーザ識別子およびグループ識別子について，次に説明します。

(a)　ユーザ識別子

ユーザを一意に識別するための情報です。LDAP対応のディレクトリサービスを使用する場合，ユーザ識別子として使用する属性は，DocumentSpace構成定義ファイルに指定する必要があります。DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(b)　グループ識別子

グループを一意に識別する情報です。LDAP対応のディレクトリサービスでは，「組織」と「グループ」をグループとして扱えます。組織とグループについて次に説明します。

組織

オブジェクトクラス「organizationalUnit」またはそのクラスから派生したクラスのオブジェクトです。DocumentBrokerでは，ユーザの属性として格納される組織情報（例えば，ou属性やdepartmentnumber属性など）およびユーザを識別するDNに記述される組織情報をそれぞれ抽出して利用できます。

グループ

オブジェクトクラス「groupOfUniqueNames」またはそのクラスから派生したクラスのオブジェクトです。

(5)　LDAP対応のディレクトリサービスとの連携時の注意

組織構成の変更などによって，ディレクトリ（LDAP）上のグループ識別子が変更されることがあります。このような場合，オブジェクトに付与しているアクセス制御情報で表されるアクセス権を保持するには，ACLに記載されているグループ識別子を変更する必要があります。グループ識別子の変更に伴うオブジェクトのアクセス権の設定の変更については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」またはマニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」を参照してください。

3.7.2　UNIXのパスワードファイルによるユーザ管理機能を使用する場合の設定

UNIXのパスワードファイル（/etc/passwd）を使用してユーザ管理する場合，DocumentBrokerを利用するユーザを/etc/passwdファイルに登録してください。また，ユーザの所属するグループを/etc/groupファイルに登録してください。ただし，NISを使用したUNIXシステムのユーザ管理機能には対応していません。

なお，DocumentBrokerのアクセス制御機能を使用してアクセス制御されている文書に接続する場合，DocumentBrokerはユーザの属性についてのユーザ情報を取得します。そして，取得したユーザ情報を基に，ユーザの接続したい文書に対してアクセスを許可されているかどうかを判断します。しかし，DocumentBrokerはUNIXのパスワードファイルによるユーザ認証機能を使用する場合，アクセスが許可されているかどうか判断するためのユーザ情報を生成できません。この場合は，ユーザが作成したアクセスルーチンを組み込んで，ユーザを一意に識別できるユーザ管理システムを設定してください。

利用ユーザの登録に必要な設定項目について，次の表に示します。

表3-6　利用ユーザの登録に必要な設定項目

設定項目 | 説明
ユーザ登録 | ユーザ名 | /etc/passwdファイルに任意の名称を登録する。
ユーザ識別子 | /etc/passwdファイルにユーザ識別子を登録する。
グループ識別子 | /etc/groupファイルに登録済みのグループ識別子を/etc/passwdファイルに登録する。
ホームディレクトリ | /etc/passwdファイルに既存のディレクトリをホームディレクトリとして登録する。
パスワード | passwdコマンドを使用して任意のパスワードを設定する。
グループ登録 | グループ名 | /etc/groupファイルに任意の名称を登録する。
グループ識別子 | /etc/groupファイルに任意の識別子を登録する。ここで登録したグループ識別子と同じ識別子をユーザ登録の項目「グループ識別子」に登録する。

3.7.3　ユーザ作成のアクセスルーチンを使用する場合の設定

DocumentBrokerは，DocumentSpace構成定義ファイルの定義によって，使用するユーザ管理システムのアクセスルーチンに，ユーザが作成したアクセスルーチンを組み込む機能を提供しています。これは，ユーザ管理システムにLDAP対応のディレクトリサービス以外を使用する場合や，すでに使用しているLDAP対応のディレクトリサービスの運用形態がDocumentBrokerのサポートしていない形態である場合に利用する機能です。なお，ユーザが作成したアクセスルーチン（コーディング部分）をUOCと呼びます。

＜この項の構成＞

(1)　アクセスルーチンの作成方法

(2)　ユーザ作成のアクセスルーチンを使用する場合のユーザ情報の取得

(1)　アクセスルーチンの作成方法

DocumentBrokerに組み込むユーザ管理システムのアクセスルーチンは，決められた形式および仕様に基づいて作成する必要があります。DocumentBrokerは，サンプルとしてUNIXのユーザ管理ファイル（/etc/passwdおよび/etc/group）にアクセスするルーチン（libdsuoc.sl）を提供しています。DocumentBrokerで提供する関数を使用して，運用中のユーザ管理システムにアクセスできるように，アクセスルーチンを作成してください。DocumentBrokerで提供する関数については，「付録G　ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。DocumentBrokerがライブラリとして提供しているUNIXユーザ管理アクセスのためのサンプルであるユーザ用アクセスルーチンの格納先（AIXの場合）を次に示します。なお，Linuxの場合のライブラリの格納先は，「/libdsuoc.sl」が「/libdsuoc.so」となります。

また，作成したアクセスルーチンを組み込む場合は，DocumentSpace構成定義ファイル（docspace.ini）での設定が必要です。DocumentSpace構成定義ファイルのUserAuthenticationエントリにUOCを指定し，UOCLibraryエントリに必要な値を指定してください。なお，DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(2)　ユーザ作成のアクセスルーチンを使用する場合のユーザ情報の取得

DocumentBrokerのアクセス制御機能を使用して，アクセス制御されている文書に接続する場合，DocumentBrokerはユーザの属性についてのユーザ情報を取得します。そして，取得したユーザ情報を基に，ユーザの接続したい文書に対してアクセスが許可されているかどうかを判断します。UOCによるユーザ管理機能を使用してユーザ情報を取得する場合に，取得できるユーザ情報を次に示します。

(a)　ユーザ識別子

関数dbrGetUserInformation()から返却されたユーザ識別子文字列を使用します。関数の詳細については，「付録G　ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。

(b)　グループ識別子

関数dbrGetUserInformation()から返却されたプライマリグループ識別子およびグループ識別子文字列を使用します。関数の詳細については，「付録G　ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。

3.8　文書空間の定義

この節では，DocumentBrokerの文書空間の構成を定義するDocumentSpace構成定義ファイル（実行環境ディレクトリ/etc/docspace.ini）について説明します。

＜この節の構成＞

3.8.1　文書空間を定義する前の準備

3.8.2　ユーザ情報の取得方法

3.8.1　文書空間を定義する前の準備

DocumentSpace構成定義ファイルを作成する前に，次に示す点について決定してください。

＜この項の構成＞

(1)　サービスプロセス数の決定

(2)　DBコネクションプールの管理方法の決定

(1)　サービスプロセス数の決定

DocumentSpace構成定義ファイルには，サービスプロセス監視プロセスが作成するサービスプロセスの数を指定します。

サービスプロセスは，1プロセス当たり複数クライアントに対してサービスを供給できます。ただし，サービスプロセスがダウンした場合，ダウンしたプロセスに接続していたすべてのユーザがサービスを受けられなくなります。したがって，メモリの使用効率と障害が発生した場合の影響を考慮してサービスプロセス数を決定してください。

(2)　DBコネクションプールの管理方法の決定

DocumentBrokerは，データベースのメモリのオーバーヘッド削減および接続時のオーバーヘッド削減のためにDBコネクションプール機能を提供しています。

(a)　DBコネクションプール機能の概要

DocumentBrokerを起動した時，データベースに対する複数のコネクションをサービスプロセス単位にプールします。クライアントからの接続要求時やトランザクションの開始要求時に，プールされているDBコネクションを動的に割り当てます。

(b)　DBコネクションのプール管理方法について

DBコネクションのプール管理方法について説明します。

DocumentBrokerを起動した時，サービスプロセス単位にDocumentSpace構成定義ファイルで指定したDBコネクションプール数だけデータベースとコネクションを確立して，そのコネクションをプールします。

クライアントからの接続要求時やトランザクションの開始要求時に，DBコネクションプールからコネクションを取得します。プールされているコネクションがすべて使われている場合は，一時コネクションを動的に作成します。一時コネクション数が上限に達している場合は，コネクション待ち合わせキューにキューイングされます。

一時コネクションの割り当て
一時コネクションは，プール数とは別に定義した最大値まで，動的にデータベースに接続します。トランザクション終了時に，コネクションの空きを待っているユーザがいる場合に割り当てます。コネクションの空きを待っているユーザがいなければ，データベースとのコネクションを切断します。

DBコネクション割り当て待ち時間の監視
プールされたDBコネクションがすべて使用されている場合に，一時的にDBコネクションの最大要求数を超えたトランザクションの要求が発生したときのDocumentBrokerサーバの動作として，「空きコネクションが発生したときに割り当てる」動作を設定しているとき，「割り当て待ち時間」のタイマ監視機能を使用できます。このとき，設定した待ち時間を超えたタイムアウトを検知すると，エラーメッセージを出力してDBコネクション割り当て待ちリストから要求を削除するとともに，クライアントにエラーの戻り値を返却します。

クライアントからの解放要求時やトランザクションの終了要求時に，コネクションをDBコネクションプールに戻します。コネクション待ち合わせキューにコネクション待ちのユーザがいれば，このコネクションを割り当てます。

これらの動作は，DocumentSpace構成定義ファイルの[Entry0001]セクションを構成する次のエントリの指定方法に依存します。

DBConnectionPoolCountエントリ

DBConnectionPoolDynamicエントリ

DBConnectionPoolTimingエントリ

DBConnectionPoolOverエントリ

DBConnectionScopeエントリ

DBConnectionPoolWaitTimeOutエントリ

DBコネクションプールの管理方法に従って，最適な設定をしてください。各エントリの指定方法については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

3.8.2　ユーザ情報の取得方法

ここでは，ログインするときに生成されて値が設定されるユーザ情報の取得方法について説明します。アクセス制御機能を使用する場合，DocumentBrokerが連携しているユーザ管理システムによって，ユーザ情報として使用される情報は異なります。また，LDAP対応のディレクトリサービスを使用したユーザ管理に適応できない場合について，ユーザが作成したアクセスルーチンをユーザ管理システムに組み込む機能を提供します。

＜この項の構成＞

(1)　ログインするときに生成されるユーザ情報（LDAP対応のディレクトリサービスを使用する場合）

(2)　ログインするときに生成されるユーザ情報（ユーザ作成のアクセスルーチンを使用する場合）

(1)　ログインするときに生成されるユーザ情報（LDAP対応のディレクトリサービスを使用する場合）

ユーザ情報は，DocumentBrokerオブジェクトに対するアクセス権を判定する場合に使用されます。ユーザ情報には，「ユーザ識別子」および「グループ識別子」があります。これらの情報は，ログインした時に生成されます。

(a)　ユーザ識別子

ユーザを識別する情報です。ユーザ識別子は，1～254バイト※（ただし，「¥0」を含まない）のASCII半角英数字，「-」，「.」，「@」，「_」で構成されます。ユーザ識別子は，一つだけ作成されます。

注※

ユーザ識別子の最大長は，512バイトまで拡張することもできます。最大長を拡張するには，次のどちらかの方法でユーザ識別子の最大長を定義します。

メタ情報の初期設定コマンド（EDMInitMeta）の-nオプションに指定する

文書空間情報ファイルのUserIDMaxLengthエントリに指定する（文書空間の定義コマンド（EDMCDefDocSpace）を使用する場合）

メタ情報の初期設定コマンドの詳細については，「7.3　コマンドの文法」の「EDMInitMeta（メタ情報の初期設定）」を参照してください。文書空間情報ファイルについては，「4.16　文書空間情報ファイル」を参照してください。

ユーザ識別子として取得される情報は，DocumentSpace構成定義ファイルで任意に指定できます。ユーザ識別子を取得する場合にDocumentSpace構成定義ファイルで指定するエントリを次に示します。

LdapUserIdエントリ

LdapUserCaseエントリ

これらのエントリの値は，ユーザ識別子として取得する情報および取得方法に従って指定してください。各エントリの指定方法については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(b)　グループ識別子

ユーザが所属するグループを識別する情報です。ユーザが複数のグループに所属する場合があるため，グループ識別子は，一人のユーザに対して複数存在できます。一つのグループ識別子は，1～254バイト※（ただし，「¥0」を含まない）のASCII半角英数字，「-」，「.」，「@」，「_」で構成されます。

注※

グループ識別子の最大長は，512バイトまで拡張することもできます。最大長を拡張するには，次のどちらかの方法でグループ識別子の最大長を定義します。

メタ情報の初期設定コマンド（EDMInitMeta）の-gオプションに指定する

文書空間情報ファイルのGroupIDMaxLengthエントリに指定する（文書空間の定義コマンド（EDMCDefDocSpace）を使用する場合）

メタ情報の初期設定コマンドの詳細については，「7.3　コマンドの文法」の「EDMInitMeta（メタ情報の初期設定）」を参照してください。文書空間情報ファイルについては，「4.16　文書空間情報ファイル」を参照してください。

グループとして，プライマリグループも設定できます。プライマリグループは，文書作成時にACFlagにデフォルトで設定されるグループで，一人のユーザに対して一つのグループが存在することがあります。すなわち，プライマリグループは，必ず存在しなくてもよいグループです。なお，LDAP対応のディレクトリサービスを使用している場合，プライマリグループは存在しません。

グループ識別子の取得方法は，DocumentSpace構成定義ファイルで定義します。

グループ情報の取得方法について，次に説明します。なお，DocumentBrokerにログインする場合のログイン名を属性として登録してあるユーザエントリのことを，ログインユーザエントリと呼ぶことにします。

グループエントリの属性から取得する方法

日立ディレクトリサービスでは，hdsGroupOfUniqueNamesを継承したエントリを使用して，グループ管理する機能を提供しています。このグループの取得方法は，hdsGroupOfUniqueNamesのようなグループ管理用のエントリの属性に，ユーザが所属するグループ名称が登録されている場合に使用する方法です。なお，グループ管理については，マニュアル「日立ディレクトリサービス　導入編」および「日立ディレクトリサービス　システム管理編」を参照してください。

ログインユーザエントリの属性から取得する方法

ログインユーザエントリの属性に，そのユーザが所属する組織名称が登録されている場合に使用する方法です。

組織エントリの属性から取得する方法

ログインユーザエントリの属性に，そのユーザが所属する組織エントリのDNが登録されている場合に使用する方法です。

ログインユーザエントリのDNから取得する方法

ログインユーザエントリのDNの構成要素（RDN）の属性値を，グループ識別子として使用する方法です。

これらのグループ識別子を取得する方法は，選択して使用したり，組み合わせて使用したりできます。ただし，「ログインユーザエントリの属性から取得する方法」と「組織エントリの属性から取得する方法」を組み合わせることはできません。DocumentSpace構成定義ファイルで指定した方法に従って，グループ識別子の取得方法ごとに，指定する必要があるエントリを次の表に示します。

表3-7　グループ識別子の取得方法ごとに指定するエントリの一覧

グループ情報の取得方法
指定するエントリ

グループエントリの属性から取得する方法

LdapGroup=Yes（必須）

LdapGroupRoot=<DN>（必須）

LdapGroupScopeエントリ

LdapGroupTimeoutエントリ

LdapGroupClassエントリ

LdapGroupIdエントリ

LdapGroupFilterLeftエントリ

LdapGroupFilterRightエントリ

ログインユーザエントリの属性から取得する方法

LdapGroupFromUserAttr=Yes（必須）

LdapGroupIdFromUserAttrエントリ

LdapGroupCaseエントリ

組織エントリの属性から取得する方法

LdapGroupFromUserAttr=Yes（必須）

LdapGroupIsDnFromUserAttr=Yes（必須）

LdapGroupIdFromUserAttrエントリ

LdapGroupIdAttrFromUserAttrエントリ

LdapGroupCaseエントリ

ログインユーザエントリのDNから取得する方法

LdapGroupFromUserDn=Yes（必須）

LdapGroupIdFromUserDnエントリ

LdapGroupCaseエントリ

各エントリの指定方法については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(2)　ログインするときに生成されるユーザ情報（ユーザ作成のアクセスルーチンを使用する場合）

ユーザ管理機能としてLDAP対応のディレクトリサービスに連携していない場合や運用中のLDAP対応のディレクトリサービスがDocumentBrokerの運用形態に合わない場合，DocumentBrokerは，ユーザが作成したアクセスルーチンを組み込む機能を提供しています。

ユーザ管理システムへのアクセスルーチンとして，ユーザが作成したアクセスルーチンを使用する場合は，DocumentSpace構成定義ファイルのUserAuthenticationエントリで「UOC」を指定する必要があります。この場合，UOCLibraryエントリの値として，ユーザが作成したアクセスルーチンのライブラリを絶対パスで指定します。UserAuthenticationエントリで「UOC」を指定した場合に生成されるユーザ情報について，次に説明します。

(a)　ユーザ識別子

関数dbrGetUserInformation()から返却されたユーザ識別子の文字列を使用します。関数の詳細については，「付録G　ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。

(b)　グループ識別子

関数dbrGetUserInformation()から返却されたグループ識別子の文字列を使用します。関数の詳細については，「付録G　ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。

3.9　アクセス制御機能を使用する場合の設定

この節では，アクセス制御機能を使用した文書管理の概略について説明します。

＜この節の構成＞

3.9.1　アクセス制御を使用するための管理者の設定

3.9.2　アクセス制御機能の設定

3.9.1　アクセス制御を使用するための管理者の設定

＜この項の構成＞

(1)　セキュリティ運用者

(2)　セキュリティ管理者

(1)　セキュリティ運用者

セキュリティ運用者は，セキュリティに関する運用および管理するユーザです。アクセス制御機能の運用情報を定義するセキュリティ定義ファイルを更新することで，セキュリティ管理者を定義したり，ユーザの権限を定義したり変更したりします。セキュリティ運用者は，DocumentBrokerが動作するオペレーティングシステム上のユーザから選択します。

DocumentBrokerをインストールした直後は，システム管理者がセキュリティ運用者の役割も持ちます。システム管理者が持っているセキュリティ定義ファイルの更新権を，セキュリティ運用者に所有者を変更することで，セキュリティに関する運用を明確に分けることができます。

(2)　セキュリティ管理者

セキュリティ管理者は，DocumentBrokerに登録されたオブジェクトやオブジェクトのアクセス権を保守するユーザです。セキュリティ管理者は，文書空間のすべてのアクセス制御対象オブジェクトに対してフルコントロールのアクセス権を持ちます。セキュリティ管理者は，連携するユーザ管理システムに登録されているユーザから選択してセキュリティ定義ファイルに定義します。

セキュリティ管理者は必ず指定してください。なお，セキュリティ管理者の定義については，「3.9.2(2)　セキュリティ定義ファイルの定義」を参照してください。

3.9.2　アクセス制御機能の設定

ここでは，アクセス制御機能を使用するために必要な設定について説明します。

＜この項の構成＞

(1)　データベーススキーマの作成

(2)　セキュリティ定義ファイルの定義

(3)　ユーザ権限の定義

(1)　データベーススキーマの作成

アクセス制御機能対応のデータベーススキーマを構築する必要があります。具体的には，メタ情報の初期設定コマンド（EDMInitMeta）を実行するとき，コマンドオプションにアクセス制御機能を利用するための-Aオプションを指定します。なお，メタ情報の初期設定コマンド（EDMInitMeta）は，「3.11.3　データベースシステムの設定手順」で実行します。

メタ情報の初期設定コマンド（EDMInitMeta）で-Aオプションが指定されるとアクセス制御情報を含んだメタ情報がデータベースに登録されます。そのあと，メタ情報の追加コマンド（EDMAddMeta），およびDocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行すると，アクセス制御対応のメタ情報およびデータベース定義文が出力されます。出力されたデータベース定義文およびメタ情報を使用することで，アクセス制御機能に対応したデータベーススキーマを構築できます。メタ情報の初期設定コマンド（EDMInitMeta）の詳細については，「7.3　コマンドの文法」を参照してください。なお，アクセス制御機能対応のデータベースのスキーマを構築すると，スキーマは変更できません。

メタ情報の初期設定コマンド（EDMInitMeta）で-Aオプションが指定されなかった場合，アクセス制御情報なしのメタ情報が登録されます。そのあと，メタ情報の追加コマンド（EDMAddMeta），およびDocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行すると，アクセス制御非対応のメタ情報およびデータベース定義文が出力されます。出力されたデータベース定義文およびメタ情報を使用することで，アクセス制御機能に非対応のデータベーススキーマを構築できます。

(2)　セキュリティ定義ファイルの定義

セキュリティ定義ファイルは，次に示すアクセス制御機能の運用に関する情報を定義するファイルです。

セキュリティ管理者
DocumentBrokerに登録されたオブジェクトやオブジェクトのアクセス権を保守するユーザです。

ユーザ権限定義ファイル名
文書空間にオブジェクトを作成する権限や文書空間内のオブジェクトに対する操作の範囲を定義するために作成するファイルの名称です。

デフォルトで設定されるパーミッション
新規にオブジェクトを作成した場合に，ACFlagに設定するパーミッションです。

セキュリティ定義ファイルの定義方法については，「4.3　セキュリティ定義ファイル（docaccess.ini）」を参照してください。

(3)　ユーザ権限の定義

セキュリティ定義ファイルに指定したユーザ権限定義ファイルに，ユーザ権限を定義します。ユーザ権限とは，文書空間にオブジェクトを作成する権利（オブジェクト作成権限）と，文書空間内のすべてのオブジェクトに対する操作の範囲（オブジェクト操作権限）をユーザまたはグループ単位で定めるアクセス制御情報の一つです。セキュリティ運用者は，このユーザ権限定義ファイルを更新することでユーザ権限を変更できます。

ユーザ権限定義ファイルの定義方法については，「4.4　ユーザ権限定義ファイル」を参照してください。

3.10　データベースシステムでの環境設定

この節では，DocumentBrokerの前提プログラムであるデータベースシステムで必要な環境設定について説明します。なお，全文検索および概念検索といった全文検索機能を利用する場合は，HiRDBのプラグインプログラムであるHiRDB Text Search Plug-inでの環境設定も必要です。

＜この節の構成＞

3.10.1　HiRDBの環境設定の準備

3.10.2　HiRDBの環境設定

3.10.3　HiRDBのユーザ権限の設定

3.10.4　HiRDB Text Search Plug-inでの環境設定

3.10.1　HiRDBの環境設定の準備

DocumentBrokerで管理するデータはデータベースに格納します。DocumentBrokerで使用できるデータベースはHiRDBだけです。したがって，DocumentBrokerの環境を設定する前に，HiRDBのシステムを構築しておく必要があります。HiRDBの環境設定の準備として，HiRDBのインストールまでは終わらせておいてください。このとき，DocumentBrokerの文書空間で使用する文字コード種別に合わせて，HiRDBで使用する文字コード種別を設定してください。HiRDBのシステム構築の流れおよびインストール方法については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

また，HiRDBの環境設定を始める前に，DocumentBrokerで利用するRDエリアについては，格納する文書数や追加するプロパティの数を考慮して見積もってください。DocumentBrokerで利用するRDエリアの見積もりについては，「2.8　データベース容量の見積もり」を参照してください。

3.10.2　HiRDBの環境設定

HiRDBの環境設定について，次に示します。

RDエリアの作成
HiRDBの環境設定では，システムファイルの作成やDocumentBrokerを運用するために必要なRDエリアなどを作成します。RDエリアの作成は，create rdarea文を使用したRDエリア構成定義ファイルで定義します。HiRDBの環境設定については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。なお，ユーザ用RDエリアおよびユーザLOB用RDエリアについては，「2.8　データベース容量の見積もり」で算出した値に従って作成してください。
また，全文検索および概念検索といった全文検索機能を使用するためには，全文検索用の表や管理情報を格納するRDエリアをHiRDBに確保しておく必要があります。全文検索用に使用するRDエリアは，次のHiRDBコマンドを使用してあらかじめ確保しておきます。

pdmod -a RDエリア構成定義ファイル名

使用するデータベースがHiRDBパラレルサーバの場合，全文検索に使用するRDエリアは，すべてHiRDBのBESに作成します。また，使用するデータベースがHiRDBシングルサーバの場合，全文検索用に使用するRDエリアはシングルサーバに作成します。作成するRDエリアのサイズや初期値などについては，「4.5　RDエリア構成定義ファイル」を参照してください。また，HiRDBのデータベース構成変更ユティリティ（pdmod）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。なお，RDエリアを定義する前提として，HiRDBファイル領域およびHiRDBファイルを定義しておく必要があります。

インデクスキー値無排他の適用
HiRDBのインデクスキー値無排他の適用基準については，マニュアル「HiRDB　UAP開発ガイド」を参照してください。

3.10.3　HiRDBのユーザ権限の設定

DocumentBrokerで使用するデータベースを定義する場合，HiRDBに対して接続する必要があります。したがって，データベースを作成するユーザに対して，CONNECT権限を付与してください。また，スキーマを定義する必要もあるので，スキーマ定義権限も付与してください。なお，ここでCONNECT権限やスキーマ定義権限を付与するユーザは，DocumentSpace構成定義ファイルのPdUserエントリで指定したユーザにしてください。DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

HiRDBのユーザ権限は，定義系SQLのGRANT文を使用して与えます。CONNECT権限を与えるGRANT文の例を次に示します。

（例）

ユーザ（ユーザ名：USER01　パスワード：PASS01）にCONNECT権限を与えます。

＜記述例＞

GRANT CONNECT TO USER01 IDENTIFIED BY PASS01

HiRDBのユーザ権限の付与については，マニュアル「HiRDB　システム運用ガイド」を参照してください。また，GRANT文の文法および詳細な注意事項などについては，マニュアル「HiRDB　SQLリファレンス」を参照してください。

3.10.4　HiRDB Text Search Plug-inでの環境設定

全文検索および概念検索といった全文検索機能を利用する場合には，HiRDBのプラグインプログラムであるHiRDB Text Search Plug-inが必要です。HiRDB Text Search Plug-inを使用する場合，HiRDBへのセットアップやRDエリアの追加などが必要です。HiRDB Text Search Plug-inの環境設定については，マニュアル「HiRDB Text Search Plug-in」を参照してください。また，プラグインプログラムの環境設定については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

3.11　DocumentBrokerでデータベースシステムを使用するための設定

この節では，DocumentBrokerでデータベースシステムを使用するために必要な設定について説明します。

＜この節の構成＞

3.11.1　データベース定義の名称の検討

3.11.2　データベースシステムの設定に必要なファイル

3.11.3　データベースシステムの設定手順

3.11.4　全文検索機能を使用する場合に出力されるデータベース定義文

3.11.1　データベース定義の名称の検討

メタ情報の初期設定コマンド（EDMInitMeta）を実行した場合の-uオプションで指定する値によって，クラス名やプロパティ名を表すデータベース定義の名称の定義方法が異なります。

＜この項の構成＞

(1)　データベース定義の名称定義の方法

(2)　データベース定義の名称定義の規則

(1)　データベース定義の名称定義の方法

DocumentBrokerで提供するデータベース定義の名称定義の方法を次に示します。

クラス名やプロパティ名を使用する方法

GUID値を変換した値を使用する方法

新規に環境を構築する場合は，クラス名やプロパティ名をデータベース定義の名称として使用することをお勧めします。

クラス名やプロパティ名をデータベース定義の名称として使用する場合，クラス名は表識別子の制約を受け，プロパティ名は列名の制約を受けます。なお，GUID値を変換した値をデータベース定義の名称定義として使用する場合は，DocumentBrokerによって任意のデータベース定義の名称が設定されます。

(2)　データベース定義の名称定義の規則

定義情報ファイルのdmaProp_DisplayNameプロパティで，サブクラス名やプロパティ名をデータベース定義の名称定義として使用する場合の規則について説明します。ここでは，表識別子（表の名称として一意に識別できる値），列名，インデクス名（表を検索するためのキーとして列に付けた索引の名称），およびエリア名を定義する場合の規則を説明します。

クラス名やプロパティ名をデータベース定義の名称とする場合と，GUID値を変換した識別子をデータベース定義の名称とする場合の名称定義の規則を次の表に示します。

表3-8　データベース定義の名称定義の環境ごとの規則

データベース定義の名称定義の環境
クラス名やプロパティ名を，データベース定義の名称とする環境
GUID値を変換した識別子を，データベース定義の名称とする環境

表識別子
サブクラス名
'T'+guid変換文字列

列名
プロパティ名
'P'+guid変換文字列

列名（二つのクラスを一つの表に格納する場合）
プロパティ名
プロパティ名+'_1'
'P'+guid変換文字列
'A'+guid変換文字列

列名（三つのクラスを一つの表に格納する場合）
プロパティ名
プロパティ名+'_1'
プロパティ名+'_2'
'P'+guid変換文字列
'A'+guid変換文字列
'B'+guid変換文字列

VariableArray用のクラス（外づけの表）
VariableArrayプロパティ名
'T'+VariableArray型プロパティguid変換文字列

VariableArray型のプロパティ（外づけの表）
要素プロパティ名
'P'+要素プロパティguid変換文字列

VariableArray型のプロパティ（HiRDBの繰り返し列）
VariableArrayプロパティ名+'_'+要素プロパティ名
'P'+要素プロパティguid変換文字列+プロパティ順序の変換文字列

インデクス名
（キーが一つ，または指定省略時）
サブクラス名+<クラスで一意文字列（改）>※
'I'+クラスのguid変換文字列+プロパティ順序の変換文字列

インデクス名
（キーが複数，または指定省略時）
サブクラス名+<クラスで一意文字列（改）>※
'I'+クラスのguid変換文字列+<クラスで一意文字列>※

サブクラス名で表識別子の制約
あり
なし

プロパティ名で列名の制約
あり
なし

注※

<クラスで一意文字列>=G～Z，GG～ZG，GH～ZH，GI～ZZ

<クラスで一意文字列（改）>=01～VV（32進文字列）

なお，システムクラスおよびシステムプロパティのデータベース定義の名称一覧は，「付録F　システムクラスおよびシステムプロパティの名称定義の規則」を参照してください。また，サブクラス名に対応する表識別子とプロパティ名に対応する列名の詳細な規則については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。インデクス名を定義する場合の詳細な規則については，「4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。エリア名については，データベース定義の制約に従って定義してください。

3.11.2　データベースシステムの設定に必要なファイル

この節では，DocumentBrokerでデータベースシステムを使用するための設定に必要なファイルについて説明します。データベースの設定を始める前に，次のファイルを準備，作成してください。

メタ情報ファイル

定義情報ファイル

RDエリア定義情報ファイル

インデクス情報ファイル

＜この項の構成＞

(1)　メタ情報ファイル

(2)　定義情報ファイル

(3)　RDエリア定義情報ファイル

(4)　インデクス情報ファイル

(1)　メタ情報ファイル

メタ情報ファイルは，DocumentBrokerで使用するクラス（DMAで規定されているクラス）や検索に使用するオペレータなどについての定義情報が記述された，初期設定用のファイルです。メタ情報ファイルの詳細については，「4.6　メタ情報ファイル」を参照してください。

(2)　定義情報ファイル

定義情報ファイルは，ユーザの環境に合わせてサブクラスやプロパティを追加する場合に作成する，オブジェクトを定義するファイルです。例えば，全文検索機能を使用する場合は，dmaClass_DocVersionクラスのサブクラスの作成と全文検索用のプロパティを追加するために必要な情報を定義情報ファイルに記述します。

定義情報ファイルの作成については「4.7　定義情報ファイル」を参照してください。なお，このファイルに定義した情報は，メタ情報として追加されます。

(3)　RDエリア定義情報ファイル

DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）で出力されるデータベース定義文中のRDエリア名をユーザの指定したRDエリアで出力させるために，RDエリア定義情報ファイルを作成します。この場合，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）の-rオプションにRDエリア定義情報ファイル名を指定します。このファイルで指定された内容が，-oオプションで指定したデータベース定義文格納ファイル中のRDエリア名に反映されます。

これによって，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）で出力されるデータベース定義文中のRDエリアの手動による変更が不要になります。RDエリア定義情報ファイルの作成については，「4.8　RDエリア定義情報ファイル」を参照してください。

(4)　インデクス情報ファイル

インデクスの作成をデータベース定義に追加する場合，インデクス情報ファイルを作成します。DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）およびメタ情報の追加コマンド（EDMAddMeta）を実行する場合に，インデクス情報ファイルを基にデータベース定義文にインデクス作成を定義します。インデクス情報ファイルで定義できる内容を次に示します。

ユーザが定義するプロパティに対するインデクスの作成

全文検索インデクス用プロパティに対する差分インデクスの作成

インデクス情報ファイルの作成については，「4.9　インデクス情報ファイル」を参照してください。

3.11.3　データベースシステムの設定手順

ここでは，DocumentBrokerでデータベースシステムを使用するための設定手順について説明します。なお，データベースシステムの設定は，システム管理者が実行してください。また，データベースを設定するユーザに対しては，あらかじめCONNECT権限およびスキーマ定義権限を付与しておいてください。

DocumentBrokerで使用できるデータベースはHiRDBです。したがって，ここで説明するデータベースシステムの設定手順は，HiRDBを使用する場合の設定手順です。また，データベースシステムを設定する前に，HiRDBの環境設定とデータベースシステムを設定するために必要なファイルを作成しておいてください。HiRDBの環境設定については「3.10.2　HiRDBの環境設定」を，必要なファイルについては「3.11.2　データベースシステムの設定に必要なファイル」を参照してください。

DocumentBrokerで使用するデータベースシステムの設定手順を次に示します。設定中は，HiRDBを起動させておいてください。HiRDBの起動方法については，マニュアル「HiRDB　システム運用ガイド」を参照してください。また，設定手順にある「(2)　SGML定義情報を登録します」，「(7)　データベース定義文を修正します」および「(9)　ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）を実行します」については，必要に応じて設定してください。

＜この項の構成＞

(1)　スキーマを定義します

(2)　SGML定義情報を登録します

(3)　メタ情報の初期設定コマンド（EDMInitMeta）を実行します

(4)　メタ情報の追加コマンド（EDMAddMeta）を実行します

(5)　DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行します

(6)　クラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を実行します

(7)　データベース定義文を修正します

(8)　データベース定義ユティリティを実行します

(9)　ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）を実行します

(1)　スキーマを定義します

スキーマを定義するためには，HiRDBのデータベース定義ユティリティ（pddef）を実行して，定義系SQLのCREATE SCHEMAを使用します。スキーマを定義する場合は，スキーマ定義権限が必要です。HiRDBのデータベース定義ユティリティについては，マニュアル「HiRDB　コマンドリファレンス」を参照してください。CREATE SCHEMAの文法については，マニュアル「HiRDB　SQLリファレンス」を参照してください。

(2)　SGML定義情報を登録します

XMLのような構造を持った文書を検索する場合，HiRDB Text Search Plug-inで次に示すSGML定義情報を登録する必要があります。

(a)　DTDの登録

DocumentBrokerが提供する「EDM_DEFAULT.DTD」というファイルを「EDM_DEFAULT.DTD」という登録名称でDTDとしてレジストリに登録する必要があります。次に示すコマンドをHiRDB管理者が実行します。

phssgmlreg DTD EDM_DEFAULT.DTD /opt/HiEDMS/sample/EDM_DEFAULT.DTD

(b)　正規化パラメタファイルの登録

正規化パラメタファイルとは，XML文書中のタグを制御するパラメタを記述するファイルです。XML文書中のタグの制御が必要な場合または特定文字データ(SDATA)を使用する場合に登録してください。次に示すコマンドをHiRDB管理者が実行します。

phssgmlreg NORparm 登録名称 正規化パラメタファイルのパス名

なお，SGML定義情報の登録の詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

(3)　メタ情報の初期設定コマンド（EDMInitMeta）を実行します

メタ情報をデータベースに登録するために，メタ情報の初期設定コマンド（EDMInitMeta）を実行します。メタ情報の初期設定コマンドの使用方法ついては，「7.3　コマンドの文法」を参照してください。動作環境メタ情報ファイルは，この時点で作成されます。

メタ情報の初期設定コマンドを実行する場合，データベースの表識別子と列名の名称定義の方法を-uオプションで指定します。また，アクセス制御機能を使用する場合は，-Aオプションを指定してください。アクセス制御情報を含んだメタ情報がデータベースに登録されます。詳細については，「3.9.2(1)　データベーススキーマの作成」を参照してください。

-fオプションを指定した場合，実行環境識別子に0が割り当てられます。

複数の実行環境から同一の文書空間にアクセスするための実行環境の構築方法については，「3.15　複数の実行環境を構築する場合の設定」を参照してください。

(4)　メタ情報の追加コマンド（EDMAddMeta）を実行します

作成した定義情報ファイルを入力ファイルとして，メタ情報の追加コマンド（EDMAddMeta）を実行することで，サブクラスおよびプロパティを追加します。定義情報ファイルについては，「4.7　定義情報ファイル」を参照してください。

メタ情報の追加コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。この時点で，動作環境メタ情報ファイルも更新されます。

(5)　DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行します

RDエリア定義情報ファイルを入力ファイルとして，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行し，データベース定義文を出力します。さらに，ユーザが追加するプロパティにインデクスを定義する場合は，インデクス情報ファイルも入力ファイルとして指定してください。RDエリア定義情報ファイルについては「4.8　RDエリア定義情報ファイル」を，インデクス情報ファイルについては「4.9　インデクス情報ファイル」を参照してください。DocumentBroker用データベース定義文の作成コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。また，全文検索機能を利用する場合のデータベース定義文の内容については，「3.11.4　全文検索機能を使用する場合に出力されるデータベース定義文」を参照してください。

(6)　クラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を実行します

クラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を実行して，クラス定義情報ファイルを出力します。次の場合に，クラス定義情報ファイルを作成してください。

Java クラスライブラリを使用する場合

DocumentBroker オブジェクト操作ツールを使用する場合

このコマンドを実行する場合，メタ情報の追加コマンド（EDMAddMeta）によってサブクラスおよびプロパティの追加を完了させておく必要があります。

クラス定義情報ファイルについては，「4.10　クラス定義情報ファイル」を参照してください。クラス定義情報ファイルの作成コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。

(7)　データベース定義文を修正します

出力したデータベース定義文のRDエリア名を，HiRDBのデータベース構成変更ユティリティで追加したRDエリアの名称に変更します。必要に応じてインデクスなどのデータベース属性も追加してください。ただし，RDエリア定義情報ファイルを作成して，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）の-rオプションにRDエリア定義情報ファイル名を指定した場合は，RDエリア名の変更は不要です。

全文検索機能を使用する場合に必要なデータベース定義文の変更については，「3.11.4　全文検索機能を使用する場合に出力されるデータベース定義文」を参照してください。

(8)　データベース定義ユティリティを実行します

データベース定義文を入力ファイルとして，HiRDBでデータベース定義ユティリティ（pddef）を実行して定義を追加します。HiRDBのデータベース定義ユティリティについては，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(9)　ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）を実行します

DocumentBrokerで提供されているクラスおよびプロパティ以外にユーザクラスおよびユーザプロパティを定義して，ユーザアプリケーションプログラムを開発する場合，ユーザ定義識別子ファイルを作成してください。

ユーザ定義識別子ファイルについては，「4.11　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル」を参照してください。ユーザ定義識別子ファイルの作成コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。

3.11.4　全文検索機能を使用する場合に出力されるデータベース定義文

ここでは，全文検索機能を使用する場合に出力されるデータベース定義文について説明します。

＜この項の構成＞

(1)　出力されるデータベース定義文

(2)　全文検索機能を使用する文書クラスを定義したデータベース定義文

(3)　概念検索機能を使用する文書クラスを定義したデータベース定義文

(4)　差分インデクス作成を定義したデータベース定義文

(5)　文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義したデータベース定義文

(6)　データベース定義文中のRDエリア名についての注意事項

(1)　出力されるデータベース定義文

全文検索機能を使用する場合，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）を実行すると，次に示すデータベース定義文が出力されます。

全文検索機能を使用する文書クラスを定義したデータベース定義文

概念検索機能を使用する文書クラスを定義したデータベース定義文

差分インデクス作成を定義したデータベース定義文

文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義したデータベース定義文

以降，それぞれのデータベース定義文について説明します。なお，構造を指定した検索機能の定義については，それぞれのデータベース定義に含めて説明します。

(2)　全文検索機能を使用する文書クラスを定義したデータベース定義文

全文検索機能を使用する文書クラスに定義される全文検索インデクス用プロパティ（検索タームを指定する全文検索機能用）ごとに出力されるデータベース定義文について説明します。ここでは，次に示す全文検索インデクス用プロパティを定義したクラスのデータベース定義文について説明します。

edmProp_TextIndexプロパティ

edmProp_StIndexプロパティ

edmProp_Contentプロパティ

(a)　edmProp_TextIndexプロパティを定義した場合

プレーンテキストを対象とした全文検索機能を使用する文書クラスに，edmProp_TextIndexプロパティを定義します。これによって，次の図に示すデータベース定義文が出力されます。

図3-5　edmProp_TextIndexプロパティを定義した場合に出力されるデータベース定義文

(b)　edmProp_StIndexプロパティを定義した場合

XML文書のように構造を持つ文書を対象とした全文検索機能を使用する文書クラスに，edmProp_StIndexプロパティを定義します。これによって，次の図に示すデータベース定義文が出力されます。

図3-6　edmProp_StIndexプロパティを定義した場合に出力されるデータベース定義文

(c)　edmProp_Contentプロパティを定義した場合

プレーンテキストまたは構造を持つ文書（XML文書）を対象とした全文検索機能を使用する文書クラスに，edmProp_Contentプロパティを定義します。これによって，次の図に示すデータベース定義文が出力されます。なお，このプロパティは，Version 1との互換用プロパティです。

図3-7　edmProp_Contentプロパティを定義した場合に出力されるデータベース定義文

(d)　データベース定義文の定義内容の解説

図3-5，図3-6，および図3-7のデータベース定義文中の1.，2.，および3.の意味を次に示します。

全文検索機能付き文書クラスのための列作成定義
全文検索用の文書の内容を格納するためのユーザLOB用RDエリアを使用します。例では，SEARCHDB1というユーザLOB用RDエリアを指定しています。

全文検索機能付きクラスのための列作成定義

全文検索機能付きクラスのためのインデクス作成定義
全文検索用のユーザLOB用RDエリアを使用します。例では，SEARCHINDEX1またはSGMLINDEX1というユーザLOB用RDエリアを指定しています。

(e)　edmProp_Contentプロパティを定義した場合のデータベース定義文の変更

全文検索機能を使用する文書クラスの全文検索インデクス用プロパティにedmProp_Contentプロパティを追加している場合，必要に応じてデータベース定義文を次に示すように変更してください。

プレーンテキストを全文検索する場合のプラグイン宣言の変更

プレーンテキストの全文検索用クラスのデータベース定義文を変更する場合，図3-7のデータベース定義文中にある1のプラグイン宣言を，次のように変更します。

変更前

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>',

変更後

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>PLAIN</TEXTTYPE>',

XML文書を全文検索する場合の正規化パラメタファイル名の追加

XML文書の全文検索用クラスのデータベース定義文で，文書中のタグを制御するか，特定文字データ（SDATA）を使用する場合は，<NORparm>に利用する正規化パラメタファイル名を指定します。この場合，図3-7のデータベース定義文中にある1.の部分を次に示すように変更します。なお，DocumentBrokerのデータベース定義では，必ず<DTD>に「EDM_DEFAULT.DTD」を設定します。

変更前

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>',

変更後

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>
       <NORparm>SAMPLE.NORM</NORparm>',

(3)　概念検索機能を使用する文書クラスを定義したデータベース定義文

概念検索機能を使用する文書クラスに定義される全文検索インデクス用プロパティ（概念検索機能用）ごとに出力されるデータベース定義文について説明します。ここでは，次に示す全文検索インデクス用プロパティを定義したクラスのデータベース定義文について説明します。

edmProp_ConceptTextIndexプロパティ

edmProp_ConceptStIndexプロパティ

(a)　edmProp_ConceptTextIndexプロパティを定義した場合

プレーンテキストを対象とする概念検索機能を使用する文書クラスに，edmProp_ConceptTextIndexプロパティを定義します。これによって，次の図に示すデータベース定義文が出力されます。

図3-8　edmProp_ConceptTextIndexプロパティを定義した場合に出力されるデータベース定義文

(b)　edmProp_ConceptStIndexプロパティを定義した場合

XML文書のように構造を持つ文書を対象とした概念検索機能を使用する文書クラスに，edmProp_ConceptStIndexプロパティを定義します。これによって，次の図に示すデータベース定義文が出力されます。

図3-9　edmProp_ConceptStIndexプロパティを定義した場合に出力されるデータベース定義文

(c)　データベース定義文の定義内容の解説

図3-8および図3-9のデータベース定義文中の1.，2.，および3.の意味を次に示します。

概念検索機能を使用する文書クラスのための列作成定義
概念検索用の文書の内容を格納するためのユーザLOB用RDエリアを使用します。例では，SEARCHDB1というユーザLOB用RDエリアを指定しています。

概念検索機能を使用する文書クラスのための列作成定義

概念検索機能を使用する文書クラスのためのインデクス作成定義
概念検索用のユーザLOB用RDエリアを使用します。例では，SEARCHINDEX1というユーザLOB用RDエリアを指定しています。

(4)　差分インデクス作成を定義したデータベース定義文

インデクス情報ファイルで，差分インデクスの作成を定義した場合のデータベース定義文を示します。ここでは，edmProp_TextIndexプロパティに差分インデクスの作成を定義した場合のデータベース定義文を次の図に示します。

図3-10　edmProp_TextIndexプロパティに差分インデクスの作成を定義した場合に出力されるデータベース定義文

図3-10のデータベース定義文中の1.の意味を次に示します。

差分インデクスの作成および差分インデクスの容量の定義
差分インデクスの作成，および作成する差分インデクスの容量を定義します。ここでは，51,200キロバイトを定義しています。

なお，差分インデクス作成の定義は，インデクス情報ファイルに記述します。インデクス情報ファイルについては，「4.9　インデクス情報ファイル」を参照してください。

(5)　文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義したデータベース定義文

ここでは，文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義した場合に出力されるデータベース定義文について説明します。

usrClass_PropTextSearchクラスに対して，全文検索機能付き文字列型プロパティであるusrProp_DocSummaryプロパティを定義した場合に出力されるデータベース定義文を次の図に示します。

図3-11　全文検索機能付き文字列型プロパティを定義した場合に出力されるデータベース定義文

図3-11のデータベース定義文中の1.および2.の意味を次に示します。

全文検索機能付き文字列型プロパティのための列作成定義

全文検索機能付き文字列型プロパティのためのインデクス作成定義
全文検索機能付き文字列型プロパティ用のユーザLOB用RDエリアを使用します。例では，SEARCHINDEX1というユーザLOB用RDエリアを指定しています。

(6)　データベース定義文中のRDエリア名についての注意事項

全文検索機能を使用する場合に出力されるデータベース定義文に定義されているRDエリア名について説明します。

これらのRDエリア名は，「3.10.2　HiRDBの環境設定」で作成したRDエリア名に変更する必要があります。ただし，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）の-rオプションでRDエリア定義情報ファイル名を指定している場合，この作業は不要です。RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

3.12　システム導入支援機能での設定

システム導入支援機能は，新規に文書空間を構築するための設定を支援する機能です。システム導入支援機能を使用すると，DocumentBrokerでデータベースシステムを使用するための設定が自動でできるため，システム導入支援機能を使用しないで文書空間を構築する場合に比べて，文書空間の構築を簡易化できます。

「3.11.3　データベースシステムの設定手順」で説明している次の手順の代わりに，「(1) システム導入支援機能を使用する場合のデータベースシステムの設定」を実行します。

メタ情報の初期設定コマンド（EDMInitMeta）の実行（参照先：3.11.3(3)）

メタ情報の追加コマンド（EDMAddMeta）の実行（参照先：3.11.3(4)）

DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）の実行（参照先：3.11.3(5)）

クラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）の実行（参照先：3.11.3(6)）

また，上書きインストールして，システム導入支援コマンドを使用する場合の設定手順についても説明します。

＜この節の構成＞

(1)　システム導入支援機能を使用する場合のデータベースシステムの設定

(2)　上書きインストールして，システム導入支援コマンドを使用する場合の設定

(1)　システム導入支援機能を使用する場合のデータベースシステムの設定

システム導入支援機能を使用する場合のデータベースシステムの設定手順について説明します。

「3.11.3(2) SGML定義情報を登録します」までを実行したあと，次に示す手順1.～3.を実行します。手順1.～3.が終わったら，「3.11.3(7) データベース定義文を修正します」以降に説明する手順を実行してください。

文書空間定義コマンドの実行に必要な文書クラス定義ファイル，および文書空間情報ファイルを作成します。
文書クラス定義ファイルについては，「4.15　文書クラス定義ファイル」を参照してください。文書空間情報ファイルについては，「4.16　文書空間情報ファイル」を参照してください。

文書空間定義コマンド（EDMCDefDocSpace）を実行します。
文書空間定義コマンド（EDMCDefDocSpace）については，「7.3　コマンドの文法」の「EDMCDefDocSpace（文書空間の定義）」を参照してください。

文書空間構築コマンド（EDMCBuildDocSpace）を実行します。
文書空間が新規に構築されます。文書空間構築コマンド（EDMCBuildDocSpace）については，「7.3　コマンドの文法」の「EDMCBuildDocSpace（文書空間の構築）」を参照してください。

(2)　上書きインストールして，システム導入支援コマンドを使用する場合の設定

上書きインストールして，システム導入支援コマンドで文書空間を新規に構築する場合，上書きインストール後に次の手順1.，2.で文書空間を定義します。また，上書きインストールして，システム導入支援コマンドで上書きインストール前の文書空間の定義で文書空間を新規に構築する場合，上書きインストール後に次の手順1.～3.で文書空間を再定義します。

文書空間の定義をバックアップします。
「実行環境ディレクトリ/etc」下のファイルを任意のディレクトリへコピーします。

メタ情報ファイルを更新します。
「実行環境ディレクトリ/adm/etc_org」の下位にあるすべてのファイルを「実行環境ディレクトリ/etc」下にコピーします。

文書空間を定義します。
コピー先のdocspace.ini，docaccess.ini，userperm.ini，edmrpt.ini，propex.ini，process.ini，getrascustom.iniを上書きインストール前の実行環境で変更している場合は，1.でバックアップしたファイルを基に，コピーしたファイルを再設定してください。

3.13　ファイル転送機能を使用する場合の設定

この節では，DocumentBrokerクライアントで動作させるファイル転送機能の設定方法について説明します。

＜この節の構成＞

3.13.1　ファイル転送機能の概要

3.13.2　ファイル転送機能のためのDocumentBrokerクライアントでの環境設定

3.13.3　ファイル転送機能のためのDocumentBrokerサーバでの環境設定

3.13.4　ファイル転送機能で使用するコマンド

3.13.5　ファイル転送サービスの開始と停止

3.13.1　ファイル転送機能の概要

DocumentBrokerサーバに接続するDocumentBrokerクライアントが異なるマシン上に存在する場合，DocumentBrokerサーバとDocumentBrokerクライアントの間のファイル転送には，ファイル転送機能を使用する必要があります。例えば，DocumentBrokerで管理している文書のファイルを異なるクライアントマシンに取得したり，異なるクライアントマシンに存在するファイルをDocumentBrokerの文書として登録したりする場合に，ファイル転送が発生します。

ファイル転送機能は，DocumentBrokerクライアントで開始したファイル転送サービスが提供しています。ただし，ファイル転送サービスを使用するには，DocumentBrokerクライアントでの環境設定が必要です。

＜この項の構成＞

(1)　ファイル転送サービス開始モード

(2)　ファイル転送サービスのプロセス構成

(3)　静的モードと動的モードの違い

(1)　ファイル転送サービス開始モード

ファイル転送サービスには，次の二つの開始モードがあります。

静的モード

動的モード

(a)　静的モード

クライアントアプリケーションがファイル転送サービスを使用する前に，ファイル転送サービスをコマンドによって明示的に開始するモードです。

(b)　動的モード

クライアントアプリケーションで最初にファイル転送サービスを使用する時点で，ファイル転送サービスが自動的に開始されるモードです。

このモードは，クライアントアプリケーションを実行するときにプロセスが起動されるため，クライアントアプリケーションの処理時間が多く掛かります。

(2)　ファイル転送サービスのプロセス構成

ファイル転送サービスのプロセス構成について，次の表に示します。なお，「（静的モードの場合）」とあるプロセスは，開始モードが静的モードの場合だけ使用するプロセスです。これらのプロセス間の通信には，メッセージキューを利用しています。

表3-9　ファイル転送サービスのプロセス構成

プロセス名 | 機能概要
ファイル転送サービス開始 | ファイル転送サービスを開始する（静的モードの場合）。
ファイル転送サービス監視 | ファイル転送サービスを監視する（静的モードの場合）。
ファイル転送サービス | ファイル転送サービスを提供する。
ファイル転送サービス停止 | ファイル転送サービスを停止する（静的モードの場合）。

(a)　ファイル転送サービス開始プロセス（静的モードの場合）

ファイル転送サービスを，静的モードで開始するプロセスです。

このプロセスは，静的モードのファイル転送サービス開始コマンド（FtpSvStart）を実行したときに生成され，ファイル転送サービス監視プロセスを起動します。そして，ファイル転送サービス監視プロセスから起動完了メッセージの応答を確認すると終了します。

(b)　ファイル転送サービス監視プロセス（静的モードの場合）

静的モードで開始されたファイル転送サービスプロセスを管理するプロセスです。

静的モードのファイル転送サービス開始コマンド（FtpSvStart）で指定した数のファイル転送サービスプロセスを起動します。そのあと，ファイル転送サービスプロセスの動作状況を監視して，ファイル転送サービスプロセスが終了した場合は再起動します。さらに，ファイル転送サービスを使用するクライアントアプリケーションに対して，最適なファイル転送サービスプロセスを割り当てます。

このプロセスは，ファイル転送サービス開始プロセスによって生成されます。ファイル転送サービス開始制御プロセスからの終了要求メッセージを受信すると，ファイル転送サービスプロセスに終了要求メッセージを通知し，ファイル転送サービスプロセスの終了を確認すると停止します。

(c)　ファイル転送サービスプロセス

ファイル転送サービスを提供するプロセスです。

このプロセスは，同時に複数実行できます。

開始モードが静的モードの場合

ファイル転送サービスプロセスは，静的モードのファイル転送サービス開始コマンド（FtpSvStart）を実行した時に，このコマンドで指定した数だけファイル転送サービス監視プロセスによって生成されます。このプロセスは，クライアントアプリケーションに対して文書空間への接続単位（セッション単位）に割り当てられます。クライアントアプリケーションでファイル転送を要求すると，ファイル転送サービスプロセスの中から，割り当て数が最も少ないプロセスが割り当てられます。また，静的モードのファイル転送サービス停止コマンド（FtpSvStop）を実行したときに，ファイル転送サービス監視プロセスから終了要求メッセージを受信し，すべてのファイル転送サービスプロセスが終了します。

静的モードで開始されたファイル転送サービスプロセスは，一つのプロセスで，クライアントマシン上で動作するすべてのクライアントアプリケーションプロセスの，すべてのセッションに対してサービスを提供できます。ただし，ファイル転送サービスプロセスがダウンした場合，ダウンしたプロセスに割り当てられていたセッションを使用しファイル転送を要求すると，その要求したセッションに対してエラーが返却されます。この場合，ファイル転送の失敗でエラーが発生したAPIを再度実行して，ファイル転送を要求すると新たなファイル転送サービスプロセスが割り当てられます。

開始モードが動的モードの場合

ファイル転送サービスプロセスは，クライアントアプリケーションプロセス内で最初にファイル転送サービスを利用するときに，クライアントアプリケーションプロセスによって生成されます。したがって，ファイル転送サービスを利用するクライアントアプリケーションプロセスの数だけファイル転送サービスプロセスが生成されます。また，起動したクライアントアプリケーションプロセスが終了すると，停止します。

動的モードで開始されたファイル転送サービスプロセスは，そのプロセスを起動したクライアントアプリケーションプロセス内で動作するセッションに対してだけ，サービスを提供できます。ただし，ファイル転送サービスプロセスがダウンした場合，ダウンしたプロセスを生成したクライアントアプリケーションプロセスがファイル転送を要求すると，エラーが返却されます。この場合，ファイル転送の失敗でエラーが発生したAPIを再度実行して，ファイル転送を要求すると新たなファイル転送サービスプロセスが生成され，サービスが提供されます。

(d)　ファイル転送サービス停止プロセス（静的モードの場合）

静的モードで開始されたファイル転送サービスを停止するプロセスです。

このプロセスは，静的モードのファイル転送サービス停止コマンド（FtpSvStop）を実行したときに生成され，ファイル転送サービス監視プロセスに対して終了要求メッセージを送信します。ファイル転送サービス監視プロセスからの終了完了メッセージの応答を確認すると終了します。

(3)　静的モードと動的モードの違い

静的モードと動的モードの違いを，次の表に示します。

表3-10　静的モードと動的モードの違い

項目 | 静的モード | 動的モード
開始方法および停止方法 | 手動（コマンド）でファイル転送サービスを開始または停止する。 | クライアントアプリケーション実行時に自動的にファイル転送サービスが開始または停止される。
ファイル転送サービスプロセス割り当て単位 | 文書空間への接続単位 | クライアントアプリケーションプロセス単位
DocumentBrokerサーバのファイルにアクセスするときのアクセス権 | ファイル転送サービス開始実行ユーザのアクセス権 | クライアントアプリケーションプロセス実行ユーザのアクセス権
DocumentBrokerサーバから転送されるファイルの所有者 | ファイル転送サービス開始実行ユーザ | クライアントアプリケーションプロセス実行ユーザ

動的モード使用時の注意事項

動的モードでファイル転送機能を使用する場合，ファイル転送サービスプロセスはクライアントアプリケーションプロセスの数だけ作成されます。また，プロセスの起動ごとに，一時的に使用するメッセージキューを一つ作成します。このため，リソース不足が発生する可能性があります。なお，メッセージキューの設定については，「3.4.2　パラメタのカスタマイズ」を参照してください。

リソース不足が発生した場合は，次のどちらかの対処をしてください。

静的モードに変更してファイル転送サービスを開始する

ファイル転送サービスを使用するクライアントアプリケーションプロセス数を減少させる

3.13.2　ファイル転送機能のためのDocumentBrokerクライアントでの環境設定

ここでは，ファイル転送機能を使用するための，DocumentBrokerクライアントの環境設定について説明します。次に示す手順で環境設定を実行してください。

＜この項の構成＞

(1)　ファイル転送サービス実行環境ディレクトリの作成

(2)　環境変数の設定（AIXの場合）

(3)　環境変数の設定（Linuxの場合）

(4)　ファイル転送サービス実行環境の作成

(5)　ファイル転送サービス環境定義ファイルの設定

(6)　ファイル転送サービスのメモリ所要量の見積もり

(7)　ファイル転送サービスの開始モードの設定

(1)　ファイル転送サービス実行環境ディレクトリの作成

ファイル転送サービスの実行環境を作成するためのディレクトリを作成してください。ここで，作成したディレクトリの下に，ファイル転送サービスの各種ディレクトリおよびファイルが格納されます。ディレクトリ名称は任意ですが，次に示す情報を設定してください。

ディレクトリ所有者
ファイル転送サービスセットアップコマンド（FtpSvSetup）実行者

ディレクトリへのアクセスパーミッション
0755

(2)　環境変数の設定（AIXの場合）

ファイル転送サービスを使用するために，クライアントアプリケーション実行環境とファイル転送サービス実行環境に必要な環境変数を設定してください。設定が必要な環境変数について次に説明します。

(a)　LANGの設定

環境変数「LANG」には，使用する文字コードセットを設定します。接続先のDocumentBrokerサーバの文書空間で使用する文字コード種別に合わせて値を設定してください。

文書空間で使用する文字コード種別がShift-JISの場合

設定する値は「Ja_JP」です。

文書空間で使用する文字コード種別がUTF-8の場合

使用する言語に合わせて適切な値を設定してください。

ただし，次のときは「C」を設定してください。

文書空間で使用する文字コード種別に関係なく，ASCIIコードのデータだけを扱う英語環境の場合

ファイル転送サービスが文字コード種別の異なる複数の文書空間に接続する場合に，接続先に文字コード種別がUTF-8の文書空間が含まれるとき

なお，この環境変数に設定する値によって，メッセージの言語種別が変わります。「Ja_JP」を設定した場合は，日本語のメッセージが出力されます。「Ja_JP」以外を設定した場合は，英語のメッセージが出力されます。

(b)　TZの設定

次の値を指定します。

JST-9

(c)　_HIEDMS_FTPDIRの設定

ファイル転送サービスの実行環境ディレクトリを指定してください。文書空間で使用する文字コード種別がUTF-8の場合は，印刷可能なASCIIコードで値を設定してください。

(d)　DocumentBrokerクライアントのライブラリの設定

DocumentBrokerクライアントに必要なライブラリのディレクトリを次のように設定します。

LIBPATHの設定

TPBroker V3を使用する場合
:/opt/HiEDMS/client/lib

TPBroker V5を使用する場合
:/opt/HiEDMS/client/lib_tp5

(e)　PATHの設定

次の値を追加します。

:ファイル転送サービスの実行環境ディレクトリ/bin

(f)　_HIEDMS_FTPMODEの設定

使用するファイル転送サービスの開始モードを指定します。次のどれかを指定してください。なお，この環境変数は，クライアントアプリケーション実行環境だけに必要です。

STATIC

静的モードで開始されたファイル転送サービスを使用します。

DYNAMIC

動的モードで開始されたファイル転送サービスを使用します。

NONE

ファイル転送サービスを使用しません。

この環境変数の設定を省略した場合，「NONE」が仮定されます。

(g)　_HIEDMS_FTPORBBOA_OPTIONの設定

動的モードで開始されるファイル転送サービスプロセスに固有のORBおよびBOAのオプションを指定します。この環境変数は，クライアントアプリケーション実行環境だけに必要です。

この環境変数の設定を省略した場合に仮定される値はありません。ORBおよびBOAのオプション以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。

動的モードで開始されるファイル転送サービスプロセスのORBおよびBOAのオプションは，ファイル転送サービス環境定義ファイルの[FtpService]セクションのFtpProcessOrbBoaOptionエントリの値と，この環境変数に設定した値を連結した値になります。

静的モードで開始する場合，この環境変数を設定しても無視されます。静的モードで開始する場合は，ファイル転送サービス環境定義ファイルの[FtpProcessXXXX]セクション（XXXXは0001～0020）のOrbBoaOptionエントリに設定してください。

なお，この環境変数は，TPBroker V5と連携して動作する環境では指定できません。

TPBroker V5環境で指定した場合は，指定が無視されます。TPBroker V5環境では，VisiBrokerプロパティとして_HIEDMS_FTPVB_PROPERTYに指定してください。

(h)　_HIEDMS_FTPVB_PROPERTYの設定

動的モードで開始されるファイル転送サービスプロセスに固有のVisiBrokerプロパティを指定します。この環境変数は，クライアントアプリケーション実行環境だけに必要です。

この環境変数の設定を省略した場合に仮定される値はありません。VisiBrokerプロパティ以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。指定できるプロパティの詳細は，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

動的モードで開始されるファイル転送サービスプロセスのVisiBrokerプロパティは，ファイル転送サービス環境定義ファイルの[FtpService]セクションのFtpProcessVBPropertyエントリの値と，この環境変数に設定した値を連結した値になります。

静的モードで開始する場合，この環境変数を設定しても無視されます。静的モードで開始する場合は，ファイル転送サービス環境定義ファイルの[FtpProcessXXXX]セクション（XXXXは0001～0020）のVBPropertyエントリに設定してください。

なお，この環境変数は，TPBroker V3と連携して動作する環境では指定できません。

TPBroker V3環境で指定した場合は，指定が無視されます。TPBroker V3環境では，ORB／BOAオプションとして_HIEDMS_FTPORBBOA_OPTIONに指定してください。

(i)　PSALLOCの設定

メモリ領域の確保をメモリ使用時でなく，メモリ領域要求時に行う，早期ページスペース割り当てを実行するための設定をします。次の値を指定します。

early

(j)　NODISCLAIMの設定

メモリ領域の解放を抑止するための設定をします。次の値を指定します。

true

(3)　環境変数の設定（Linuxの場合）

ファイル転送サービスを使用するために，クライアントアプリケーション実行環境とファイル転送サービス実行環境に必要な環境変数を設定してください。設定が必要な環境変数について次に説明します。

(a)　LANGの設定

環境変数「LANG」には，使用する文字コードセットを設定します。接続先のDocumentBrokerサーバの文書空間で使用する文字コード種別に合わせて値を設定してください。

文書空間で使用する文字コード種別がShift-JISの場合

設定する値は「ja_JP.SJIS」です。

文書空間で使用する文字コード種別がUTF-8の場合

使用する言語に合わせて適切な値を設定してください。

ただし，次のときは「C」を設定してください。

文書空間で使用する文字コード種別に関係なく，ASCIIコードのデータだけを扱う英語環境の場合

ファイル転送サービスが文字コード種別の異なる複数の文書空間に接続する場合に，接続先に文字コード種別がUTF-8の文書空間が含まれるとき

なお，この環境変数に設定する値によって，メッセージの言語種別が変わります。「ja_JP.SJIS」を設定した場合は，日本語のメッセージが出力されます。「ja_JP.SJIS」以外を設定した場合は，英語のメッセージが出力されます。

(b)　TZの設定

次の値を指定します。

JST-9

(c)　_HIEDMS_FTPDIRの設定

ファイル転送サービスの実行環境ディレクトリを指定してください。文書空間で使用する文字コード種別がUTF-8の場合は，印刷可能なASCIIコードで値を設定してください。

(d)　DocumentBrokerクライアントのライブラリの設定

DocumentBrokerクライアントに必要なライブラリのディレクトリを次のように設定します。

LD_LIBRARY_PATHの設定

:/opt/HiEDMS/client/lib

(e)　PATHの設定

次の値を追加します。

:ファイル転送サービスの実行環境ディレクトリ/bin

(f)　_HIEDMS_FTPMODEの設定

使用するファイル転送サービスの開始モードを指定します。次のどれかを指定してください。なお，この環境変数は，クライアントアプリケーション実行環境だけに必要です。

STATIC

静的モードで開始されたファイル転送サービスを使用します。

DYNAMIC

動的モードで開始されたファイル転送サービスを使用します。

NONE

ファイル転送サービスを使用しません。

この環境変数の設定を省略した場合，「NONE」が仮定されます。

(g)　_HIEDMS_FTPORBBOA_OPTIONの設定

動的モードで開始されるファイル転送サービスプロセスに固有のORBおよびBOAのオプションを指定します。この環境変数は，クライアントアプリケーション実行環境だけに必要です。

この環境変数の設定を省略した場合に仮定される値はありません。ORBおよびBOAのオプション以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。

動的モードで開始されるファイル転送サービスプロセスのORBおよびBOAのオプションは，ファイル転送サービス環境定義ファイルの[FtpService]セクションのFtpProcessOrbBoaOptionエントリの値と，この環境変数に設定した値を連結した値になります。

静的モードで開始する場合，この環境変数を設定しても無視されます。静的モードで開始する場合は，ファイル転送サービス環境定義ファイルの[FtpProcessXXXX]セクション（XXXXは0001～0020）のOrbBoaOptionエントリに設定してください。

なお，この環境変数は，TPBrokerと連携して動作する環境では指定できません。

TPBroker環境で指定した場合は，指定が無視されます。TPBroker環境では，VisiBroker プロパティとして_HIEDMS_FTPVB_PROPERTY に指定してください。

(h)　_HIEDMS_FTPVB_PROPERTYの設定

動的モードで開始されるファイル転送サービスプロセスに固有のVisiBrokerプロパティを指定します。この環境変数は，クライアントアプリケーション実行環境だけに必要です。

この環境変数の設定を省略した場合に仮定される値はありません。VisiBrokerプロパティ以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。指定できるプロパティの詳細は，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

動的モードで開始されるファイル転送サービスプロセスのVisiBrokerプロパティは，ファイル転送サービス環境定義ファイルの[FtpService]セクションのFtpProcessVBPropertyエントリの値と，この環境変数に設定した値を連結した値になります。

静的モードで開始する場合，この環境変数を設定しても無視されます。静的モードで開始する場合は，ファイル転送サービス環境定義ファイルの[FtpProcessXXXX]セクション（XXXXは0001～0020）のVBPropertyエントリに設定してください。

(i)　PSALLOCの設定

メモリ領域の確保をメモリ使用時でなく，メモリ領域要求時に行う，早期ページスペース割り当てを実行するための設定をします。次の値を指定します。

early

(j)　NODISCLAIMの設定

メモリ領域の解放を抑止するための設定をします。次の値を指定します。

true

(4)　ファイル転送サービス実行環境の作成

ファイル転送サービスセットアップコマンドを実行してください。

AIXの場合

TPBroker V3 を使用する場合

ファイル転送サービスセットアップコマンド（/opt/HiEDMS/client/bin/FtpSvSetup）を実行してください。

TPBroker V5 を使用する場合

ファイル転送サービスセットアップコマンド（/opt/HiEDMS/client/bin_tp5/FtpSvSetup）を実行してください。

Linuxの場合

ファイル転送サービスセットアップコマンド（/opt/HiEDMS/client/bin/

FtpSvSetup）を実行してください。

ファイル転送サービスセットアップコマンドの文法と注意事項などの詳細については，「3.13.4　ファイル転送機能で使用するコマンド」を参照してください。

(5)　ファイル転送サービス環境定義ファイルの設定

ファイル転送機能を使用するためには，ファイル転送サービス環境定義ファイルの定義が必要になります。ファイル転送サービス環境定義ファイルについては，「4.12　ファイル転送サービス環境定義ファイル（ftpsv.ini）」を参照してください。

(6)　ファイル転送サービスのメモリ所要量の見積もり

ファイル転送サービスを使用する場合のメモリ所要量を算出します。計算式を次に示します。

計算式（単位：メガバイト）

AIXの場合

TPBroker V3を使用するとき
7＋（4×p）＋（0.02＋d）×u

TPBroker V5を使用するとき
8＋（6×p）＋（0.02＋d）×u

Linuxの場合

138＋（125×p）＋（0.02＋d）×u

ただし，d＝（4×s）

p，u，およびsに設定する値の説明を次の表に示します。なお，sの単位は，メガバイトです。

表3-11　ファイル転送サービスの所要メモリの計算式で使用する変数と設定する値

変数
指定する値

p
ファイル転送サービスプロセス数

u
同時にファイル転送するセッション数

s
次の1.と2.で算出した値の中での最大値

マルチファイル文書の場合
DocumentSpace構成定義ファイルのBlobSubstrModeエントリに指定する値によって，算出値が異なります。
ALLまたはELEMENTの場合：文書空間で管理する最大ファイルサイズ（メガバイト）
THRESHOLDの場合：BlobSubstrThresholdエントリ値

上記以外の文書の場合
文書空間で管理する最大文書サイズ（メガバイト）

(7)　ファイル転送サービスの開始モードの設定

DocumentBrokerクライアント側での環境設定の際に，ファイル転送サービスの開始モードとして，「静的モード」または「動的モード」のどちらかを設定する必要があります。開始モードは，環境変数「_HIEDMS_FTPMODE」で設定します。環境変数「_HIEDMS_FTPMODE」については，「(2)　環境変数の設定（AIXの場合）」または「(3)　環境変数の設定（Linuxの場合）」を参照してください。

3.13.3　ファイル転送機能のためのDocumentBrokerサーバでの環境設定

ここでは，ファイル転送機能を使用するための，DocumentBrokerサーバの環境設定について説明します。

＜この項の構成＞

(1)　環境変数の設定

(2)　ファイル分割転送機能の設定

(1)　環境変数の設定

ファイル転送機能を使用するために，DocumentBrokerサーバ側で次の環境変数を設定します。

_HIEDMS_CON_TIMEOUT

ファイル転送サービスへの接続要求に対して，サービスプロセスで接続を確立するまでの待ち時間を，秒で設定します。設定できる値は，0～2,147,483,647です。「0」を指定した場合，TCP/IPで固有の，サーバへの接続を確立するまでの待ち時間が設定されます。

範囲外の値を指定した場合，または環境変数を設定しない場合，「0」が仮定されます。

(2)　ファイル分割転送機能の設定

指定したデータ転送サイズにファイルを分割して転送する，ファイル分割転送機能を使用する場合は，DocumentSpace構成定義ファイルのFtpBufferSizeエントリにデータ転送サイズを指定します。FtpBufferSizeエントリの詳細については，「4.2.2　DocumentSpace構成定義ファイルの記述形式」を参照してください。

ファイル分割転送機能の特長は，この機能を使用しない場合と比べて，DocumentBrokerサーバおよびDocumentBrokerクライアントのメモリ所要量を削減できることです。ファイル分割転送機能を使用しない場合は，転送するファイルの容量の大小に関係なく，1回にファイルサイズ分のデータを転送します。一方，ファイル分割転送機能を使用する場合は，転送するファイルの容量が指定したデータ転送サイズを超えていれば，指定したデータ転送サイズにファイルを分割して転送します。このように，ファイル分割転送機能を使用すると，データ転送サイズよりも容量の大きいファイルは分割して転送するため，この機能を使用しない場合と比べて，ファイル転送時に使用するメモリ容量は少なくなります。ただし，ファイル転送回数の増加によって，処理性能が劣化する可能性があります。

DocumentBrokerサーバおよびDocumentBrokerクライアントのメモリ容量，ならびに処理性能のバランスを考慮して，データ転送サイズを決定してください。なお，ファイル分割転送機能を使用しない場合のクライアントのメモリ所要量については，「3.13.2(6)　ファイル転送サービスのメモリ所要量の見積もり」を参照してください。

3.13.4　ファイル転送機能で使用するコマンド

ここでは，ファイル転送サービスを使用するためのコマンドについて説明します。

＜この項の構成＞

(1)　FtpSvSetup（ファイル転送サービスセットアップ）

(2)　FtpSvStart（静的モードのファイル転送サービス開始）

(3)　FtpSvStop（静的モードのファイル転送サービス停止）

(1)　FtpSvSetup（ファイル転送サービスセットアップ）

機能

ファイル転送サービスを使用するための環境を作成します。

コマンドを実行すると，指定した<実行環境ディレクトリパス>下に，図3-12に示すディレクトリ構成で，ファイル転送サービスの実行環境が作成されます。なお，AIXを使用する場合で，TPBroker V3を使用するときは，「/opt/HiEDMS/client/bin」ディレクトリに格納されているFtpSvSetupコマンドを実行してください。AIXを使用する場合で，TPBroker V5を使用するときは，「/opt/HiEDMS/client/bin_tp5」ディレクトリに格納されているFtpSvSetupコマンドを実行してください。Linuxを使用する場合は，「/opt/HiEDMS/client/bin」ディレクトリに格納されているFtpSvSetupコマンドを実行してください。

図3-12　ファイル転送サービスセットアップコマンド（FtpSvSetup）で作成される実行環境のディレクトリ構成

このコマンドの終了後，ファイル転送サービス環境定義ファイル（実行環境ディレクトリ/etc/ftpsv.ini）を設定して，ファイル転送サービスを開始してください。

なお，このコマンドを1回実行すれば，同じマシンで実行するすべてのクライアントアプリケーションでファイル転送機能が使用できるようになります。

形式

FtpSvSetup　実行環境ディレクトリパス

コマンド引数

実行環境ディレクトリパス

ファイル転送サービスの実行環境ディレクトリへのパスを，絶対パスで指定します。

終了ステータス

0：正常終了

2：コマンドライン不正

3：エラー発生

注意事項

実行環境ディレクトリパスに，インストールディレクトリ（/opt/HiEDMS）以下のパスを指定することはできません。

実行環境ディレクトリとして指定したディレクトリが存在しない場合，または指定したディレクトリに対してコマンドを実行したユーザがアクセス権（読み取り・書き込み・実行（検索））を持っていない場合は，エラーになります。コマンドを実行する前に，指定するディレクトリについて確認してください。

実行環境作成時に，同名のファイルまたはディレクトリがすでに存在した場合は，新しくファイルまたはディレクトリは作成しません。

ファイル転送サービスの実行環境を削除する場合は，OSのコマンドを実行して削除してください。

(2)　FtpSvStart（静的モードのファイル転送サービス開始）

機能

静的モードでファイル転送サービスを開始します。

形式

FtpSvStart　〔-n　起動プロセス数〕

オプション

-n　起動プロセス数

ファイル転送サービスプロセスの起動プロセス数を指定します。指定できる値は，1～20です。ファイル転送サービスプロセスは，1プロセス当たり複数のクライアントに対してサービスを提供できます。ただし，ファイル転送サービスプロセスがダウンした場合，ダウンしたプロセスが割り当てられていたすべてのユーザはファイル転送サービスが受けられなくなります。したがって，メモリの使用効率と障害が発生したときの影響を考慮してファイル転送サービスプロセスの数を決定してください。なお，ファイル転送サービス使用時のメモリ所要量の見積もりについては，「3.13.2(6)　ファイル転送サービスのメモリ所要量の見積もり」を参照してください。

このオプションを省略した場合は，「1」が仮定されます。

終了ステータス

0：正常終了

2：コマンドライン不正

3：エラー発生

注意事項

このコマンドを実行できるのは，ファイル転送サービスセットアップコマンド（FtpSvSetup）を実行したユーザだけです。

このコマンドは，静的モードで開始されたファイル転送サービスを使用するクライアントアプリケーション（環境変数「_HIEDMS_FTPMODE」にSTATICを指定しているクライアントアプリケーション）を実行する前に実行してください。

同一のファイル転送サービス実行環境で，すでに静的モードでファイル転送サービスを開始している場合，このコマンドを再度実行することはできません。

(3)　FtpSvStop（静的モードのファイル転送サービス停止）

機能

静的モードで開始されたファイル転送サービスを停止します。

形式

FtpSvStop　〔-l FORCE〕

オプション

-l FORCE

ファイル転送サービスを強制的に停止します。通常の停止処理がエラーになり，ファイル転送サービスが停止できない場合に，このオプションを指定してください。

終了ステータス

0：正常終了

2：コマンドライン不正

3：エラー発生

注意事項

このコマンドを実行できるのは，ファイル転送サービスセットアップコマンド（FtpSvSetup）を実行したユーザだけです。

このコマンドを複数同時に実行すると，タイムアウトが発生する場合があります。

ファイル転送サービスを停止する前に，ファイル転送サービスを使用するアプリケーションが動作中でないことを確認してください。

3.13.5　ファイル転送サービスの開始と停止

ここではファイル転送機能の開始方法と停止方法について説明します。

＜この項の構成＞

(1)　ファイル転送サービスの開始方法

(2)　ファイル転送サービスの停止方法

(1)　ファイル転送サービスの開始方法

環境変数に静的モードを指定した場合，クライアントアプリケーションを開始する前にファイル転送サービスを開始する必要があります。ファイル転送サービス開始コマンド（FtpSvStart）の指定方法については，「3.13.4　ファイル転送機能で使用するコマンド」を参照してください。

(2)　ファイル転送サービスの停止方法

ファイル転送サービスを停止する前に，ファイル転送サービスを使用するアプリケーションが動作中でないことを確認してください。ファイル転送サービス停止コマンド（FtpSvStop）の指定方法については，「3.13.4　ファイル転送機能で使用するコマンド」を参照してください。

3.14　サービスプロセスを使用する場合の設定

この節では，サービスプロセスごとに動作を定義する方法およびサービスプロセス定義ファイルについて説明します。

サービスプロセスごとに動作を定義することで，ポート番号を指定して，サービスプロセスを複数起動できるようになります。サービスプロセス定義ファイルについては，「4.13　サービスプロセス定義ファイル」を参照してください。

3.15　複数の実行環境を構築する場合の設定

この節では，複数の実行環境から，同一の文書空間にアクセスする場合の実行環境の構築方法について説明します。DocumentBrokerでは，使用ユーザ数や単位時間あたりのトランザクション数の増加などのシステム負荷を軽減するために，一つのデータベースに複数のDocumentBrokerサーバの実行環境を配置したシステム構成を構築できます。これによって，システム全体の負荷分散が実現できます。

＜この節の構成＞

(1)　新規に実行環境を構築する場合

(2)　実行環境を変更する場合

(3)　実行環境を削除する場合

(1)　新規に実行環境を構築する場合

複数の実行環境から同一文書空間にアクセスするために，新規に実行環境を構築する手順を次に示します。なお，次の手順では，接続する文書空間にアクセスする実行環境がすでに構築されていることが前提です。

DocumentBrokerの実行環境作成コマンド（EDMSetup -m create）を実行して，新規にDocumentBrokerの実行環境を作成する。
なお，DocumentBrokerの実行環境の作成については，「3.6　DocumentBrokerの実行環境の作成」を参照してください。

slocalreg.iniファイル，DocumentSpace構成定義ファイル，および実行環境ディレクトリ/etc/edms.iniを設定する。
このとき，同一文書空間として使用したい実行環境のDocumentSpace構成定義ファイルのSerialIdエントリと同じ値を，次のエントリに指定します。

ServiceObjectIDエントリ（slocalreg.iniファイル）

SerialIdエントリ（DocumentSpace構成定義ファイルの[Entry0001]セクション）

dmaProp_DocSpaceIdエントリ（実行環境ディレクトリ/etc/edms.iniの[dmaClass_DocSpace]セクション）

また，DocumentSpace構成定義ファイルに定義されている次のエントリの値を変更してください。

ErrFlagOfObjectOperationエントリ

EnbFncFlagOfObjectOperationエントリ
変更後の値が，メタ情報初期設定コマンド（EDMInitMeta）を実行したDocumentBroker実行環境のDocumentSpace構成定義ファイルで指定されている値になるようにします。

DocumetSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

メタ情報ファイルの出力コマンド（EDMPrintMeta -F）を実行する。

DocumentBroker実行環境の情報の登録コマンド（EDMRegEnvId -r）を実行する。

これによって，新規に構築した実行環境から同一文書空間にアクセスできるようになります。

(2)　実行環境を変更する場合

別マシンへの実行環境の移動や，実行環境ディレクトリのパスの変更によって実行環境を変更する場合の手順を次に示します。

なお，変更する実行環境の実行環境識別子の値によって，手順が異なります。実行環境識別子は，DocumentBroker実行環境の情報の登録コマンド（EDMRegEnvId -l）で確認してください。

変更後のDocumentBrokerの実行環境を作成する。

変更前の実行環境ディレクトリ/etcに格納されているファイルを，変更後の実行環境ディレクトリ/etcに移動する。

変更後の実行環境で，メタ情報ファイルの出力コマンド（EDMPrintMeta -F）を実行する。

実行環境識別子が1～254の場合，DocumentBroker実行環境の情報の登録コマンド（EDMRegEnvId -u）を実行する。
実行環境識別子が「0」の場合，この作業は必要ありません。

変更前の実行環境で，実行環境の削除（EDMSetup -m delete）を実行する。

(3)　実行環境を削除する場合

実行環境を削除する手順を次に示します。

DocumentBroker実行環境の情報の登録コマンド（EDMRegEnvId -d）を実行する。

ただし，削除しようとする実行環境で，すでにOIIDが割り当てられているオブジェクトが作成されていた場合，実行環境は削除できません。

3.16　リファレンスファイル管理機能を使用する場合の設定

この節では，リファレンスファイル管理機能を使用するための設定について説明します。

＜この節の構成＞

3.16.1　コンテントを管理するための設定

3.16.2　ネットワーク上のマシンの共有ディスクでコンテントを管理する場合の設定

3.16.1　コンテントを管理するための設定

ここでは，リファレンスファイル管理機能を使用して，ファイルシステム上の任意のディレクトリにコンテントを格納するための設定について説明します。

＜この項の構成＞

(1)　コンテントを格納する領域の確保

(2)　コンテントを格納するディレクトリの作成

(3)　コンテントを格納するディレクトリおよびコンテントのアクセス権限の設定

(4)　システム構成に応じたコンテントの格納先の設定

(1)　コンテントを格納する領域の確保

コンテントを格納するために，ファイルシステム上に領域を確保する必要があります。確保する領域のディスク容量の見積もり方法については「2.9　リファレンスファイル管理機能を使用する場合のファイルシステムのディスク容量の見積もり」を参照してください。見積もった値よりも大きいディスク容量を確保してください。

(2)　コンテントを格納するディレクトリの作成

コンテントの格納先とするディレクトリを基点としたパスをコンテント格納先ベースパスといいます。コンテント格納先ベースパスに設定するディレクトリは，あらかじめファイルシステム上の任意の領域に作成しておく必要があります。

作成したディレクトリの下に，DocumentBrokerによってコンテントが格納されます。コンテント格納先ベースパス下のコンテント格納先の例を次の図に示します。

図3-13　コンテント格納先ベースパス下のコンテント格納先の例

この例は，コンテント格納先ベースパスにはディレクトリ「/dev01/dir01」を，コンテント格納先パスにはディレクトリ「userdir」を設定して，コンテント「sample.doc」が格納された場合を示しています。

コンテント格納先ベースパス

ファイルシステム上の任意の領域に，コンテントの格納先としてシステム管理者が作成するディレクトリです。このディレクトリは，あらかじめ作成しておく必要があります。作成したディレクトリをコンテント格納先ベースパスとして設定します。

文書空間で使用する文字コード種別がUTF-8の場合，コンテント格納先ベースパスには，ASCIIコードで表せるパスを指定してください。

コンテント格納先パス

コンテント格納先ベースパスからの相対パスで指定するディレクトリです。このディレクトリは，コンテント格納時にDocumentBrokerによって作成されます。

文書空間で使用する文字コード種別がUTF-8の場合，コンテント格納先パスには，ASCIIコードで表せるパスを指定してください。

DocumentBrokerがコンテントを管理するためのディレクトリ

DocumentBrokerによって作成される，コンテントを管理するためのディレクトリです。このディレクトリの下にコンテントが格納されます。

コンテント

DocumentBrokerによってコンテントが登録，管理されます。

コンテント格納先パス，DocumentBrokerがコンテントを管理するためのディレクトリ，およびコンテントを合わせて，コンテントロケーションとしてデータベースで管理されます。

なお，コンテント格納先ベースパスの長さ，コンテント格納先パスの長さおよびファイル名の長さの合計が，次の値を超えないようにしてください。

コンテント格納先ベースパスの長さ（バイト）＋コンテント格納先パスの長さ（バイト）＋ファイル名の長さ（バイト）＜OSの最大ファイルパス長（バイト）－35（バイト）

(3)　コンテントを格納するディレクトリおよびコンテントのアクセス権限の設定

コンテント格納先ベースパスに指定するディレクトリには，システム管理者およびシステム管理者グループに対してだけ読み取り権，書き込み権，実行権（770）のアクセス権限を設定してください。そのほかのグループまたはユーザに対しては，操作可能な権限を設定しないでください。

(4)　システム構成に応じたコンテントの格納先の設定

次に示すシステム構成の場合，必要に応じてコンテントの格納先を設定してください。

複数の実行環境を構成する場合
DocumentBrokerサーバの実行環境ごとに，コンテントの格納先ディレクトリを確保してください。このとき，コンテントの格納先とするファイルシステムは，DocumentBrokerサーバが存在するマシンから接続可能なネットワーク上のマシンの共有ディスクを使用してください。ネットワーク上のマシンの共有ディスクでコンテントを管理するための設定については，「3.16.2　ネットワーク上のマシンの共有ディスクでコンテントを管理する場合の設定」を参照してください。

複数の異なる文書空間で，コンテントの格納先を同一のファイルシステムとする場合
各文書空間で，コンテント格納先ベースパスが重複しないようにしてください。複数の異なる文書空間で同一のコンテント格納先ベースパスを使用した場合，ファイル破壊の原因となります。

3.16.2　ネットワーク上のマシンの共有ディスクでコンテントを管理する場合の設定

ここでは，複数の実行環境を構成するシステムやクラスタリングシステムでリファレンスファイル管理機能を使用する場合に，ネットワーク上のマシンの共有ディスクにコンテントを格納するための設定について説明します。

NFSを使用するためには，DocumentBrokerサーバを起動する前に次の設定を実施してください。

NFSサーバの構成
コンテントの格納先となるサーバマシンで，NFSサーバを構成しておきます。

NFSファイルシステムのエクスポート
コンテントの格納先となるサーバマシンでコンテントの格納先ディレクトリを作成し，NFSファイルシステムのエクスポートを行います。

NFSクライアントの構成
DocumentBrokerサーバが存在するマシンで，NFSクライアントの構成を定義します。

NFSファイルシステムのマウント
DocumentBrokerサーバが存在するマシンで，NFSファイルシステムをマウントします。

NFSの設定の詳細については，オペレーティングシステムのマニュアルを参照してください。

なお，コンテントの格納先となるサーバマシンと，DocumentBrokerサーバが存在するマシンは同一のオペレーティングシステムを使用してください。また，パスワードファイルに設定するシステム管理者ユーザのユーザID，およびシステム管理者ユーザが所属するシステム管理者グループのグループIDは，マシン間で同一の内容にしておく必要があります（同じパスワードファイルを使用することを推奨します）。

システム管理者ユーザのユーザID，およびシステム管理者ユーザが所属するシステム管理者グループのグループIDが異なる場合，ファイルアクセスでのエラーの原因となります。

3.17　File Link連携機能を使用する場合の設定

この節では，File Link連携機能を使用する場合の設定について説明します。

File Link連携機能を使用する場合，HiRDBのプラグインプログラムであるHiRDB File Linkを使用してファイルサーバを構築する必要があります。ファイルサーバの構築時，ファイルサーバ上でコンテントを管理するFAMの環境設定では，FAMコンフィグレーションファイルのSETUPセクションのコンテント更新方法（COPY_UPDATEエントリ）に，必ず「Y」を指定してください。ファイルサーバの構築については，マニュアル「HiRDB File Link」を参照してください。

また，プラグインプログラムの環境設定については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

なお，Linuxの場合およびTPBroker V5を使用している場合，File Link連携機能は使用できません。

3.18　XML文書管理機能を使用する場合の設定

この節では，XMLを利用してXML文書管理機能を使用するための設定について説明します。なお，Linuxの場合，XML文書管理機能は使用できません。

XML文書管理機能を利用する場合，次に示すプログラムをクライアント環境にインストールする必要があります。

HiRDB Adapter for XML
クライアントの環境変数「XMLBRKDIR」に，HiRDB Adapter for XMLのインストールディレクトリの絶対パスを設定する必要があります。プログラムのインストール方法については，マニュアル「HiRDB Adapter for XML ユーザーズガイド」を参照してください。

また，XMLインデクスデータ作成機能を使用する場合，上記のプログラムに加えて次のプログラムをクライアント環境にインストールする必要があります。

Preprocessing Library for Text Search

プログラムのインストール方法については，マニュアル「Preprocessing Library for Text Search Version 2」を参照してください。

＜この節の構成＞

3.18.1　定義ファイルの作成・生成の概要

3.18.2　XML定義ファイルの登録

3.18.3　XML文書管理機能の環境設定

3.18.4　XML定義ファイルを作成する場合の注意事項

3.18.1　定義ファイルの作成・生成の概要

XML文書管理機能を利用するためには，HiRDB Adapter for XMLに必要な定義ファイル，およびPreprocessing Library for Text Searchに必要な定義ファイルを作成して，実行時に指定する必要があります。

HiRDB Adapter for XMLを動作させるための定義ファイルは，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）で生成します。生成した定義ファイルはDocumentBrokerサーバに格納されます。なお，このコマンドに指定する入力ファイルは，ユーザが作成する必要があります。

DocumentBrokerのXML文書管理機能に必要なXML定義ファイルについて説明します。

＜この項の構成＞

(1)　XML定義ファイルの関連

(2)　ユーザが作成する定義ファイル

(3)　コマンドで生成する定義ファイル

(1)　XML定義ファイルの関連

XML文書管理機能で使用する定義ファイル（XML定義ファイルと呼びます）の関連について説明します。特に，HiRDB Adapter for XMLを動作させるためのファイルをHAX定義ファイルと呼びます。

XML定義ファイルには，次の表に示すファイルがあります。

表3-12　XML定義ファイルの一覧

ファイル名 | 用途 | 作成方法 | HiRDB Adapter for XML使用時の総称
マッピングセット定義ファイル（XMS） | プロパティマッピングに使用するファイル | EDMXmlMapコマンドで作成 | HAX定義ファイル
マッピング定義ファイル（XMP）
マッピング元XMLタグ定義ファイル（DCD） | ユーザが作成
プロパティマッピング定義ファイル（DPM） | －
フィルタリング定義ファイル（TFD） | インデクスデータ作成に使用するファイル | －

（凡例）

－：総称なし。

これらのXML定義ファイルの関連を次の図に示します。

図3-14　XML定義ファイルの関連

この図について説明します。一つのマッピングセット定義ファイル（XMS）からは，複数のマッピング定義ファイル（XMP）を参照します。また，各マッピング定義ファイルは，一つのマッピング元XMLタグ定義ファイル（DCD）を参照します。

プロパティマッピング定義ファイルは，HAX定義ファイルを生成するために必要なユーザ作成のファイルです。

フィルタリング定義ファイルは，Preprocessing Library for Text Searchを動作させるためのファイルです。このファイルは，登録対象のXML文書から全文検索用データを作成する際に利用するユーザ作成のファイルです。

(2)　ユーザが作成する定義ファイル

ユーザが作成する必要のある定義ファイルを次に示します。

プロパティマッピング定義ファイル

XML文書中のタグ名とその内容をマッピングするクラス名，プロパティ名の対応関係の定義（プロパティマッピング定義）を記述したファイルです。この定義ファイルを基に，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）がマッピング定義ファイルを生成します。

プロパティマッピング定義は，登録時にマッピング定義名を付けて登録します。プロパティマッピングの実行時には，このマッピング定義名を指定して使用するプロパティマッピング定義を選択します。

プロパティマッピング定義ファイルの作成については，「4.14　プロパティマッピング定義ファイル」を参照してください。

マッピング元XMLタグ定義ファイル

登録するXML文書の構造をDCDと呼ばれる形式で記述したファイルです。この定義ファイルの文法はHiRDB Adapter for XMLでの規則に従ってください。詳細については，マニュアル「HiRDB Adapter for XML ユーザーズガイド」を参照してください。

フィルタリング定義ファイル

Preprocessing Library for Text Searchのフィルタリング機能によって全文検索用データ（ESIS-Bデータ）から不要なタグを除去したり，不要なタグ間のテキストをタグごと除去したりする場合に必要です。

この定義ファイルの文法は，Preprocessing Library for Text Searchでの規則に従ってください。詳細については，マニュアル「Preprocessing Library for Text Search Version 2」を参照してください。

(3)　コマンドで生成する定義ファイル

ユーザによって作成された定義ファイルを基に，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）によって生成するHAX定義ファイルについて説明します。HAX定義ファイルは，HiRDB Adapter for XMLを動作させるための定義ファイルとして使用します。

HAX定義ファイル

XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）の入力ファイルとして，プロパティマッピング定義ファイル，およびマッピング元XMLタグ定義ファイルを指定して出力されるファイルです。

出力されるHAX定義ファイルは，次の三つの定義ファイルから構成されます。

マッピングセット定義ファイル（XMS）

マッピング定義ファイル（XMP）

マッピング元XMLタグ定義ファイル（DCD）

なお，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）の入力ファイルとしてフィルタリング定義ファイルを指定した場合は，DocumentBrokerサーバへの登録用にフィルタリング定義ファイルのコピーを生成します。

HAX定義ファイルおよびフィルタリング定義ファイルは，DocumentBrokerサーバ上で管理します。

3.18.2　XML定義ファイルの登録

XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）を実行すると，ユーザ作成の定義ファイルからXML定義ファイルが生成されます。このXML定義ファイルは，DocumentBrokerサーバのXML定義ファイル格納ディレクトリに格納・登録されます。XML定義ファイル格納ディレクトリを次に示します。

$DOCBROKERDIR/etc/xml_files

コマンド実行によって生成されるファイルを次に示します。

＜この項の構成＞

(1)　マッピング定義ファイル（XMP）

(2)　マッピング元XMLタグ定義ファイル（DCD）

(3)　フィルタリング定義ファイル（TFD）

(4)　マッピングセット定義ファイル（XMS）

(1)　マッピング定義ファイル（XMP）

HiRDB Adapter for XMLが使用できる文法に変換したマッピング定義が記述されているファイルです。ユーザ作成のプロパティマッピング定義ファイル（DPM）とマッピング元XMLタグ定義ファイル（DCD）から生成します。

生成されるファイル名を次に示します。

'文書空間識別子'_'マッピング定義名'.xmp

(2)　マッピング元XMLタグ定義ファイル（DCD）

XML定義ファイル登録用にファイル名を変更した，ユーザ作成のマッピング元XMLタグ定義ファイルです。

生成されるファイル名を次に示します。

'文書空間識別子'_'マッピング定義名'.dcd

(3)　フィルタリング定義ファイル（TFD）

XML定義ファイル登録用にファイル名を変更した，ユーザ作成のフィルタリング定義ファイルです。

生成されるファイル名を次に示します。

'文書空間識別子'_'マッピング定義名'.tfd

(4)　マッピングセット定義ファイル（XMS）

HiRDB Adapter for XMLが使用する，登録されたマッピング定義の一覧を管理するファイルです。このファイルは，一つのファイルだけ存在します。

生成されるファイル名を次に示します。

'文書空間識別子'.xms

3.18.3　XML文書管理機能の環境設定

XML文書管理機能を利用するためには，各種の定義ファイルを作成し，実行時に指定する必要があります。ここでは，定義ファイルの管理および取得方法について説明します。なお，ここでは定義ファイルの管理および取得方法の説明に，C++ クラスライブラリのメソッドを使用します。

＜この項の構成＞

(1)　DocumentBrokerへのXML定義ファイルの登録

(2)　XML文書管理機能を使用するための操作

(3)　XML定義ファイルのDocumentBrokerクライアント環境への転送

(4)　定義ファイルのカスタマイズ

(1)　DocumentBrokerへのXML定義ファイルの登録

XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）を実行して，ユーザ作成の定義ファイルから生成するマッピング定義ファイルを，DocumentBrokerサーバの実行環境のXML定義ファイル格納ディレクトリに登録します。登録時には，マッピングセット定義ファイルに，登録したマッピング定義のエントリを追加します。

また，構造指定全文検索を実行する際に不要な構造などを除去するフィルタリング定義ファイルについても，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）に指定することによってHAX定義ファイルと関連づけて登録します。

(2)　XML文書管理機能を使用するための操作

XML文書管理機能を使用するためには，DocumentBrokerサーバに格納されているXML定義ファイルをDocumentBrokerクライアントの環境に転送する必要があります。転送では，ユーザがDocumentBrokerサーバにあるXML定義ファイルをDocumentBrokerクライアントのXML定義ファイル格納ディレクトリにコピーします。

クライアント環境では次のファイルを同じディレクトリに格納します。

HAX定義ファイル

フィルタリング定義ファイル

(3)　XML定義ファイルのDocumentBrokerクライアント環境への転送

XML文書管理機能を使用するためには，XML定義ファイルを，DocumentBrokerサーバ環境のXML定義ファイル格納ディレクトリから，DocumentBrokerクライアント環境のXML定義ファイル格納ディレクトリに転送する必要があります。

XML文書管理機能の前提プログラムで使用する定義ファイルを次に示します。これらのファイルは，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）によって生成された時点で，DocumentBrokerサーバに格納されています。

HiRDB Adapter for XMLで使用する定義ファイル

マッピングセット定義ファイル（拡張子は，xms）

マッピング定義ファイル（拡張子は，xmp）

マッピング元XMLタグ定義ファイル（拡張子は，dcd）

Preprocessing Library for Text Searchで使用する定義ファイル

フィルタリング定義ファイル（拡張子は，tfd）

これらの定義ファイルは，DocumentBrokerサーバの実行環境にあるXML定義ファイル格納ディレクトリに格納されています。格納ディレクトリを次に示します。

$DOCBROKERDIR/etc/xml_files

また，それぞれの定義ファイルの名称は次のようになります。

マッピング定義ファイル（XMP）
'文書空間識別子'_'マッピング定義名'.xmp

マッピング元XMLタグ定義ファイル（DCD）
'文書空間識別子'_'マッピング定義名'.dcd

フィルタリング定義ファイル（TFD）
'文書空間識別子'_'マッピング定義名'.tfd

マッピングセット定義ファイル（XMS）
'文書空間識別子'.xms

これらの定義ファイルをDocumentBrokerクライアント環境下のXML定義ファイル格納ディレクトリに転送します。転送先のディレクトリを次に示します。

AIXのDocumentBrokerクライアントの環境を使用する場合

/opt/HiEDMS/client/etc/xml_files

Windows，Windows XP，Windows Vista，およびWindows 7のDocumentBrokerクライアントの環境を使用する場合

DocumentBroker Development Kitを使用するとき
<DocumentBrokerクライアントのインストールディレクトリ>¥Devkit¥etc¥xml_files

DocumentBroker Runtimeを使用するとき
<DocumentBrokerクライアントのインストールディレクトリ>¥Runtime¥etc¥xml_files

XML文書管理機能を使用するためには，これらのディレクトリに，DocumentBrokerクライアントの接続先のDocumentBrokerサーバに格納された定義ファイルをすべて転送します。

転送する必要がある定義ファイルを次の図に示します。

図3-15　DocumentBrokerサーバからDocumentBrokerクライアントに転送する必要のある定義ファイルと格納ディレクトリ

この図に示した定義ファイルの格納状態で，文書空間識別子だけを指定したCdbrXmlTranslatorFactory::Initializeメソッドを実行することで，必要な定義ファイルを読み込み，XML文書管理機能を実行できます。

また，フィルタリング定義ファイルについては，GetDmaInfoListメソッド，GetIndexDataメソッド実行時に使用することで，不要なタグの除去などができます。

(4)　定義ファイルのカスタマイズ

DocumentBrokerサーバのXML定義ファイル格納ディレクトリには，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）によって生成されたすべてのXML定義ファイルが格納されています。しかし，DocumentBrokerクライアント環境では，これらの定義ファイルのすべてが必要ではない場合があります。「3.18.3(3) XML定義ファイルのDocumentBrokerクライアント環境への転送」で説明した手順でファイルを転送したあと，DocumentBrokerクライアント環境に転送した定義ファイルのうちマッピングセット定義（XMS）ファイルの内容を編集することで，必要な定義ファイルだけを選択して使用できます。

このように，XMSファイルから不要なマッピング定義（XMP）ファイルの定義を削除することで，CdbrXmlTranslatorFactoryクラスのInitializeメソッドの実行時間を短縮できます。また，マッピング定義を保持するためのメモリ領域も削減できます。

また，編集したXMSファイルを別のファイルとして保存できます。この場合は，CdbrXmlTranslatorFactoryクラスのInitializeメソッドの実行時にファイル名を指定することで，カスタマイズしたXMSファイルを基にプロパティマッピング処理を実現できます。

以降，XML定義ファイルのカスタマイズの手順を説明します。ただし，カスタマイズできるのは，XMSファイルだけです。

XMSファイルのサンプルを次に示します。マッピングセット定義の方法は，HiRDB Adapter for XMLの規則に従ってください。詳細については，マニュアル「HiRDB Adapter for XML ユーザーズガイド」を参照してください。

<?xml version="1.0" encoding="Shift_JIS"?>

<mappingset>
<!--EDM name="Map1" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp" time="20000111184505" CH="U_CH1" DV="U_DV1" -->
<schema name="Map1" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp"/>
<!--EDM name="Prop2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Prop2.xmp" time="20000112120030" CH="ch2" DV="dv2" -->
<schema name="Prop2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Prop2.xmp"/>
<!--EDM name="SAMPLE2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp" time="20000116084500" CH="UsrClass_CH" DV="UsrProp_DV" -->
<schema name="SAMPLE2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp"/>
</mappingset>

XMSファイルの定義では，マッピング定義名とマッピング定義ファイルの対応を記述し，それぞれの定義にコメントが付加されています。このファイルを編集する場合，コメントを参照して編集対象の定義を特定します。

XMSファイルの編集内容を次に示します。

不要なschema定義の削除

XMPファイルのパス変更

「1.　不要なschema定義の削除」について説明します。不要なschema定義は，該当行を削除して，読み込まれないようにします。

XMSファイルのサンプルの2番目の定義（下線の付いた部分）が不要な場合，この部分を削除します。削除した定義を次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>

<mappingset>
<!--EDM name="Map1" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp" time="20000111184505" CH="U_CH1" DV="U_DV1" -->
<schema name="Map1" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp"/>
<!--EDM name="SAMPLE2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp" time="20000116084500" CH="UsrClass_CH" DV="UsrProp_DV" -->
<schema name="SAMPLE2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp"/>
</mappingset>

編集済みのXMSファイルを編集元のXMSファイルと同じディレクトリ（XML定義ファイル格納ディレクトリ）に格納することで，編集済みの定義を利用できます。

編集済みのXMSファイルを別ディレクトリに格納する場合は，参照されるXMPファイルおよびマッピング元XMLタグ定義（DCD）ファイルを編集済みのXMSファイルと同じディレクトリに格納してください。これは，schema定義で指定するXMPファイルの指定が相対パスだからです。XMSファイルだけを別ディレクトリに格納した場合は，XMPファイルのパスの変更が必要です。

次に，「2.　XMPファイルのパス変更」について説明します。

「1.　不要なschema定義の削除」の手順で作成したXMSファイルを別ディレクトリに格納して，XML定義格納ディレクトリに存在するXMPファイルおよびDCDファイルを使用する場合，XMSファイルのschema定義で指定されているXMPファイルのパスをXML定義ファイル格納ディレクトリに格納されているファイルを指すように修正する必要があります。

ファイルパスは，絶対パスまたはXMSファイルからの相対パスを指定できます。ここでは絶対パスへの変更例を示します。相対パスへの変更も同じ手順で行ってください。

修正した定義を次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>

<mappingset>
<!--EDM name="Map1" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp" time="20000111184505" CH="U_CH1" DV="U_DV1" -->
<schema name="Map1" map="/opt/HiEDMS/client/etc/xml_files/673d2be0-d1fd-11d0-ab59-08002be29e1d_Map1.xmp"/>
<!--EDM name="SAMPLE2" map="673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp" time="20000116084500" CH="UsrClass_CH" DV="UsrProp_DV" -->
<schema name="SAMPLE2" map="/opt/HiEDMS/client/etc/xml_files/673d2be0-d1fd-11d0-ab59-08002be29e1d_SAMPLE2.xmp"/>
</mappingset>

XMPファイルのパスを絶対パスに変更することで，XML定義ファイル格納ディレクトリに格納されたファイルを参照する定義に変更できます。

このXMSファイルを任意のディレクトリに格納して，CdbrXmlTranslatorFactory::Initializeメソッドで指定することで，カスタマイズされたXMSファイルによるマッピング処理ができます。

3.18.4　XML定義ファイルを作成する場合の注意事項

XML定義ファイルを作成する場合の注意事項を説明します。なお，ここでは説明に，C++ クラスライブラリのメソッドを使用します。

＜この項の構成＞

(1)　Boolean型のプロパティにマッピングする場合の値

(2)　マッピング元XMLタグ定義ファイル（DCD）の記述エラーの検知

(3)　フィルタリング定義ファイル（TFD）の記述エラーの検知

(1)　Boolean型のプロパティにマッピングする場合の値

Boolean型のプロパティにマッピングする場合，マッピング元のタグ（属性）の値が「0」または「1」以外の値では，CdbrXmlTranslator::GetDmaInfoListメソッドでエラーになります。

Boolean型のプロパティにマッピングするタグ（属性）の値が「0」または「1」以外の値にならないようにしてください。

(2)　マッピング元XMLタグ定義ファイル（DCD）の記述エラーの検知

マッピング元XMLタグ定義ファイル（DCD）に記述エラーがあると，CdbrXmlTranslatorFactory::Initializeメソッドでエラーになります。

なお，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）は，この記述エラーを検知しません。

(3)　フィルタリング定義ファイル（TFD）の記述エラーの検知

フィルタリング定義ファイル（TFD）に記述エラーがあると，CdbrXmlTranslatorFactory::GetDmaInfoListメソッド，またはCdbrXmlTranslatorFactory::GetIndexDataメソッドでエラーになります。

なお，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）は，この記述エラーを検知しません。

4.　環境設定で必要なファイル

この章では，DocumentBrokerの環境設定で必要なファイルについて説明します。

＜この章の構成＞

4.1　ファイルの種類

4.2　DocumentSpace構成定義ファイル（docspace.ini）

4.3　セキュリティ定義ファイル（docaccess.ini）

4.4　ユーザ権限定義ファイル

4.5　RDエリア構成定義ファイル

4.6　メタ情報ファイル

4.7　定義情報ファイル

4.8　RDエリア定義情報ファイル

4.9　インデクス情報ファイル

4.10　クラス定義情報ファイル

4.11　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル

4.12　ファイル転送サービス環境定義ファイル（ftpsv.ini）

4.13　サービスプロセス定義ファイル

4.14　プロパティマッピング定義ファイル

4.15　文書クラス定義ファイル

4.16　文書空間情報ファイル

4.17　見積もり基礎情報ファイル

4.18　クライアントアプリケーション動作定義ファイル（application.ini）

4.1　ファイルの種類

DocumentBrokerの環境設定で必要なファイルの一覧を次に示します。

表4-1　環境設定で必要なファイル

名称
内容
作成時期
参照先

DocumentSpace構成定義ファイル（docspace.ini）※1
DocumentBrokerの文書空間の構成を定義する。
DocumentBrokerの文書空間を定義するとき
4.2

セキュリティ定義ファイル（docaccess.ini）※1
文書空間のセキュリティについて定義する。
アクセス制御を設定するとき
4.3

ユーザ権限定義ファイル※1
文書空間のすべてのオブジェクトに対しての権限をユーザ，またはグループ単位で定義する。
4.4

RDエリア構成定義ファイル
HiRDBに確保するRDエリアの構成を定義する。
HiRDBの環境を設定するとき
4.5

メタ情報ファイル※1
DocumentBrokerが利用するDMAのクラス，プロパティ，検索オペレータなどの詳細情報が定義されている。
実行環境を作成したときに格納されるファイルを使用
4.6

定義情報ファイル
サブクラスおよびプロパティを追加するときに，追加するオブジェクトの定義情報を定義する。
DocumentBrokerでデータベースシステムを使用するための設定を始める前
4.7

RDエリア定義情報ファイル
DocumentBrokerが使用するユーザ表およびインデクスを，どのRDエリアに格納するか定義する。
4.8

インデクス情報ファイル
追加するプロパティのインデクス情報を定義する。
4.9

クラス定義情報ファイル
DocumentBrokerサーバで定義されているDMAオブジェクトのクラス，そのサブクラスのクラス，およびプロパティから，GUID，データ型，基本単位などの情報が出力される。
DocumentBrokerでデータベースシステムを使用するための設定をするとき
4.10

ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル
ユーザ定義のクラス，プロパティのそれぞれに対応するユーザ定義識別子，およびユーザ定義識別子を設定した変数の宣言が出力される。
4.11

ファイル転送サービス環境定義ファイル（ftpsv.ini）
ファイル転送機能で使用する環境を定義する。
ファイル転送機能を使用するための設定をするとき
4.12

サービスプロセス定義ファイル※1
サービスプロセスごとに動作を定義する。
サービスプロセスごとに動作を定義するとき
4.13

プロパティマッピング定義ファイル
XML文書中のタグ名とその内容をマッピングするクラス名，プロパティ名の対応関係を定義する。
XML文書管理を設定するとき
4.14

文書クラス定義ファイル※2
サブクラスおよびプロパティを追加するときに，追加するオブジェクトの定義を文書クラスとして定義する。
システム導入支援機能を使用して，DocumentBrokerでデータベースシステムを使用するための設定をするとき
4.15

文書空間情報ファイル※2
DocumentBrokerの文書空間の定義/構築で使用する情報を定義する。
4.16

見積もり基礎情報ファイル
文書空間を構築するためのデータベース容量を見積もるための基礎情報が出力される。
4.17

クライアントアプリケーション動作定義ファイル
（application.ini）※3
Linuxの場合に，クライアントアプリケーションの動作環境を定義する。
4.18

注※1

これらのファイルは，次の場所に提供されています。

実行環境ディレクトリ/etc/

注※2

これらのファイルは，次の場所にサンプルファイルが提供されています。

/opt/HiEDMS/sample/

注※3

これらのファイルは，次の場所にサンプルファイルが提供されています。

DocumentBroker Development Kit をインストールした場合

インストールディレクトリ･DevKit･sample

DocumentBroker Runtime をインストールした場合

インストールディレクトリ･Runtime･sample

4.2　DocumentSpace構成定義ファイル（docspace.ini）

この節では，DocumentSpace構成定義ファイルについて説明します。

DocumentSpace構成定義ファイルは，"実行環境ディレクトリ/etc/docspace.ini"に提供されています。

＜この節の構成＞

4.2.1　DocumentSpace構成定義ファイルの概要

4.2.2　DocumentSpace構成定義ファイルの記述形式

4.2.3　DocumentSpace構成定義ファイルの記述例

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

4.2.1　DocumentSpace構成定義ファイルの概要

DocumentSpace構成定義ファイルは，DocumentBrokerの文書空間の構成を定義するファイルです。"実行環境ディレクトリ/etc"に格納されている「docspace.ini」をシステム管理者がテキストエディタなどを使用して，編集してください。

以降，DocumentSpace構成定義ファイルで指定するエントリを示します。各エントリの詳細については，「4.2.2　DocumentSpace構成定義ファイルの記述形式」を参照してください。

＜この項の構成＞

(1)　[DocSpace]セクション

(2)　[Entry0001]セクション

(1)　[DocSpace]セクション

文書空間の共通定義を指定します。[DocSpace]セクションを構成する各エントリを次の表に示します。

表4-2　[DocSpace]セクションのエントリ一覧

種類 | 設定項目 | エントリ名 | 指定内容 | 省略の可否
文書空間の共通定義 | 文書空間の数 | Count | DocumentBrokerが提供する文書空間の数 | ×
ORBおよびBOAのオプション | DocSpaceOrbBoaOption | サービスプロセス監視プロセスに対するORBおよびBOAオプション | ○
VisiBrokerプロパティ | DocSpaceVBProperty | サービスプロセス監視プロセスに対するVisiBrokerプロパティ | ○
エラーログ | ErrLogFileCount | エラーログを取得するファイル数 | ○
ErrLogFileSize | エラーログファイルのサイズ | ○
デッドロックおよびタイムアウト監視コマンド | DbLockWatcher | デッドロックおよびタイムアウト監視コマンド（EDMLckWatcher）の実行方法 | ○

（凡例）

○：指定を省略できます。

×：指定を省略できません。

(2)　[Entry0001]セクション

文書空間の詳細を定義します。[Entry0001]セクションを構成する各エントリを次の表に示します。

表4-3　[Entry0001]セクションのエントリ一覧

種類 | 設定項目 | エントリ名 | 指定内容 | 省略の可否
サービス | 文書空間 | SerialId | 文書空間の識別子 | ×
プロセス設定 | Process | サービスプロセス数 | ×
SessionMax | DocumentBrokerに同時に接続できるクライアントの最大数 | ○
SessionTimeOut | セッションアイドル時間の最大値 | ○
ProcessOrbBoaOption | 全サービスプロセス共通のORBオプションおよびBOAオプション | ○
ProcessVBProperty | 全サービスプロセス共通のVisiBrokerプロパティ | ○
ユーザ認証 | ユーザ認証 | UserAuthentication | ユーザ認証方式 | ○
LDAP設定（LDAPまたはLDAPEX指定時） | LdapClientLib | LDAPクライアントライブラリの種別 | ○
LdapHost | ホスト名またはIPアドレス | ○
LdapPort | ポート番号 | ○
UOCライブラリの設定（UOC指定時） | UOCLibrary | UOCライブラリのフルパス | △※1
ユーザ情報の検索（LDAP指定時） | 検索条件 | LdapPrefixDn | 最初の相対識別名にDocumentBrokerが付与するDNのパス | ○
LdapUserId | ユーザクラスの属性 | △
検索オプション | LdapUserTimeout | ユーザ検索時の最大待ち時間 | ○
LdapUserCase | ユーザ識別子の文字種の制限 | ○
ユーザ情報の検索（LDAPEX指定時） | 検索条件 | LdapUserRoot | ノードのDN | ○
LdapUserScope | ユーザ検索時の検索範囲 | ○
LdapUserClass | ユーザとして定義するクラスの名称 | △
LdapUserId | ユーザクラスの属性 | △
LdapUserFilterLeft | 検索フィルタの「(」（左括弧）および検索フィルタの内容 | ○
LdapUserFilterRight | 検索フィルタの「)」（右括弧）および検索フィルタの内容 | ○
検索オプション | LdapUserTimeout | ユーザ検索時の最大待ち時間 | ○
LdapUserCase | ユーザ識別子の文字種の制限 | ○
グループ情報の検索（LDAPまたはLDAPEX指定時） | ディレクトリエントリからの検索 | LdapGroup | グループ識別子のオブジェクトからの検索方法 | ○
LdapGroupRoot | ノードのDN | ○
LdapGroupScope | グループ検索時の検索範囲 | ○
LdapGroupClass | グループ識別子にするオブジェクトのクラス | △
LdapGroupId | グループ識別子として利用する属性 | △
LdapGroupFilterLeft | 検索フィルタの「(」（左括弧）および検索フィルタの内容 | ○
LdapGroupFilterRight | 検索フィルタの「)」（右括弧）および検索フィルタの内容 | ○
LdapGroupMember | グループに所属しているユーザを記述する属性 | △
ユーザの属性値からの検索 | LdapGroupFromUserAttr | ユーザの属性値からのディレクトリのノード情報の検索方法 | ○
LdapGroupIdFromUserAttr | グループ情報が格納されているユーザの属性 | ○
LdapGroupIsDnFromUserAttr | ユーザの属性に格納されているグループ情報 | ○
LdapGroupIdAttrFromUserAttr | グループ識別子として利用する属性 | ○
ユーザのDNからの検索 | LdapGroupFromUserDn | グループ識別子の検索方法 | ○
LdapGroupIdFromUserDn | グループ識別子として使用する属性名 | ○
検索オプション | LdapGroupTimeout | グループ検索時の最大待ち時間 | ○
LdapGroupCase | グループ識別子の文字種の制限 | ○
ディレクトリサービスに対するバインド方法（LDAPまたはLDAPEX指定時） | ディレクトリサービスに対するバインド方法 | LdapBindUserDN | ディレクトリサービスへのサーババインドに使用するDN | ○
LdapBindPassword | ディレクトリサービスへのサーババインドに使用するパスワード | ○
データベース | 接続するデータベースの設定 | DbType | データベースの種別 | ×
HiRDB | 接続設定 | PdHost | サーバのホスト名 | ×
PdNamePort | サーバのポート番号 | ×
PdUser | データベースにアクセスするためのDocumentBroker用のユーザ名とパスワード | ×
コネクションプールの設定 | DBConnectionPoolCount | サービスプロセス当たりのDBコネクションプール数 | ○
DBConnectionPoolDynamic | サービスプロセス当たりの一時コネクションの最大数 | ○
DBConnectionPoolTiming | プールするDBコネクション作成のタイミング | ○
DBConnectionPoolOver | プールしているDBコネクションがすべて使用中，かつ一時コネクションが最大数に達している場合のアクション | ○
DBConnectionScope | DBコネクション割り当て期間 | ○
DBConnectionPoolWaitTimeOut | DBコネクション割り当て待ち時間 | ○
検索時の設定 | BatchSizeHint | メモリにバッファリングする検索結果行の行数 | ○
HiRDB Text Search Plug-inの設定 | PdTSPluginOwner | HiRDB Text Search Plug-inを登録したユーザの認可識別子 | △※2
アクセスログ | アクセスログの設定 | AcLogUse | アクセスログの取得の有無 | ○
AcLogLevel | アクセスログに出力するアクセスレベル | ○
AcLogFileCount | AcLogFileSizeエントリに指定した上限値を超えた場合，切り替えるファイル数 | ○
AcLogFileSize | アクセスログファイルのサイズ | ○
メタ情報 | 共有メモリの設定 | XdkShmemManage | メタ情報管理用の共用メモリの確保，解放の方法 | ○
XdkShmemSize | メタ情報管理用に確保する共用メモリセグメントサイズ | ○
ファイル分割転送機能 | データ転送サイズの設定 | FtpBufferSize | データ転送サイズ | ○
複数の実行環境 | サーバの選択 | SelectServerInMultiServer | 接続するDocumentBrokerサーバ | ○
プロセスリフレッシュ機能 | メモリサイズ | SRefreshLimit | サービスプロセスのメモリサイズ | ○
猶予時間の設定 | SRefreshGraceTime | リフレッシュ時のプロセス終了までの猶予時間 | ○
プロセス終了契機 | RefreshTiming | プロセス終了契機 | ○
オブジェクト操作 | VariableArray型のプロパティでの要素のチェック | VArrayElementCheck | プロパティの要素に指定した値のチェックの有無 | ○
オブジェクト操作時のエラーチェックのフラグ | ErrChkFlagOfObjectOperation | オブジェクト操作時に実行するエラーチェック | ○
オブジェクト操作時の動作のフラグ | EnbFncFlagOfObjectOperation | オブジェクト操作時の動作 | ○
BLOBデータ | BLOBデータの設定 | BlobSubstrMode | マルチファイル管理機能を使用する場合のBLOBデータの取得，格納方法 | ○
データサイズの設定 | BlobSubstrThreshold | マルチファイル管理機能を使用する場合に，1回のデータベースへのアクセスで取得，格納するデータサイズ | ○
BLOBデータの取得先 | BlobGettingMethod | BLOBデータの取得先 | ○
DocumentBroker Life Cycle Suite | WorkCoordinator連携の設定 | LifeCycleSuiteConnection | WorkCoordinatorとの連携 | ○

（凡例）

○：指定を省略できます。

△：使用環境の条件によって，指定の省略の可否が変わります。

×：指定を省略できません。

注※1

UserAuthenticationエントリでUOCを指定した場合，省略できません。

注※2

HiRDB Text Search Plug-inの登録時に，pdplgrgstコマンドの-uオプション（プラグイン登録スキーマ指定）を使用した場合，省略できません。

4.2.2　DocumentSpace構成定義ファイルの記述形式

ここでは，DocumentSpace構成定義ファイルの記述形式について説明します。

DocumentSpace構成定義ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されます。

[DocSpace]セクション

[Entry0001]セクション

セクションとエントリの記述規則を次に示します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクション名を指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=指定値」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

文書空間で使用する文字コード種別がUTF-8の場合は，印刷可能なASCIIコードで記述します。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

以降，DocumentSpace構成定義ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

＜この項の構成＞

(1)　[DocSpace]セクション

(2)　[Entry0001]セクション

(1)　[DocSpace]セクション

文書空間の共通定義を指定します。[DocSpace]セクションを構成する各エントリは次のとおりです。

Countエントリ

DocumentBrokerが提供する文書空間の数を指定します。「1」を指定してください。なお，このエントリの指定は省略できません。

DocSpaceOrbBoaOptionエントリ

文書空間のサービスプロセスの状態を監視するサービスプロセス監視プロセスに対してORBおよびBOAのオプションを指定します。指定を省略した場合，「-OAthreadMax 64 -OAlocalipc 0」が仮定されます。なお，指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V5環境では，VisiBrokerプロパティとしてDocSpaceVBPropertyエントリに指定してください。

DocSpaceVBPropertyエントリ

文書空間のサービスプロセスの状態を監視するサービスプロセス監視プロセスに対してVisiBrokerプロパティを指定します。指定を省略した場合，「-Dvbroker.se.iiop_tp.scm.iiop_tp.manager.type=Socket -Dvbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax=64」が仮定されます。なお，指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V3環境では，ORB／BOAオプションとしてDocSpaceOrbBoaOptionエントリに指定してください。

ErrLogFileCountエントリ

エラーログを取得するファイル数を2～16で指定します。出力ファイル名はEDMError_%d.logで，「%d」は出力ファイル通番を示します。出力ファイル通番とは，1～ErrLogFileCountエントリに指定した数（出力ファイル数）です。

エラーログは，出力ファイル通番が「1」のファイルから順番に出力されます。あるファイルにエラーログを出力する場合に，ファイルサイズがErrLogFileSizeエントリに指定した出力ファイルサイズよりも大きくなるとき，出力ファイル通番が一つ大きいファイルに出力します。例えば，出力ファイル通番が「1」であるファイルにエラーログを出力する場合に，このファイルのサイズの最大量を超えてしまうときは，ファイル出力通番が「2」のファイルにログを出力します。

ErrLogFileCountエントリに指定した最大のファイル通番のファイルにエラーログを出力しようとして，そのファイルのファイルサイズがErrLogFileSizeエントリに指定した出力ファイルサイズよりも大きくなってしまう場合，出力ファイル通番が「1」のファイルを初期化してログの出力を継続します。

指定を省略した場合および範囲外の値を指定した場合，「2」が仮定されます。

ErrLogFileSizeエントリ

エラーログファイルのサイズを4,096～2,147,483,647（バイト）で指定します。エラーログの出力が指定されたサイズを超える場合，次の通番のファイルへ出力を切り替えます。また，カレントファイル出力中に異常（入出力エラーなど）が発生した場合も，次のファイルへ出力を切り替えます。ただし，切り替えは1回だけ実行します。

指定を省略した場合および範囲外の値を指定した場合，1,048,576（1メガバイト）が仮定されます。

エラーログとして得られる情報の詳細については，「6.6　エラーログに関する運用」を参照してください。

DbLockWatcherエントリ

DocumentBrokerサーバの起動時（EDMStartコマンドの実行時）に，デッドロックおよびタイムアウト監視コマンド（EDMLckWatcher）を自動で実行するかどうかを指定します。なお，デッドロックおよびタイムアウト監視コマンド（EDMLckWatcher）を手動で実行する場合，このエントリの指定は不要です。

None
DocumentBrokerサーバの起動時に実行しません。

Accept
DocumentBrokerサーバの起動時に自動で実行します。

指定を省略した場合，「None」が仮定されます。また，上記以外の不正な値を指定した場合にはエラーとなり，DocumentBrokerサーバの起動に失敗します。

デッドロックおよびタイムアウト監視コマンド（EDMLckWatcher）の詳細は，「7.3　コマンドの文法」の「EDMLckWatcher（データベースのデッドロックおよびタイムアウトの監視）」を参照してください。

(2)　[Entry0001]セクション

文書空間の詳細を定義します。[Entry0001]セクションを構成する各エントリは次のとおりです。

SerialIdエントリ

文書空間の識別子として，GUIDを指定します。"実行環境ディレクトリ/etc/slocalreg.ini"のServiceObjectIDエントリの値（文書空間のGUID）を指定してください。なお，このエントリの指定は省略できません。

また，"実行環境ディレクトリ/etc/edms.ini"の[dmaClass_DocSpace]セクションの[dmaProp_DocSpaceId]エントリの値を同じ値に変更したあと，メタ情報を初期設定する必要があります。

Processエントリ

文書空間が提供するサービスプロセスの数を指定します。1～20の間で指定してください。なお，このエントリの指定は省略できません。

SessionMaxエントリ

DocumentBrokerに同時に接続できるクライアントの最大数を指定します。

1～1,024の間で指定してください。指定を省略した場合，「64」が仮定されます。

SessionTimeOutエントリ

セッションアイドル時間の最大値を分単位で指定します。0～120（分）の間で指定してください。0を指定した場合，セッション監視機能を使用しません。指定を省略した場合，「0（分）」が仮定されます。

ProcessOrbBoaOptionエントリ

文書空間のサービスを供給する全プロセスに共通するORBオプションおよびBOAオプションを指定します。指定を省略した場合，「-OAthreadMax 64 -OAlocalipc 0」が仮定されます。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V5環境では，VisiBrokerプロパティとしてProcessVBPropertyエントリに指定してください。

ProcessVBPropertyエントリ

文書空間のサービスを供給する全プロセスに共通するVisiBrokerプロパティを指定します。省略を省略した場合，「-Dvbroker.se.iiop_tp.scm.iiop_tp.manager.type=Socket -Dvbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax=64」が仮定されます。指定できるプロパティの詳細は，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V3環境では，ORB／BOAオプションとしてProcessOrbBoaOptionエントリに指定してください。

UserAuthenticationエントリ

文書空間で使用するユーザ認証方式を指定します。

BASIC
オペレーティングシステムの標準のパスワードファイル/etc/passwd/を使用します。

LDAP
LDAP対応のディレクトリサービスと連携してユーザ認証を実行します。この値を指定した場合は，LdapPrefixDnエントリの値として指定した相対識別名，LdapUserIdに指定した属性およびユーザが入力するログイン名からユーザ認証に使用するDNを生成します。ただし，LdapPrefixDnエントリの指定が省略されている場合は，ユーザが入力したログイン名がユーザ認証に使用されます。
また，この値を指定する場合はLdapPrefixDnエントリで指定した相対識別名の直下に，ユーザを一意に識別する情報がフラットな状態で構成されている必要があります。

LDAPEX
LDAP対応のディレクトリサービスと連携してユーザ認証を実行します。使用するログイン名は，LdapUserRootエントリ，LdapUserClassエントリ，LdapUserIdエントリ，LdapUserFilterLeftエントリ，LdapUserFilterRightエントリなどの設定に依存します。
また，ユーザを識別する情報は一意である必要がありますが，DITの構成を意識する必要はありません。

UOC
ユーザ管理システムへのアクセスルーチンとして，ユーザが作成したアクセスルーチンを使用する場合に指定します。

指定を省略した場合，LDAPが仮定されます。

LdapClientLibエントリ

UserAuthenticationエントリで，LDAPまたはLDAPEXを指定した場合に有効になります。DocumentBrokerのLDAP認証で必要になるLDAPクライアントライブラリの種別を指定します。

SecureWay
AIXのSecureWay Directory，IBM Directory Server，またはIBM Tivoli Directory ServerのLDAPクライアントライブラリを使用する場合に指定します。なお，この値は，AIXの場合だけ指定できます。

OpenLDAP
LinuxのOpenLDAPのLDAPクライアントライブラリを使用する場合に指定します。なお、この値は，Linuxの場合だけ指定できます。

指定を省略した場合，次の値が仮定されます。

AIXの場合

SecureWay

Linuxの場合

OpenLDAP

上記以外の不正な値を指定した場合はエラーとなり，DocumentBrokerの起動は失敗します。この時，KMBR03005-Eのメッセージが出力されます。また，上記の値を指定した場合でもDocumentBrokerが動作するオペレーティングシステムによっては，LDAPクライアントライブラリがサポートされていないことがあります。この場合についてもエラーとなり，DocumentBrokerの起動は失敗します。この時，KMBR03332-Eのメッセージが出力されます。なお，メッセージの詳細については，マニュアル「DocumentBroker Version 3　メッセージ」を参照してください。次にオペレーティングシステムごとのLDAP クライアントライブラリの対応関係を次の表に示します。

表4-4　オペレーティングシステムごとのLDAPクライアントライブラリの対応関係

オペレーティングシステム
エントリの指定値に対するLDAPクライアントライブラリ

SecureWay
OpenLDAP

AIX
libldap.a
（SecureWayDirectory Version3.2.1，SecureWayDirectory Version3.2.2，またはIBMDirectory Server Version4.1，同梱）
－

libibmldap.a
（IBM Tivoli Directory Server Version 5.2同梱）

Linux
－
libldap_r.so(RHEL 6.1以降同梱のOpenLDAP)

（凡例）

－：対応していません。

LdapHostエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。LDAP対応のディレクトリサービスのホスト名またはIPアドレスを，255バイト以内で指定します。指定を省略した場合，自ホストが仮定されます。

LdapPortエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。LDAP対応のディレクトリサービスのポート番号を指定します。指定を省略した場合，標準のポート番号（389）が仮定されます。

UOCLibraryエントリ

UserAuthenticationエントリでUOCを指定した場合には，必ずUOCライブラリへの絶対パスを指定します。

パスは印刷可能なASCIIコードで指定してください。

LdapPrefixDnエントリ

UserAuthenticationエントリでLDAPを指定した場合に有効になります。ユーザ認証に使用するDNを生成するために，最初の相対識別名にDocumentBrokerが付与するDNのパスを，128バイト以内で指定します。指定を省略した場合，ログイン名として指定した文字列を，そのまま認証に使用します。すなわち，UserAuthenticationエントリでLDAPを指定している場合で，このエントリの指定を省略したときはログイン名としてDNをすべて指定することになります。

LdapUserIdエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ユーザ識別子として利用するユーザクラスの属性を，64バイト以内で指定します。ただし，指定する属性は，ユーザの一意性を保証している必要があります。指定を省略した場合，「uid」が仮定されます。

なお，UserAuthenticationエントリでLDAPEXを指定した場合で，LDAP対応のディレクトリサービスとしてActive Directoryを使用するときは，「sAMAccountName」または「userPrincipalName」を指定してください。

ただし，「userPrincipalName」を指定した場合，ログイン名として「ユーザ名@ドメイン名」の形式で指定する必要があります。

LdapUserTimeoutエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ディレクトリエントリからユーザを検索するときの最大待ち時間を指定します。0～180（秒）の範囲で指定します。0を指定した場合，待ち時間が無制限になります。指定を省略した場合，「60（秒）」が仮定されます。

LdapUserCaseエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。DocumentBrokerで扱うユーザ識別子の文字種についての制限を指定します。

Upper
ユーザ識別子の文字列を，すべて大文字に変換する場合に指定します。LDAP対応のディレクトリサービスから取得したユーザ識別子を，DocumentBroker内で大文字に変換します。

Lower
ユーザ識別子の文字列を，すべて小文字に変換する場合に指定します。LDAP対応のディレクトリサービスから取得したユーザ識別子を，DocumentBroker内で小文字に変換します。

Default
ユーザ識別子の文字列を変換しません。

指定を省略した場合，「Default」が仮定されます。

LdapUserRootエントリ

UserAuthenticationエントリでLDAPEXを指定した場合に有効になります。DIT上でユーザを検索するベースとなるノードのDNを，128バイト以内で指定します。指定を省略した場合，「c=JP」が仮定されます。

LdapUserScopeエントリ

UserAuthenticationエントリでLDAPEXを指定した場合に有効になります。ディレクトリエントリからユーザを検索するときの検索範囲を指定します。

Onelevel
検索開始点の一つ下のレベルにあるすべてのエントリを検索します。

Subtree
検索開始点と，その下のすべてのレベルにあるすべてのエントリを検索します。

指定を省略した場合，「Subtree」が仮定されます。

LdapUserClassエントリ

UserAuthenticationエントリでLDAPEXを指定した場合に有効になります。ユーザとして定義しているクラスの名称を，64バイト以内で指定します。指定を省略した場合，「inetOrgPerson」が仮定されます。

なお，LDAP対応のディレクトリサービスとしてActive Directoryを使用する場合，「user」またはuserのサブクラスを指定してください。

LdapUserFilterLeftエントリ

UserAuthenticationエントリでLDAPEXを指定した場合に有効になります。ユーザを検索する場合に指定する検索フィルタの「(」（左括弧）および追加指定する検索フィルタの内容を，128バイト以内で指定します。指定を省略した場合，「(」が仮定されます。

LdapUserFilterRightエントリ

UserAuthenticationエントリでLDAPEXを指定した場合に有効になります。ユーザを検索する場合に指定する検索フィルタの「)」（右括弧）および追加指定する検索フィルタの内容を，128バイト以内で指定します。指定を省略した場合，「)」が仮定されます。

LdapGroupエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ識別子を，メンバ（ユーザ）をリストとしたオブジェクトから検索することを指定します。

Yes
メンバ（ユーザ）をリストとしたオブジェクトから検索します。

No
メンバ（ユーザ）をリストとしたオブジェクトから検索しません。

指定を省略した場合，「Yes」が仮定されます。

LdapGroupRootエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。DIT上でグループを検索する基となるノードのDNを，128バイト以内で指定します。指定を省略した場合，「c=JP」が仮定されます。

LdapGroupScopeエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ディレクトリエントリでグループを検索する場合の検索範囲を指定します。

Onelevel
検索開始点の一つ下のレベルにあるすべてのエントリを検索します。

Subtree
検索開始点とその下のすべてのレベルにあるすべてのエントリを検索します。

指定を省略した場合，「Subtree」が仮定されます。

LdapGroupClassエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ識別子としてメンバ（ユーザ）をリストとしたオブジェクトのクラスを，64バイト以内で指定します。指定を省略した場合，次の値が仮定されます。

hdsgroupOfUniqueNames

なお，LDAP対応のディレクトリサービスとしてActive Directoryを使用する場合，「group」またはgroupのサブクラスを指定してください。

LdapGroupIdエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ識別子として利用する属性を，64バイト以内で指定します。指定を省略した場合，次の値が仮定されます。

groupOfUniqueNamesId

なお，LDAP対応のディレクトリサービスとしてActive Directoryを使用する場合，「sAMAccountName」を指定してください。

LdapGroupFilterLeftエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループを検索するときに指定する検索フィルタの「(」（左括弧）および追加指定する検索フィルタの内容を，128バイト以内で指定します。指定を省略した場合，「(」が仮定されます。

LdapGroupFilterRightエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループを検索する場合にLDAPに指定する検索フィルタの「)」（右括弧）および追加指定する検索フィルタの内容を，128バイト以内で指定します。指定を省略した場合，「)」が仮定されます。

LdapGroupMemberエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定し，LdapGroupエントリにYesを指定したときに有効になります。グループに所属しているユーザを記述する属性を指定します。指定を省略した場合，「uniqueMember」が仮定されます。

なお，LDAP 対応のディレクトリサービスとしてActive Directory を使用する場合，「member」を指定してください。

LdapGroupFromUserAttrエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ識別子としてユーザの属性値からディレクトリのノード情報を検索するか，検索しないかを指定します。

Yes
ユーザの属性値からディレクトリのノード情報を検索します。

No
ユーザの属性値からディレクトリのノード情報を検索しません。

指定を省略した場合，「No」が仮定されます。

LdapGroupIdFromUserAttrエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ情報が格納されているユーザの属性を64バイト以内で指定します。指定を省略した場合，「ou」が仮定されます。

LdapGroupIsDnFromUserAttrエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ユーザの属性に格納されているグループの情報がDNかどうかを指定します。

Yes
ユーザの属性に格納されているグループの情報がDNの場合，指定します。この場合，DocumentBrokerは，LdapGroupIdAttrFromUserAttrエントリで指定されたグループの属性の情報を取得します。

No
ユーザの属性に格納されているグループの情報がDNでない場合，指定します。この場合，格納された情報を，そのままグループ識別子とします。

指定を省略した場合，「No」が仮定されます。

LdapGroupIdAttrFromUserAttrエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ユーザの属性から取得した情報で，グループのグループ識別子として利用する属性を，64バイト以内で指定します。指定を省略した場合，「dn」が仮定されます。

LdapGroupFromUserDnエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。グループ識別子をユーザエントリのDNの構成要素となる属性値から検索するか，検索しないかを指定します。

Yes
ユーザのDNからディレクトリのノード情報を検索します。

No
ユーザのDNからディレクトリのノード情報を検索しません。

指定を省略した場合，「No」が仮定されます。

LdapGroupIdFromUserDnエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ユーザエントリのDNの構成要素の中で，グループ識別子として使用する属性名を，64バイト以内で指定します。指定を省略した場合，「ou」が仮定されます。

LdapGroupTimeoutエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。ディレクトリエントリからグループを検索するときの最大待ち時間を指定します。0～180（秒）の範囲で指定します。0を指定した場合，待ち時間が無制限になります。指定を省略した場合，「60（秒）」が仮定されます。

LdapGroupCaseエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。DocumentBrokerで扱うグループ識別子の文字種についての制限を指定します。

Upper
グループ識別子の文字列を，すべて大文字に変換する場合に指定します。LDAP対応のディレクトリサービスから取得したグループ識別子を，DocumentBroker内で大文字に変換します。

Lower
グループ識別子の文字列を，すべて小文字に変換する場合に指定します。LDAP対応のディレクトリサービスから取得したグループ識別子を，DocumentBroker内で小文字に変換します。

Default
グループ識別子の文字列を変換しません。

指定を省略した場合，「Default」が仮定されます。

LdapBindUserDNエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。

ディレクトリサービスからのデータ読み込み時に，ディレクトリサービスに対して認証を行ってバインドする場合は，認証に使用するDNを指定します。

指定を省略した場合，ディレクトリサービスからのデータ読み込み時に，ディレクトリサービスに対して匿名バインドが使用されます。

なお，ディレクトリサービスに対して認証を行ってバインドする場合は，必ずLdapBindUserDNエントリとLdapBindPasswordエントリの両方を指定してください。どちらか一方でも指定を省略した場合は，ディレクトリサービスに対して匿名バインドが使用されます。

LdapBindPasswordエントリ

UserAuthenticationエントリでLDAPまたはLDAPEXを指定した場合に有効になります。

ディレクトリサービスからのデータ読み込み時に，ディレクトリサービスに対して認証を行ってバインドする場合は，認証に使用するパスワードを指定します。

なお，ディレクトリサービスに対して認証を行ってバインドする場合は，必ずLdapBindUserDNエントリとLdapBindPasswordエントリの両方を指定してください。どちらか一方でも指定を省略した場合は，ディレクトリサービスに対して匿名バインドが使用されます。

DbTypeエントリ

文書空間が接続するデータベース種別を指定します。使用できるデータベースシステムはHiRDBです。したがって，このエントリには「HIRDB」と指定してください。なお，このエントリの指定は省略できません。

PdHostエントリ

データベースを構築しているサーバのホスト名を指定します。使用できるデータベースシステムはHiRDBです。したがって，このエントリにはHiRDBサーバのホスト名を指定してください。なお，このエントリの指定は省略できません。

PdNamePortエントリ

データベースを構築しているサーバのポート番号を指定します。使用できるデータベースシステムはHiRDBです。したがって，このエントリにはHiRDBサーバのポート番号を指定してください。なお，このエントリの指定は省略できません。

PdUserエントリ

データベースにアクセスするためのDocumentBroker用のユーザ名とパスワードを指定します。使用できるデータベースシステムはHiRDBです。したがって，HiRDBのユーザ権限でCONNECT権限およびスキーマ定義権限を付与したユーザを指定してください。指定方法を次に示します。

"ユーザ名"/"パスワード"

HiRDBのユーザ権限については，「3.10.3　HiRDBのユーザ権限の設定」を参照してください。なお，このエントリの指定は省略できません。

DBConnectionPoolCountエントリ

サービスプロセス当たりのDBコネクションプール数を指定します。0～64の間で指定してください。0を指定した場合，プールされずに，要求ごとにDBコネクションを確立します。指定を省略した場合，「4」が仮定されます。

ただし，DBConnectionPoolCountエントリに指定した値と，次に説明するDBConnectionPoolDynamicエントリに指定した値を合わせて，1以上になるように設定してください。

DBConnectionPoolDynamicエントリ

サービスプロセス当たりの一時コネクションの最大数を指定します。0～64の間で指定してください。0を指定した場合，一時コネクションは確立されません。指定を省略した場合，「4」が仮定されます。

ただし，上記で説明したDBConnectionPoolCountエントリに指定した値と，DBConnectionPoolDynamicエントリに指定した値を合わせて，1以上になるように設定してください。

DBConnectionPoolTimingエントリ

プールするDBコネクション作成のタイミングを指定します。

Static
静的（DocumentBroker起動時）にプールするすべてのコネクションを作成します。

Dynamic
動的（コネクション解放時）にプールします。

指定を省略した場合，「Static」が仮定されます。

DBConnectionPoolOverエントリ

プールしているDBコネクションがすべて使用中，かつ一時コネクションが最大数に達している場合のアクションを指定します。

Error
クライアントにエラーの戻り値を返却します。

FIFO
コネクション待ち行列に入れ，空きコネクションが発生したときに割り当てます。

指定を省略した場合，「Error」が仮定されます。

DBConnectionScopeエントリ

DBコネクション割り当て期間を指定します。

Connection
文書空間への接続単位に割り当てます。文書空間への接続時に割り当て，文書空間への接続解除時に解放します。

Transaction
トランザクション単位に割り当てます。トランザクション開始時に割り当て，トランザクション終了時に解放します。

指定を省略した場合，「Transaction」が仮定されます。

DBConnectionPoolWaitTimeOutエントリ

DBConnectionPoolOverエントリに「FIFO」を指定している場合，DBコネクション割り当て待ち時間を0～7,200,000（ミリ秒）の範囲で指定します。

0を指定した場合，コネクション割り当て待ち時間が無制限になります。

このエントリの指定によってタイムアウトが発生した場合，エラーメッセージを出力して，DBコネクション割り当て待ちリストから削除します。この時，DocumentBrokerクライアントには，戻り値としてDMARC_LOST_CONNECTIONを返却します。指定を省略した場合，「0（ミリ秒）」が仮定されます。

BatchSizeHintエントリ

BatchSizeHintエントリの値には，データベース上の検索結果集合から，検索結果を取得する際にメモリにバッファリングする検索結果行の行数を指定できます。最適値は「1」です。なお，指定を省略した場合，「1」が仮定されます。よって，このエントリの指定は不要です。

PdTSPluginOwnerエントリ

全文検索および構造指定検索を実行する場合に，HiRDB Text Search Plug-inを登録したユーザの認可識別子を指定します。

なお，HiRDB Text Search Plug-inはデフォルト（MASTER）のスキーマに格納されるため，このエントリの指定は不要です。HiRDB Text Search Plug-inの登録時に，pdplgrgstコマンドの-uオプション（プラグイン登録スキーマ指定）を使用した場合だけ，このエントリの指定が必要です。

AcLogUseエントリ

アクセスログの取得の有無を指定します。

Yes
アクセスログを取得します。

No
アクセスログを取得しません。

指定を省略した場合，「No」が仮定されます。

AcLogLevelエントリ

アクセスログに出力するアクセスレベルを指定します。指定した出力レベルによってアクセスログに出力する出力ログ情報を調節します。表4-5に出力レベルによる出力ログ情報を示します。

アクセスログレベルおよび取得される情報の詳細については，「6.5　アクセスログに関する運用」を参照してください。なお，指定を省略した場合，「Write」が仮定されます。

表4-5　アクセスログの出力レベルと出力ログ情報

出力レベル
出力ログ情報

Write

セッションの確立

セッションの切断

オブジェクトの作成

オブジェクトの削除

オブジェクト間の関連づけの設定

オブジェクト間の関連づけの解除

ACLのバインド

ACLのバインドの解除

バージョンのチェックイン

バージョンのチェックアウト

チェックアウトの取り消し

バージョンの削除

バージョンの固定

バージョンの固定の解除

リレーション情報の作成

リレーション情報の削除

レンディションの作成

レンディションの削除

マスタレンディションの変更

プロパティの設定

ファイルのアップロード

全文検索インデクスの作成

全文検索インデクスの削除

Read

出力レベルが「Write」の場合に出力される情報

オブジェクトとの接続

オブジェクトの接続の解除

オブジェクト一覧の取得

オブジェクトを包含するコンテナ一覧の取得

コンテナに包含されるオブジェクト一覧の取得

ACL一覧の取得

バージョン一覧の取得

バージョン管理情報一覧の取得

リザベーションの取得

リレーション情報の一覧取得

レンディションの一覧取得

プロパティの取得

ファイルのダウンロード

edmSQLの構文チェック

問い合わせの実行

問い合わせの実行と問い合わせ結果の取得

問い合わせ結果の削除

Error

出力レベルが「Read」の場合に出力される情報

エラー

AcLogFileCountエントリ

アクセスログを取得しているファイルのサイズが，AcLogFileSizeエントリに指定した上限値を超えた場合に，切り替えるファイル数を2～16で指定します。出力ファイル名はEDMAccess_NO.logで，「NO」は出力ファイル通番を示します。出力ファイル通番とは，1～AcLogFileCountエントリに指定した数（出力ファイル数）です。

アクセスログは，出力ファイル通番が「1」のファイルから順番に出力されます。あるファイルにアクセスログを出力する場合に，ファイルサイズがAcLogFileSizeエントリに指定した出力ファイルサイズよりも大きくなるとき，出力ファイル通番が一つ大きいファイルに出力します。例えば，出力ファイル通番が「1」であるファイルにアクセスログを出力する場合に，このファイルのサイズの最大量を超えてしまうときは，ファイル出力通番が「2」のファイルにログを出力します。

AcLogFileCountエントリに指定した最大のファイル通番のファイルにアクセスログを出力しようとして，そのファイルのファイルサイズがAcLogFileSizeエントリに指定した出力ファイルサイズよりも大きくなってしまう場合，出力ファイル通番が「1」のファイルを初期化してログの出力を継続します。

指定を省略した場合，「2」が仮定されます。

AcLogFileSizeエントリ

アクセスログファイルのサイズを，4,096～2,147,483,647（バイト）で指定します。アクセスログの出力が指定されたサイズを超える場合，次の通番のファイルへ出力を切り替えます。また，カレントファイル出力中に異常（入出力エラーなど）が発生した場合も，次の通番のファイルへ出力を切り替えます。ただし，切り替えは1回だけ実行します。

指定を省略した場合，「1,048,576（1メガバイト）」が仮定されます。

XdkShmemManageエントリ

メタ情報管理用の共用メモリの確保，解放の方法を指定します。指定する値によって，メタ情報管理に使用する共用メモリの確保および解放のタイミングを変更できます。

NORMAL
共用メモリを再利用しない場合に指定します。通常の運用の場合，NORMALを指定してください。メタ情報管理用の共用メモリは，DocumentBrokerサーバの起動時に確保され，終了時に解放されます。

MEMHOLD
共用メモリを再利用する場合に指定します。共用メモリ領域のフラグメントの発生によって，DocumentBrokerサーバの起動時に，メタ情報の管理に必要な共用メモリが確保できないことがあります。このような場合に，MEMHOLDを指定してください。
MEMHOLDを指定した場合，メタ情報管理用の共用メモリは，DocumentBrokerサーバの起動時に確保され，通常の終了時には解放されません。ただし，強制終了時には，解放されます。メタ情報管理用の共用メモリの確保方法は，要求サイズ（環境変数「XDK_SHMEM_SIZE」の値，またはXdkShmemSizeエントリに指定する値）と確保済みの共用メモリサイズによって異なります。要求サイズ（環境変数「XDK_SHMEM_SIZE」の値，またはXdkShmemSizeエントリに指定する値）よりも確保済みの共用メモリサイズが大きい場合，DocumentBrokerサーバの起動時にはメタ情報を確保済みの共用メモリに読み込みます。要求サイズ（環境変数「XDK_SHMEM_SIZE」の値，またはXdkShmemSizeエントリに指定する値）よりも，確保済みの共用メモリサイズが小さい場合，確保済みの共用メモリを解放して要求サイズのメモリを確保してからメタ情報を読み込みます。

XdkShmemSizeエントリ

メタ情報管理用に確保する共用メモリセグメントサイズを，3,000,000～1,073,741,824（バイト）で指定します。指定を省略した場合，「3,000,000（バイト）」が仮定されます。なお，この共用メモリセグメントサイズは，環境変数「XDK_SHMEM_SIZE」にも指定できます。ただし，XdkShmemSizeエントリおよび環境変数「XDK_SHMEM_SIZE」の両方に値を指定している場合は，XdkShmemSizeエントリの値が優先されます。したがって，メタ情報管理用に確保する共用メモリセグメントサイズは，XdkShmemSizeエントリに指定することを推奨します。メタ情報管理用に確保する共用メモリセグメントサイズに設定される値を次の表に示します。

表4-6　メタ情報管理用に確保する共用メモリセグメントサイズの値

XDK_SHMEM_SIZE | XdkShmemSizeエントリ | 共用メモリセグメントサイズの値
○ | ○ | XdkShmemSizeエントリの指定値
○ | － | XDK_SHMEM_SIZEの指定値
－ | ○ | XdkShmemSizeエントリの指定値
－ | － | 3,000,000バイト

（凡例）

○：指定あり。

－：指定なし。

なお，オペレーティングシステムのページングファイルサイズの値には，このメモリマップトファイルが確保できる十分なサイズを指定してください。

AIXの場合，次の点に注意してください。

環境変数「EXTSHM」の値には「ON」を指定してください。

共用メモリセグメントを確保できない場合は，DocumentBrokerサーバが停止します。この時，KMBR02004-Eのメッセージが出力されます。メッセージの詳細については，マニュアル「DocumentBroker Version 3　メッセージ」を参照してください。

XdkShmemSizeエントリおよび環境変数「XDK_SHMEM_SIZE」に指定する，メタ情報管理用に確保する共用メモリセグメントサイズの見積もり式を次に示します。

メタ情報管理用に確保する共用メモリセグメントサイズ（バイト）

＝3,000,000＋10,640×A＋12,584×B＋752×C

（凡例）

A：ユーザが定義するクラス数を表します。

B：ユーザが定義するプロパティ数を表します。

C：ユーザが定義するクラスに定義するユーザ定義のプロパティの総数を表します。この値はメタ情報の追加コマンド（EDMAddMeta）に指定する定義情報ファイル内の[AddProperty/クラス名]の数です。

FtpBufferSizeエントリ

ファイル分割転送機能を使用してファイル転送する場合の，データ転送サイズを指定します。指定できる値の範囲は，4,096～2,147,483,647（バイト）です。なお，4,096～65,000（バイト）の範囲で指定することを推奨します。

このエントリの記述を省略した場合は，ファイル分割転送機能を使用しないでファイル転送を実行します。なお，ファイル分割転送機能については，「3.13.3(2)　ファイル分割転送機能の設定」を参照してください。

SelectServerInMultiServerエントリ

複数の実行環境から，同じ文書空間にアクセスする運用形態の場合に，クライアント側で接続するDocumentBrokerサーバを選択するかどうかを指定します。

Yes
クライアント側で接続するDocumentBrokerサーバを選択します。

No
クライアント側で接続するDocumentBrokerサーバを選択しません。

「Yes」を指定した場合，クライアント側で，接続するDocumentBrokerサーバの実行環境識別子を指定する必要があります。指定方法については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」を参照してください。上記以外の値を指定した場合，DocumentBrokerサーバの起動時にエラーが発生します。指定を省略した場合，「No」が仮定されます。

なお，同じ文書空間にアクセスするすべての実行環境でSelectServerInMultiServerエントリの値を同じにしてください。また，DocumentBrokerサーバのバージョンが02-40より前のメタ情報ファイルを使用している場合，このエントリを省略するか，「No」を指定してください。「Yes」を指定した場合，DocumentBrokerサーバ起動時にエラーが発生します。

SRefreshLimitエントリ

DocumentBrokerサーバがサービスプロセスをリフレッシュ（サービスプロセスを再起動）する契機となるサービスプロセスのメモリサイズを指定します。サービスプロセスが指定されたメモリサイズを超過すると，DocumentBrokerサーバはサービスプロセスをリフレッシュします。リフレッシュすると，メモリ所要量等のリソースをDocumentBroker起動直後の状態にすることができます。

メモリサイズ監視によるサービスプロセスのリフレッシュは，1プロセスずつ行います。複数のサービスプロセスが，指定したメモリサイズを超過している場合，1プロセスのリフレッシュ完了後，順次1プロセスずつリフレッシュします。

メモリサイズ監視によるリフレッシュ実行中に，サービスプロセスのリフレッシュコマンド（EDMRefresher）が実行された場合，サービスプロセスのリフレッシュコマンド（EDMRefresher）はメモリサイズ監視によるリフレッシュの終了を待ってから実行されます。複数のサービスプロセスが指定したメモリサイズを超過しており，そのうち1つのサービスプロセスのリフレッシュを実行中に，サービスプロセスのリフレッシュコマンド（EDMRefresher）が実行された場合，実行中のサービスプロセスのリフレッシュ終了後，サービスプロセスのリフレッシュコマンド（EDMRefresher）によるリフレッシュが全サービスプロセスに対して順次実行されます。そのため，メモリサイズが本エントリの指定値を超過している残りのサービスプロセスは，サービスプロセスのリフレッシュコマンド（EDMRefresher）によってリフレッシュされます。

指定内容と指定できる値は次のとおりです。

起動時以降に1サービスプロセスで増加するヒープメモリサイズの上限値を指定します。増加量が指定した値を超過した時，メモリサイズ監視によるサービスプロセスのリフレッシュが動作します。指定できる値は，64～2048です。単位はメガバイトで指定してください。指定を省略した場合，サービスプロセスのメモリサイズ監視は行いません。

指定値は，アプリケーションが扱う最大文書サイズや同時作業文書数等を考慮して設定してください。指定値が小さ過ぎると，頻繁にサービスプロセスのリフレッシュが実行され性能低下の原因となります。

また，サービスプロセスをリフレッシュすると，アプリケーションプロセスとサービスプロセスの通信で使用するポート番号がリフレッシュ前後で変更される可能性があります。アプリケーションプロセスがサービスプロセスに接続後，メモリサイズ監視によるリフレッシュが動作し通信ポート番号が変更され，アプリケーションプロセスとリフレッシュ前のサービスプロセスの通信で使用していたポート番号がほかのプログラムに使用されると，以後アプリケーションプロセスとサービスプロセスとの通信で無応答が発生する原因となります。本現象を回避するために，アプリケーションプロセスとサービスプロセスとの通信で使用するポート番号を固定してください。アプリケーションプロセスとサービスプロセスとの通信で使用する固定ポート番号は，サービスプロセス定義ファイルに指定することができます。固定ポート番号の指定については，「4.13　サービスプロセス定義ファイル」と，マニュアル「VisiBroker for C++ プログラマーズガイド」またはマニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照願います。

SRefreshGraceTimeエントリ

メモリサイズ監視によってサービスプロセスをリフレッシュする時に，ユーザがログアウトまたはトランザクションを決着するための猶予時間を秒単位で指定します。RefreshTimingエントリに「Connection」を指定した場合は，ユーザがログアウトするための猶予時間になり，「Transaction」を指定した場合は，トランザクションを決着する，またはユーザがログアウトするための猶予時間になります。接続中のユーザが存在する，または未決着のトランザクションが存在する場合，少なくともこの猶予時間はリフレッシュされません。指定した猶予時間が経過した場合，接続中のユーザは強制的にサーバとの接続を切断されます。この時，各APIで次のエラーが返却される場合があります。

major_code = ERR_DBR，minor_code = ERR_SESSION_NOT_CONNECT

接続中のユーザが存在しない，または未決着のトランザクションが存在しない場合は直ちにメモリサイズ監視によるリフレッシュが実行されます。また，猶予時間内に接続中のユーザがログアウトした場合，または未決着のトランザクションが決着された場合は，本エントリに指定した値まで猶予時間が経過するのを待たずにメモリサイズ監視によるリフレッシュが実行されます。

メモリサイズ監視によるリフレッシュ実行中に，ユーザが文書空間に接続した時，CdbrSession::Connectメソッドで，次のエラーが返却される場合があります。

major_code = ERR_DBR，minor_cde = ERR_NO_SERVICE

major_code = ERR_DMA，minor_code = DMARC_NETWORK_UNAVAILABLE

指定できる値は，0～7200です。0を指定した場合，接続中ユーザの有無または未決着トランザクションの有無にかかわらず直ちにメモリサイズ監視によるリフレッシュが実行されます。

指定を省略した場合，「600」が仮定されます。

RefreshTimingエントリ

サービスプロセスのリフレッシュコマンド（EDMRefresher）やメモリサイズ監視によるサービスプロセスのリフレッシュを猶予する場合，猶予時間内であってもリフレッシュが実行される契機となる事象を指定します。このエントリに指定した状態になるか，猶予時間が経過するまでプロセスの終了が猶予されます。

Connection
リフレッシュ対象サービスプロセスに接続したすべてのユーザがログアウトするまで猶予されます。この時サーバへの接続要求が実行された場合，猶予中のサービスプロセスには接続できません。猶予中のサービスプロセスに接続済みのユーザは，新たにトランザクションを開始することができます。

Transaction
リフレッシュ対象サービスプロセスで実行中のすべてのトランザクションが決着する，またはリフレッシュ対象サービスプロセスに接続したすべてのユーザがログアウトするまで猶予されます。この時サーバへの接続要求が実行された場合，猶予中のサービスプロセスには接続できません。猶予中のサービスプロセスに接続済みのユーザは，新たにトランザクションを開始することができません。トランザクションの開始を実行すると，次のエラーが返却されます。

major_code = ERR_DBR，minor_code = ERR_SESSION_NOT_CONNECT

指定を省略した場合，「Connection」が仮定されます。

VArrayElementCheckエントリ

VariableArray型プロパティの要素に指定した値をチェックするか，チェックしないかを指定します。

Yes
VariableArray型プロパティの要素の値をチェックします。

No
VariableArray型プロパティの要素の値をチェックしません。

次に，VariableArray型のプロパティに指定した値のデータ型と実行されるチェックの内容について次の表に示します。なお，指定を省略した場合，「No」が仮定されます。

表4-7　VariableArray型プロパティのデータ型と実行されるチェックの内容

プロパティに指定した値のデータ型 | チェックの内容
DMA_DATATYPE_BOOLEAN | DMA_TRUE，DMA_FALSE，またはDMA_UNKNOWN以外はDMARC_BAD_VALUEのエラーになる。
DMA_DATATYPE_INTEGER32 | プロパティの最小値，および最大値をメタ情報から取得し，この範囲外であればDMARC_BAD_VALUEのエラーになる。※¹
DMA_DATATYPE_STRING | プロパティの最大文字列長をメタ情報から取得し，これを超える場合はDMARC_BAD_VALUEのエラーになる。※²

注※1

プロパティの最小値および最大値は，「－2,147,483,648～2,147,483,647」です。最小値よりも小さい値または最大値よりも大きい値の場合，エラーになります。

注※2

プロパティの最大文字列長は，ユーザがVariableArray型プロパティを定義する場合に設定した最大文字列長です。最大文字列長よりも長い文字列の場合，エラーになります。

ErrChkFlagOfObjectOperationエントリ

DocumentBrokerのオブジェクトを操作するときに実行するエラーチェックをbitフラグで指定します。なお，DocumentSpace構成定義ファイルで定義されている値を変更できるのは，次の場合だけです。

ユーザのアプリケーションプログラムが動作していた実行環境を移行する場合
アプリケーションが動作していたDocumentBroker実行環境のDocumentSpace構成定義ファイルで指定されている値に変更してください。

複数の実行環境から同じ文書空間にアクセスする実行環境を構築する場合
メタ情報初期設定コマンド（EDMInitMeta）を実行したDocumentBroker実行環境のDocumentSpace構成定義ファイルで指定されている値に変更してください。

EnbFncFlagOfObjectOperationエントリ

DocumentBrokerのオブジェクトを操作したときの動作をbitフラグで指定します。なお，DocumentSpace構成定義ファイルで定義されている値を変更できるのは，次の場合だけです。

ユーザのアプリケーションプログラムが動作していた実行環境を移行する場合
アプリケーションが動作していたDocumentBroker実行環境のDocumentSpace構成定義ファイルで指定されている値に変更してください。

複数の実行環境から同じ文書空間にアクセスする実行環境を構築する場合
メタ情報初期設定コマンド（EDMInitMeta）を実行したDocumentBroker実行環境のDocumentSpace構成定義ファイルで指定されている値に変更してください。

BlobSubstrModeエントリ

マルチファイル管理機能を使用する場合の，BLOBデータの取得・格納方法を指定します。

ALL
文書からコンテントを取得する場合，BLOBに格納されたファイルを1回のデータベースへのアクセスで取得して，ファイル単位に出力します。
文書にコンテントを格納する場合（文書を作成する場合または文書のコンテントを更新する場合），1回のデータベースへのアクセスで，複数のファイルを一つのBLOBに格納します。
この方式では，データベースへのアクセスの回数が削減されます。ただし，BLOBデータの取得先には，一つの文書に格納しているファイルの合計サイズ分のメモリまたはディスク容量が必要です。

ELEMENT
文書からコンテントを取得する場合，BLOBに格納されたファイルをファイル単位のデータベースへのアクセスで取得して，ファイル単位に出力します。
文書にコンテントを格納する場合（文書を作成する場合または文書のコンテントを更新する場合），ファイル単位のデータベースへのアクセスで，複数のファイルを一つのBLOBに格納します。
この方式では，データベースへのアクセス回数は増加します。ただし，BLOBデータの取得先に必要なメモリまたはディスク容量が，一つのファイルサイズ分だけになります。

THRESHOLD
文書からコンテントを取得する場合，BLOBに格納されたファイルをBlobSubstrThresholdエントリに指定するサイズ単位のデータベースへのアクセスで取得して，ファイル単位に出力します。
文書にコンテントを格納する場合（文書を作成する場合または文書のコンテントを更新する場合），BlobSubstrThresholdエントリに指定するサイズ単位のデータベースへのアクセスで，複数のファイルを一つのBLOBに格納します。
この方式では，データベースへのアクセスの回数は，すべてのファイルの合計サイズをBlobSubstrThresholdエントリに指定するサイズで割った商+1の値になります。また，BLOBデータの取得先には，BlobSubstrThresholdエントリに指定するサイズ分のメモリまたはディスク容量が必要です。

指定を省略した場合，「ELEMENT」が仮定されます。

BlobSubstrThresholdエントリ

マルチファイル管理機能を使用する場合で，BlobSubstrModeエントリの値にTHRESHOLDを指定しているときに，1回のデータベースへのアクセスで取得・格納するデータのサイズを指定します。指定する値の単位はバイトです。4,096～5,242,880（バイト）の間で指定してください。

なお，BlobSubstrModeエントリの値にALLまたはELEMENTを指定している場合，BlobSubstrThresholdエントリの設定値は無視されます。

指定を省略した場合，「1,048,576（バイト）」が仮定されます。

BlobGettingMethodエントリ

データベースからBLOBデータを取得するときの取得先を指定します。

Mem
メモリを使用してBLOBデータを取得します。
「Mem」を指定する場合は，メモリ所要量を確保してください。容量の見積もりについては，「2.7.1　仮想メモリ所要量の見積もり」を参照してください。

File
BLOBデータを"$DOCBROKERDIR/tmp"下に一時ファイルとして取得します。
「File」が指定できるのは，DocumentBrokerサーバとHiRDBサーバが同一マシンの場合だけです。DocumentBrokerサーバとHiRDBサーバが異なるマシンの場合は，データベースからBLOBデータを取得しようとしたときにエラーになります。
「File」を指定する場合は，一時ファイルの容量を確保してください。容量の見積もりについては，「2.7.3　ディスク占有量の見積もり」を参照してください。

指定を省略した場合，「Mem」が仮定されます。

LifeCycleSuiteConnectionエントリ

DocumentBroker Life Cycle Suiteを使用してWorkCoordinatorと連携するか，連携しないかを指定します。

Yes
DocumentBroker Life Cycle Suiteを使用してWorkCoordinatorと連携します。

No
DocumentBroker Life Cycle Suiteを使用してWorkCoordinatorと連携しません。

指定を省略した場合，「No」が仮定されます。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視され省略値も有効になりません。

4.2.3　DocumentSpace構成定義ファイルの記述例

DocumentSpace構成定義ファイルの記述例を，次に示します。

＜この項の構成＞

(1)　前提条件

(2)　定義例

(3)　認証，ユーザ情報の取得例

(1)　前提条件

定義例は次の前提条件に従っていることとします。

LDAP対応のディレクトリサービスを使用してユーザ管理をしている。

LDAP対応のディレクトリサービスで構築されているDITは図4-1に示す。

各エントリに対応するディレクトリ情報は表4-8に示す。

図4-1　DITの例

表4-8　エントリに対応するディレクトリ情報の例

エントリ
各エントリに対応するディレクトリ情報

o: hitachi,c=jp
dn: o=hitachi,c=jp
objectclass: top
objectclass: organization
o: hitachi,c=jp

ou=people
dn:ou=people,o=hitachi,c=jp
objectclass: top
objectclass: person
objectclass: organizationalperson
objectclass: inetOrgPerson
sn: person
cn: personal

uid: s891711
dn: uid=s891711,ou=people,o=hitachi,c=jp
objectclass: top
objectclass: person
objectclass: organizationalperson
objectclass: inetOrgPerson
cn: Taro Hitachi
cn;lang-ja: 日立太郎
uid: s891711
sn: hitachi
ou: unit1
ou: unit
userpassword: s891711

uid: k972251
dn: uid=k972251,ou=people,o=hitachi,c=jp
objectclass: top
objectclass: person
objectclass: organizationalperson
objectclass: inetOrgPerson
cn: Ichiro Yamada
cn;lang-ja: 山田 一郎
uid: k972251
sn: yamada
ou: unit2
ou: unit
userpassword: k972251

uid:k881891
dn: uid=k881891,ou=people,o=hitachi,c=jp
objectclass: top
objectclass: person
objectclass: organizationalperson
objectclass: inetOrgPerson
cn: Jiro Suzuki
cn;lang-ja: 鈴木 二郎
uid: k881891
sn: suzuki
ou: unit2
ou: unit
userpassword: k881891

ou: unit
dn: ou=unit,o=hitachi,c=jp
objectclass: top
objectclass: organizationalUnit
ou: unit
ou;lang-ja: ユニット

ou: unit1
dn: ou=unit1,ou=unit,o=hitachi,c=jp
objectclass: top
objectclass: organizationalUnit
ou: unit1
ou;lang-ja: ユニット1

ou: unit2
dn: ou=unit2,ou=unit,o=hitachi,c=jp
objectclass: top
objectclass: organizationalUnit
ou: unit2
ou;lang-ja: ユニット2

ou: group
dn: ou=group,o=hitachi,c=jp
objectclass: top
objectclass: groupOfUniqueNames
objectclass: hdsgroupofuniquenames
ou: group
ou;lang-ja: グループ
cn:grp0
groupOfUniqueNamesId: g0

ou: group1
dn: ou=group1,ou=group,o=hitachi,c=jp
objectclass: top
objectclass: groupOfUniqueNames
objectclass: hdsgroupofuniquenames
cn: grp1
ou: group1
ou;lang-ja: グループ1
groupOfUniqueNamesId: g1
uniqueMember: uid=s891711,ou=people,o=hitachi,c=jp

ou: group2
dn: ou=group2,ou=group,o=hitachi,c=jp
objectclass: top
objectclass: groupOfUniqueNames
objectclass: hdsgroupofuniquenames
cn:grp2
ou: group2
ou;lang-ja: グループ2
groupOfUniqueNamesId: g2
uniqueMember:uid=k972251,ou=people,o=hitachi,c=jp
uniqueMember:uid=k881891,ou=people,o=hitachi,c=jp

(2)　定義例

前提条件に基づいたDocumentSpace構成定義ファイルの定義例を次に示します。

[DocSpace]
Count = 1

[Entry0001]
Process = 1
SerialId = 673d2be0-d1fd-11d0-ab59-08002be29e1d
DbType = HIRDB
PdHost = d_ks5g
PdNamePort = 20570
PdUser = "hirdb"/"hirdb"
XdkShmemManage = NORMAL
SessionMax = 32
SessionTimeOut = 15
ACLogUse = No
ACLogLevel = Error
ErrChkFlagOfObjectOperation = 0x0000017f
EnbFncFlagOfObjectOperation = 0x0000007f

UserAuthentication = LDAPEX
LdapHost = 123.45.67.78
LdapPort = 389
LdapUserRoot = o = hitachi,c = jp
LdapGroup = Yes
LdapGroupFromUserAttr = Yes
LdapUserScope = Subtree
LdapUserTimeout = 60
LdapGroupTimeout = 60
LdapUserClass = inetOrgPerson
LdapUserId = uid
LdapUserFilterLeft = (
LdapUserFilterRight = )
LdapUserCase = Default
LdapGroupFromUserDn = Yes
LdapGroupClass = hdsgroupOfUniqueNames
LdapGroupId = groupOfUniqueNamesId
LdapGroupRoot = o = hitachi,c = jp
LdapGroupFilterLeft = (
LdapGroupFilterRight = )
LdapGroupIdFromUserAttr = ou
LdapGroupIsDnFromUserAttr = No
LdapGroupIdAttrFromUserAttr = ou
LdapGroupIdFromUserDn = ou
LdapGroupCase = Default
LdapBindUserDN = uid=Tanaka,ou=People,o=hitachi,c=jp
LdapBindPassword = password

(3)　認証，ユーザ情報の取得例

ここでは，例で示したDocumentSpace構成定義ファイルを使用した場合のユーザ認証とユーザ情報の取得について説明します。なお，説明ではログイン名は「s891711」であると仮定します。

認証

UserAuthenticationエントリがLDAPEXであるため，DocumentBrokerは次のような検索条件に適合するユーザのエントリを検索します。

検索基点

LdapUserRootエントリで指定されている「o=hitachi,c=jp」です。

検索範囲

LdapUserScopeエントリに「Subtree」が指定されているので検索基点からのすべてのサブツリーが検索範囲となります。

検索フィルタによる検索条件

LdapUserFilterLeftエントリ，LdapUserClassエントリ，LdapUserIdエントリおよびLdapUserFilterRightエントリの指定によって，「（&（objectclass=inetOrgPerson)(uid=s891711))」となります。

この検索によって見つかったエントリのuserpassword属性の値と入力されたパスワードを比較して，一致すれば認証成功になります。

ユーザ情報取得

LdapGroupエントリがYesであるため，グループのエントリを検索します。この場合，次のような検索条件を用いて検索します。

検索基点

LdapGroupRootエントリで指定されている「o=hitachi,c=jp」です。

検索範囲

LdapGroupScopeエントリに「Subtree」が指定されているので検索基点からのすべてのサブツリーが検索範囲となります。

検索条件

LdapGroupFilterLeftエントリ，LdapGroupClassエントリおよびLdapGroupFilterRightエントリの指定によって，「(&(objectclass=hdsgroupOfUniqueNames)(uniqueMember=uid=s891711,ou=people,o=hitachi,c=jp))」となります。

この検索によって見つかったエントリのgroupOfUniqueNamesId属性（LdapGroupIdエントリで指定されている属性）の値「g1」をグループ識別子として取得します。

LdapGroupFromUserAttrエントリがYesであるため，ユーザの属性値からグループ情報を取得します。この場合，ユーザのou属性（LdapGroupIdFromUserAttrエントリで指定されている属性）の値は「unit1」および「unit」ですが，LdapGroupIsDnFromUserAttrエントリがNoであるため，その値をそのままグループ識別子として取得します。

LdapGroupFromUserDnエントリがYesであるため，ユーザのdnからグループ情報を取得します。この場合，ユーザのdn:uid=s891711,ou=people,o=hitachi,c=jpのou（LdapGroupIdFromUserDnエントリで指定したDNのキー）の値「people」をグループ識別子として取得します。

このような検索結果から「g1」，「unit1」，「unit」および「people」をこのユーザのグループ識別子として取得できます。

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

DocumentBrokerを終了する。

DocumentSpace構成定義ファイルを変更する。

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++　解説」を参照してください。

4.3　セキュリティ定義ファイル（docaccess.ini）

この節では，セキュリティ定義ファイルについて説明します。

セキュリティ定義ファイルは，"実行環境ディレクトリ/etc/docaccess.ini" に提供されています。

＜この節の構成＞

4.3.1　セキュリティ定義ファイルの概要

4.3.2　セキュリティ定義ファイルの記述形式

4.3.3　セキュリティ定義ファイルの記述例

4.3.1　セキュリティ定義ファイルの概要

セキュリティ定義ファイルは，次に示すアクセス制御機能の運用に関する情報を定義するファイルです。

セキュリティ管理者
DocumentBrokerに登録されたオブジェクトやオブジェクトのアクセス権を保守するユーザです。

ユーザ権限定義ファイル名
文書空間にオブジェクトを作成する権限や文書空間内のオブジェクトに対する操作の範囲を定義するために作成するファイルの名称です。ユーザ権限定義ファイルについては，「4.4　ユーザ権限定義ファイル」を参照してください。

デフォルトで設定されるパーミッション
新規にオブジェクトを作成した場合に，ACFlagに設定するパーミッションです。

4.3.2　セキュリティ定義ファイルの記述形式

ここでは，セキュリティ定義ファイルの記述形式について説明します。

セキュリティ定義ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されます。

[Security]セクション

[Entry0001]セクション

セクションとエントリの記述規則を次に示します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクション名を指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=指定値」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

文書空間で使用する文字コード種別がUTF-8の場合は，印刷可能なASCIIコードで記述します。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

以降，セキュリティ定義ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。なお，エントリは，1行2,048バイト以内で指定してください。

＜この項の構成＞

(1)　[Security]セクション

(2)　[Entry0001]セクション

(1)　[Security]セクション

[Security]セクションを構成するエントリは次のとおりです。

SecurityAdminエントリ

DocumentBrokerに登録されたオブジェクトやオブジェクトのアクセス権を保守するユーザ（セキュリティ管理者）を指定します。このエントリは，アクセス制御機能に対応するデータベーススキーマが構築されている場合，有効になります。セキュリティ管理者名には，ユーザ識別子を指定してください。ユーザ識別子は，「"」（引用符）で囲んで指定します。セキュリティ管理者を複数指定する場合は，「"」（引用符）で囲んだユーザ識別子を「,」（コンマ）で区切って指定します。セキュリティ管理者の人数に制限はありませんが，エントリの定義に従って1行2,048バイト以内で指定してください。セキュリティ管理者の指定例を次に示します。

セキュリティ管理者の指定例

SecurityAdmin="ユーザ識別子1","ユーザ識別子2"

ユーザ識別子については，「3.8.2　ユーザ情報の取得方法」を参照してください。なお，このエントリの指定は省略できません。

(2)　[Entry0001]セクション

[Entry0001]セクションには，ユーザ権限定義ファイル名およびオブジェクトを新規に作成した場合に，そのオブジェクトに設定するACFlagのデフォルト値を定義します。[Entry0001]セクションを構成する各エントリは次のとおりです。

UserPermDefFileエントリ

文書空間のすべてのオブジェクトに対しての権限をユーザ，またはグループ単位で定義するユーザ権限定義ファイルの名称を指定します。このエントリは，アクセス制御機能に対応するデータベーススキーマが構築されている場合，有効になります。ファイル名は，実行環境ディレクトリ/etcからの相対パス指定として解釈されます。指定を省略した場合，すべてのユーザがオブジェクト作成権限を持ち，オブジェクト操作権限は持たないと仮定されます。

パスは印刷可能なASCIIコードで指定してください。

DefaultACFlagOwnerエントリ

オブジェクトの作成時にデフォルトで付加されるACFlagを指定します。オブジェクトの所有者に対するパーミッションを指定します。ACFlagは，表4-9および表4-10に示されるパーミッション文字列を「|」（ストローク）で結合して指定します。指定を省略した場合，フルコントロールが仮定されます。

DefaultACFlagGroupエントリ

オブジェクトの作成時にデフォルトで付加されるACFlagを指定します。グループに対するパーミッションを指定します。ACFlagは，表4-9および表4-10に示されるパーミッション文字列を「|」（ストローク）で結合して指定します。指定を省略した場合，フルコントロールが仮定されます。

DefaultACFlagEveryoneエントリ

オブジェクトの作成時にデフォルトで付加されるACFlagを指定します。すべてのユーザに対するパーミッションを指定します。ACFlagは，表4-9および表4-10に示されるパーミッション文字列を「|」（ストローク）で結合して指定します。指定を省略した場合，フルコントロールが仮定されます。

DefaultACFlagOwnerエントリ，DefaultACFlagGroupエントリ，およびDefaultACFlagEveryoneエントリに設定できるパーミッションには，基本パーミッションと組み合わせパーミッションがあります。どちらのパーミッションも指定できます。また，この2種類のパーミッションを組み合わせて指定することもできます。したがって，各エントリの値には，次に示す表のパーミッション文字列を指定します。基本パーミッションと対応する文字列を表4-9に示します。また，組み合わせパーミッションと対応する文字列を表4-10に示します。

表4-9　基本パーミッションと対応する文字列

パーミッション文字列 | パーミッション | 意味
PRIM_READ_PROPS | 基本プロパティ参照権 | プロパティを参照する権限
PRIM_WRITE_PROPS | 基本プロパティ更新権 | プロパティを更新する権限
PRIM_READ_CONTENTS | 基本コンテント参照権 | 文書の内容を参照する権限
PRIM_WRITE_CONTENTS | 基本コンテント更新権 | 文書の内容を更新する権限
PRIM_LINK | 基本リンク権 | オブジェクト同士を関連づける権限
PRIM_VERSION | 基本バージョン管理権 | オブジェクトのバージョンに対する操作をする権限
PRIM_DELETE | 基本削除権 | オブジェクトを削除する権限

基本プロパティ参照権は，そのほかの基本パーミッションにも含まれます。したがって，基本プロパティ参照権以外の基本パーミッションを指定すると，各基本パーミッションで許可される操作に加えて，オブジェクトのプロパティの参照が許可されます。なお，基本パーミッションは，アクセス制御の対象となるオブジェクトごとに許可される操作の内容が異なります。詳細については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」またはマニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」を参照してください。

表4-10　組み合わせパーミッションと対応する文字列

パーミッション文字列
パーミッション
意味

READ_PROPS
プロパティ参照権
基本プロパティ参照権と同じ権限

READ
参照権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本コンテント参照権

WRITE_PROPS
プロパティ更新権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本プロパティ更新権

READ_WRITE
参照更新権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本プロパティ更新権

基本コンテント参照権

基本コンテント更新権

DELETE
削除権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本削除権

LINK
リンク権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本リンク権

VERSION
バージョン権
次の基本パーミッションを組み合わせた権限

基本プロパティ参照権

基本プロパティ更新権

基本コンテント参照権

基本コンテント更新権

基本バージョン管理権

FULL_CONTROL
フルコントロール
すべての基本パーミッションを組み合わせた権限

なお，表4-9および表4-10に示したパーミッションのほかに，「NONE」が指定できます。NONEを指定すると，新規にオブジェクトを作成した場合に権限は設定されません。また「NONE」は，ほかのパーミッション文字列と一緒には指定できません。例えば，「DefaultACFlagEveryone=NONE｜LINK」といった指定はできません。

4.3.3　セキュリティ定義ファイルの記述例

セキュリティ定義ファイルの記述例を例題に沿って説明します。

＜この項の構成＞

(1)　セキュリティ定義ファイルで使用する例題

(2)　セキュリティ定義ファイルの記述例

(1)　セキュリティ定義ファイルで使用する例題

例題として使用するセキュリティ定義ファイルの定義内容を次の表に示します。

表4-11　セキュリティ定義ファイルの定義内容

指定項目
指定する値
説明

セキュリティ管理者
"admin01"
セキュリティ管理者としてユーザID「admin01」のユーザを指定します。

ユーザ権限定義ファイル
userperm.ini
使用するユーザ権限定義ファイルのファイル名「userperm.ini」を指定します。

文書フォルダの所有者の権限
FULL_CONTROL
文書やフォルダの所有者に必ず与える権限として，すべての操作を許可します。

文書やフォルダのプライマリグループの権限
READ_WRITE|LINK|VERSION
文書やフォルダのプライマリグループに必ず与える権限として次の操作を許可します。

オブジェクトのプロパティの参照と更新

オブジェクト同士の関連づけ

オブジェクトのバージョンに対する操作

文書の内容の参照と更新

すべてのユーザの権限
NONE
すべてのユーザに必ず与える権限としては，何も権限を与えません。

(2)　セキュリティ定義ファイルの記述例

セキュリティ定義ファイルの記述例を次に示します。

[Security]
SecurityAdmin = "admin01"

[Entry0001]
UserPermDefFile = userperm.ini
DefaultACFlagOwner = FULL_CONTROL
DefaultACFlagGroup = READ_WRITE|LINK|VERSION
DefaultACFlagEveryone = NONE

4.4　ユーザ権限定義ファイル

この節では，ユーザ権限定義ファイルについて説明します。

ユーザ権限定義ファイルには，サンプルファイル（実行環境ディレクトリ/etc/userperm.ini）が提供されています。DocumentBrokerの運用形態に合わせてサンプルファイルを編集してください。また，ファイル名は，セキュリティ定義ファイルで定義したファイル名に変更してください。

＜この節の構成＞

4.4.1　ユーザ権限定義ファイルの概要

4.4.2　ユーザ権限定義ファイルの記述形式

4.4.3　ユーザ権限定義ファイルの記述例

4.4.1　ユーザ権限定義ファイルの概要

ユーザ権限定義ファイルは，ユーザ権限を定義するためのファイルです。ユーザ権限とは，文書空間にオブジェクトを作成する権利（オブジェクト作成権限）と，文書空間内のすべてのオブジェクトに対する操作の範囲（オブジェクト操作権限）をユーザまたはグループ単位で定めるアクセス制御情報の一つです。セキュリティ定義ファイルに指定したユーザ権限定義ファイルに，ユーザ権限を定義します。

セキュリティ運用者は，このユーザ権限定義ファイルを更新することでユーザ権限を変更できます。

4.4.2　ユーザ権限定義ファイルの記述形式

ここでは，ユーザ権限定義ファイルの記述形式について説明します。

ユーザ権限定義ファイルは，[UserPermList]セクションとエントリによって構成されます。

セクションとエントリの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

セクション名は，[　]（角括弧）で囲んで指定します。

エントリは，「（対象）:（対象の種別）:（権限を表す文字列）」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

記述形式を次に示します。

[UserPermList]

Subject:SubjectType:パーミッション文字列

Subject

権限を与える対象となるユーザ，グループ，またはシステムサブジェクトを指定します。

SubjectType

アクセス権を与えるサブジェクトが，ユーザなのかグループなのかまたはシステムサブジェクトなのかを識別するための情報です。次に示す識別子のどれかを指定します。

U
Subjectに指定した権限を与える対象が，ユーザであることを示します。

G
Subjectに指定した権限を与える対象が，グループであることを示します。

S
Subjectに指定した権限を与える対象が，システムサブジェクトであることを示します。なお，この値を指定する場合，Subjectには「everyone」だけ指定できます。

パーミッション文字列

Subjectに設定するパーミッションに対応する文字列を指定します。オブジェクト作成権限を表すパーミッション文字列「CREATE」および基本パーミッションを表すパーミッション文字列を指定します。基本パーミッションを表すパーミッション文字列については，「4.3.2(2)　[Entry0001]セクション」の表4-9を参照してください。パーミッション文字列は，「|」（ストローク）で結合して複数指定できます。

なお，[UserPermList]セクションのエントリの指定で，次に示す場合については，複数のエントリに指定されたパーミッション文字列の論理和のユーザ権限が与えられます。

同一ユーザや同一グループを複数指定して，それぞれにパーミッション文字列を指定した場合

すべてのユーザ（everyone）と特定のユーザや，特定のユーザとそのユーザが所属するグループなど，同一ユーザが該当するサブジェクトを複数指定して，それぞれにパーミッション文字列を指定した場合

ユーザ権限は，ユーザ権限定義ファイルの[UserPermList]セクションに，ユーザおよびグループ単位でパーミッションを指定します。ただし，セキュリティ定義ファイルのUserPermDefFileエントリにユーザ権限定義ファイル名を指定した場合，このセクションの指定は省略できません。なお，このセクションにエントリが指定されなかった場合，すべてのユーザにユーザ権限が与えられません。

4.4.3　ユーザ権限定義ファイルの記述例

ユーザ権限定義ファイルの記述例を例題に沿って説明します。

＜この項の構成＞

(1)　ユーザ権限定義ファイルで使用する例題

(2)　ユーザ権限定義ファイルの記述例

(1)　ユーザ権限定義ファイルで使用する例題

例題として使用するユーザ権限定義ファイルの定義内容を次の表に示します。

表4-12　ユーザ権限定義ファイルの定義内容

指定項目
指定する値
説明

DocumentBrokerを利用するすべてのユーザ(everyone)の権限
CREATE|PRIM_READ_PROPS
DocumentBrokerを利用するすべてのユーザ(everyone)に対して，次の操作を許可します。

オブジェクトの作成

すべてのオブジェクトのプロパティの参照

ユーザ「User1」の権限
PRIM_READ_CONTENTS
「User1」というユーザに対して，次の操作を許可します。

文書のプロパティの参照

文書の内容の参照

グループ「Group1」の権限
PRIM_DELETE
「Group1」というグループに所属するユーザに対して，すべてのオブジェクトの削除を許可します。

(2)　ユーザ権限定義ファイルの記述例

ユーザ権限定義ファイルの記述例を次に示します。

[UserPermList]
everyone:S:CREATE|PRIM_READ_PROPS
User1:U:PRIM_READ_CONTENTS
Group1:G:PRIM_DELETE

4.5　RDエリア構成定義ファイル

この節では，RDエリア構成定義ファイルについて説明します。

＜この節の構成＞

4.5.1　RDエリア構成定義ファイルの概要

4.5.2　RDエリア構成定義ファイルの記述形式

4.5.3　RDエリア構成定義ファイルの記述例（全文検索用）

4.5.1　RDエリア構成定義ファイルの概要

RDエリア構成定義ファイルは，HiRDBで使用するRDエリアの構成を定義するファイルです。ユーザ用RDエリアとユーザLOB用RDエリアには，DocumentBrokerの運用に合わせたRDエリアを確保する必要があります。ユーザ用RDエリアおよびユーザLOB用RDエリアについては，「2.8　データベース容量の見積もり」で算出した値に従って作成してください。

また，次に示す全文検索機能を使用する場合は，全文検索用の表や管理情報を格納するRDエリアをHiRDBに確保します。

検索タームを指定する全文検索

構造指定検索

概念検索

文字列型プロパティに対する全文検索

ここでは，全文検索機能を使用するために作成するRDエリアのサイズや，初期値などを記述したRDエリア構成定義ファイルについて説明します。

全文検索機能を使用する場合に必要なRDエリアは次のRDエリアです。

＜この項の構成＞

(1)　全文検索用の文書内容を格納するためのRDエリア

(2)　全文検索用のインデクスを格納するためのRDエリア

(3)　文字列型プロパティに対する全文検索用のインデクスを格納するためのRDエリア

(4)　表を格納するためのRDエリア

(1)　全文検索用の文書内容を格納するためのRDエリア

RDエリアの種類：SGMLTEXTデータ格納用RDエリア

必要数：全文検索機能付き文書クラス数

全文検索機能付き文書クラスごとに一つのRDエリアが必要です。ほかの用途で使用するRDエリアとは共用できません。ページサイズは8,192バイト，1セグメントは1ページで見積もる必要があります。

(2)　全文検索用のインデクスを格納するためのRDエリア

RDエリアの種類：n-gramインデクス情報格納用RDエリア

必要数：全文検索機能付き文書クラス数

全文検索機能付き文書クラスごとに一つのRDエリアが必要です。ほかの用途で使用するRDエリアとは共用できません。ページサイズは8,192バイト，1セグメントは1ページで見積もる必要があります。また，セグメント数は5,000以上見積もる必要があります。

(3)　文字列型プロパティに対する全文検索用のインデクスを格納するためのRDエリア

RDエリアの種類：全文検索機能付き文字列型プロパティのインデクス格納用RDエリア

必要数：全文検索機能付き文字列型プロパティの設定数

文書のサブクラスに追加する全文検索機能付き文字列型プロパティごとに一つのRDエリアが必要です。ほかの用途で使用するRDエリアとは共用できません。ページサイズは8,192バイト，1セグメントは1ページで見積もる必要があります。また，セグメント数は5,000以上見積もる必要があります。

(4)　表を格納するためのRDエリア

RDエリアの種類：ユーザ表用RDエリア

必要数：一つ以上

ほかの表を格納するRDエリアと共用できます。文書数に応じて見積もる必要があります。

4.5.2　RDエリア構成定義ファイルの記述形式

RDエリア構成定義ファイルの記述形式を次に示します。

RDエリア構成定義ファイルは，HiRDBのcreate rdarea文で記述します。create rdarea文には，ページサイズ，セグメントサイズ，ファイル名，セグメント数などを定義します。
RDエリアの作成，追加方法およびcreate rdarea文の記述形式については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

印刷可能なASCIIコードで記述します。

4.5.3　RDエリア構成定義ファイルの記述例（全文検索用）

全文検索用の表を二つ使用する場合のRDエリア構成定義ファイルの記述例を次に示します。

# 全文検索用文書内容格納用RDエリアの定義 #
create rdarea SEARCHDB1 for LOB used by public
    server name bes01
    page 8192 characters
    storage control segment 1 pages
    file name "/opt/HiEDMS/HiRDB_P/DB/pdfsForDB01/rdlob02"
    initial 1000 segments ;
# 全文検索インデクス格納用RDエリアの定義 #
create rdarea SGMLINDEX1 for LOB used by public
    server name bes01
    page 8192 characters
    storage control segment 1 pages
    file name "/opt/HiEDMS/HiRDB_P/DB/pdfsForDB01/rdlob03"
    initial 6000 segments ;
# 全文検索用文書内容格納用RDエリアの定義 #
create rdarea SEARCHDB2 for LOB used by public
    server name bes01
    page 8192 characters
    storage control segment 1 pages
    file name "/opt/HiEDMS/HiRDB_P/DB/pdfsForDB01/rdlob04"
    initial 1000 segments ;
# 全文検索インデクス格納用RDエリアの定義 #
create rdarea SGMLINDEX2 for LOB used by public
    server name bes01
    page 8192 characters
    storage control segment 1 pages
    file name "/opt/HiEDMS/HiRDB_P/DB/pdfsForDB01/rdlob05"
    initial 6000 segments ;
# テーブル格納用RDエリアの定義 #
create rdarea USER01 for user used by public
    server name bes01
    page 16384 characters
    storage control segment 10 pages
    file name "/opt/HiEDMS/HiRDB_P/DB/pdfsForDB01/rdusr02"
    initial 50 segments  ;

4.6　メタ情報ファイル

この節では，メタ情報ファイルについて説明します。

DocumentBrokerで使用するクラス（DMAで規定されているクラス）や検索に使用するオペレータなどについての定義情報をメタ情報といいます。このメタ情報は，メタ情報ファイルという初期設定用のファイルに記述されています。メタ情報ファイルには，例えば，クラスの詳細情報を定義する「ClassDescription」やクラスのプロパティの詳細情報を定義する「PropertyDescription」などの情報が記述されています。DocumentBrokerサーバは，このメタ情報を基にデータベース定義文を出力します。

メタ情報ファイルは，DocumentBrokerの実行環境を作成したときに，実行環境ディレクトリ/etcに格納されます。データベースを初期設定する場合には，このメタ情報ファイルをデータベースに登録します。同時に，実行環境ディレクトリ/etc/meta_filesには，DocumentBrokerが起動するときに参照する「動作環境メタ情報ファイル」が出力されます。

メタ情報ファイルは，直接編集しないでください。メタ情報を追加する場合は，定義情報ファイルに必要なオブジェクトの定義を追加します。定義情報ファイルについては，「4.7　定義情報ファイル」を参照してください。

また，次のような場合には，メタ情報の記述内容の確認コマンド（EDMChkMeta）を実行して，メタ情報ファイルの内容が記述方法に一致しているか，記述に矛盾がないかを確認してください。

メタ情報ファイルにクラス定義を追加する場合
メタ情報の追加コマンド（EDMAddMeta）が定義する範囲外のクラスを定義するときに，このコマンドを実行します。例えば，DocumentBroker Development Kitで開発したクライアントアプリケーションで使用するクラスを追加して定義する場合に相当します。

メタ情報ファイルのクラス定義を変更する場合
ユーザの環境からDocumentBrokerのメタ情報ファイルを編集したり，メタ情報の追加コマンド（EDMAddMeta）が定義する範囲外のクラスの定義を変更したりするときに，このコマンドを実行します。

メタ情報の記述内容確認コマンド（EDMChkMeta）については，「7.3　コマンドの文法」の「EDMChkMeta（メタ情報の記述内容の確認）」を参照してください。

4.7　定義情報ファイル

この節では，定義情報ファイルについて説明します。

＜この節の構成＞

4.7.1　定義情報ファイルの概要

4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則

4.7.3　定義情報ファイルの記述形式

4.7.4　定義情報ファイルの記述例

4.7.5　定義情報ファイルの記述例（VariableArray型のプロパティを追加する場合）

4.7.6　定義情報ファイルの記述例（全文検索機能を使用する文書クラスを追加する場合）

4.7.7　定義情報ファイルの記述例（概念検索機能を使用する文書クラスを追加する場合）

4.7.8　定義情報ファイルの記述例（文字列型プロパティに対する全文検索機能を使用する場合）

4.7.1　定義情報ファイルの概要

定義情報ファイルは，ユーザの環境に合わせてサブクラスやプロパティを追加する場合に作成する，オブジェクトを定義するファイルです。このファイルに定義した情報は，メタ情報として追加されます。

DocumentBrokerが提供するクラスおよびプロパティ以外を使用する場合は，ユーザが追加するクラスおよび各クラスのプロパティを記述した定義情報ファイルを作成します。

なお，文書に対する全文検索機能を使用する場合は，全文検索用のプロパティを追加したdmaClass_DocVersionクラスのサブクラスを作成するために必要な情報を，定義情報ファイルに記述します。

また，文字列型プロパティに対する全文検索機能を使用する場合は，全文検索機能付き文字列型プロパティを追加したクラスを作成するために必要な情報を，定義情報ファイルに記述します。

4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則

定義情報ファイルのdmaProp_DisplayNameプロパティに記述するサブクラス名やプロパティ名を，データベース定義の名称定義として使用する場合の規則を説明します。ここでは，表識別子（表の名称として一意に識別できる値），列名を定義する場合の規則について説明します。

なお，システムクラスおよびシステムプロパティのデータベース定義の名称一覧は，「付録F　システムクラスおよびシステムプロパティの名称定義の規則」を参照してください。

＜この項の構成＞

(1)　サブクラス名に対応する表識別子

(2)　プロパティ名に対応する列名

(1)　サブクラス名に対応する表識別子

サブクラス名に対応する表識別子を定義する場合，英小文字，英大文字，数字，空白，「_」（下線文字），および「-」（マイナス記号）で指定します。サブクラスの追加によってサブクラス名に対応する表識別子を指定する場合，次に示す規則およびデータベース定義の制約に従ってください。

サブクラス名には，「dmaClass」および「edmClass」で始まる文字列は使用できません。

サブクラス名には，「SystemDefinition」を使用できません。

サブクラスの名称は重複しないようにしてください。

RDエリア定義ファイルには，空白を含むクラス名，プロパティ名，RDエリア名を定義できません。そのため，空白を含むサブクラス名は指定できません。

表識別子の先頭1バイトは，英小文字，または英大文字を指定します。

表識別子の末尾に，空白は設定できません。

表識別子は，1～28バイトで指定します。

表識別子は，「dmaClass」および「edmClass」で始まる名称を指定できません。

表識別子は，重複しないように付ける必要があります。VariableArray型プロパティの要素を別表へ格納するように定義している場合，VariableArray型プロパティに対応する表識別子も重複しないように付ける必要があります。

(2)　プロパティ名に対応する列名

プロパティ名に対応する列名を定義する場合，英小文字，英大文字，数字，空白，「_」（下線文字），および「-」（マイナス記号）で指定します。プロパティの追加によってプロパティ名に対応する列名を指定する場合は，次に示す規則およびデータベース定義の制約に従ってください。

新規に追加するプロパティ名には，「dmaProp」および「edmProp」で始まる文字列は使用できません。

RDエリア定義ファイルには，空白を含むクラス名，プロパティ名，RDエリア名を定義できません。そのため，空白を含むプロパティ名は指定できません。

列名の先頭1バイトは，英小文字か英大文字で指定します。

列名の末尾に，空白は設定できません。

VariableArray型のプロパティの列名は，1～14バイトで指定します。
VariableArray型のプロパティは，dmaProp_DataTypeの値がDMA_DATATYPE_OBJECTであり，かつdmaProp_Cardinalityの値が255のプロパティである必要があります。

VariableArray型の要素のプロパティの列名は，1～15バイトで指定します。
VariableArray型の要素のプロパティとは，edmClass_Structクラスのサブクラスに追加したプロパティです。

列名には，「dmaProp」および「edmProp」で始まる名称を指定できません。

列名は重複しないように付ける必要があります。
列名は，プリフィクスが「VariableArray型プロパティの列名+'_'」と重複しないように付ける必要があります。例えば列名「varray_elem」とVariableArray型のプロパティの列名「varray」がある場合，両方ともプリフィクス「varray_」が重複するため，片方に別の名称を付ける必要があります。

上記以外の列名は1～28バイトで指定します。

4.7.3　定義情報ファイルの記述形式

ここでは，定義情報ファイルの記述形式について説明します。

＜この項の構成＞

(1)　記述規則

(2)　記述形式

(1)　記述規則

定義情報ファイルを記述する場合の規則を次に示します。

印刷可能なASCIIコードで記述します。

「;」（セミコロン）および「#」（シャープ）で始まる行はコメント行として扱われます。

各行は399バイト以内で記述します。

行の終わりは，<EOF>または<LF>です。

GUID値はオペレーティングシステムの機能を使用して取得してください。

(2)　記述形式

定義情報ファイルは次の形式に従って記述します。

[Action]
 PropertyName=DataType=Value

各項目について説明します。

Action（アクション）

定義するオブジェクトごとにセクション名として[　]内に記述します。指定できるアクションは次のとおりです。

Action::= "AddSubClass" | "AddProperty/クラス名" | "AssumeProperty/データタイプ"

AddSubClass
サブクラスを追加することを示します。

AddProperty/クラス名
指定したクラスに対してプロパティを追加することを示します。

AssumeProperty/データタイプ
AddPropertyで記述を省略した場合の仮定値の記述をデータタイプごとに設定します。
データタイプ::= " DMA_DATATYPE_BOOLEAN "
| "DMA_DATATYPE_INTEGER32"
| "DMA_DATATYPE_STRING"
| "DMA_DATATYPE_OBJECT_VARIABLE_ARRAY"
プロパティは，データ型に従った値を1個持つか複数個持つかが決められています。これを基本単位といいます。プロパティの基本単位がVariableArray型，かつデータ型がObject型（DMA_DATATYPE_OBJECT）であるプロパティはAssumeProperty/DMA_DATATYPE_OBJECT_VARIABLE_ARRAYを仮定値とします。プロパティの基本単位がVariableArray型でなければ，AddPropertyのdmaProp_DataTypeプロパティで指定するデータタイプとAssumeProperty/データタイプのデータタイプが同じ場合にAssumeProperty/データタイプを仮定値とします。

PropertyName（プロパティ名）

DMAで定義されているプロパティ名またはユーザが定義したプロパティ名を記述します。128バイト以内で記述してください。

DataType（データ型）とValue（値）

プロパティのデータ型を記述します。データ型は次のどれかです。

DataType::= "bool" | "obj" | "text" | "guid" | "int"

各データ型と値の記述方法について説明します。なお，値は256バイト以内で記述してください。

bool

プロパティがBoolean型の値を持つことを示します。

＜記述形式＞

PropertyName=bool=0|1

＜記述例＞

dmaProp_IsSelectable=bool=1

obj

プロパティがObject型の値を持つことを示します。

＜記述形式＞

PropertyName=obj=SectionName|NULL

SectionName
同一ファイル，またはほかのメタ情報ファイル中のセクション名を指定します。ここに指定したセクションに，オブジェクトの初期化データに相当する内容を記述しておく必要があります。

＜記述例＞

dmaProp_RequiredClass=obj=usrClass_Struct

この例は，VariableArray型のプロパティの要素に「usrClass_Struct」を選択することを示しています。

=obj=dsqop.ini@dmaQueryOperator_And

この例は，dmaProp_QueryOperatorDescriptionsプロパティのリストの要素に選ぶ検索オペレータの記述です。メタ情報ファイル名とセクション名は「@」（単価記号）で区切ります。

text

プロパティがString型の値を持つことを示します。

＜記述形式＞

PropertyName=text=dmaString|NULL

dmaString
任意の文字列を指定します。

＜記述例＞

dmaProp_DisplayName=text=Docspace Mumble

guid

プロパティがID型の値を持つことを示します。具体的には，プロパティの値としてGUIDを持つことを示します。GUIDとはDMAのオブジェクトに与えるユニークな識別子です。

＜記述形式＞

PropertyName=guid=guid|dmaNameCorrespondingToGuid|空値

guid
オペレーティングシステムの機能を利用して取得したGUIDの値を指定します。GUIDは次の形式に従って，36バイトで指定してください。
GUIDの形式：XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
「X」は16進数値文字を示します。「-」はマイナス記号です。

dmaNameCorrespondingToGuid
GUIDが定義されているプロパティ名を指定します。

空値
何も指定しないことを意味します。空値を指定した場合は，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。メタ情報の追加コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。

＜記述例＞

dmaProp_DocSpaceId=guid=673D2BE0-D1FD-11d0-AB59-08002BE29E1D

int

プロパティがInteger32型の値を持つことを示します。

＜記述形式＞

PropertyName=int=digitStringBase10

digitStringBase10
任意の数値（10進数）を-2,147,483,648～2,147,483,647で指定します。

＜記述例＞

dmaProp_OperandDataType=int=3

4.7.4　定義情報ファイルの記述例

サブクラスおよびプロパティを追加する場合の定義情報ファイルについて，例題に沿って説明します。

＜この項の構成＞

(1)　使用する例題

(2)　定義情報ファイルの記述例

(1)　使用する例題

サブクラスおよびプロパティを追加する場合の定義情報ファイルを作成するための例題を次に示します。ここで使用する例題は，「2.3.5　クラスおよびプロパティの追加例」で示した例題と同じです。

（例）

「問題点管理ドキュメント」と「設計ドキュメント」という2種類の文書を管理するためにサブクラスを追加します。追加するサブクラスには，それぞれ文書の管理に必要なプロパティを追加します。

管理する文書の詳細情報を次の表に示します。

表4-13　管理する文書の詳細情報

文書の種類
概要
付加情報
管理方法

問題点管理ドキュメント
製品の開発時の問題点を管理するための文書

問題点分類

問題点発生日時

検討結果

解決日時

対策日

直接型のコンテインメントを使用して管理する。

設計ドキュメント
製品開発の基となる設計書

文書名

執筆者

特許情報

執筆日時

構成管理型のコンテインメントを使用して，複数の設計書の構成を管理する。

この2種類の文書を管理するためのサブクラスを次のように設計します。追加するサブクラスとそのスーパークラスを次の表に示します。

表4-14　追加するサブクラスとそのスーパークラス

管理する文書 | 追加するサブクラス | スーパークラス
問題点管理ドキュメント | usrClass_ProbInfoDoc | dmaClass_DocVersion
設計ドキュメント | usrClass_DesignDoc | edmClass_VersionTracedDocVersion

問題点管理ドキュメントは，直接型のコンテインメントを使用して管理します。したがって，dmaClass_DocVersionクラスのサブクラスとしてusrClass_ProbInfoDocクラスを追加して管理します。

設計ドキュメントは，バージョン付きコンテナを使用して構成を管理する文書として作成します。したがって，edmClass_VersionTracedDocVersionクラスのサブクラスとしてusrClass_DesignDocクラスを追加して管理します。

次に，文書に対して付加する情報を各クラスのプロパティとして追加します。文書の付加情報とクラスに追加するプロパティの対応を，次の表に示します。

表4-15　文書の付加情報とサブクラスに追加するプロパティの対応

サブクラス名 | 付加情報 | プロパティ名 | データ型
usrClass_ProbInfoDoc | 問題点分類 | usrProp_Category | String型
問題点発生日時 | usrProp_DateOfProb | Integer32型
検討結果 | usrProp_Status | Boolean型
解決日時 | usrProp_DateOfResolve | Integer32型
usrClass_DesignDoc | 文書名 | usrProp_DocName | String型
執筆者 | usrProp_DocWriter | String型
特許情報 | usrProp_PatentInfo | String型
執筆日時 | usrProp_DateOfWrite | Integer32型

(2)　定義情報ファイルの記述例

ここでは，例題を基にサブクラスおよびプロパティを追加するための定義情報ファイルの記述例を示します。なお，定義情報ファイルの記述例を二つに分けていますが，実際は，一つのファイルとして作成します。

(a)　定義情報ファイルを記述する場合の注意事項

サブクラスおよびプロパティを追加するために，定義情報ファイルを記述する場合の注意事項について説明します。

[AddProperty/クラス名]の前に記述した[AssumeProperty/データタイプ]が仮定値と解釈されます。

定義済みのプロパティをクラスに追加する場合は，[AddProperty/クラス名]のdmaProp_DisplayNameプロパティに定義済みのプロパティと同じ値を指定するか，またはdmaProp_DisplayNameプロパティとdmaProp_DataTypeプロパティに定義済みのプロパティと同じ値を指定してください。

サブクラスに追加するプロパティをキーにして検索したい場合，プロパティにインデクスを定義する必要があります。プロパティにインデクスを定義する場合は，インデクス情報ファイルを作成してください。なお，インデクス情報ファイルでは，NULL値の除外を指定できます。NULL値の重複が多い場合は，NULL値の除外を指定することでインデクス容量を削減できます。インデクス情報ファイルの詳細については，「4.9　インデクス情報ファイル」を参照してください。

(b)　追加するプロパティのデータ型に対応する仮定値の定義

サブクラスに追加するプロパティのデータ型ごとに，プロパティの詳細情報（プロパティディスクリプション）を定義する必要があります。ここでは，データ型ごとで共通に指定するプロパティの仮定値を記述します。

例題で追加するプロパティは，String型，Integer32型およびBoolean型なので，それぞれのデータ型に対応する仮定値を記述します。記述例を次に示します。

;
; DMA_DATATYPE_STRINGの仮定値
;
[AssumeProperty/DMA_DATATYPE_STRING]
dmaProp_QueryOperatorDescriptions
=obj=dsqop.ini@dmaQueryOperator_And
=obj=dsqop.ini@dmaQueryOperator_Or
=obj=dsqop.ini@dmaQueryOperator_Not
=obj=dsqop.ini@dmaQueryOperator_IsNull
=obj=dsqop.ini@dmaQueryOperator_Exists
=obj=dsqop.ini@dmaJoinOperator_Cross
=obj=dsqop.ini@dmaJoinOperator_Inner
=obj=dsqop.ini@dmaQueryOperator_EqualString
=obj=dsqop.ini@dmaQueryOperator_UnequalString
=obj=dsqop.ini@dmaQueryOperator_GreaterString
=obj=dsqop.ini@dmaQueryOperator_GreaterOrEqualString
=obj=dsqop.ini@dmaQueryOperator_LessString
=obj=dsqop.ini@dmaQueryOperator_LessOrEqualString
=obj=dsqop.ini@dmaQueryOperator_Like
=obj=dsqop.ini@dmaQueryOperator_InString
=obj=dsqop.ini@edmQueryOperator_Xlike

dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1
dmaProp_IsOrderable=bool=1
dmaProp_IsValueRequired=bool=0
dmaProp_PropertyDefaultString=text=NULL
dmaProp_MaximumLengthString=int=64

;
; DMA_DATATYPE_INTEGER32の仮定値
;
[AssumeProperty/DMA_DATATYPE_INTEGER32]
dmaProp_QueryOperatorDescriptions
=obj=dsqop.ini@dmaQueryOperator_And
=obj=dsqop.ini@dmaQueryOperator_Or
=obj=dsqop.ini@dmaQueryOperator_Not
=obj=dsqop.ini@dmaQueryOperator_IsNull
=obj=dsqop.ini@dmaQueryOperator_Exists
=obj=dsqop.ini@dmaJoinOperator_Cross
=obj=dsqop.ini@dmaJoinOperator_Inner
=obj=dsqop.ini@dmaQueryOperator_EqualInteger32
=obj=dsqop.ini@dmaQueryOperator_UnequalInteger32
=obj=dsqop.ini@dmaQueryOperator_GreaterInteger32
=obj=dsqop.ini@dmaQueryOperator_GreaterOrEqualInteger32
=obj=dsqop.ini@dmaQueryOperator_LessInteger32
=obj=dsqop.ini@dmaQueryOperator_LessOrEqualInteger32
=obj=dsqop.ini@dmaQueryOperator_AddInteger32
=obj=dsqop.ini@dmaQueryOperator_SubtractInteger32
=obj=dsqop.ini@dmaQueryOperator_NegateInteger32
=obj=dsqop.ini@dmaQueryOperator_AbsoluteValueInteger32
=obj=dsqop.ini@dmaQueryOperator_MultiplyInteger32
=obj=dsqop.ini@dmaQueryOperator_DivideInteger32
=obj=dsqop.ini@dmaQueryOperator_InInteger32

dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1
dmaProp_IsOrderable=bool=1
dmaProp_IsValueRequired=bool=0
dmaProp_PropertyDefaultInteger32=int=0

;
; DMA_DATATYPE_BOOLEANの仮定値
;
[AssumeProperty/DMA_DATATYPE_BOOLEAN]
dmaProp_QueryOperatorDescriptions
=obj=dsqop.ini@dmaQueryOperator_And
=obj=dsqop.ini@dmaQueryOperator_Or
=obj=dsqop.ini@dmaQueryOperator_Not
=obj=dsqop.ini@dmaQueryOperator_IsNull
=obj=dsqop.ini@dmaQueryOperator_Exists
=obj=dsqop.ini@dmaJoinOperator_Cross
=obj=dsqop.ini@dmaJoinOperator_Inner
=obj=dsqop.ini@dmaQueryOperator_InBoolean
=obj=dsqop.ini@dmaQueryOperator_EqualBoolean
=obj=dsqop.ini@dmaQueryOperator_UnequalBoolean

dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1
dmaProp_IsOrderable=bool=1
dmaProp_IsValueRequired=bool=0
dmaProp_PropertyDefaultBoolean=bool=0

記述例について説明します。

アクション名の説明

データ型に対応して，次の三つのアクション名が指定されています。アクション名に指定する「データタイプ」には，追加するプロパティのデータ型を示す文字列を指定します。

[AssumeProperty/DMA_DATATYPE_STRING]
String型のプロパティを追加する場合は，「データタイプ」として「DMA_DATATYPE_STRING」と指定します。

[AssumeProperty/DMA_DATATYPE_INTEGER32]
Integer32型のプロパティを追加する場合は，「データタイプ」として「DMA_DATATYPE_INTEGER32」と指定します。

[AssumeProperty/DMA_DATATYPE_BOOLEAN]
Boolean型のプロパティを追加する場合は，「データタイプ」として「DMA_DATATYPE_BOOLEAN」と指定します。

プロパティの仮定値

各アクション名に続くエントリには，[AddProperty/クラス名]で記述を省略するプロパティの仮定値を記述します。各プロパティの記述は省略することもできます。ただし，各プロパティが[AddProperty/クラス名]に続くエントリに指定されている場合は，その値が優先されます。ここで仮定値を指定できるプロパティは次のとおりです。

dmaProp_QueryOperatorDescriptionsプロパティ
追加するプロパティに対して使用することを許可する検索オペレータを，メタ情報ファイル「edms.ini」の[dmaClass_Scope/dmaProp_Operators]セクションに指定されているリストの要素の中から選択して指定します。指定を省略した場合，空のリストが仮定されます。

dmaProp_Cardinalityプロパティ
追加するプロパティの基本単位を表すInteger32型の値です。ユーザが追加できるプロパティは，基本単位がScalar型およびVariableArray型のプロパティです。追加するプロパティの基本単位がScalar型の場合は，「DMA_CARDINALITY_SINGLE」を指定します。追加するプロパティの基本単位がVariableArray型の場合は「255」を指定します。VariableArray型のプロパティを追加するための定義情報ファイルの作成方法については，「4.7.5　定義情報ファイルの記述例（VariableArray型のプロパティを追加する場合）」を参照してください。

dmaProp_IsSelectableプロパティ
追加するプロパティが検索結果集合の一項目として選択できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索結果集合の一項目として選択できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索結果集合の一項目として選択できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsSearchableプロパティ
追加するプロパティが検索の条件として使用できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索の条件として使用できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索の条件として使用できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsOrderableプロパティ
追加するプロパティが検索結果をソートする基準として使用できるプロパティであるかどうかを示すBoolean型の値です。値として「1」を指定した場合は，検索結果をソートする基準として使用できるプロパティであることを示します。値として「0」を指定した場合は，検索結果をソートする基準として使用できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsValueRequiredプロパティ
追加するプロパティが値を保持する必要があるかどうかを示すBoolean型の値です。値として「1」を指定した場合は，追加するプロパティは値を保持する必要のあるプロパティであることを示します。値として「0」を指定した場合は，追加するプロパティは値を保持しなくてもよいプロパティであることを示します。定義するプロパティの基本単位がList型である場合，このプロパティの値に「1」を指定すると，リストが必ず一つの要素を含むことを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsHiddenプロパティ
追加するプロパティが，システム管理者だけに表示するプロパティであるかどうかを示すBoolean型の値です（ただし，この例題では指定を省略しています）。値として「1」を指定した場合は，システム管理者だけに公開されるプロパティとなります。値として「0」を指定した場合は，アクセスをシステム管理者だけに制限しないプロパティとなります。指定を省略した場合，「0」が仮定されます。なお，DocumentBrokerは，このプロパティの値によるプロパティへのアクセスを制御しません。

dmaProp_PropertyDefaultStringプロパティ
追加するプロパティにデフォルトで設定されるString型の値です。255バイト以下の値を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_STRINGの場合だけ指定できます。指定を省略した場合，長さ0（バイト）の文字列が仮定されます。

dmaProp_PropertyDefaultInteger32プロパティ
追加するプロパティにデフォルトで設定されるInteger32型の値です。Integer32型の値を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_INTEGER32の場合だけ指定できます。指定を省略した場合，「0」が仮定されます。

dmaProp_PropertyDefaultBooleanプロパティ
追加するプロパティにデフォルトで設定されるBoolean型の値です。「0」または「1」を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_BOOLEANの場合だけ指定できます。指定を省略した場合，「0」が仮定されます。

dmaProp_MaximumLengthStringプロパティ
追加するプロパティのデータ型がString型の場合，プロパティの値（NULL文字以外）の最大長です。文字列の長さを1～32,000で表します。指定を省略した場合，「1」が仮定されます。なお，このプロパティの値は，追加するプロパティのデータ型がString型（dmaProp_DataTypeプロパティの値が「DMA_DATATYPE_STRING」）である[AddProperty]の仮定として有効になります。

(c)　サブクラスの追加とプロパティの追加に関する定義

追加するサブクラスの定義とそのサブクラスに追加するプロパティの定義について記述します。記述例を次に示します。

;
; 問題点管理ドキュメント用のサブクラスの定義
;
[AddSubClass]
dmaProp_DisplayName=text=dmaClass_DocVersion/usrClass_ProbInfoDoc

;
; 問題点分類（usrProp_Categoryプロパティの定義）
;
[AddProperty/usrClass_ProbInfoDoc]
dmaProp_DisplayName=text=usrProp_Category
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 問題点発生日時（usrProp_DateOfProbプロパティの定義）
;
[AddProperty/usrClass_ProbInfoDoc]
dmaProp_DisplayName=text=usrProp_DateOfProb
dmaProp_DataType=int=DMA_DATATYPE_INTEGER32

;
; 検討結果（usrProp_Statusプロパティの定義）
;
[AddProperty/usrClass_ProbInfoDoc]
dmaProp_DisplayName=text=usrProp_Status
dmaProp_DataType=int=DMA_DATATYPE_BOOLEAN

;
; 解決日時（usrProp_DateOfResolveプロパティの定義）
;
[AddProperty/usrClass_ProbInfoDoc]
dmaProp_DisplayName=text=usrProp_DateOfResolve
dmaProp_DataType=int=DMA_DATATYPE_INTEGER32

########

;
; 設計ドキュメント用のサブクラスの定義
;
[AddSubClass]
dmaProp_DisplayName=text=edmClass_VersionTracedDocVersion/usrClass_DesignDoc

;
; 文書名（usrProp_DocNameプロパティの定義）
;
[AddProperty/usrClass_DesignDoc]
dmaProp_DisplayName=text=usrProp_DocName
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 執筆者（usrProp_DocWriterプロパティの定義）
;
[AddProperty/usrClass_DesignDoc]
dmaProp_DisplayName=text=usrProp_DocWriter
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 特許情報（usrProp_PatentInfoプロパティの定義）
;
[AddProperty/usrClass_DesignDoc]
dmaProp_DisplayName=text=usrProp_PatentInfo
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 執筆日時（usrProp_DateOfWriteプロパティの定義）
;
[AddProperty/usrClass_DesignDoc]
dmaProp_DisplayName=text=usrProp_DateOfWrite
dmaProp_DataType=int=DMA_DATATYPE_INTEGER32

記述例について説明します。

サブクラスを追加するためのアクション名とプロパティの説明

サブクラスを追加するための定義情報には，アクション名として[AddSubClass]を指定します。アクション名に続くエントリには，次に示すプロパティとその値を指定します。

dmaProp_DisplayNameプロパティ
追加するサブクラス名を値として指定します。サブクラスを追加するスーパークラス名のあとに「/」（スラント）で区切ってサブクラス名を指定します。
この例題では，問題点管理ドキュメントを管理するためのサブクラスは，dmaClass_DocVersionクラスのサブクラスとして定義します。したがって，このプロパティの値には「dmaClass_DocVersion/usrClass_ProbInfoDoc」を指定しています。また，設計ドキュメントを管理するためのサブクラスは，edmClass_VersionTracedDocVersionクラスのサブクラスとして定義します。したがって，このプロパティの値には「edmClass_VersionTracedDocVersion/usrClass_DesignDoc」を指定しています。

dmaProp_DescriptiveTextプロパティ
追加するサブクラスを簡単に説明する文字列を値として指定します。省略した場合，dmaProp_DisplayNameプロパティに指定した値から「スーパークラス名/」を除いたサブクラス名（ここでは，usrClass_ProbInfoDoc）が仮定されます。なお，この例題では指定を省略しています。

dmaProp_Idsプロパティ
追加するサブクラスに付与するGUIDを値として指定します。指定を省略した場合，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。なお，この例題では指定を省略しています。

サブクラスにプロパティを追加するためのアクション名とプロパティの説明

プロパティを追加する場合は，アクション名[AddProperty/クラス名]とそれに続くエントリとしてプロパティ自身のプロパティを記述します。アクション名に続くエントリには，次に示すプロパティとその値を指定できます。

[AddProperty/クラス名]に続くエントリとして指定するプロパティ

ほかのクラスに同じプロパティが定義されていない場合，次のプロパティは[AddProperty/クラス名]に続くエントリとして指定してください。これらのプロパティは，[AssumeProperty/データタイプ]には指定できません。指定するプロパティとその値について次に示します。

dmaProp_DisplayNameプロパティ
追加するプロパティ名を値として指定します。この値の指定は省略できません。なお，この例題では表4-15に示したプロパティ名を指定しています。

dmaProp_DescriptiveTextプロパティ
追加するプロパティを簡単に説明する文字列を値として指定します。指定を省略した場合，dmaProp_DisplayNameプロパティに指定したプロパティ名が仮定されます。なお，この例題では指定を省略しています。

dmaProp_Idsプロパティ
追加するプロパティに付与するGUIDを値として指定します。指定を省略した場合，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。なお，この例題では指定を省略しています。

dmaProp_DataTypeプロパティ
追加するプロパティのデータ型を示す文字列を指定します。なお，この文字列の指定は，省略できません。データ型とデータ型を示す文字列の対応を次の表に示します。

表4-16　データ型とデータ型を示す文字列の対応

データ型 | データ型を示す文字列
String型 | DMA_DATATYPE_STRING
Integer32型 | DMA_DATATYPE_INTEGER32
Boolean型 | DMA_DATATYPE_BOOLEAN

[AddProperty/クラス名]に続くエントリとして指定するプロパティ（複数のクラスに同じ名前のプロパティを追加し，クラスごとにデフォルト値を定義する場合）

複数のクラスに同じ名前のプロパティを追加する場合は，プロパティのデフォルト値をクラスごとに設定できます。クラスごとにデフォルト値を定義するには，次に示すプロパティを[AddProperty/クラス名]に続くエントリとして指定してください。

dmaProp_PropertyDefaultStringプロパティ
追加するプロパティにデフォルトで設定されるString型の値です。255バイト以下の値を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_STRINGの場合だけ指定できます。指定を省略した場合，長さ0（バイト）の文字列が仮定されます。

dmaProp_PropertyDefaultInteger32プロパティ
追加するプロパティにデフォルトで設定されるInteger32型の値です。Integer32型の値を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_INTEGER32の場合だけ指定できます。指定を省略した場合，「0」が仮定されます。

dmaProp_PropertyDefaultBooleanプロパティ
追加するプロパティにデフォルトで設定されるBoolean型の値です。「0」または「1」を指定できます。このプロパティは，dmaProp_DataTypeプロパティがDMA_DATATYPE_BOOLEANの場合だけ指定できます。指定を省略した場合，「0」が仮定されます。

クラスごとのプロパティのデフォルト値の設定を有効にするには，-Dオプションを指定してメタ情報の追加コマンド（EDMAddMeta）を実行します。-Dオプションを省略すると，データ型ごとのプロパティのデフォルト値の設定が有効になります。メタ情報の追加コマンド（EDMAddMeta）については，「7.3　コマンドの文法」の「EDMAddMeta（メタ情報の追加）」を参照してください。

[AssumeProperty/データタイプ]にも指定できるプロパティ

次に示すプロパティは，[AssumeProperty/データタイプ]に続くエントリとしても指定できます。ただし，[AddProperty/クラス名]に続くエントリに同じプロパティが指定されている場合は，[AddProperty/クラス名]に指定されている値を優先します。[AddProperty/クラス名]の値を省略した場合で，かつ[AssumeProperty/データタイプ]の値も省略した場合は，各プロパティでの省略値が仮定されます。

dmaProp_Cardinalityプロパティ

dmaProp_IsSelectableプロパティ

dmaProp_IsSearchableプロパティ

dmaProp_IsOrderableプロパティ

dmaProp_QueryOperatorDescriptionsプロパティ

dmaProp_IsValueRequiredプロパティ

dmaProp_IsHiddenプロパティ

dmaProp_MaximumLengthStringプロパティ

なお，この例題ではこれらのプロパティとその値を[AssumeProperty/データタイプ]のエントリとして指定しています。すなわち，すでに仮定値は指定されています。

4.7.5　定義情報ファイルの記述例（VariableArray型のプロパティを追加する場合）

プロパティの基本単位がVariableArray型であるプロパティを追加する場合の定義情報ファイルについて，例題に沿って説明します。

＜この項の構成＞

(1)　使用する例題

(2)　VariableArray型のプロパティの追加方法

(1)　使用する例題

プロパティは，データ型に従った値を1個持つか複数個持つかが決められています。これを基本単位といいます。プロパティの基本単位がVariableArray型のプロパティとは，そのプロパティが配列の要素を保持するプロパティです。

VariableArray型のプロパティとして定義するプロパティは，edmClass_Structクラスのインスタンスをリファレンスとして保持します。VariableArray型のプロパティを定義するための例題を次に示します。

（例）

管理する文書として「文書リスト」を定義します。この文書は，書籍の著者に関する情報を管理します。この「文書リスト」について，サブクラスを追加して必要な付加情報を追加します。追加するサブクラスとそのスーパークラスを次の表に示します。

表4-17　追加するサブクラスとそのスーパークラス

管理する情報 | 追加するサブクラス | スーパークラス
文書リスト | usrClass_DocList | edmClass_IndependentPersistence
著者の情報 | usrClass_WriterInfo | edmClass_Struct

「文書リスト」は，書籍の著者に関する情報を管理する文書で，edmClass_IndependentPersistenceクラスのサブクラスとして，「usrClass_DocListクラス」を定義します。「著者の情報」は，著者の情報を管理する文書であり，edmClass_Structクラスのサブクラスとして「usrClass_WriterInfoクラス」を定義します。

「文書リスト」には付加情報としてプロパティを追加します。付加情報に対応するプロパティを次の表に示します。

表4-18　usrClass_DocListクラスの構造

クラス名
付加情報
プロパティ名
（VariableArray型のプロパティ）
データ型

usrClass_DocList
文書名
uP_DocName
String型

著者の情報
uP_WriterInfo
Object型

「uP_WriterInfoプロパティ」は，VariableArray型のプロパティです。表4-19に，「uP_WriterInfoプロパティ」に定義するプロパティを示します。「uP_WriterInfoプロパティ」は，配列の要素としてプロパティを管理します。VariableArray型の「uP_WriterInfoプロパティ」の要素を管理する「usrClass_WriterInfoクラス」に格納されているプロパティを説明します。

表4-19　VariableArray型の「uP_WriterInfoプロパティ」の要素となるクラスの構造

クラス名
（VariableArray型のプロパティの要素）
付加情報
プロパティ名
（VariableArray型のプロパティ要素の構成）
データ型

usrClass_WriterInfo
著者名
uP_WriterName
String型

著者の紹介
uP_Comment
String型

VariableArray型の「uP_WriterInfoプロパティ」の構造を次の図に示します。

図4-2　VariableArray型の「uP_WriterInfoプロパティ」の構造

配列の要素として管理されるこれらのプロパティは，edmClass_Structクラスのプロパティとして追加します。

プロパティの基本単位がVariableArray型であるプロパティを追加できるクラスは次のとおりです。

edmClass_IndependentPersistenceクラスのサブクラス

dmaClass_ConfigurationHistoryクラスのサブクラス

dmaClass_Containerクラスのサブクラス

edmClass_ContainerVersionクラスのサブクラス

edmClass_ComponentDocVersionクラスのサブクラス

dmaClass_DocVersionクラスのサブクラス

edmClass_VersionTracedComponentDocVersionクラスのサブクラス

edmClass_VersionTracedDocVersionクラスのサブクラス

(2)　VariableArray型のプロパティの追加方法

VariableArray型のプロパティを追加する場合，プロパティを追加するために必要な情報を定義情報ファイルに記述する必要があります。プロパティを追加するために必要な定義情報ファイルの記述方法については，「4.7.4　定義情報ファイルの記述例」を参照してください。ただし，定義情報ファイルに記述する内容に異なる部分がありますので注意してください。

VariableArray型のプロパティを追加する場合，このプロパティを追加する前にedmClass_Structクラスのサブクラスを追加してください。このサブクラスは，VariableArray型のプロパティが参照するオブジェクトを作成するためのクラスです。また，VariableArray型のプロパティの配列の要素となるプロパティは，このサブクラスのプロパティとして定義しておく必要があります。サブクラスを追加するための定義情報ファイルの記述方法については，「4.7.4　定義情報ファイルの記述例」を参照してください。

なお，edmClass_Structクラスのサブクラスの追加に関する定義情報とVariableArray型のプロパティの追加に関する定義情報を同じ定義情報ファイルに記述する場合，VariableArray型で定義するプロパティを追加する前に，edmClass_Structクラスのサブクラスの追加を記述してください。

定義したVariableArray型プロパティの要素に値を指定する場合に，その値が定義内容と合っているかどうかについてチェックを実行するとき，DocumentSpace構成定義ファイルのVArrayElementCheckエントリを設定してください。なお，VArrayElementCheckエントリの詳細については，「4.2.2　DocumentSpace構成定義ファイルの記述形式」を参照してください。

次に，VariableArray型のプロパティを追加する場合の定義情報ファイルの記述方法および記述順序について，「(1)　使用する例題」で設定した例題に沿って説明します。

(a)　追加するプロパティのデータ型に対応する仮定値の定義

サブクラスに追加するプロパティのデータ型ごとに，プロパティの詳細情報（プロパティディスクリプション）を定義する必要があります。ここでは，データ型ごとに共通に指定するプロパティの仮定値を記述します。

例題で追加するプロパティについて，それぞれのデータ型に対応する仮定値を記述します。記述例を次に示します。

;
; DMA_DATATYPE_OBJECT_VARIABLE_ARRAY型の仮定値
;

[AssumeProperty/DMA_DATATYPE_OBJECT_VARIABLE_ARRAY]
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1

;
; DMA_DATATYPE_STRINGの仮定値
;
[AssumeProperty/DMA_DATATYPE_STRING]
dmaProp_QueryOperator_Description
=obj=dsqop.ini@dmaQueryOperator_EqualString
=obj=dsqop.ini@dmaQueryOperator_UnequalString
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1
dmaProp_PropertyDefaultString=text=NULL
dmaProp_MaximumLengthString=int=64

＜アクションの説明＞

ここでは，[AssumeProperty/データタイプ]のエントリとして追加するプロパティ自身のプロパティを記述します。

[AssumeProperty/データタイプ]

VariableArray型のプロパティを追加する場合，このアクションの「データタイプ」には，「DMA_DATATYPE_OBJECT_VARIABLE_ARRAY」を指定します。[AssumeProperty/データタイプ]には，[AddProperty/クラス名]で記述を省略するプロパティの仮定値を記述します。

＜プロパティの説明＞

次に示すプロパティは[AssumeProperty/データタイプ]および[AddProperty/クラス名]に指定できます。ただし，[AddProperty/クラス名]に同じプロパティが指定されている場合は，[AddProperty/クラス名]に指定されている値を優先します。[AddProperty/クラス名]の値を省略した場合で，かつ[AssumeProperty/データタイプ]の値を省略した場合は，各プロパティでの省略値が仮定されます。

dmaProp_IsSelectableプロパティ
追加するプロパティが検索結果集合の一項目として選択できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索結果集合の一項目として選択できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索結果集合の一項目として選択できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsSearchableプロパティ
追加するプロパティが検索の条件に使用できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索の条件として使用できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索の条件として使用できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。

dmaProp_IsHiddenプロパティ
追加するプロパティをシステム管理者だけに表示するかどうかを示すBoolean型の値です。「0」を指定してください。指定を省略した場合，「0」が仮定されます。

dmaProp_MaximumElementsプロパティ
VariableArrayOfObjectオブジェクトの要素をHiRDBの繰り返し列へ格納する場合に指定します。dmaProp_MaximumElementsプロパティの値には，HiRDBの繰り返し列の最大要素数（2～30,000の符号なし整数値）を指定します。
ただし，定義済みのプロパティをクラスに追加する場合は，定義済みのプロパティに設定されたdmaProp_MaximumElementsプロパティの指定が有効になります。
dmaProp_MaximumElementsプロパティを指定する場合，メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションを指定しておく必要があります。メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションで指定した値（HIRDB，Own，Both）とdmaProp_MaximumElementsプロパティの指定について次に示します。

HIRDB：dmaProp_MaximumElementsプロパティの指定は必須

Own：dmaProp_MaximumElementsプロパティは指定できない

Both：dmaProp_MaximumElementsプロパティの指定は任意（省略可能）

なお，メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションでBothを指定してメタ情報を登録した場合，dmaProp_MaximumElementsプロパティの指定の有無によって，VariableArray型プロパティの要素の格納先が異なります。また，-vオプションを省略した場合，HiRDBの繰り返し列を使わないでVariableArrayOfObjectオブジェクトを格納します。

(b)　サブクラスの追加とプロパティの追加に関する定義

追加するサブクラスの定義とそのサブクラスに追加するプロパティの定義について記述します。記述例を次に示します。なお，ここではVariableArray型プロパティの要素の格納先として別表を使用する場合，およびHiRDBの繰り返し列に格納する場合の記述例を示します。

VariableArray型プロパティ「uP_WriterInfoプロパティ」の要素となるクラス「usrClass_WriterInfoクラス」を追加するための定義情報ファイルの内容を次に示します。

; VariableArray型プロパティを追加するために使用する，
; edmClass_Structクラスのサブクラス（usrClass_WriterInfo）を定義する。
;
; 著者の情報を管理するクラスの定義
;
[AddSubClass]
dmaProp_DisplayName=text=edmClass_Struct/usrClass_WriterInfo

; 著者名の定義
[AddProperty/usrClass_WriterInfo]
dmaProp_DisplayName=text=uP_WriterName
dmaProp_DataType=int=DMA_DATATYPE_STRING

; 著者の紹介
[AddProperty/usrClass_WriterInfo]
dmaProp_DisplayName=text=uP_Comment
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_MaximumLengthString=int=200

VariableArray型プロパティ「uP_WriterInfoプロパティ」の要素を別表に格納する場合に，「usrClass_DocListクラス」を追加するための定義情報ファイルの内容を次に示します。
なお，VariableArray型プロパティ「up_WriterInfoプロパティ」の要素をHiRDBの繰り返し列に格納する場合に，「usrClass_DocListクラス」を追加するための定義情報ファイルの内容については，「手順3.」に示す記述例を参照してください。

;サブクラスとしてusrClass_DocListクラスを定義し，プロパティとして
;VariableArray型プロパティであるuP_WriterInfoプロパティを定義する。
;

; 文書リスト
[AddSubClass]
dmaProp_DisplayName=text=edmClass_IndependentPersistence/usrClass_DocList

; 文書名
[AddProperty/usrClass_DocList]
dmaProp_DisplayName=text=uP_DocName
dmaProp_DataType=int=DMA_DATATYPE_STRING

; 著者の情報
[AddProperty/usrClass_DocList]
dmaProp_DisplayName=text=uP_WriterInfo
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_Cardinality=int=255
dmaProp_RequiredClass=obj=usrClass_WriterInfo

VariableArray型プロパティ「up_WriterInfoプロパティ」の要素をHiRDBの繰り返し列に格納する場合に，「usrClass_DocListクラス」を追加するための定義情報ファイルの内容を次に示します。

;サブクラスとしてusrClass_DocListクラスを定義し，プロパティとして
;VariableArray型プロパティであるuP_WriterInfoプロパティを定義する。
;

; 文書リスト
[AddSubClass]
dmaProp_DisplayName=text=edmClass_IndependentPersistence/usrClass_DocList

; 文書名
[AddProperty/usrClass_DocList]
dmaProp_DisplayName=text=uP_DocName
dmaProp_DataType=int=DMA_DATATYPE_STRING

; 著者の情報
[AddProperty/usrClass_DocList]
dmaProp_DisplayName=text=uP_WriterInfo
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_Cardinality=int=255
dmaProp_RequiredClass=obj=usrClass_WriterInfo
dmaProp_MaximumElements=int=100

＜アクションの説明＞

ここでは，[AddProperty/クラス名]のエントリとして追加するプロパティ自身のプロパティを記述します。

[AddProperty/クラス名]

VariableArray型のプロパティを追加する場合，このアクションの「クラス名」には，プロパティを追加するクラス名（ここでは，usrClass_WriterInfoおよびusrClass_DocList）を指定します。

＜プロパティの説明＞

ほかのクラスに同じプロパティが定義されていない場合，次のプロパティは[AddProperty/クラス名]に指定してください。これらのプロパティは，[AssumeProperty/データタイプ]には指定できません。指定するプロパティとその値について次に示します。

dmaProp_DisplayNameプロパティ
追加するプロパティ名を値として指定します。なお，この値の指定は，省略できません。

dmaProp_DescriptiveTextプロパティ
追加するプロパティを簡単に説明する文字列を値として指定します。指定を省略した場合，dmaProp_DisplayNameプロパティに指定したプロパティ名が仮定されます。

dmaProp_Idsプロパティ
追加するプロパティに付与するGUID値を指定します。指定を省略した場合，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。

dmaProp_DataTypeプロパティ
追加するプロパティのデータ型を指定します。必ず「DMA_DATATYPE_OBJECT」を指定してください。省略できません。

dmaProp_Cardinalityプロパティ
追加するプロパティの基本単位を表すInteger32型の値です。必ず「255」を指定してください。省略できません。

dmaProp_RequiredClassプロパティ
edmClass_Structクラスのサブクラスのクラス名（ここでは，usrClass_WriterInfo）を指定します。省略できません。

dmaProp_MaximumElementsプロパティ
VariableArrayOfObjectオブジェクトの要素をHiRDBの繰り返し列へ格納する場合に指定します。dmaProp_MaximumElementsプロパティの値には，HiRDBの繰り返し列の最大要素数（2～30,000の符号無し整数値）を指定します。ただし，定義済みのプロパティをクラスに追加する場合は，定義済みのプロパティに設定されたdmaProp_MaximumElementsプロパティの指定が有効になります。
dmaProp_MaximumElementsプロパティを指定する場合，メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションを指定しておく必要があります。メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションで指定した値（HIRDB，Own，Both）とdmaProp_MaximumElementsプロパティの指定について次に示します。

HIRDB：dmaProp_MaximumElementsプロパティの指定は必須

Own：dmaProp_MaximumElementsプロパティは指定できない

Both：dmaProp_MaximumElementsプロパティの指定は任意（省略可能）

なお，メタ情報の初期設定コマンド（EDMInitMeta）の-vオプションでBothを指定してメタ情報を登録した場合，dmaProp_MaximumElementsプロパティの指定の有無によって，VariableArray型プロパティの要素の格納先が異なります。また，-vオプションを省略した場合，HiRDBの繰り返し列を使わないでVariableArrayOfObjectオブジェクトを格納します。

4.7.6　定義情報ファイルの記述例（全文検索機能を使用する文書クラスを追加する場合）

ここでは，全文検索機能を使用する文書クラスを追加するための定義情報ファイルの記述例を次に示します。

＜記述例＞

# dmaClass_DocVersionクラスのサブクラスusrClass_DocTextSearchクラスを生成する

 [AddSubClass]
 dmaProp_DisplayName=text=dmaClass_DocVersion/usrClass_DocTextSearch

# usrClass_DocTextSearchクラスに五つのプロパティを追加する

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_TextIndex

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_DocLength

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_ContentIndexStatus

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_Score

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_RawScore

＜説明＞

全文検索機能を使用する文書クラスとして，usrClass_DocTextSearchクラスを定義して，そのクラスに五つのプロパティを追加することを示しています。

サブクラスを追加するので，アクション名は[AddSubClass]とします。定義するプロパティとその値は次のとおりです。

dmaProp_DisplayNameプロパティ
追加するサブクラス名を値として指定します。dmaClass_DocVersionクラスのサブクラスとして，usrClass_DocTextSearchクラスを作成するので「dmaClass_DocVersion/usrClass_DocTextSearch」と指定しています。

dmaProp_DescriptiveTextプロパティ
追加するサブクラスを簡単に説明する文字列を値として指定します。ここでは，記述を省略しています。この場合，dmaProp_DisplayNameプロパティに指定した値から「スーパークラス名/」を除いたサブクラス名，すなわち，usrClass_DocTextSearchが仮定されます。

dmaProp_Idsプロパティ
追加するサブクラスに付与するGUIDを値として指定します。ここでは，記述を省略しています。したがって，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを指定する必要があります。

usrClass_DocTextSearchクラスに追加する五つのプロパティは動作環境メタ情報ファイル「edmprop.ini」にすでに記述されています。したがって，アクション名[AddProperty/usrClass_DocTextSearch]には，dmaProp_DisplayNameプロパティだけを指定しています。

4.7.7　定義情報ファイルの記述例（概念検索機能を使用する文書クラスを追加する場合）

ここでは，概念検索機能を使用する文書クラスを追加するための定義情報ファイルの記述例を次に示します。

＜記述例＞

# dmaClass_DocVersionクラスのサブクラスusrClass_DocTextSearchクラスを生成する

 [AddSubClass]
 dmaProp_DisplayName=text=dmaClass_DocVersion/usrClass_DocTextSearch

# usrClass_DocTextSearchクラスに六つのプロパティを追加する

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_ConceptStIndex

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_DocLength

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_ContentIndexStatus

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_Score

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_RawScore

 [AddProperty/usrClass_DocTextSearch]
 dmaProp_DisplayName=text=edmProp_ScoreConcept

＜説明＞

概念検索機能を使用する文書クラスとして，usrClass_DocTextSearchクラスを定義して，そのクラスに対して六つのプロパティを追加することを示しています。

サブクラスを追加するので，アクション名は[AddSubClass]とします。定義するプロパティとその値は次のとおりです。

dmaProp_DisplayNameプロパティ
追加するサブクラス名を値として指定します。dmaClass_DocVersionクラスのサブクラスとして，usrClass_DocTextSearchクラスを作成するので「dmaClass_DocVersion/usrClass_DocTextSearch」と指定しています。

dmaProp_DescriptiveTextプロパティ
追加するサブクラスを簡単に説明する文字列を値として指定します。ここでは，記述自体を省略しています。この場合，dmaProp_DisplayNameプロパティに指定した値から「スーパークラス名/」を除いたサブクラス名，すなわち，usrClass_DocTextSearchクラスが仮定されます。

dmaProp_Idsプロパティ
追加するサブクラスに付与するGUIDを値として指定します。ここでは，記述自体を省略しています。したがって，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを指定する必要があります。

usrClass_DocTextSearchクラスに追加する六つのプロパティは動作環境メタ情報ファイル「edmprop.ini」にすでに記述されています。したがって，アクション名[AddProperty/usrClass_DocTextSearch]には，dmaProp_DisplayNameプロパティだけを指定しています。

4.7.8　定義情報ファイルの記述例（文字列型プロパティに対する全文検索機能を使用する場合）

文字列型プロパティに対する全文検索機能を使用する場合の定義情報ファイルについて，例題に沿って説明します。

全文検索機能を使用できる文字列型プロパティのことを全文検索機能付き文字列型プロパティといいます。文字列型プロパティに対して全文検索機能を使用する場合，全文検索機能付き文字列型プロパティを追加します。

なお，全文検索機能付き文字列型プロパティの追加方法は，基本的にString型のプロパティの追加方法と同じです。そのため，ここではString型のプロパティの追加方法と異なる個所について説明します。String型のプロパティの追加方法については，「4.7.4　定義情報ファイルの記述例」を参照してください。

また，データベース定義の名称定義の方法がGUID値を変換した値を使用する方法の場合，文字列型プロパティに対する全文検索機能を使用できません。データベース定義の名称については，「3.11.1　データベース定義の名称の検討」を参照してください。

＜この項の構成＞

(1)　使用する例題

(2)　全文検索機能付き文字列型プロパティの追加方法

(1)　使用する例題

全文検索機能付き文字列型プロパティを文書クラスに定義するための例題を次に示します。

（例）

管理する文書として「設計ドキュメント」を定義します。この文書は，製品の開発に関する情報を管理します。

「設計ドキュメント」を管理するためにサブクラスを追加します。追加するサブクラスには，全文検索機能付き文字列型プロパティを追加します。

追加するサブクラスとそのスーパークラスを次に示します。

表4-20　追加するサブクラスとそのスーパークラス（文字列型プロパティに対する全文検索機能を使用する場合）

管理する文書 | 追加するサブクラス | スーパークラス
設計ドキュメント | usrClass_PropTextSearch | dmaClass_DocVersion

dmaClass_DocVersionクラスのサブクラスとしてusrClass_PropTextSearchクラスを追加して，設計ドキュメントを管理します。

また，文書に付加する情報としてプロパティを追加します。設計ドキュメントの付加情報と，付加情報に対応するプロパティを次の表に示します。

表4-21　usrClass_PropTextSearchクラスの構造

クラス名
付加情報
プロパティ名
データ型

usrClass_PropTextSearch
文書名
usrProp_DocName
String型

執筆者
usrProp_DocWriter
String型

文書の概要
usrProp_DocSummary
（全文検索機能付き文字列型プロパティ）
String型

usrProp_DocSummaryプロパティは，全文検索機能付き文字列型プロパティです。

全文検索機能付き文字列型プロパティを追加できるクラスは次のとおりです。

edmClass_IndependentPersistenceクラスのサブクラス

dmaClass_ConfigurationHistoryクラスのサブクラス

dmaClass_Containerクラスのサブクラス

edmClass_ContainerVersionクラスのサブクラス

edmClass_ComponentDocVersionクラスのサブクラス

dmaClass_DocVersionクラスのサブクラス

edmClass_VersionTracedComponentDocVersionクラスのサブクラス

edmClass_VersionTracedDocVersionクラスのサブクラス

(2)　全文検索機能付き文字列型プロパティの追加方法

全文検索機能付き文字列型プロパティを追加するには，プロパティを追加するために必要な情報を定義情報ファイルに記述します。

全文検索機能付き文字列型プロパティを追加する場合の定義情報ファイルの記述方法について，「(1)　使用する例題」で設定した例題に沿って説明します。

(a)　追加するプロパティのデータ型に対応する仮定値の定義

サブクラスに追加するプロパティのデータ型ごとに，プロパティの詳細情報（プロパティディスクリプション）を定義します。ここでは，データ型ごとで共通に指定するプロパティの仮定値を記述します。

なお，全文検索機能付き文字列型プロパティのデータ型はString型です。そのため，[AssumeProperty/DMA_DATATYPE_STRING]で指定する仮定値は，データ型がString型のプロパティと全文検索機能付き文字列型プロパティで共通の値になります。

例題で追加するプロパティはすべてString型なので，String型に対応する仮定値を記述します。

記述例を次に示します。

;
; DMA_DATATYPE_STRINGの仮定値
;
[AssumeProperty/DMA_DATATYPE_STRING]
dmaProp_QueryOperatorDescriptions
=obj=dsqop.ini@dmaQueryOperator_EqualString
=obj=dsqop.ini@dmaQueryOperator_UnequalString
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE
dmaProp_IsSelectable=bool=1
dmaProp_IsSearchable=bool=1
dmaProp_IsOrderable=bool=1
dmaProp_PropertyDefaultString=text=NULL
dmaProp_MaximumLengthString=int=64

記述例について説明します。

＜アクションの説明＞

ここでは，[AssumeProperty/データタイプ]のエントリとして追加するプロパティ自身のプロパティを記述します。

[AssumeProperty/データタイプ]

全文検索機能付き文字列型プロパティを追加する場合，「データタイプ」には「DMA_DATATYPE_STRING」を指定します。

[AssumeProperty/データタイプ]に続くエントリには，[AddProperty/クラス名]で記述を省略するプロパティの仮定値を記述します。

＜プロパティの説明＞

ここでは，[AssumeProperty/DMA_DATATYPE_STRING]のエントリとして追加するプロパティを記述します。

[AssumeProperty/DMA_DATATYPE_STRING]のエントリとして追加するプロパティのうち，仮定値の定義方法がString型のプロパティを追加する場合と異なるプロパティを次に示します。そのほかのプロパティは，String型のプロパティを追加する場合に記述するプロパティと同じです。

dmaProp_QueryOperatorDescriptionsプロパティ
全文検索機能付き文字列型プロパティを追加する場合，このプロパティの指定は無視されます。

dmaProp_IsSelectableプロパティ
追加するプロパティが検索結果集合の一項目として選択できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索結果集合の一項目として選択できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索結果集合の一項目として選択できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。
[AssumeProperty/DMA_DATATYPE_STRING]での指定を省略する場合は，全文検索機能付き文字列型プロパティを追加する[AddProperty/クラス名]で「1」を指定してください。

dmaProp_IsSearchableプロパティ
追加するプロパティが検索の条件として使用できるかどうかを指定するBoolean型の値です。値として「1」を指定した場合は，このプロパティが検索の条件として使用できるプロパティであることを示します。値として「0」を指定した場合は，このプロパティが検索の条件として使用できないプロパティであることを示します。指定を省略した場合，「0」が仮定されます。
[AssumeProperty/DMA_DATATYPE_STRING]での指定を省略する場合は，全文検索機能付き文字列型プロパティを追加する[AddProperty/クラス名]で「1」を指定してください。

dmaProp_IsOrderableプロパティ
全文検索機能付き文字列型プロパティを追加する場合，このプロパティの指定は無視されます。全文検索機能付き文字列型プロパティは，検索結果をソートできません。

(b)　サブクラスの追加とプロパティの追加に関する定義

全文検索機能付き文字列型プロパティを追加する場合に，追加するサブクラスの定義とそのサブクラスに追加するプロパティの定義について記述します。記述例を次に示します。

;
; 設計ドキュメント用のサブクラスの定義
;
[AddSubClass]
dmaProp_DisplayName=text=dmaClass_DocVersion/usrClass_PropTextSearch

;
; 文書名（usrProp_DocNameプロパティの定義）
;
[AddProperty/usrClass_PropTextSearch]
dmaProp_DisplayName=text=usrProp_DocName
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 執筆者（usrProp_DocWriterプロパティの定義）
;
[AddProperty/usrClass_PropTextSearch]
dmaProp_DisplayName=text=usrProp_DocWriter
dmaProp_DataType=int=DMA_DATATYPE_STRING

;
; 文書の概要（usrProp_DocSummaryプロパティの定義）
;
[AddProperty/usrClass_PropTextSearch]
dmaProp_DisplayName=text=usrProp_DocSummary
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_MaximumLengthString=int=255
edmProp_SearchExtention=text=FreeWordIndex

記述例について説明します。

＜サブクラスを追加するためのアクションの説明＞

サブクラスを追加するためには，定義情報として[AddSubClass]を指定します。アクション名に続くエントリには，次に示すプロパティとその値を指定します。

dmaProp_DisplayName
追加するサブクラス名を値として指定します。
ここでは，dmaClass_DocVersionクラスのサブクラスとしてusrClass_PropTextSearchクラスを作成するので，「dmaClass_DocVersion/usrClass_PropTextSearch」と指定しています。

dmaProp_DescriptiveTextプロパティ
追加するサブクラスを簡単に説明する文字列を値として指定します。指定を省略した場合，dmaProp_DisplayNameプロパティに指定した値から「スーパークラス名/」を除いたサブクラス名，すなわち，usrClass_PropTextSearchが仮定されます。
ここでは，記述を省略しています。

dmaProp_Idsプロパティ
追加するサブクラスに付与するGUIDを値として指定します。指定を省略した場合，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。
ここでは，記述を省略しています。

＜サブクラスにプロパティを追加するためのアクションの説明＞

ここでは，[AddProperty/クラス名]のエントリとして追加するプロパティを記述します。

[AddProperty/クラス名]

全文検索機能付き文字列型プロパティを追加する場合，「クラス名」にはプロパティを追加するクラス名を指定します。

ここでは，「usrClass_PropTextSearch」を指定しています。

＜サブクラスにプロパティを追加するためのプロパティの説明＞

ほかのクラスに同じプロパティが定義されていない場合，次のプロパティは[AddProperty/クラス名]に指定してください。これらのプロパティは，[AssumeProperty/DMA_DATATYPE_STRING]には指定できません。

dmaProp_DisplayName
追加するプロパティ名を値として指定します。なお，この値の指定は省略できません。

dmaProp_DescriptiveTextプロパティ
追加するプロパティを簡単に説明する文字列を値として指定します。指定を省略した場合，dmaProp_DisplayNameプロパティに指定したプロパティ名が仮定されます。
ここでは，記述を省略しています。

dmaProp_Idsプロパティ
追加するプロパティに付与するGUIDを値として指定します。指定を省略した場合，メタ情報の追加コマンド（EDMAddMeta）を実行するときに，-gオプションを必ず指定してください。
ここでは，記述を省略しています。

dmaProp_DataTypeプロパティ
追加するプロパティのデータ型を示す文字列を値として指定します。全文検索機能付き文字列型プロパティを追加する場合は，必ず「DMA_DATATYPE_STRING」を指定します。この指定は省略できません。

edmProp_SearchExtentionプロパティ
全文検索機能付き文字列型プロパティを追加する場合に指定します。全文検索機能付き文字列型プロパティを追加する場合は，必ず「FreeWordIndex」を指定します。この指定は省略できません。

4.8　RDエリア定義情報ファイル

この節では，RDエリア定義情報ファイルについて説明します。

RDエリア定義情報ファイルには，次のサンプルファイルが提供されています。

/opt/HiEDMS/sample/EDM_RDAREA.txt（アクセス制御機能を使用しない場合）

/opt/HiEDMS/sample/EDM_RDAREA_ACL.txt（アクセス制御機能を使用する場合）

DocumentBrokerの実行環境に合ったサンプルファイルを選択し，編集してください。

＜この節の構成＞

4.8.1　RDエリア定義情報ファイルの概要

4.8.2　RDエリア定義情報ファイルの記述形式

4.8.3　RDエリア定義情報ファイルの記述例

4.8.4　RDエリア定義情報ファイルの注意事項

4.8.1　RDエリア定義情報ファイルの概要

RDエリア定義情報ファイルは，データベース定義文中のRDエリア名を，ユーザが指定したRDエリア名で出力させるために作成するファイルです。作成したファイルは，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）の-rオプションで指定します。指定したファイルの内容が，-oオプションで指定したデータベース定義文格納ファイル中のRDエリア名に反映されます。これによって，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびメタ情報の追加コマンド（EDMAddMeta）で出力されるデータベース定義文中のRDエリアの手動による変更が不要になります。

4.8.2　RDエリア定義情報ファイルの記述形式

ここでは，RDエリア定義情報ファイルの記述形式について説明します。

RDエリア定義情報ファイルは，次に示す六つのセクションによって構成されます。

[TableArea]セクション

[IndexArea]セクション

[LobArea]セクション

[SGMLTEXTLobArea]セクション

[NgramIndexArea]セクション

[SearchExtentionPropertyIndexArea]セクション

セクションの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

「;」（セミコロン）および「#」（シャープ）で始まる行はコメントとして扱われます。

以降，RDエリア定義情報ファイルを構成する各セクションについて説明します。

＜この項の構成＞

(1)　[TableArea]セクション

(2)　[IndexArea]セクション

(3)　[LobArea]セクション

(4)　[SGMLTEXTLobArea]セクション

(5)　[NgramIndexArea]セクション

(6)　[SearchExtentionPropertyIndexArea]セクション

(1)　[TableArea]セクション

表として定義されるクラスとRDエリア名を対応づけます。

次の記述形式に従って記述します。

＜記述形式＞

class=class_name,area=area_name

class_name（クラス名）

HiRDBの表として定義されるクラスの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

HiRDBの表として定義されるクラスは次のとおりです。

dmaClass_DocVersionクラス

dmaClass_Renditionクラス

dmaClass_ContentReferenceクラス

dmaClass_ContentTransferクラス

dmaClass_ConfigurationHistoryクラス

dmaClass_Containerクラス

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

dmaClass_VersionSeriesクラス

dmaClass_VersionDescriptionクラス

edmClass_IndependentPersistenceクラス

edmClass_ComponentDocVersionクラス

edmClass_ContainerVersionクラス

edmClass_VersionTraceableContainerクラス

edmClass_VersionTracedDocVersionクラス

edmClass_VersionTracedComponentDocVersionクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_OIIDクラス

edmClass_ACLクラス（アクセス制御機能の使用時だけ）

edmClass_PublicACLクラス（アクセス制御機能の使用時だけ）

edmClass_BindRelationshipクラス（アクセス制御機能の使用時だけ）

edmClass_ContentTransfersクラス（マルチファイル管理機能の使用時だけ）

edmClass_ContentFileLinkクラス（File Link連携機能の使用時だけ）

edmClass_ContentReferenceクラス（リファレンスファイル管理機能の使用時だけ）

edmClass_Relationshipクラス

edmClass_VTRelationshipクラス

ユーザが追加したサブクラス

area_name（RDエリア名）

表を格納するユーザ用RDエリア名を指定します。

(2)　[IndexArea]セクション

HiRDBのインデクスとして定義されるプロパティとRDエリア名を対応づけます。

次の記述形式に従って記述します。

＜記述形式＞

class=class_name,prop=property_name[,prop=property_name,...]，area=area_name

class_name（クラス名）

「(1)　[TableArea]セクション」のクラス名を参照してください。

property_name（プロパティ名）

インデクスのキーに選択するプロパティの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

DocumentBrokerは，次に示すプロパティに対してインデクスを定義します。

dmaProp_OIIDプロパティ

このプロパティは，「(1)　[TableArea]セクション」のclass_name（クラス名）の説明に記述しているクラスのうち，edmClass_ACLクラスを除くクラスに定義されます。

OIIDPropertyDescriptionプロパティ

このプロパティは，edmClass_ACLクラスに定義されます。

dmaProp_Thisプロパティ

このプロパティは，次に示すクラスおよびそのサブクラスに定義されます。

edmClass_PublicACLクラス

edmClass_Relationshipクラス

edmClass_VTRelationshipクラス

edmClass_ContainerVersionクラスおよびそのサブクラス

edmClass_VersionTraceableContainerクラスおよびそのサブクラス

dmaClass_ConfigurationHistoryクラスおよびそのサブクラス

dmaClass_Containerクラスおよびそのサブクラス

dmaClass_DocVersionクラスおよびそのサブクラス

edmClass_ComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedDocVersionクラスおよびそのサブクラス

ThisPropertyDescriptionプロパティ

このプロパティは，次に示すクラスおよびそのサブクラスに定義されます。

dmaClass_ContentReferenceクラス

dmaClass_ContentTransferクラス

edmClass_ContentFileLinkクラス

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

dmaClass_Renditionクラス

dmaClass_VersionDescriptionクラス

dmaClass_VersionSeriesクラス

edmClass_ContentReferenceクラス

edmClass_ContentTransfersクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_Relationshipクラス

edmClass_VTRelationshipクラス

edmClass_IndependentPersistenceクラスおよびそのサブクラス

edmClass_Structクラスのサブクラス

dmaProp_ParentContainerプロパティ

このプロパティは，次に示すクラスおよびそのサブクラスに定義されます。

edmClass_ContainerVersionクラスおよびそのサブクラス

edmClass_VersionTraceableContainerクラスおよびそのサブクラス

dmaClass_ConfigurationHistoryクラスおよびそのサブクラス

dmaClass_Containerクラスおよびそのサブクラス

dmaClass_DocVersionクラスおよびそのサブクラス

edmClass_ComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedDocVersionクラスおよびそのサブクラス

dmaProp_Headプロパティ

このプロパティは，次に示すクラスに定義されます。

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_Relationshipクラス

edmClass_VTRelationshipクラス

dmaProp_HeadプロパティおよびdmaProp_Tailプロパティ

このプロパティは，次に示すクラスに定義されます。

edmClass_Relationshipクラス

edmClass_VTRelationshipクラス

dmaProp_Tailプロパティ

このプロパティは，次に示すクラスに定義されます。

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_Relationship クラス

edmClass_VTRelationshipクラス

edmProp_HeadVTConfigurationHistoryプロパティおよびdmaProp_Tailプロパティ

このプロパティは，edmClass_VTRelationshipクラスに定義されます。

edmProp_TailVTConfigurationHistoryプロパティ

このプロパティは，edmClass_VTRelationshipクラスに定義されます。

dmaProp_VersionSeriesプロパティ

このプロパティは，dmaClass_VersionDescriptionクラスに定義されます。

dmaProp_Versionプロパティ

このプロパティは，dmaClass_VersionDescriptionクラスに定義されます。

edmProp_VTVersionSeriesプロパティ

このプロパティは，次に示すクラスに定義されます。

edmClass_VersionTraceableContainmentRelationshipクラス

edmProp_Parentプロパティ

このプロパティは，次に示すクラスおよびそのサブクラスに定義されます。

dmaClass_Renditionクラス

dmaClass_ContentReferenceクラス

dmaClass_ContentTransferクラス

edmClass_ContentReferenceクラス

edmClass_ContentTransfersクラス

edmClass_ContentFileLinkクラス

edmClass_Structクラスのサブクラス

edmProp_RenditionStatusプロパティ

このプロパティは，dmaClass_Renditionクラスに定義されます。

edmProp_OwnerIdプロパティ

このプロパティは，アクセス制御機能を使用する場合に定義されます。次に示すクラスおよびそのサブクラスに定義されます。

edmClass_PublicACLクラス

edmClass_ContainerVersionクラスおよびそのサブクラス

edmClass_VersionTraceableContainerクラスおよびそのサブクラス

dmaClass_ConfigurationHistoryクラスおよびそのサブクラス

dmaClass_Containerクラスおよびそのサブクラス

dmaClass_DocVersionクラスおよびそのサブクラス

edmClass_ComponentDocVersionクラスおよびそのサブクラス

edmClass_IndependentPersistenceクラスおよびそのサブクラス

edmClass_VersionTracedComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedDocVersionクラスおよびそのサブクラス

edmProp_PrimaryGroupIdプロパティ

このプロパティは，アクセス制御機能を使用する場合に定義されます。次に示すクラスおよびそのサブクラスに定義されます。

edmClass_ContainerVersionクラスおよびそのサブクラス

edmClass_VersionTraceableContainerクラスおよびそのサブクラス

dmaClass_ConfigurationHistoryクラスおよびそのサブクラス

dmaClass_Containerクラスおよびそのサブクラス

dmaClass_DocVersionクラスおよびそのサブクラス

edmClass_ComponentDocVersionクラスおよびそのサブクラス

edmClass_IndependentPersistenceクラスおよびそのサブクラス

edmClass_VersionTracedComponentDocVersionクラスおよびそのサブクラス

edmClass_VersionTracedDocVersionクラスおよびそのサブクラス

edmProp_BindObjectプロパティ

このプロパティは，次に示すクラスに定義されます。

edmClass_ACLクラス

edmClass_BindRelationshipクラス

edmProp_ACLIdプロパティ

このプロパティは，edmClass_BindRelationshipクラスに定義されます。

edmProp_ReferenceTypeプロパティ

このプロパティは，edmClass_ContentReferenceクラスに定義されます。

area_name（RDエリア名）

インデクスを格納するユーザ用RDエリア名を指定します。

(3)　[LobArea]セクション

BLOB列として定義されるプロパティとLOB列格納用RDエリア名を対応づけます。

次の記述形式に従って記述します。

＜記述形式＞

class=class_name,prop=property_name,area=area_name

class_name（クラス名）

次に示すクラス名を指定します。

dmaClass_ContentTransferクラス

property_name（プロパティ名）

edmProp_Contentプロパティを指定します。

area_name（RDエリア名）

文書実体を格納するLOB列格納用RDエリア名を指定します。

(4)　[SGMLTEXTLobArea]セクション

全文検索機能付き文書クラスと全文検索用の文書内容格納用RDエリア名を対応づけます。次の記述形式に従って記述します。

＜記述形式＞

class=class_name,area=area_name

class_name（クラス名）

全文検索機能付き文書クラスの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

area_name（RDエリア名）

全文検索用の文書内容格納用RDエリア名を指定します。

(5)　[NgramIndexArea]セクション

全文検索機能付き文書クラスに定義される全文検索インデクスと全文検索インデクス格納用RDエリア名を対応づけます。次の記述形式に従って記述します。

＜記述形式＞

class=class_name,area=area_name

class_name（クラス名）

全文検索機能付き文書クラスの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

area_name（RDエリア名）

全文検索インデクス格納用RDエリア名を指定します。

(6)　[SearchExtentionPropertyIndexArea]セクション

全文検索機能付き文字列型プロパティに定義される全文検索インデクスと全文検索インデクス格納用RDエリア名を対応づけます。次の記述形式に従って記述します。

＜記述形式＞

class=class_name,prop=property_name,area=area_name

class_name（クラス名）

全文検索機能付き文字列型プロパティを追加したクラスの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

property_name（プロパティ名）

全文検索機能付き文字列型プロパティの名称（dmaProp_DisplayNameプロパティに設定した値）を指定します。

area_name（RDエリア名）

全文検索インデクス格納用RDエリア名を指定します。

4.8.3　RDエリア定義情報ファイルの記述例

RDエリア定義情報ファイルの記述例を次に示します。

[TableArea]
class=dmaClass_DocVersion,area=USER01
class=dmaClass_ContentTransfer,area=USER02
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,area=USER01
class=dmaClass_DocVersion/usrClass_DocTextSearch,area=USER01
class=edmClass_ContentReference,area=USER03

[IndexArea]
class=dmaClass_DocVersion,prop=dmaProp_OIID,area=INDEX01
class=dmaClass_DocVersion,prop=dmaProp_This,area=INDEX01
class=dmaClass_DocVersion,prop=dmaProp_ParentContainer,area=INDEX01
class=dmaClass_ContentTransfer,prop=dmaProp_OIID,area=INDEX02
class=dmaClass_ContentTransfer,prop=dmaProp_This,area=INDEX02
class=dmaClass_ContentTransfer,prop=edmProp_Parent,area=INDEX02
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=dmaProp_OIID,area=INDEX01
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=dmaProp_This,area=INDEX01
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=dmaProp_ParentContainer,area=INDEX01
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=usrProp_DocumentID,area=INDEX01
class=dmaClass_DocVersion/usrClass_DocTextSearch,prop=dmaProp_OIID,area=INDEX01
class=dmaClass_DocVersion/usrClass_DocTextSearch,prop=dmaProp_This,area=INDEX01
class=dmaClass_DocVersion/usrClass_DocTextSearch,prop=dmaProp_ParentContainer,area=INDEX01
class=edmClass_ContentReference,prop=dmaProp_OIID,area=INDEX03
class=edmClass_ContentReference,prop=ThisPropertyDescription,area=INDEX03
class=edmClass_ContentReference,prop=edmProp_Parent,area=INDEX03
class=edmClass_ContentReference,prop=edmProp_ReferenceType,area=INDEX03

[LobArea]
class=dmaClass_ContentTransfer,prop=edmProp_Content,area=LOB01

[SGMLTEXTLobArea]
class=dmaClass_DocVersion/usrClass_DocTextSearch,area=LOB03
[NgramIndexArea]
class=dmaClass_DocVersion/usrClass_DocTextSearch,area=LOB04

[SearchExtentionPropertyIndexArea]
class=dmaClass_DocVersion/usrClass_PropTextSearch,prop=usrProp_DocSummary,area=SEARCHINDEX1

4.8.4　RDエリア定義情報ファイルの注意事項

RDエリア定義情報ファイルの注意事項について説明します。

指定されたRDエリア名がHiRDBに定義されているかどうかについてはチェックしません。

指定されたクラス名，プロパティ名の妥当性についてはチェックしません。

[LobArea]セクション，[SGMLTEXTLobArea]セクション，[NgramIndexArea]セクション，および[SearchExtentionPropertyIndexArea]セクションに指定するRDエリア名は，ユニークな名称を指定してください。重複している場合，該当するエリア名にはBLOBAREAという文字列を出力します。

RDエリア定義情報ファイルの解析を実行して10件の誤りを検知した場合，それ以降の解析処理は実行されません。

RDエリア定義情報ファイルには，空白を含むクラス名，プロパティ名，およびRDエリア名は指定できません。空白を含むクラス名，プロパティ名，およびRDエリア名を指定した場合，DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）実行時にKMBR10226-Wのメッセージを出力するか，文書空間構築コマンド（EDMCBuildDocSpace）実行時にKMBR16920-Eメッセージ（エラー情報：rc=5）もしくはKMBR10226-Wメッセージを出力するか，またはデータベース定義ユティリティ実行時にデータベースのエラーでエラーとなります。

4.9　インデクス情報ファイル

この節では，インデクス情報ファイルについて説明します。

インデクス情報ファイルは，ユーザが追加するプロパティにインデクスを定義し，インデクスの作成をデータベース定義に追加する場合に作成してください。

＜この節の構成＞

4.9.1　インデクス情報ファイルの概要

4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則

4.9.3　全文検索での差分インデクス機能を使用するための設定

4.9.4　インデクス情報ファイルの記述形式

4.9.5　インデクス情報ファイルの記述例

4.9.1　インデクス情報ファイルの概要

サブクラスに追加するプロパティをキーにして検索したい場合，プロパティにインデクスを定義します。インデクス情報ファイルは，ユーザが追加するプロパティにインデクスを定義する場合に，インデクスの情報を記述するファイルです。

作成したインデクス情報ファイルをメタ情報の追加コマンド（EDMAddMeta），およびDocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）実行時に入力ファイルとして指定することで，データベース定義文にインデクスの作成を定義できます。インデクス情報ファイルで定義できる内容を次に示します。

ユーザが定義するプロパティに対するインデクスの作成

全文検索インデクス用プロパティに対する差分インデクスの作成

4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則

定義情報ファイルのdmaProp_DisplayNameプロパティに記述したサブクラス名やプロパティ名を，データベース定義の名称定義として使用する場合の規則を説明します。ここでは，インデクス名（表を検索するためのキーとして列に付けた索引の名称）を定義する場合の規則について説明します。

インデクス名を定義する場合，英小文字，英大文字，数字，空白，「_」（下線文字），および「-」（マイナス記号）で指定します。インデクス名の指定では，DocumentBrokerで付けるインデクス名を含めてデータベースのスキーマで一意に付ける必要があります。また，インデクス名を指定する場合は，次に示す規則およびデータベース定義の制約に従ってください。

ユーザがインデクスを追加する場合，インデクス情報ファイルで指定したインデクス名が，データベース定義文のインデクス名になります。

インデクス名には，「dmaClass」および「edmClass」で始まる名称を指定しないでください。

インデクス名の先頭1バイトは，英小文字または英大文字で指定します。

インデクス名の末尾は，空白にできません。

インデクス名は，1～30バイトで指定します。

4.9.3　全文検索での差分インデクス機能を使用するための設定

ここでは，差分インデクス機能を使用する場合に必要なインデクス情報ファイルの設定について説明します。

HiRDB Text Search Plug-inは，登録性能を向上させるために，小容量の一時的な登録用インデクスを作成し，登録した文書を追加できる機能を持っています。この機能を差分インデクス機能といいます。差分インデクス機能を使用する場合，全文検索インデクス用プロパティに対して，差分インデクスの作成を定義する必要があります。この場合，差分インデクスの作成，および作成する差分インデクスの容量をインデクス定義情報ファイルに定義することによって，差分インデクスの作成を定義したデータベース定義文を出力できます。

差分インデクスの作成を定義できる全文検索インデクス用プロパティを次に示します。

edmProp_TextIndexプロパティ

edmProp_StIndexプロパティ

edmProp_ConceptTextIndexプロパティ

edmProp_ConceptStIndexプロパティ

4.9.4　インデクス情報ファイルの記述形式

ここでは，インデクス情報ファイルの記述形式について説明します。

インデクス情報ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されます。

[Index]セクション

[ContentSearchIndex]セクション

セクションとエントリの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクション名を指定するまで，またはファイルの終端までの範囲です。

「;」（セミコロン）および「#」（シャープ）で始まる行はコメントとして扱われます。

インデクス情報ファイルの解析を実行して10件の誤りを検知した場合，それ以降の解析処理は実行されません。

以降，インデクス情報ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

〔[Index]〕
class=<class_name>〔,UNIQUE〕,prop=<property_name>〔,order={ASC｜DESC}〕
                         〔,prop=<property_name>〔,order={ASC｜DESC}〕...〕
                         〔,EXCEPT〕
                         〔,index=<index_name>〕

〔[ContentSearchIndex]
class=<class_name>,prop=<system_property_name>
               〔,subindex=<numeric>〕
               〔,index=<index_name>〕
〕

＜この項の構成＞

(1)　インデクス情報ファイルのセクションとエントリ

(1)　インデクス情報ファイルのセクションとエントリ

インデクス情報ファイルを構成するセクションとエントリについて説明します。

(a)　定義内容とセクションおよびエントリの対応

インデクス情報ファイルに定義する内容によって，セクションおよびエントリの設定は異なります。インデクス情報ファイルで定義する内容に対応したセクション名およびエントリ名を次に示します。

ユーザが定義するプロパティに対するインデクスの作成
[Index]セクションで定義します。次のエントリを設定する必要があります。

classエントリ

propエントリ

UNIQUEエントリ

orderエントリ

EXCEPTエントリ

indexエントリ

全文検索インデクス用プロパティに対する差分インデクスの作成
[ContentSearchIndex]セクションで定義します。次のエントリを設定する必要があります。

classエントリ

propエントリ

subindexエントリ

indexエントリ

(b)　セクションおよびエントリの説明

インデクス情報ファイルを構成するセクションおよびエントリについて，説明します。

[Index]

[Index]セクションは，ユーザが定義するプロパティにインデクスを作成する場合に定義します。

[Index]セクションの各エントリについて説明します。

class=<class_name>

インデクスを定義するクラスの名称（クラスに定義されるdmaProp_DisplayNameプロパティの値）を指定します。

prop=<property_name>

インデクスのキーに選択するプロパティの名称（プロパティに定義されるdmaProp_DisplayNameプロパティの値）を指定します。

prop=は，最大16個指定できます。複数個を指定すると，複数列インデクスの定義となります。なお，ここで指定した各プロパティの定義長の合計はチェックしません。

UNIQUE

インデクスのキーに選択するプロパティを一意に制約する場合に指定します。

この指定を省略した場合，インデクスのキーに選択するプロパティを一意に制約しません。

order={ASC|DESC}

インデクスを昇順に定義する場合はASC，降順に定義する場合はDESCを指定します。

EXCEPT

NULL値だけで構成されるキー値を除外してインデクスを定義する場合に指定します。指定を省略した場合，NULL値だけで構成されるキー値を除外しません。

index=<index_name>

インデクスのインデクス名を指定します。インデクス名の名称定義の方法については，「4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。

[ContentSearchIndex]

[ContentSearchIndex]セクションは，全文検索インデクス用プロパティに差分インデクスを作成する場合に定義します。これらのインデクスを作成できる全文検索インデクス用プロパティを次に示します。

全文検索インデクス用プロパティに対する差分インデクスの作成

次に示す全文検索インデクス用プロパティに対して差分インデクスの作成を定義できます。

edmProp_TextIndexプロパティ

edmProp_StIndexプロパティ

edmProp_ConceptTextIndexプロパティ

edmProp_ConceptStIndexプロパティ

次に，[ContentSearchIndex]セクションの各エントリについて説明します。

class=<class_name>

インデクスの作成を定義する全文検索機能付き文書クラスの名称（クラスに定義されるdmaProp_DisplayNameプロパティの値）を指定します。

prop=<system_property_name>

インデクスのキーに選択する全文検索インデクス用プロパティの名称（プロパティに定義されるdmaProp_DisplayNameプロパティの値）を指定します。

なお，プロパティの詳細については，「2.3.4　全文検索機能付き文書クラスの追加」を参照してください。

subindex=<numeric>

全文検索インデクスに対して，差分インデクスの作成を定義するとともに，作成する差分インデクスの容量を定義します。<numeric>に指定できる値は，40,000～102,400（キロバイト）の符号なしの整数値です。<numeric>に指定できる値の範囲は，HiRDB Text Search Plug-inの差分インデクスで指定できる範囲と同じです。なお，この指定を省略した場合，差分インデクスの作成を定義するSQL文は出力されません。

差分インデクスの詳細については，マニュアル「HiRDB Text Search Plug-in」を参照してください。

index=<index_name>

全文検索インデクス用プロパティに定義するインデクスのインデクス名を指定します。

指定を省略した場合，DocumentBrokerが提供するインデクス名の名称定義に従ってインデクス名が定義されます。インデクス名の名称定義については，「4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。

4.9.5　インデクス情報ファイルの記述例

インデクス情報ファイルの記述例を次に示します。

# Sample file for creating index
# Index definition
[Index]
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,UNIQUE,prop=usrProp_DocumentID,order=ASC
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=usrProp_Category
class=dmaClass_Container/usrClass_Container,prop=usrProp_ContainerName,EXCEPT
class=dmaClass_DocVersion/usrClass_ProbInfoDoc,prop=usrProp_DocumentID,order=DESC,prop=usrProp_Category
# Content Search Index definition

[ContentSearchIndex]
class=dmaClass_DocVersion/usrClass_DocTextSearch,property=edmProp_TextIndex

4.10　クラス定義情報ファイル

この節では，クラス定義情報ファイルについて説明します。

クラス定義情報ファイルは，クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）を実行すると"実行環境ディレクトリ/etc/meta_files"に作成されます。

クラス定義情報ファイルは，次の場合に作成してください。

Java クラスライブラリを使用する場合

DocumentBroker オブジェクト操作ツールを使用する場合

＜この節の構成＞

4.10.1　クラス定義情報ファイルの概要

4.10.2　クラス定義情報ファイルの出力形式

4.10.3　クラス定義情報ファイルの出力例

4.10.1　クラス定義情報ファイルの概要

クラス定義情報ファイルは，DocumentBrokerに定義されているDMAオブジェクトのクラス，そのサブクラスのクラス，およびプロパティから，GUID，データ型，基本単位などの情報を記述したファイルです。

Java クラスライブラリおよびDocumentBroker オブジェクト操作ツールは，これらのクラスおよびプロパティに対応するGUIDとプロパティの定義情報を使用して検索します。クラス定義情報ファイルは，これらのクラスおよびプロパティに対応するGUIDとプロパティの定義情報を，DocumentBrokerサーバを介さないで取得できるようにするために使用します。

また，クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）を実行すると，接続先のDocumentBrokerサーバで管理されているメタ情報からクラス定義情報ファイルを出力できます。

クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）については，「7.3　コマンドの文法」を参照してください。

次にクラス定義情報ファイルの作成と更新について説明します。

クラス定義情報ファイルの作成

クラス定義情報ファイルは，クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）を実行して作成します。

クラス定義情報ファイルの更新

「3.11.3　データベースシステムの設定手順」以外でクラスやプロパティを追加・更新してメタ情報ファイルを更新した場合，クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）を実行して更新します。

4.10.2　クラス定義情報ファイルの出力形式

ここでは，クラス定義情報ファイルの出力形式について説明します。

＜この項の構成＞

(1)　出力ディレクトリとファイル名

(2)　出力情報

(1)　出力ディレクトリとファイル名

クラス定義情報ファイルは，"実行環境ディレクトリ/etc/meta_files"に作成されます。なお，クラス定義情報ファイル作成コマンド（EDMCrtSimMeta）で出力ディレクトリを指定した場合，その指定に従って出力されます。出力されるファイル名は，文書空間識別子（GUID）+サフィックス(".ini")です。

例えば，文書空間識別子が673D2BE0-D1FD-11D0-AB59-08002BE29E1Dの場合，出力されるファイル名は，673D2BE0-D1FD-11D0-AB59-08002BE29E1D.iniになります。

(2)　出力情報

クラス定義情報ファイルに出力される情報を次に示します。

DocumentBrokerが定義するクラスで検索可能なクラス

dmaClass_DocVersionクラス

edmClass_ContentSearchクラス

dmaClass_ConfigurationHistoryクラス

dmaClass_Containerクラス

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

edmClass_ComponentDocVersionクラス

edmClass_ContainerVersionクラス

edmClass_VersionTraceableContainerクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_VersionTracedComponentDocVersionクラス

edmClass_VersionTracedDocVersionクラス

edmClass_Relationshipクラス

edmClass_PublicACLクラス

DocumentBrokerが定義するクラスでサブクラスの作成が可能なクラス

dmaClass_ConfigurationHistoryクラス

dmaClass_Containerクラス

dmaClass_DocVersionクラス

edmClass_ComponentDocVersionクラス

edmClass_ContainerVersionクラス

edmClass_IndependentPersistenceクラス

edmClass_Structクラス

edmClass_VersionTraceableContainerクラス

edmClass_VersionTracedDocVersionクラス

edmClass_VersionTracedComponentDocVersionクラス

DocumentBrokerが定義するクラスでユーザがプロパティを追加定義可能なクラス
2.で示されたクラス，および次に示すクラスにプロパティを追加定義できます。

dmaClass_DirectContainmentRelationshipクラス

dmaClass_ReferentialContainmentRelationshipクラス

edmClass_VersionTraceableContainmentRelationshipクラス

edmClass_PublicACLクラス

edmClass_Relationshipクラス

ユーザが定義するサブクラス

DocumentBrokerが定義するプロパティでデータ型がInteger32型，String型，Object型で検索可能または選択可能なプロパティ
メタ情報ファイルのプロパティ定義を記述するPropertyDescriptionNUMBLEセクションのIsSearchableエントリの値が「1」，またはIsSelectableエントリの値が「1」であるプロパティ

ユーザが定義するプロパティ

システム定義の情報

クラス定義情報ファイルで定義されている内容を次に示します。それぞれの<>内に定義情報が設定されます。なお，<>は非終端記号です。

[Version]
Version=text=<Version>-<OS種別>

[CreateDate]
CreateDate=date=<YYYY><MM><DD>T<hh><mm><ss>Z

[SystemDefinition]
DocSpaceCharacterSet=text={SJIS | UTF-8}

<CLASS_DESCRIPTION>::=
(
 [<CLASS NAME>]
 ClassId=guid=<CLASS ID>
 SuperClass=text=<SUPER CLASS NAME>
 (<PROPERTY NAME>=guid=<PROPERTY ID>)...
)...

<PROPERTY DESCRIPTION>::=
(
 [<PROPERTY ID>]
 dmaProp_DataType=int=<DMA DATATYPE>
 [
  dmaProp_RequiredClass=obj=<CLASS NAME>
  [dmaProp_Cardinality=int=<DMA CARDINALITY>]
 ]
 [=<SELECTIONS DATATYPE>=<SELECTIONS VALUE>]...
)...

次に，クラス定義情報ファイルに設定されている定義情報を説明します。

<Version>-<OS種別>

DocumentBrokerのバージョンおよびオペレーティングシステムが設定されます。「=text=」が区切り文字として設定されます。<Version>および<OS種別>に設定される値を次に示します。

<Version>

DocumentBrokerのバージョンが設定されます。

<OS種別>

オペレーティングシステムの種別が設定されます。

CreateDate

クラス定義情報ファイルを作成した日時が設定されます。CreateDateエントリに「=date=」が区切り文字として設定されます。<YYYY><MM><DD>，T，<hh><mm><ss>およびZについて，それぞれ次に説明します。

<YYYY><MM><DD>

クラス定義情報ファイルが作成された日付（年，月，日）を示します。<YYYY>，<MM>および<DD>に設定される値を次に示します。

<YYYY>

クラス定義情報ファイルが作成された年（4けた）を示します。0000～9999の範囲で値が設定されます。

<MM>

クラス定義情報ファイルが作成された月（2けた）を示します。01～12の範囲で値が設定されます。

<DD>

クラス定義情報ファイルが作成された日（2けた）を示します。01～31の範囲で値が設定されます。

T

クラス定義情報ファイルが作成された日付と時刻の区切り文字を示します。

<hh><mm><ss>

クラス定義情報ファイルが作成された時刻（時，分，秒）を示します。

<hh>

クラス定義情報ファイルが作成された時刻を24時間表示で示します。00～23の範囲で値が設定されます。

<mm>

クラス定義情報ファイルが作成された時刻（分）を示します。00～59の範囲で値が設定されます。

<ss>

クラス定義情報ファイルが作成された時刻（秒）を示します。00～59の範囲で値が設定されます。

Z

クラス定義情報ファイルが作成された日付と時刻の表示の終端を示します。

DocSpaceCharacterSet

DocumentBrokerサーバの文書空間で使用する文字コード種別が設定されます。「=text=」を区切り文字として，SJISまたはUTF-8が設定されます。SJIS，およびUTF-8について説明します。

SJIS

DocumentBrokerサーバの文書空間で使用する文字コード種別がShift-JISであることを示します。

UTF-8

DocumentBrokerサーバの文書空間で使用する文字コード種別がUTF-8であることを示します。

<CLASS DESCRIPTION>

クラス定義に関する情報が設定されます。<CLASS NAME>，<CLASS ID>，<SUPER CLASS NAME>，<PROPERTY NAME>および<Property ID>について，それぞれ次に説明します。

<CLASS NAME>

クラスのDisplayNameプロパティの値が設定されます。これは，メタ情報ファイルのクラス定義が記述された[ClassDescription]セクションのdmaProp_DisplayNameエントリの値です。また，この値は，「[」（左角括弧）と「]」（右角括弧）で囲まれて表示されます。

<CLASS ID>

クラスのクラス識別子（GUID）が設定されます。これは，メタ情報ファイルのクラス定義が記述された[ClassDescription]セクションのdmaProp_Idsエントリから参照されるセクションのGUIDです。また，この値は，「=guid=」を区切り文字として設定されます。GUIDの形式を次に示します。

GUIDの形式：XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

「X」は16進数値文字を示します。「-」はマイナス記号です。

<SUPER CLASS NAME>

スーパークラスのDisplayNameプロパティの値が設定されます。これは，ClassDescriptionオブジェクトのSuperclassDescriptionプロパティから参照されるClassDescriptionオブジェクトのdmaProp_DisplayNameプロパティの値です。また，この値は，「=text=」を区切り文字として設定されます。

<PROPERTY NAME>

プロパティの名称が設定されます。これは，メタ情報ファイルの[PropertyDescription]セクションのdmaProp_DisplayNameエントリに指定された値です。

<Property ID>

プロパティ識別子（GUID）が設定されます。これは，[PropertyDescription]セクションのdmaProp_Idsエントリから参照するセクションに指定されたGUIDです。GUIDの形式については，< CLASS ID>を参照してください。

<PropertyDescription>

プロパティの定義情報が設定されます。

<PROPERTY ID>::=<GUID>

プロパティ識別子（GUID）が設定されます。これは，[PropertyDescription]セクションのdmaProp_Idsエントリから参照するセクションに指定されたGUIDです。また，この値は，「[」（左角括弧）と「]」（右角括弧）で囲まれて表示されます。GUIDの形式については，< CLASS ID>を参照してください。

<DMA DATATYPE>

プロパティのデータ型が設定されます。

[PropertyDescription]セクションのdmaProp_DataTypeエントリに指定された値がdmaProp_DataTypeエントリに「=int=」を区切り文字として設定されます。設定されるデータ型を次に示します。

DMA_DATATYPE_BOOLEAN：Boolean型

DMA_DATATYPE_ID：Id型

DMA_DATATYPE_INTEGER32：Integer32型

DMA_DATATYPE_OBJECT：Object型

DMA_DATATYPE_STRING：String型

<CLASS NAME>

配布オブジェクトのクラスが設定されます。列挙によって取得するすべてのオブジェクトを作成する基になったクラスのクラス名が設定されます。

[PropertyDescription]セクションのdmaProp_DataTypeがObject型の場合に，dmaProp_RequiredClassエントリに指定された値が設定されます。この値は，dmaProp_RequiredClassエントリに「=obj=」を区切り文字として設定されます。

<DMA CARDINALITY>

プロパティの基本単位が設定されます。これは，[PropertyDescription]セクションのdmaProp_Cardinalityエントリに指定された値です。また，この値は，dmaProp_Cardinalityエントリに「=int=」を区切り文字として設定されます。設定される基本単位を次に示します。

DMA_CARDINALITY_SINGLE:Scalar型

DMA_CARDINALITY_ENUM:Enumeration型

DMA_CARDINALITY_LIST:List型

255:VariableArray型

<SELECTIONS DATATYPE>

プロパティに設定できる値のデータ型が設定されます。

dmaProp_DataTypeプロパティに指定するデータ型がDMA_DATATYPE_INTEGER32またはDMA_DATATYPE_STRINGの場合だけ設定されます。DMA_DATATYPE_INTEGER32は「int」，DMA_DATATYPE_STRINGは，「text」が設定されます。

dmaProp_DataTypeに設定されたデータ型に従って「=<SELECTIONSDATATYPE>=」の形式の区切り文字が設定され，そのあとに値が設定されます。

<SELECTIONS VALUE>

プロパティに設定された値が設定されます。この値は，印刷可能なASCIIコードで記述されます。

4.10.3　クラス定義情報ファイルの出力例

クラス定義情報ファイルの出力例を次に示します。

[Version]
Version=text=031100-AIX5.3

[CreateDate]
CreateDate=date=20000831T095801Z

[SystemDefinition]
DocSpaceCharacterSet=text=SJIS

[dmaClass_ConfigurationHistory]
ClassId=guid=01a3a8c6-7aec-11d1-a31b-0020af9fbb1c
SuperClass=text=dmaClass_Containable
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[dmaClass_DocVersion]
ClassId=guid=01a3a8c2-7aec-11d1-a31b-0020af9fbb1c
SuperClass=text=dmaClass_Versionable
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[dmaClass_Container]
ClassId=guid=01a3a8ca-7aec-11d1-a31b-0020af9fbb1c
SuperClass=text=dmaClass_Containable
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[dmaClass_DirectContainmentRelationship]
ClassId=guid=01a3a8cd-7aec-11d1-a31b-0020af9fbb1c
SuperClass=text=dmaClass_ContainmentRelationship
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_Head=guid=045c3750-7aad-11d1-85e5-00a024e8a452
dmaProp_Tail=guid=045c374d-7aad-11d1-85e5-00a024e8a452

[dmaClass_ReferentialContainmentRelationship]
ClassId=guid=01a3a8ce-7aec-11d1-a31b-0020af9fbb1c
SuperClass=text=dmaClass_ContainmentRelationship
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_Head=guid=045c3750-7aad-11d1-85e5-00a024e8a452
dmaProp_Tail=guid=045c374d-7aad-11d1-85e5-00a024e8a452

[edmClass_IndependentPersistence]
ClassId=guid=bb683094-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DMA
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452

[edmClass_Struct]
ClassId=guid=bb6830c1-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DMA
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452

[edmClass_ContainerVersion]
ClassId=guid=bb683085-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_Versionable
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[edmClass_VersionTraceableContainmentRelationship]
ClassId=guid=bb683086-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_ContainmentRelationship
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_Head=guid=045c3750-7aad-11d1-85e5-00a024e8a452
dmaProp_Tail=guid=045c374d-7aad-11d1-85e5-00a024e8a452
edmProp_VTMode=guid=bb6830a4-0bf0-11d2-9a68-0000e20838e7
edmProp_VTVersionSeries=guid=bb6830a3-0bf0-11d2-9a68-0000e20838e7
edmProp_VTConfigurationHistory=guid=bb6830ac-0bf0-11d2-9a68-0000e20838e7

[edmClass_ContentSearch]
ClassId=guid=bb683083-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DMA
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
edmProp_Content=guid=bb68309a-0bf0-11d2-9a68-0000e20838e7
edmProp_DocVersionOIID=guid=bb68309b-0bf0-11d2-9a68-0000e20838e7

[edmClass_VersionTracedDocVersion]
ClassId=guid=bb6830c9-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DocVersion
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[edmClass_ComponentDocVersion]
ClassId=guid=bb6830ca-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DocVersion
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[edmClass_VersionTracedComponentDocVersion]
ClassId=guid=bb6830cb-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_DocVersion
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

[edmClass_VersionTraceableContainer]
ClassId=guid=bb6830cc-0bf0-11d2-9a68-0000e20838e7
SuperClass=text=dmaClass_Container
dmaProp_OIID=guid=045c376f-7aad-11d1-85e5-00a024e8a452
dmaProp_This=guid=045c37ac-7aad-11d1-85e5-00a024e8a452
dmaProp_Parent=guid=045c3773-7aad-11d1-85e5-00a024e8a452
dmaProp_ParentContainer=guid=045c3776-7aad-11d1-85e5-00a024e8a452

;; dmaProp_OIID
[045c376f-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; dmaProp_This
[045c37ac-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; dmaProp_Parent
[045c3773-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; dmaProp_ParentContainer
[045c3776-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; dmaProp_Head
[045c3750-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; dmaProp_Tail
[045c374d-7aad-11d1-85e5-00a024e8a452]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; edmProp_VTMode
[bb6830a4-0bf0-11d2-9a68-0000e20838e7]
dmaProp_DataType=int=DMA_DATATYPE_INTEGER32
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; edmProp_VTVersionSeries
[bb6830a3-0bf0-11d2-9a68-0000e20838e7]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; edmProp_VTConfigurationHistory
[bb6830ac-0bf0-11d2-9a68-0000e20838e7]
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_RequiredClass=obj=NULL
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; edmProp_Content
[bb68309a-0bf0-11d2-9a68-0000e20838e7]
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; edmProp_DocVersionOIID
[bb68309b-0bf0-11d2-9a68-0000e20838e7]
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_Cardinality=int=DMA_CARDINALITY_SINGLE

;; end of file

4.11　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル

この節では，ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルについて説明します。

ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルは，DocumentBrokerで提供されているクラスおよびプロパティ以外にユーザクラスおよびユーザプロパティを定義して，ユーザアプリケーションプログラムを開発する場合に作成してください。

＜この節の構成＞

4.11.1　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの概要

4.11.2　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力形式

4.11.3　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例

4.11.1　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの概要

ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルは，ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）を実行して作成します。ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルには，次の内容が出力されます。

ユーザ定義識別子ファイル
ユーザ定義のクラス，およびプロパティのそれぞれに対応するユーザ定義識別子が出力されます。

ユーザ定義識別子変数ファイル
ユーザ定義のクラス，およびプロパティに対応するユーザ定義識別子を設定した変数の宣言が出力されます。

ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）については，「7.3　コマンドの文法」を参照してください。

4.11.2　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力形式

ここでは，ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力形式について説明します。

ユーザ定義識別子ファイルに出力される情報を次に示します。

ユーザが定義したサブクラス

ユーザが定義したプロパティ

4.11.3　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例

ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）の実行時に指定したオプションごとに出力される，ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例を次に示します。ユーザ定義識別子ファイルの作成コマンド（EDMCreateIds）については，「7.3　コマンドの文法」を参照してください。

＜この項の構成＞

(1)　-iオプションだけを指定した場合のユーザ定義識別子ファイルの出力例

(2)　-cオプションの指定値ごとのユーザ定義識別子変数ファイルの出力例

(3)　-iオプション，-vオプション，-cオプション，および-pオプションを指定した場合のユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例

(1)　-iオプションだけを指定した場合のユーザ定義識別子ファイルの出力例

-iオプションにユーザ定義識別子ファイル名「userids.h」を指定した場合のコマンドの入力例とユーザ定義識別子ファイルの出力例を次に示します。

コマンドの入力例

$ EDMCreateIds -i userids.h

ユーザ定義識別子ファイル（userids.h）の出力例

#ifndef _USERIDS_H
#define _USERIDS_H
#define usrClass_ManualVal ¥
  {0x01A3A891,0x7AEC,0x11D1, ¥
   {0xA3,0x1B,0x00,0x20,0xAF,0x9F,0xBB,0x1C}}
#endif

(2)　-cオプションの指定値ごとのユーザ定義識別子変数ファイルの出力例

-cオプションの指定値ごとのユーザ定義識別子変数ファイルの出力例について説明します。なお，ユーザ定義識別子ファイルは，-iオプションだけを指定した場合と同じ内容が出力されます。ユーザ定義識別子ファイルの出力例については，「(1)　-iオプションだけを指定した場合のユーザ定義識別子ファイルの出力例」を参照してください。

(a)　-cオプションに「A」を指定した場合のユーザ定義識別子変数ファイルの出力例

-iオプションにユーザ定義識別子ファイル名「userids.h」，-ｖオプションにユーザ定義識別子変数ファイル名「useridvar.h」，-cオプションに「A」を指定した場合のコマンドの入力例およびユーザ定義識別子変数ファイルの出力例を次に示します。

コマンドの入力例

$ EDMCreateIds -i userids.h -v useridvar.h -c A

文字コードセットがcharに対応したユーザ定義識別子変数ファイル（useridvar.h）の出力例

#ifndef _USERIDVAR_H
#define _USERIDVAR_H
#if !defined(DMATYPESA_H)
#   include <dmatypesA.h>
#endif
#if !defined(DMACOM_H)
#   include <dmacom.h>
#endif
#if !defined(DMAIFACEA_H)
#   include <dmaifaceA.h>
#endif
#if !defined(DMAIDS_H)
#   include <dmaids.h>
#endif
#if !defined(_USERIDS_H)
#   include "userids.h"
#endif

#if defined(EDMAPP_INIT_ID)
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_ = x_##Val;
#else
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_;
#endif

EDMAPP_DECL_ID(usrClass_Manual)

#endif

(b)　-cオプションに「B」を指定した場合のユーザ定義識別子変数ファイルの出力例

-iオプションにユーザ定義識別子ファイル名「userids.h」，-ｖオプションにユーザ定義識別子変数ファイル名「useridvar.h」，-cオプションに「B」を指定した場合のコマンドの入力例およびユーザ定義識別子変数ファイルの出力例を次に示します。

コマンドの入力例

$ EDMCreateIds -i userids.h -v useridvar.h -c B

文字コードセットがwchar_tに対応したユーザ定義識別子変数ファイル（useridvar.h）の出力例

#ifndef _USERIDVAR_H
#define _USERIDVAR_H
#if !defined(DMATYPES_H)
#   include <dmatypes.h>
#endif
#if !defined(DMACOM_H)
#   include <dmacom.h>
#endif
#if !defined(DMAIFACE_H)
#   include <dmaiface.h>
#endif
#if !defined(DMAIDS_H)
#   include <dmaids.h>
#endif
#if !defined(_USERIDS_H)
#   include "userids.h"
#endif

#if defined(EDMAPP_INIT_ID)
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_ = x_##Val;
#else
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_;
#endif

EDMAPP_DECL_ID(usrClass_Manual)

#endif

(c)　-cオプションに「T」を指定した場合のユーザ定義識別子変数ファイルの出力例

-iオプションにユーザ定義識別子ファイル名「userids.h」，-ｖオプションにユーザ定義識別子変数ファイル名「useridvar.h」，-cオプションに「T」を指定した場合のコマンドの入力例およびユーザ定義識別子変数ファイルの出力例を次に示します。

コマンドの入力例

$ EDMCreateIds -i userids.h -v useridvar.h -c T

文字コードセットがcharおよびwchar_tに対応したユーザ定義識別子変数ファイル（useridvar.h）の出力例

#ifndef _USERIDVAR_H
#define _USERIDVAR_H
#if !defined(DMATYPEST_H)
#   include <dmatypesT.h>
#endif
#if !defined(DMACOM_H)
#   include <dmacom.h>
#endif
#if !defined(DMAIFACET_H)
#   include <dmaifaceT.h>
#endif
#if !defined(DMAIDS_H)
#   include <dmaids.h>
#endif
#if !defined(_USERIDS_H)
#   include "userids.h"
#endif

#if defined(EDMAPP_INIT_ID)
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_ = x_##Val;
#else
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_;
#endif

EDMAPP_DECL_ID(usrClass_Manual)

#endif

(3)　-iオプション，-vオプション，-cオプション，および-pオプションを指定した場合のユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例

-iオプションにユーザ定義識別子ファイル名「userids.h」，-vオプションにユーザ定義識別子変数ファイル名「useridvar.h」，-cオプションに「T」，および-pオプションに「Pre_」を指定した場合のコマンドの入力例，ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイルの出力例を次に示します。

コマンドの入力例

$ EDMCreateIds -i userids.h -v useridvar.h -c T -p Pre_

ユーザ定義識別子ファイル（userids.h）の出力例

#ifndef _USERIDS_H
#define _USERIDS_H
#define Pre_usrClass_ManualVal ¥
  {0x01A3A891,0x7AEC,0x11D1, ¥
   {0xA3,0x1B,0x00,0x20,0xAF,0x9F,0xBB,0x1C}}
#endif

文字コードセットがcharおよびwchar_tに対応したユーザ定義識別子変数ファイル（useridvar.h）の出力例

#ifndef _USERIDVAR_H
#define _USERIDVAR_H
#if !defined(DMATYPEST_H)
#   include <dmatypesT.h>
#endif
#if !defined(DMACOM_H)
#   include <dmacom.h>
#endif
#if !defined(DMAIFACET_H)
#   include <dmaifaceT.h>
#endif
#if !defined(DMAIDS_H)
#   include <dmaids.h>
#endif
#if !defined(_USERIDS_H)
#   include " userids.h "
#endif

#if defined(EDMAPP_INIT_ID)
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_ = x_##Val;
#else
#  define EDMAPP_DECL_ID(x_) DMA_EXTERN_C DmaId x_;
#endif

EDMAPP_DECL_ID(Pre_usrClass_Manual)

#endif

4.12　ファイル転送サービス環境定義ファイル（ftpsv.ini）

この節では，ファイル転送サービス環境定義ファイルについて説明します。

ファイル転送サービス環境定義ファイルには，次のサンプルファイルが提供されています。ファイル転送機能を使用する場合，環境に応じたサンプルファイルを編集してください。

FtpSvSetupコマンドで指定した実行環境ディレクトリ/etc/ftpsv.ini

＜この節の構成＞

4.12.1　ファイル転送サービス環境定義ファイルの概要

4.12.2　ファイル転送サービス環境定義ファイルの記述形式

4.12.3　ファイル転送サービス環境定義ファイルの記述例

4.12.1　ファイル転送サービス環境定義ファイルの概要

DocumentBrokerサーバに接続するDocumentBrokerクライアントが異なるマシン上に存在する場合，DocumentBrokerサーバとDocumentBrokerクライアントの間のファイル転送には，ファイル転送機能を使用する必要があります。

ファイル転送サービス環境定義ファイルは，同時に割り当て可能なクライアントの数の最大値など，ファイル転送機能を使用するために必要な環境を定義するファイルです。

4.12.2　ファイル転送サービス環境定義ファイルの記述形式

ここでは，ファイル転送サービス環境定義ファイルの記述形式について説明します。

ファイル転送サービス環境定義ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されます。

[FtpService]セクション

[FtpProcessXXXX]セクション

セクションとエントリの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクション名を指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=指定値」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

なお，同一名のセクションを複数指定した場合，最初に指定したセクションが有効になります。また，指定できないセクションを指定した場合，その指定は無視されます。

各セクション内で同一名のエントリを複数指定した場合，最初に指定したエントリが有効になります。また，各エントリの値として指定できるのは，1,023バイトまでです。

以降，ファイル転送サービス環境定義ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

＜この項の構成＞

(1)　[FtpService]セクション

(2)　[FtpProcessXXXX]セクション

(1)　[FtpService]セクション

FtpSessionMaxエントリ

同時に割り当て可能なクライアントの数の最大値を，1～1,024の値で指定してください。静的モードの場合は，ファイル転送サービス起動コマンドで起動したすべてのファイル転送サービスプロセスで，同時に割り当て可能なクライアントの最大数を指定してください。動的モードの場合は，一つのファイル転送サービスプロセスで同時に割り当て可能なクライアントの最大数を指定してください。

このエントリを省略した場合，またはエントリに不正な値を指定した場合は，「64」が仮定されます。

なお，クライアントへの割り当ては，クライアントアプリケーションでファイル転送を要求してから，文書空間への接続解除まで有効です。

FtpOrbBoaOptionエントリ

ファイル転送サービス監視プロセスのORBおよびBOAのオプションを指定します。指定を省略した場合，「-OAthreadMax 64 -OAlocalipc 0」が仮定されます。ORBおよびBOAのオプション以外の値を指定した場合，ファイル転送サービス監視プロセスの起動に失敗します。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V5環境では，VisiBrokerプロパティとしてFtpVBPropertyエントリに指定してください。

FtpVBPropertyエントリ

ファイル転送サービス監視プロセスのVisiBrokerプロパティを指定します。指定を省略した場合，「-Dvbroker.se.iiop_tp.scm.iiop_tp.manager.type=Socket -Dvbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax=64」が仮定されます。VisiBrokerプロパティ以外の値を指定した場合，ファイル転送サービス監視プロセスの起動に失敗します。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V3環境では，ORB／BOAオプションとしてFtpOrbBoaOptionエントリに指定してください。

FtpProcessOrbBoaOptionエントリ

すべてのファイル転送サービスプロセスに共通するORBおよびBOAのオプションを指定します。指定を省略した場合，「-OAthreadMax 64 -OAlocalipc 0」が仮定されます。ORBおよびBOAのオプション以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V5環境では，VisiBrokerプロパティとしてFtpProcessVBPropertyエントリに指定してください。

FtpProcessVBPropertyエントリ

すべてのファイル転送サービスプロセスに共通するVisiBrokerプロパティを指定します。指定を省略した場合，「-Dvbroker.se.iiop_tp.scm.iiop_tp.manager.type=Socket -Dvbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax=64」が仮定されます。VisiBrokerプロパティ以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視され省略値も有効になりません。TPBroker V3環境では，ORB／BOAオプションとしてFtpProcessOrbBoaOptionエントリに指定してください。

(2)　[FtpProcessXXXX]セクション

XXXXは，0001～0020を示します。[FtpProcessXXXX]セクションでは，静的モードで開始される各ファイル転送サービスプロセスに固有の動作を定義します。

ファイル転送サービス開始コマンド（FtpSvStart）の-nオプションに指定した数までのセクションが有効になります。ファイル転送サービスプロセスごとに動作を定義することで，ポート番号を指定してファイル転送サービスプロセスを複数起動できます。例えば，ファイル転送サービス開始コマンドの-nオプションに2を指定した場合，[FtpProcess0001]セクションおよび[FtpProcess0002]セクションの定義内容が有効になります。

[FtpProcessXXXX]セクションでは，次のエントリを指定できます。

OrbBoaOptionエントリ

各ファイル転送サービスプロセスに固有のORBおよびBOAのオプションを指定します。指定を省略した場合に仮定される値はありません。ORBおよびBOAのオプション以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。

[FtpService]セクションのFtpProcessOrbBoaOptionエントリの値と，このエントリの値を連結した値が，ORBおよびBOAのオプションになります。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視されます。TPBroker V5環境では，VisiBrokerプロパティとしてVBPropertyエントリに指定してください。

VBPropertyエントリ

各ファイル転送サービスプロセスに固有のVisiBrokerプロパティを指定します。指定を省略した場合に仮定される値はありません。VisiBrokerプロパティ以外の値を指定した場合，ファイル転送サービスプロセスの起動に失敗します。

[FtpService]セクションのFtpProcessVBPropertyエントリの値と，このエントリの値を連結した値が，VisiBrokerプロパティになります。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視されます。TPBroker V3環境では，ORB／BOAオプションとしてOrbBoaOptionエントリに指定してください。

4.12.3　ファイル転送サービス環境定義ファイルの記述例

TPBroker V3と連携して動作する環境の場合

ファイル転送サービス開始コマンドの-nオプションに「2」を指定し，個々のファイル転送サービスプロセスにBOAが使用するポート番号を定義する場合の，ファイル転送サービス環境定義ファイルの記述例を次に示します。

[FtpProcess0001]
OrbBoaOption = -OAport 14006

[FtpProcess0002]
OrbBoaOption = -OAport 14007

TPBroker V5と連携して動作する環境の場合

ファイル転送サービス開始コマンドの-nオプションに「2」を指定し，個々のファイル転送サービスプロセスにPOAが使用するポート番号を定義する場合の，ファイル転送サービス環境定義ファイルの記述例を次に示します。

[FtpProcess0001]
VBProperty = -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14006

[FtpProcess0002]
VBProperty = -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14007

4.13　サービスプロセス定義ファイル

この節では，サービスプロセス定義ファイルについて説明します。

サービスプロセス定義ファイルは，"実行環境ディレクトリ/etc/process.ini" に提供されています。

＜この節の構成＞

4.13.1　サービスプロセス定義ファイルの概要

4.13.2　サービスプロセス定義ファイルの記述形式

4.13.3　サービスプロセス定義ファイルの記述例

4.13.1　サービスプロセス定義ファイルの概要

サービスプロセス定義ファイルは，サービスプロセスごとに動作を定義するファイルです。例えば，サービスプロセスごとにポート番号を指定して，起動できるようになります。

なお，サービスプロセスごとに動作を定義しない場合，サービスプロセス定義ファイルを編集する必要はありません。また，サービスプロセス定義ファイルが存在しない場合，DocumentBrokerサーバは，サービスプロセスごとに動作を定義しないものとして動作します。

4.13.2　サービスプロセス定義ファイルの記述形式

ここでは，サービスプロセス定義ファイルの記述形式について説明します。

サービスプロセス定義ファイルは，次に示す二つのセクションと，セクションに指定するエントリによって構成されます。

[Entry0001]セクション

[ProcessXXXX]セクション

セクションとエントリの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクション名を指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=指定値」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

なお，同一名のセクションを複数指定した場合，最初に指定したセクションが有効になります。また，指定できないセクションを指定した場合，その指定は無視されます。

各セクション内で同一名のエントリを複数指定した場合，最初に指定したエントリが有効になります。また，各エントリの値として指定できるのは，1,023バイトまでです。

以降，サービスプロセス定義ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

＜この項の構成＞

(1)　[Entry0001]セクション

(2)　[ProcessXXXX]セクション

(1)　[Entry0001]セクション

[Entry0001]セクションでは，サービスプロセスの動作を定義します。

このセクション名は必ず記述してください。このセクションは，[ProcessXXXX]セクションより前に記述してください。

DBConnectionCloseエントリ

DocumentBrokerサーバを停止した時に，明示的にDBコネクションを切断するかどうかを指定します。

Yes
DBコネクションを切断します。

NO
DBコネクションを切断しません。

指定を省略した場合，またはファイルが存在しない場合，「NO」が仮定されます。

(2)　[ProcessXXXX]セクション

XXXXは，0001～0020を示します。[ProcessXXXX]セクションでは，各サービスプロセスに固有の動作を定義します。

DocumentSpace構成定義ファイルのProcessエントリに指定した数までのセクションが有効になります。例えば，Processエントリに「2」を指定した場合，[Process0001]セクションおよび[Process0002]セクションの定義内容が有効になります。

[ProcessXXXX]セクションでは，次のエントリを指定できます。

OrbBoaOptionエントリ

各サービスプロセスに固有のORBおよびBOAのオプションを指定します。指定を省略した場合に仮定される値はありません。ORBおよびBOAのオプション以外の値を指定した場合，DocumentBrokerサーバの起動に失敗します。DocumentSpace構成定義ファイルのProcessOrbBoaOptionエントリの値と，このエントリの値を連結した値が，ORBおよびBOAのオプションになります。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

なお，このエントリは，TPBroker V3環境の場合に指定するエントリです。TPBroker V5と連携して動作する環境では指定できません。TPBroker V5環境で指定した場合は，指定が無視されます。TPBroker V5環境では，VisiBrokerプロパティとしてVBPropertyエントリに指定してください。

VBPropertyエントリ

各サービスプロセスに固有のVisiBrokerプロパティを指定します。指定を省略した場合に仮定される値はありません。VisiBrokerプロパティ以外の値を指定した場合，DocumentBrokerサーバの起動に失敗します。DocumentSpace構成定義ファイルのProcessVBPropertyエントリの値とこのエントリの値を連結した値が，VisiBrokerプロパティになります。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

なお，このエントリは，TPBroker V5環境の場合に指定するエントリです。TPBroker V3と連携して動作する環境では指定できません。TPBroker V3環境で指定した場合は，指定が無視されます。TPBroker V3環境では，ORB／BOAオプションとしてOrbBoaOptionエントリに指定してください。

4.13.3　サービスプロセス定義ファイルの記述例

TPBroker V3と連携して動作する環境の場合

DocumentSpace構成定義ファイルのProcessエントリに「2」を指定し，個々のサービスプロセスにBOAが使用するポート番号を定義する場合の，サービスプロセス定義ファイルの記述例を次に示します。

[Entry0001]

[Process0001]
OrbBoaOption = -OAport 14005

[Process0002]
OrbBoaOption = -OAport 14006

TPBroker V5と連携して動作する環境の場合

DocumentSpace構成定義ファイルのProcessエントリに「2」を指定し，個々のサービスプロセスにPOAが使用するポート番号を定義する場合の，サービスプロセス定義ファイルの記述例を次に示します。

[Entry0001]

[Process0001]
VBProperty = -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14005

[Process0002]
VBProperty = -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14006

4.14　プロパティマッピング定義ファイル

この節では，プロパティマッピング定義ファイルについて説明します。

プロパティマッピング定義ファイルは，XML文書管理機能を使用する場合に作成してください。

＜この節の構成＞

4.14.1　プロパティマッピング定義ファイルの概要

4.14.2　プロパティマッピング定義ファイルの記述形式

4.14.3　プロパティマッピング定義ファイルの記述例

4.14.4　プロパティマッピング定義ファイルの注意事項

4.14.1　プロパティマッピング定義ファイルの概要

XML文書管理機能を利用するためには，次のプログラムに必要な定義ファイルを作成して，実行時に指定する必要があります。

HiRDB Adapter for XML

Preprocessing Library for Text Search

プロパティマッピング定義ファイルは，XML文書管理機能で使用する定義ファイルに含まれるファイルの一つで，XML文書中のタグ名とその内容をマッピングするクラス名，プロパティ名の対応関係の定義（プロパティマッピング定義）を記述したファイルです。この定義ファイルを基に，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）がマッピング定義ファイルを生成します。

4.14.2　プロパティマッピング定義ファイルの記述形式

ここでは，プロパティマッピング定義ファイルの記述形式について説明します。

プロパティマッピング定義の記述形式を次の図に示します。

図4-3　プロパティマッピング定義の記述形式

プロパティマッピング定義はセクション形式で指定します。プロパティマッピング定義は複数のセクションで構成され，それぞれのセクションは複数のエントリで構成されます。なお，1行の長さは，2,048バイトまで（改行文字を含む）です。

＜この項の構成＞

(1)　セクションの文法

(2)　エントリの文法

(3)　コメントの文法

(1)　セクションの文法

セクションを記述する場合の文法を次に示します。

セクション名::=文字列

予約セクション名：EDM_MAPPING_CLASS_LIST

その他のセクション名::={各セクションのエントリで定義したセクション名}

セクション名に指定できる文字を次に示します。

半角英数字

半角記号

ただし，「[」（左角括弧）および「]」（右角括弧）を除きます。

セクションの種類は，次に示す3種類があります。

マッピング先クラス一覧セクション

マッピング先クラス用セクション

マッピング先VariableArray型プロパティ用セクション

以降，それぞれのセクションの文法について説明します。

(a)　マッピング先クラス一覧セクション

マッピング先となるクラスを指定するセクションです。セクション名には， EDM_MAPPING_CLASS_LISTを指定してください。このセクションは，プロパティマッピング定義中に1か所だけ存在します。

エントリには，マッピング先クラス名と，マッピング内容を記述するセクションの名称（マッピング先クラス用セクション名）を定義します。エントリには使用するすべてのクラスについて定義します。エントリに定義するクラスは，dmaClass_ConfigurationHistoryクラスのサブクラスおよびdmaClass_DocVersionクラスのサブクラスです。それぞれ一つずつまたはどちらか一つについて定義します。

エントリの内容を次に示します。

エントリの内容
マッピング先クラス名=マッピング先クラス用セクション名
このエントリは，必ず指定してください。

(b)　マッピング先クラス用セクション

マッピング先となるプロパティ名とタグ名（属性名）の対応を定義するセクションです。セクション名には，「(a)　マッピング先クラス一覧セクション」で定義したマッピング先クラス用セクション名を指定します。使用するすべてのマッピング先クラスについて，このセクションを定義します。エントリには，次に示す内容を定義します。

カレントタグ階層の指定（EDM_TAGエントリ）

マッピング先となるプロパティ名とタグ名の対応の定義（マッピング先プロパティ名エントリ）

マッピング先に指定できるプロパティはユーザ追加プロパティだけです。マッピング先がVariableArray型プロパティの場合，タグ名との対応は別セクションで定義するので，このセクションではVariableArray型プロパティ名とそのプロパティ用のセクションの名称（マッピング先VariableArray型プロパティ用セクション名）を定義します（VariableArray型プロパティ名エントリ）。エントリの内容を次に示します。

エントリの内容

EDM_TAG=タグ文字列

マッピング先プロパティ名=
{タグ文字列|マッピング先VariableArray型プロパティ用セクション名}
マッピング先プロパティ名エントリは，必ず指定してください。

(c)　マッピング先VariableArray型プロパティ用セクション

マッピング先VariableArray型プロパティ中の要素プロパティ名とタグ名（属性名）の対応を定義するセクションです。セクション名には「(b)　マッピング先クラス用セクション」で定義したマッピング先VariableArray型プロパティ用セクション名を指定します。「(b)　マッピング先クラス用セクション」で定義したすべてのマッピング先VariableArray型プロパティについて，このセクションを定義します。エントリには次に示す内容を定義します。

マッピング対象となるタグ（属性）群（子タグ群）を取りまとめるタグ（親タグ）の定義（EDM_RECORDエントリ）

カレントタグ階層の指定（EDM_TAGエントリ）

マッピング先となるプロパティ名とタグ名の対応の定義（マッピング先プロパティ名エントリ）

まず，EDM_RECORDエントリで親タグを定義し，次に各要素プロパティ名とタグ（属性）名の対応を定義します。親タグは，すべての子タグの上位にあり，繰り返し出現するタグである必要があります。なお，EDM_RECORDエントリはセクションの先頭だけに記述できます。エントリの内容を次に示します。

エントリの内容

EDM_RECORD=タグ文字列

EDM_TAG=タグ文字列

マッピング先プロパティ名=タグ文字列
EDM_RECORDエントリおよびマッピング先プロパティ名エントリは必ず指定してください。

(2)　エントリの文法

エントリを記述する場合の文法を次に示します。

エントリ名::=文字列

予約エントリ名：EDM_TAGおよびEDM_RECORD

その他のエントリ名::={クラス名|プロパティ名}

データ::={タグ文字列|EDM_RECORD用タグ文字列|セクション名}

タグ文字列::="{タグ名[/タグ名]...[/属性名] | 属性名}"

次のどちらかの形式で指定します。

1個以上のタグ名，および0個または1個の属性名を指定します。

1個の属性名を指定します。

タグ名とタグ名との間，およびタグ名と属性名との間は「/」（スラント）で区切ります。

EDM_RECORD用タグ文字列::="タグ名[/タグ名]..."

EDM_RECORDエントリ専用の記述形式です。タグ名は1回以上指定します。タグ名とタグ名との間は「/」（スラント）で区切ります。

タグ名::= {文字列 | .}

タグ名または「.」（ピリオド）を指定します。

属性名::= @文字列

注意

エントリ名に指定できる文字はメタ情報のクラス名（edmProp_DisplayNameプロパティに指定した値）として指定できる文字です。

タグ名および属性名に指定できる文字列は，XMLの名前文字列として使用できる文字列です。XMLの名前文字列は，1文字目は，半角英字，全角文字（全角数字を除く），「_」（下線文字），または「:」（コロン）です。2文字目以降は，半角英数字，全角文字（全角数字を除く），「_」（下線文字），「:」（コロン），「.」（ピリオド），または「-」（マイナス記号）です。

エントリの種類は，次に示す5種類があります。

クラス名エントリ

EDM_TAGエントリ

EDM_RECORDエントリ

プロパティ名エントリ

VariableArray型プロパティ名エントリ

以降，それぞれのエントリの文法について説明します。

(a)　クラス名エントリ

マッピング先クラス一覧セクション内だけで記述できるエントリです。エントリ名でマッピング先クラスを定義すると同時に，データでマッピング内容を記述するセクションの名称を定義します。

クラス名には，次のクラスを指定できます。

dmaClass_ConfigurationHistoryクラスを継承したユーザ追加のサブクラス

dmaClass_DocVersionクラスを継承したユーザ追加のサブクラス

edmClass_ComponentDocVersionクラスを継承したユーザ追加のサブクラス

edmClass_VersionTracedDocVersionクラスを継承したユーザ追加のサブクラス

edmClass_VersionTracedComponentDocVersionクラスを継承したユーザ追加のサブクラス

指定内容を次に示します。

指定内容
クラス名=セクション名

(b)　EDM_TAGエントリ

プロパティ名エントリの解析時にカレントとして扱うタグ階層を指定するエントリです。このエントリ以降に出現するプロパティ名エントリでは，指定されたタグはこのエントリで指定したタグの下の階層に存在するものとして解析されます。マッピング先クラス用セクションとマッピング先VariableArray型プロパティ用セクションで記述できます。

このエントリの指定は，次のEDM_TAGエントリが出現するか，セクションが終了するまで有効です。ただし，このエントリの指定後にマッピング先VariableArray型プロパティ用セクション名が定義されている場合，そのマッピング先VariableArray型プロパティ用セクションには，このエントリの指定内容が引き継がれます。

マッピング先VariableArray型プロパティ用セクションでこのエントリを指定した場合，指定したタグ階層はEDM_RECORDエントリで指定したタグの下の階層に存在するものとして解析されます。

このエントリで「.」（ピリオド）だけを指定すると「セクションの基本のEDM_TAGエントリ指定にする」という意味になります。このように指定すると，マッピング先クラス用セクション内ではカレントとして扱うタグ階層がないことを示し，マッピング先VariableArray型プロパティ用セクション内ではEDM_RECORDエントリの指定タグ階層を示します。指定内容を次に示します。

指定内容
EDM_TAG=タグ文字列

(c)　EDM_RECORDエントリ

VariableArray型プロパティにマッピングする子タグ群の親の位置に当たる繰り返しタグ（親タグ）を定義するエントリです。VariableArray型プロパティの配列数は，ここで定義したタグの出現回数になります。このエントリは上位セクションのEDM_TAGエントリの指定を引き継ぐので，定義したタグの前には引き継いできたタグ階層が追加されます（上位セクションのEDM_TAG＋指定タグ）。マッピング先VariableArray型プロパティ用セクションの先頭に必ず記述してください。

このエントリ以降に出現するEDM_TAGエントリおよびプロパティ名エントリでは，指定されたタグは，すべてこのエントリで指定したタグの下の階層に存在するものとして解析されます。このエントリの指定は，セクションが終了するまで有効です。

このエントリを記述する場合の注意事項を次に示します。

このエントリには属性名および「.」（ピリオド）は指定できません。

このエントリの指定タグと，上位セクションから引き継いだEDM_TAG指定の合計が2階層以上必要です。

指定内容を次に示します。

指定内容
EDM_RECORD=タグ文字列

(d)　プロパティ名エントリ

マッピング先プロパティとマッピングするタグ（属性）を定義するエントリです。指定値によってマッピングする対象が異なります。プロパティ名のタグの指定形式について次の表に示します。

表4-22　プロパティ名のタグの指定形式

タグの指定形式 | マッピング対象
タグ名 | 指定したタグの開始タグおよび終了タグに囲まれた文字列（タグ間のテキスト）をマッピングします。
属性名 | 指定した属性の値をマッピングします。対象タグは上位のEDM_TAGエントリおよびEDM_RECORDエントリで指定したタグです。
「.」（ピリオド） | タグ間テキストをマッピングします。対象タグは上位のEDM_TAGエントリおよびEDM_RECORDエントリで指定したタグです。

「(b)　EDM_TAGエントリ」および「(c)　EDM_RECORDエントリ」で説明したように，プロパティ名エントリで指定したタグは，これらの二つのエントリが上位に存在するかどうかで解析のしかたが変わります。上位エントリによる指定タグの解析の違いについて次の表に示します。

表4-23　上位エントリによる指定タグの解析の違い

上位エントリ
解析結果および説明

EDM_TAGエントリ有り

EDM_TAG＋指定タグ

説明

このエントリで指定したタグの前にEDM_TAGエントリで指定したタグ階層を追加して解析します。

EDM_RECORDエントリ有り

上位セクションのEDM_TAG＋EDM_RECORD＋指定タグ

説明

このエントリで指定したタグの前にEDM_RECORDエントリで指定したタグを追加して解析します。

両方有り

上位セクションのEDM_TAG＋EDM_RECORD＋EDM_TAG＋指定タグ

説明

このエントリで指定したタグの前にEDM_RECORDエントリで指定したタグとEDM_TAGエントリで指定したタグを追加して解析します。

両方なし

指定タグだけ

説明

このエントリで指定したタグをそのまま解析します。解析結果にタグ名は必要なので，この場合，属性名だけの指定や，「.」（ピリオド）の指定はできません。

このエントリはマッピング先クラス用セクションとマッピング先VariableArray型プロパティ用セクションで記述できます。マッピング先VariableArray型プロパティ用セクションでは，EDM_RECORDエントリが上位セクションのEDM_TAGエントリを引き継いでいるので，タグの内容には注意する必要があります。

マッピング先として指定できるプロパティはユーザ追加プロパティだけです。ただし，マッピング対象となる属性にはマッピング元XMLタグ定義（DCD）によってデータ型が設定されているので，プロパティと属性のデータ型の組み合わせによってはマッピングできない場合があります。マッピングできるデータ型の組み合わせを次の表に示します。

表4-24　マッピングできるデータ型の組み合わせ

プロパティのデータ型 | マッピング対象のマッピング元XMLタグ定義（DCD）データ型
DMA_DATATYPE_INTEGER32 | string,number,int,fixed,decimal,i1,i2,i4,ui1,ui2,ui4,fixed14.4（値が整数値を表す文字列であること）
DMA_DATATYPE_BOOLEAN | 同上（ただし値が'0'または'1'であること）
DMA_DATATYPE_STRING | entity,entities,bin.hex,bin.base64以外の型

注1

タグ間テキストのマッピング元XMLタグ定義（DCD）データ型はstring型です。

注2

マッピング元XMLタグ定義（DCD）データ型のboolean型は，DMA_DATATYPE_STRING型にだけマッピングできます。

指定内容を次に示します。

指定内容
プロパティ名=タグ文字列

(e)　VariableArray型プロパティ名エントリ

マッピング先VariableArray型プロパティのマッピング内容を記述するセクションのセクション名を定義するエントリです。マッピング先クラス用セクション内だけで記述できます。指定内容を次に示します。

指定内容
プロパティ名=セクション名

(3)　コメントの文法

「;」（セミコロン）で始まる行はコメント行として扱われます。

4.14.3　プロパティマッピング定義ファイルの記述例

次の図に示すXML文書を例にして，オブジェクトへのプロパティマッピングをする場合のプロパティマッピング定義の方法を示します。

図4-4　XML文書のタグとオブジェクトに指定するプロパティの値との関連

図4-4の例で示したプロパティの値を設定するユーザクラスおよびユーザプロパティと，プロパティマッピング定義ファイルの定義例を次の図に示します。

図4-5　プロパティの値を設定するユーザクラスおよびユーザプロパティとプロパティマッピング定義ファイルの定義例

4.14.4　プロパティマッピング定義ファイルの注意事項

プロパティマッピング定義ファイルでマッピング元のタグ名（属性名）を指定する場合は，XML文書のルートタグから記述することをお勧めします。このように記述することによって，プロパティマッピング定義が不明確になることを防げます。

また，EDM_TAGエントリやEDM_RECORDエントリが存在する場合，タグの解析結果がルートタグから始まるように指定してください。

なお，ルートタグから記述しない場合，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）が生成するマッピング定義の内容が冗長になることがあります。

4.15　文書クラス定義ファイル

この節では，文書クラス定義ファイルについて説明します。

文書クラス定義ファイルのサンプルファイルは，"/opt/HiEDMS/sample/EDMclassdef.csv"に提供されています。

＜この節の構成＞

4.15.1　文書クラス定義ファイルの概要

4.15.2　追加できるクラス，およびプロパティの種類

4.15.3　文書クラス定義ファイルの記述形式

4.15.4　文書クラス定義ファイルの注意事項

4.15.1　文書クラス定義ファイルの概要

文書クラス定義ファイルは，サブクラスおよびプロパティを追加するときに，追加するサブクラスやプロパティの定義を文書クラスとして定義したり，文書空間を構築するためのデータベース容量を見積もるときに使用する情報を定義したりするファイルです。作成したファイルは，文書空間定義コマンド（EDMCDefDocSpace）の-fオプションで指定します。

"/opt/HiEDMS/sample/"に格納されている「EDMclassdef.csv」を，システム管理者がMicrosoft(R) Excelなどで編集して，CSV形式のファイルを作成してください。

4.15.2　追加できるクラス，およびプロパティの種類

ここでは，文書クラス定義ファイルで指定できるクラスやプロパティについて説明します。

＜この項の構成＞

(1)　クラスの種類

(2)　プロパティを追加できるクラス

(3)　プロパティとして定義できるデータ型

(4)　全文検索機能を使用する場合のプロパティの追加

(5)　インデクスを追加できるプロパティ

(6)　プロパティを追加する場合の注意事項

(1)　クラスの種類

文書クラス定義ファイルで定義できるクラスの種類は，次のとおりです。

表4-25　文書クラス定義ファイルで定義できるクラスの種類

クラス分類 | クラスの種類
可変長配列 | 可変長配列
独立データ | 独立データ
コンテナ | バージョンなしコンテナ
バージョンなし構成管理コンテナ
バージョン付き構成管理コンテナ
文書 | バージョンなし文書
バージョン付き文書

(2)　プロパティを追加できるクラス

文書クラス定義ファイルでプロパティを追加できるクラスは，ユーザが追加したクラス，および次に示すDocumentBrokerが提供するクラスです。

DocumentBrokerが提供するクラスを文書クラス定義ファイルで指定する場合は，次のクラス名に置き換えて指定します。

表4-26　文書クラス定義ファイルで指定するクラス名

指定するクラス名 | システム提供のクラス名
aclClass_DCR | dmaClass_DirectContainmentRelationship
aclClass_RCR | dmaClass_ReferentialContainmentRelationship
aclClass_VCR | edmClass_VersionTraceableContainmentRelationship
aclClass_PACL | edmClass_PublicACL
aclClass_RS | edmClass_Relationship

(3)　プロパティとして定義できるデータ型

文書クラス定義ファイルで追加できるプロパティのデータ型は，次のとおりです。

ただし，全文検索インデクス用プロパティを追加するときには，データ型を指定する必要はありません。

表4-27　文書クラス定義ファイルで追加できるプロパティのデータ型

追加できるプロパティのデータ型
説明

String
String型

Integer32
Integer32型

Boolean
Boolean型

VArray
VariableArray型
配列の要素は，クラスの種類（ClassTypeエントリ）が可変長配列のクラス（Struct）です。

VariableArray型のプロパティを追加できるクラスは次のとおりです。

dmaClass_ConfigurationHistoryクラスのサブクラス

dmaClass_Containerクラスのサブクラス

dmaClass_DocVersionクラスのサブクラス

edmClass_ContainerVersionクラスのサブクラス

edmClass_IndependentPersistenceクラスのサブクラス

edmClass_VersionTracedDocVersionクラスのサブクラス

VariableArray型以外のプロパティを追加できるクラスについては，「(2)　プロパティを追加できるクラス」を参照してください。

(4)　全文検索機能を使用する場合のプロパティの追加

全文検索機能を使用する場合，全文検索機能を使用する文書クラスに，全文検索インデクス用プロパティを追加する必要があります。文書クラス定義ファイルで指定できる全文検索インデクス用プロパティを次に示します。全文検索インデクス用プロパティを文書クラス定義ファイルで指定する場合は，次のプロパティ名に置き換えて指定します。

表4-28　文書クラス定義ファイルで指定するプロパティ名

指定するプロパティ名 | システム提供のプロパティ名
aclProp_TI | edmProp_TextIndex
aclProp_SI | edmProp_StIndex
aclProp_CTI | edmProp_ConceptTextIndex
aclProp_CSI | edmProp_ConceptStIndex

全文検索機能を使用できるのは，クラスの種類にバージョンなし文書，またはバージョン付き文書を指定した場合です。また，一つのクラスに複数の全文検索インデクス用プロパティは指定できません。

全文検索インデクス用プロパティの詳細については，「2.3.4　全文検索機能付き文書クラスの追加」を参照してください。

全文検索機能を使用する場合に必要なそのほかのプロパティは，文書空間定義コマンド（EDMCDefDocSpace）で自動的に定義されるため，プロパティとして追加する必要はありません。全文検索インデクス用プロパティの指定によって，自動的に定義されるプロパティを次に示します。

表4-29　文書空間定義コマンド（EDMCDefDocSpace）で自動的に定義されるプロパティ

指定するプロパティ名
自動的に定義されるプロパティ

aclProp_TI
edmProp_Score，edmProp_RawScore，edmProp_DocLength，
edmProp_ContentIndexStatus

aclProp_SI

aclProp_CTI
edmProp_Score，edmProp_RawScore，edmProp_DocLength，
edmProp_ContentIndexStatus，edmProp_ScoreConcept

aclProp_CSI

(5)　インデクスを追加できるプロパティ

文書クラス定義ファイルでインデクスを追加できるプロパティは，ユーザが追加した全文検索インデクス用プロパティおよびVariableArray型以外のプロパティです。インデクスの指定の詳細については，「4.15.4　文書クラス定義ファイルの注意事項」を参照してください。

(6)　プロパティを追加する場合の注意事項

文書クラス定義ファイルでは，文字列型プロパティに対する全文検索機能を使用するための全文検索機能付き文字列型プロパティを追加できません。文字列型プロパティに対する全文検索機能を使用する場合は，定義情報ファイルを使用し，メタ情報の追加コマンド（EDMAddMeta）を実行して，全文検索機能付き文字列型プロパティを追加してください。

定義情報ファイルの詳細については，「4.7　定義情報ファイル」を参照してください。メタ情報の追加コマンド（EDMAddMeta）の詳細については，「7.3　コマンドの文法」の「EDMAddMeta（メタ情報の追加）」を参照してください。

4.15.3　文書クラス定義ファイルの記述形式

ここでは，文書クラス定義ファイルの記述形式について説明します。

＜この項の構成＞

(1)　記述規則

(2)　記述形式

(3)　エントリ

(4)　ClassTypeエントリのクラスごとに指定するエントリの一覧

(5)　DataTypeエントリのデータ型ごとに指定するエントリの一覧

(1)　記述規則

文書クラス定義ファイルの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

行の終わりは，<EOF>または行末文字です。

行末文字は，<CR>＋<LF>です。

文書クラス定義ファイルの各エントリ値の先頭には「"」（引用符）を使用できません。

行には，ヘッダ，ボディ，およびコメントがあります。値が設定されていない行（コンマだけが続く行）や，行の終わりだけの行は無視します。

(2)　記述形式

文書クラス定義ファイルは，ヘッダ，ボディ，およびコメントによって構成されます。ヘッダ，ボディ，およびコメントの詳細について説明します。

ヘッダ

ヘッダは，エントリの名称を列記する行です。エントリ名称は省略できません。それぞれのエントリの詳細は，「(3)　エントリ」を参照してください。

ObjTypeエントリは先頭（1列目）に指定してください。ObjTypeエントリ以外のエントリは，順序を変えることができます。

ヘッダは，ボディより前の行に1行だけ指定します。

ボディ

ボディは，クラス，プロパティおよびインデクスの定義を記述する行です。

ボディは，ヘッダのエントリに対応して指定します。例えば，1番目（1列目）にObjTypeエントリの値を指定し，2番目（2列目）にAclibClassNameエントリの値を指定します。

一つのクラスを定義する場合，クラス，プロパティ，インデクスの順で定義（行を記述）します。

コメント

コメントは，注釈を記述できる行です。次の場合，コメントとなります。

#（シャープ）で始まる行

；（セミコロン）で始まる行

(3)　エントリ

各エントリの詳細について説明します。

ObjTypeエントリ

オブジェクトタイプに次のどれかを指定します。

Class
クラスを定義するとき，ObjTypeエントリにClassを指定します。
バージョンなしクラスの定義は，1行で指定します。
バージョン付きクラスの定義は，TargetTypeエントリの値にCHとVRをそれぞれの行に指定します。一つのバージョンだけで使用するクラスで，DmaClassNameエントリで指定するデータベースの表識別子となるサブクラス名およびGUIDエントリで指定するGUIDを省略する場合は，VRを指定する行を省略できます。

Prop
プロパティを定義するとき，ObjTypeエントリにPropを指定します。
プロパティの定義は，プロパティを指定するクラスの定義よりあとの行に指定します。
プロパティの定義は，1行で指定します。

Index
インデクスを定義するとき，ObjTypeエントリにIndexを指定します。
インデクスの定義は，インデクスがキーとするプロパティの定義よりあとの行に指定します。
インデクスが一つのプロパティをキーとする設定は，1行で指定します。
インデクスが複数のプロパティをキーとする設定は，プロパティの数分の行を指定します。インデクスが二つのプロパティをキーとするときの例を，次に示します。

#インデクスが二つのプロパティをキーとするときの例
Index,usrClass_DesignDoc,,,,uP_DocName,,ix_DesignDoc,,,,,,,,,
  ,,,,,,,,,,,,,,,TRUE,
Index,usrClass_DesignDoc,,,,uP_DocWriter,,ix_DesignDoc,,,,,,,,,
  ,,,,,,,,,,,,,,,TRUE,

ObjTypeエントリがIndexの行を2行指定します。

それぞれのIndexNameエントリに同じ値※を指定します。例では，ix_DesignDocを指定しています。

優先順位の高い順にプロパティを指定します。例では，第1キーuP_DocName，第2キーuP_DocWriterと指定しています。

注※

複数のプロパティをキーとするインデクスのインデクス名を指定するときは，それぞれのIndexNameエントリに同じインデクス名を指定します。

一方，複数のプロパティをキーとするインデクスのインデクス名を自動で作成したいときは，それぞれのIndexNameエントリに同じ記号を指定します。記号は，「001AUTO」のように数字（10けた以内）と文字列AUTOをつなげた形式で指定します。自動で作成されるインデクス名の詳細については，IndexNameエントリを参照してください。

ClassTypeエントリ

クラスを定義する場合，クラスの種類を指定します。

Struct
可変長配列のクラスです。

IndP
独立データのクラスです。

RCntr
バージョンなしコンテナのクラスです。

VTCntr
バージョンなし構成管理コンテナのクラスです。

CRCntr
バージョン付き構成管理コンテナのクラスです。

Doc
バージョンなし文書のクラスです。

VDoc
バージョン付き文書のクラスです。

AclibClassNameエントリ

文書クラス定義ファイル中でのクラスを識別するためのクラス名（ACLibクラス名）を指定します。

ACLibクラス名は，重複しないようにしてください。

「dmaClass」，「edmClass」，「aclClass」で始まる文字列は，システムの予約文字列であるため使用できません。

指定できる文字列は，英数字，「_」（下線文字），「－」（ハイフン）です。

先頭1バイトは，英小文字または英大文字で指定します。

クラスの定義でDmaClassNameエントリの指定を省略する場合，自動で作成するサブクラス名（DmaClassName）がDocumentBrokerのサブクラス名に対応する表識別子の規則を満たすように，ACLibクラス名を指定してください。サブクラス名に対応する表識別子の規則については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。
ACLibクラス名をusrClassとすると，次のとおりにデータベースの表識別子となるサブクラス名を作成します。
・usrClass
　バージョンなしクラスの場合
・usrClass_CH
　バージョン付きクラスの場合の全バージョン共通で使用するデータベースの表識別子となるサブクラス名
・usrClass_VR
　バージョン付きクラスの場合の一つのバージョンで使用するデータベースの表識別子となるサブクラス名

指定できる長さは，1～28バイトです。ただし，クラスの定義でDmaClassNameエントリの指定を省略する場合は，データベースの表識別子となるサブクラス名の作成規則に従って，文書空間定義コマンド（EDMCDefDocSpace）でAclibClassNameエントリの指定からサブクラス名（DmaClassName）を決定するので，バージョン付きクラスの場合，指定できる長さは1～25バイトとなります。指定する名称は，DocumentBrokerのサブクラス名に対応する表識別子の規則に従ってください。サブクラス名に対応する表識別子の規則については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。

DmaClassNameエントリ

クラスを定義する場合，データベースの表識別子となるサブクラス名を指定します。指定する名称は，DocumentBrokerのサブクラス名に対応する表識別子の規則に従ってください。サブクラス名に対応する表識別子の規則については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。

TargetTypeエントリ

バージョン付きクラスを定義する場合，またはバージョン付きクラスにプロパティやインデクスを定義する場合，次のどちらかで対象のデータベースの表識別子となるサブクラス名を指定します。

CH
全バージョンで共通に使用するクラス，またはプロパティやインデクスです。

VR
一つのバージョンだけで使用するクラス，またはプロパティやインデクスです。

MaxVersionCountエントリ

このエントリにはエントリの値は指定しないで，ヘッダでエントリ列だけ指定してください。

AvVersionCountエントリ

バージョン付きクラスを定義する場合，文書のバージョンの平均数を指定します。値は1～2,147,483,647の範囲で指定してください。

InstanceCountエントリ

コンテナのクラス以外のクラスを定義する場合，オブジェクト数を指定します。値は1～2,147,483,647の範囲で指定してください。

RootCntrCountエントリ，AvCntrCountPerCntrエントリ，AvCntrTreeHeightエントリ，AvRefCountPerCntrエントリ

コンテナのクラスを定義する場合，次の値を設定します。値は1～2,147,483,647の範囲で指定してください。

RootCntrCountエントリ
コンテナクラスのルートコンテナ数を指定します。

AvCntrCountPerCntrエントリ
コンテナごとに格納するコンテナの平均数を指定します。

AvCntrTreeHeightエントリ
ルートとなるコンテナからの階層の平均数を指定します。

AvRefCountPerCntrエントリ
コンテナごとに参照型で格納するコンテナと文書の平均数を指定します。

RootCntrCountエントリの指定を省略した場合，「1」が仮定されます。ほかのエントリは省略できません。

RootCntrCountエントリ，AvCntrCountPerCntrエントリ，AvCntrTreeHeightエントリの指定例を次に示します。次の図では，RootCntrCountエントリの指定は「1」，AvCntrCountPerCntrエントリの指定は「3」，AvCntrTreeHeightエントリの指定は「2」となります。

図4-6　RootCntrCountエントリ，AvCntrCountPerCntrエントリ，AvCntrTreeHeightエントリの指定例

複数のコンテナクラスのオブジェクトで一つの階層構造とする場合は，ユーザでコンテナクラスごとのオブジェクト数を算出し，コンテナクラスごとにAvCntrCountPerCntrエントリの値として設定します。このとき，RootCntrCountエントリおよびAvCntrTreeHeightエントリの値には，最小値（値：1）を設定します。

AvRenditionCountエントリ

バージョンなし文書またはバージョン付き文書のクラスを定義する場合，このエントリにレンディションの平均数を指定します。1～10で指定してください。

文書をマルチレンディション文書として管理する場合は，2～10で指定してください。ContentTypeエントリに「Multi」を指定した場合，マルチレンディション機能は使用できません。そのため，このエントリには「1」を指定してください。1以外を指定した場合は，指定したレンディション数を使用する場合の見積もり（見積もり基礎情報ファイルの出力）結果となるため注意してください。

MaxContentSizeエントリ

このエントリにはエントリの値は指定しないで，ヘッダでエントリ列だけ指定してください。

AvContentSizeエントリ

バージョンなし文書またはバージョン付き文書のクラスを定義する場合，コンテントの平均サイズ（バイト単位）を指定します。値は0～2,147,483,647（バイト）の範囲で指定します。

ContentTypeエントリの指定によって，このエントリの値が反映される情報が異なります。ContentTypeエントリの指定ごとの，見積もり基礎情報ファイルの出力情報の種別（Kindエントリ）を次に示します。

ContentTypeエントリが「Single」の場合，指定した値が見積もり基礎情報ファイルの「BLOb」の種別の値に反映されます。

ContentTypeエントリが「Multi」の場合，指定した値が見積もり基礎情報ファイルの「BLOb」の種別の値に反映されます。

ContentTypeエントリが「Reference」の場合，指定した値が見積もり基礎情報ファイルの「Disk」の種別の値に反映されます。

ContentTypeエントリが「FileLink」の場合，指定した値が見積もり基礎情報ファイルの「Disk」の種別の値に反映されます。

SuperClassTypeエントリ

バージョンなし文書またはバージョン付き文書のクラスを定義する場合，定義するクラスのスーパークラスを次のどちらかから指定します。

DV
dmaClass_DocVersionクラスです。

VTDV
edmClass_VersionTracedDocVersionクラスです。

指定を省略した場合，「DV」が仮定されます。

PctOfRefDocエントリ，AvRefDocCountエントリ

バージョンなし文書またはバージョン付き文書のクラスを定義する場合，PctOfRefDocエントリに文書間リレーションのリレーション元文書となる文書の割合を指定します。0～100（％）で指定してください。指定を省略した場合，「0」が仮定されます。

AvRefDocCountエントリにリレーション元文書ごとのリレーション先文書の平均数を指定します。値は1～2,147,483,647の範囲で指定してください。指定を省略した場合，「1」が仮定されます。

ComponentClassNameエントリ，MaxComponentCountエントリ，AvComponentCountエントリ

これらのエントリにはエントリの値は指定しないで，ヘッダでエントリ列だけ指定してください。

ContentTypeエントリ

ContentTypeエントリに，バージョンなし文書またはバージョン付き文書のクラスを定義する場合，使用するレンディションの文書の種別を指定します。このエントリは，表のレコード数の見積もりに使用します。

Single
シングルファイル文書を使用するクラスです。

Multi
マルチファイル文書を使用するクラスです。

Reference
リファレンスファイル文書を使用するクラスです。

FileLink
FileLink文書を使用するクラスです。

指定を省略した場合，「Single」が仮定されます。

定義したクラス中で，種別の異なるコンテントを混在して使用する場合，見積もり基礎情報として出力される表のレコード数は，このエントリで指定された種別に対応する表のレコード数として出力されます。そのため，文書の種別ごとのオブジェクト数を計算して，計算したオブジェクト数を文書の種別に対応する表のレコード数に割り振ってください。レコード数の算出式については，「表2-11　ユーザ用RDエリア分のデータベースリソースの所要量」を参照してください。

また，文書のコンテントサイズは文書の種別によって，見積もり基礎情報ファイルの平均文書コンテントサイズの出力情報の種別（Kindエントリ）が異なります。指定した文書の種別によって，該当する出力情報の値として換算してください。文書の種別が異なる文書を混在して使用できる文書の種別は，「Single」，「Reference」および「FileLink」の場合です。

文書の種別と表との対応を次に示します。

Single：dmaClass_ContentTransfer
レコード数の算出式のクラス：ContentTransferクラス
平均文書コンテントサイズが該当する出力情報の種別：BLOb

Reference：edmClass_ContentReference
レコード数の算出式のクラス：ContentReferenceクラス
平均文書コンテントサイズが該当する出力情報の種別：Disk

FileLink：edmClass_ContentFileLink
レコード数の算出式のクラス：ContentFileLinkクラス
平均文書コンテントサイズが該当する出力情報の種別：Disk

GUIDエントリ

クラスを定義する場合，データベースの表識別子となるサブクラス名のGUIDを指定します。

プロパティを定義する場合，プロパティのGUIDを指定します。

指定を省略した場合，自動でGUIDを割り当てます。

定義済みのプロパティを再定義する場合，このエントリは省略します。

「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」（8-4-4-4-12）の形式で指定してください。xは0～9，およびa～f（小文字）で表される16進数の値です。A～F（大文字）で指定することもできます。このとき大文字と小文字を区別しません。

PropertyNameエントリ

プロパティを定義する場合，定義するプロパティ名を指定します。

インデクスを定義する場合，インデクスのキーにするプロパティ名を指定します。

「aclProp」で始まる文字列は，システムの予約文字列であるためプロパティ名に使用できません。指定する名称は，DocumentBrokerのプロパティ名に対応する列名の規則に従ってください。プロパティ名に対応する列名の規則については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。

DataTypeエントリ

プロパティのデータ型を指定します。

String
プロパティのデータ型は，String型です。

Integer32
プロパティのデータ型は，Integer32型です。

Boolean
プロパティのデータ型は，Boolean型です。

VArray
プロパティのデータ型は，VariableArray型（配列の要素は可変長配列のクラス）です。

全文検索インデクス用プロパティの場合は，指定する必要はありません。

DefaultValueエントリ

プロパティのデフォルト値を指定します。指定する値には，定義情報ファイルの記述形式の区切り文字は指定できません。定義情報ファイルの記述形式については，「4.7　定義情報ファイル」を参照してください。

プロパティで同一のデフォルト値を設定する場合は，このエントリの値の指定を省略するか，すでに定義されているプロパティのデフォルト値と同じ値を設定してください。

クラスごとにプロパティのデフォルト値を設定する場合は，文書空間情報ファイルのSpPropDefaultValueエントリに「ON」を設定してください。このエントリには，クラスごとのプロパティのデフォルト値を設定してください。

指定を省略した場合，すでに定義されている値がデフォルト値として使用されます。

DataTypeエントリがString型のとき，255バイト以内の任意の文字列で指定します。デフォルト値を空文字にするには，値を指定しないでください。また，デフォルト値をNULL値とするには，NULLを指定してください。NULLという文字列はデフォルト値にできません。

DataTypeエントリがInteger32型のとき，-2,147,483,648～2,147,483,647の範囲で指定します。

DataTypeエントリがBoolean型のとき，TRUE，FALSE，1，0のどれかを指定します。

DataTypeエントリがVariableArray型のとき，デフォルト値を指定できません。VariableArray型のプロパティのデフォルト値は，可変長配列の要素数が0の状態です。

DataTypeエントリがVariableArray型以外のとき，デフォルト値の指定を省略すると，DataTypeエントリの指定によって次のとおりになります。
・String型のとき：空文字
・Integer32型のとき：0
・Boolean型のとき：FALSE

AvLengthエントリ，MaxLengthエントリ

String型のプロパティを定義するとき，AvLengthエントリに文字列の平均長（バイト単位）を指定し，MaxLengthエントリに文字列の最大長（バイト単位）を指定します。値は1～32,000の範囲で指定してください。

StructClassNameエントリ，MaxElementCountエントリ，AvElementCountエントリ

VariableArray型のプロパティを定義するとき，StructClassNameエントリにClassTypeエントリがStructのACLibクラス名を指定し，MaxElementCountエントリに可変長配列の最大要素数を指定し，AvElementCountエントリに可変長配列の平均要素数を指定します。

VariableArrayOfObjectオブジェクトの要素をStructClassNameエントリに指定したクラスに格納する場合，最大要素数は-1，平均要素数は，1～2,147,483,647の範囲で指定してください。

VariableArrayOfObjectオブジェクトの要素をこのプロパティに格納する場合，最大要素数は2～30,000，平均要素数は1～30,000の範囲で指定してください。

StructClassNameエントリに指定するACLibクラス名のクラスは，ACLibクラス名を使用するプロパティ定義より前に定義してください。

IndexNameエントリ

インデクスを定義する場合，インデクス名を指定します。

指定を省略した場合，自動でインデクス名を作成します。自動で作成されるインデクス名はクラス名をプリフィクスとし，1から始まる数値を32進数に変換した値をサフィックスとした文書空間で一意となる値となります。
定義クラス名が「usrClass」の場合，最初のインデクスに自動付与するインデクス名は「usrClass01」となります。

指定する名称は，DocumentBrokerのインデクス名をデータベース定義の名称に使用する場合の規則に従ってください。インデクス名をデータベース定義の名称に使用する場合の規則については，「4.9.2　インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。

OrderTypeエントリ

インデクスを定義する場合，インデクスのキー値の順序に次のどちらかを指定します。

ASC：昇順

DESC：降順

指定を省略した場合，「ASC」が仮定されます。

IsUniqueエントリ

インデクスを定義する場合，次のどちらかを指定します。なお，複数のプロパティをキーとするときには，インデクスの1行目の定義にだけ記述できます。

TRUEまたは1
キー値を一意に制約します。

FALSEまたは0
キー値の重複を許します。

指定を省略した場合，「FALSE」が仮定されます。

IsExceptエントリ

インデクスを定義する場合，次のどちらかを指定します。なお，複数のプロパティをキーとするときには，インデクスの1行目の定義にだけ記述できます。

TRUEまたは1
NULL値だけのキーをインデクスから除外します。

FALSEまたは0
NULL値だけのキーもインデクスに追加します。

指定を省略した場合，「FALSE」が仮定されます。

(4)　ClassTypeエントリのクラスごとに指定するエントリの一覧

クラスを定義する場合のClassTypeエントリのクラスごとに指定するエントリの一覧を次の表に示します。

表4-30　ClassTypeエントリのクラスごとに指定するエントリの一覧

エントリ名
ClassTypeエントリのクラス　（（）内は，TargetTypeエントリの値）

Struct
IndP
RCntr
VTCntr
CRCntr
Doc
VDoc

(CH)※1
(VR)※1
(CH)※1
(VR)※1

AclibClassName
◎
◎
◎
◎
◎※2
◎※2
◎
◎※2
◎※2

DmaClassName
○
○
○
○
○
○
○
○
○

MaxVersionCount
－
－
－
－
－
－
－
－
－

AvVersionCount
－
－
－
－
◎
－
－
◎
－

InstanceCount
－
◎
－
－
－
－
◎
◎
－

RootCntrCount
－
－
○
○
○
－
－
－
－

AvCntrCountPerCntr
－
－
◎
◎
◎
－
－
－
－

AvCntrTreeHeight
－
－
◎
◎
◎
－
－
－
－

AvRefCountPerCntr
－
－
◎
◎
◎
－
－
－
－

AvRenditionCount
－
－
－
－
－
－
◎
◎
－

MaxContentSize
－
－
－
－
－
－
－
－
－

AvContentSize
－
－
－
－
－
－
◎
◎
－

SuperClassType
－
－
－
－
－
－
○
○
－

PctOfRefDoc
－
－
－
－
－
－
○
○
－

AvRefDocCount
－
－
－
－
－
－
○
○
－

ComponentClassName
－
－
－
－
－
－
－
－
－

MaxComponetCount
－
－
－
－
－
－
－
－
－

AvComponentCount
－
－
－
－
－
－
－
－
－

ContentType
－
－
－
－
－
－
○
○
－

GUID
○
○
○
○
○
○
○
○
○

（凡例）

◎：必ず指定してください。

○：指定を省略できます。

－：指定できません。

注※1

バージョン付きクラスを定義する場合，2行で記述します。

注※2

バージョン付きクラスを定義する場合，2行目のACLibクラス名は1行目と必ず一致させてください。

(5)　DataTypeエントリのデータ型ごとに指定するエントリの一覧

プロパティを定義する場合のDataTypeエントリのデータ型ごとに指定するエントリの一覧を次の表に示します。

表4-31　DataTypeエントリのデータ型ごとに指定するエントリの一覧

エントリ名
DataTypeエントリのデータ型

String
Integer32
Boolean
VArray
全文検索機能のプロパティ

TargetType
◎※1
◎※1
◎※1
◎※1
◎※2

GUID
○
○
○
○
－

PropertyName
◎
◎
◎
◎
◎

DefaultValue
○
○
○
－
－

AvLength
◎
－
－
－
－

MaxLength
◎
－
－
－
－

StructClassName
－
－
－
◎
－

MaxElementCount
－
－
－
◎
－

AvElementCount
－
－
－
◎
－

（凡例）

◎：必ず指定してください。

○：指定を省略できます。

－：指定できません。

注※1

バージョン付きクラスのとき必ず指定してください。バージョンなしクラスのときは指定できません。

注※2

バージョン付きクラスのとき，「VR」を必ず指定してください。バージョンなしクラスのときは省略できます。

4.15.4　文書クラス定義ファイルの注意事項

文書クラス定義ファイルを記述する場合の注意事項を示します。

各エントリ指定値の前後の空白は，トリミング（空白を取り除く）されます。

定義済みのプロパティを別のクラスにも定義するときは，次のエントリに定義済みのプロパティと同じ値を指定してください。

PropertyNameエントリ

DataTypeエントリ

MaxLengthエントリ（String型のとき）

StructClassNameエントリ（VariableArray型のとき）

MaxElementCountエントリ（VariableArray型のとき）

GUIDエントリおよびDefaultValueエントリには，二つ目の定義以降，省略するか同じ値を指定してください。

一つのクラスに追加できるインデクス数は次のとおりです。

表4-32　文書クラス定義ファイルでユーザが追加したクラスに定義できるインデクス数

クラスの種類 | TargetTypeエントリの値 | 追加できるインデクス数（個）
独立データ | － | 1～251
バージョンなしコンテナ | － | 1～250
バージョンなし構成管理コンテナ | － | 1～250
バージョン付き構成管理コンテナ | CH | 1～250
VR | 1～250
バージョンなし文書 | － | 1～250
バージョン付き文書 | CH | 1～250
VR | 1～250

（凡例）

－：該当しない。

表4-33　文書クラス定義ファイルでDocumentBrokerが提供するクラスを指定する場合に定義できるインデクス数

指定するクラス名 | 追加できるインデクス数（個）
aclClass_DCR | 1～251
aclClass_RCR | 1～251
aclClass_VCR | 1～250
aclClass_PACL | 1～252
aclClass_RS | 1～251

複数のプロパティをキーとするインデクスでのプロパティは，1～16（個）で指定してください。

文書空間定義コマンド（EDMCDefDocSpace）で出力する定義情報ファイル中のプロパティ定義の値を次に示します。

dmaProp_IsSelectableプロパティ：1

dmaProp_IsSearchableプロパティ：1

dmaProp_IsOrderableプロパティ：1

そのほかのプロパティについては，デフォルト値となります。そのほかのプロパティのデフォルト値については，「4.7.4(2)　定義情報ファイルの記述例」を参照してください。デフォルト値を変更する場合は，文書空間定義コマンド（EDMCDefDocSpace）で出力する定義情報ファイルをカスタマイズして使用してください。

4.16　文書空間情報ファイル

この節では，文書空間情報ファイルについて説明します。

文書空間情報ファイルのサンプルファイルは，"/opt/HiEDMS/sample/EDMdocinfo.txt"に提供されています。

＜この節の構成＞

4.16.1　文書空間情報ファイルの概要

4.16.2　文書空間情報ファイルの記述形式

4.16.3　文書空間情報ファイルの記述例

4.16.1　文書空間情報ファイルの概要

文書空間情報ファイルは，DocumentBrokerの文書空間の定義および構築で使用する情報を定義するファイルです。作成したファイルは，文書空間定義コマンド（EDMCDefDocSpace）の-sオプションで指定します。

"/opt/HiEDMS/sample"に格納されている「EDMdocinfo.txt」を，システム管理者がテキストエディタなどで編集してください。

以降，文書空間情報ファイルで指定するエントリを示します。各エントリの詳細については，「4.16.2　文書空間情報ファイルの記述形式」を参照してください。

＜この項の構成＞

(1)　[System]セクション

(2)　[RdAreaName]セクション

(1)　[System]セクション

システム全体のパラメタを定義します。[System]セクションを構成する各エントリを次の表に示します。

表4-34　[System]セクションのエントリ一覧

種類 | 設定項目 | エントリ名 | 指定内容 | 省略の可否
アクセス制御機能 | アクセス制御機能の使用の有無 | AccessControl | アクセス制御機能の使用の有無 | ×
パブリックACL | PublicACLCount | パブリックACLの作成オブジェクト数 | ○
AvBindPublicACLCount | パブリックACLの平均バインド数 | ○
ローカルACL | AvLocalACECount | ローカルACLの平均ACE数 | ○
セキュリティACL | AvSecurityACECount | セキュリティACLの平均ACE数 | ○
文書のコンテント | ログ取得モード | LogModeType | 文書のコンテントのログ取得モード | ○
リファレンスファイル管理機能 | リファレンスファイル管理機能の使用の有無 | ReferenceFile | リファレンスファイル管理機能の使用の有無 | ○
FileLink連携機能 | FileLink連携機能の使用の有無 | FileLink | FileLink連携機能の使用の有無 | ○
マルチファイル管理機能 | ファイルの最大数 | MultiFileMaxCount | マルチファイル管理機能を使用する場合の1文書で管理できるファイルの最大数 | ○
平均ファイル数 | AvMultiFileCount | マルチファイル管理機能を使用する場合の1文書の平均ファイル数 | △※
文書間リレーション管理機能 | インデクス定義 | MultiRelationIndex | 複数列インデクスの指定 | ○
ユーザ識別子の最大長の拡張 | ユーザ識別子の最大長 | UserIDMaxLength | ユーザ識別子の最大長 | ○
グループ識別子の最大長の拡張 | グループ識別子の最大長 | GroupIDMaxLength | グループ識別子の最大長 | ○
プロパティのデフォルト値の設定 | プロパティのデフォルト値の設定方法 | SpPropDefaultValue | プロパティのデフォルト値の設定方法 | ○
文書空間で使用する文字コード種別 | 文書空間で使用する文字コード種別 | DocSpaceCharacterSet | 文書空間で使用する文字コード種別 | ○

（凡例）

○：指定を省略できます。

△：使用環境の条件によって，指定の省略の可否が変わります。

×：指定を省略できません。

注※

MultiFileMaxCountエントリを指定した場合，省略できません。

(2)　[RdAreaName]セクション

RDエリア名を定義します。[RdAreaName]セクションを構成する各エントリを次の表に示します。

表4-35　[RdAreaName]セクションのエントリ一覧

種類 | エントリ名 | 指定内容 | 省略の可否
メタ情報格納用のRDエリア | MetaTblName | メタ情報の表を格納するRDエリアのRDエリア名 | ○
MetaIdxName | メタ情報の表に定義されるインデクスを格納するRDエリアのRDエリア名 | ○
システム用RDエリア | SysTblName | システムが定義する表を格納するRDエリアのRDエリア名 | ○
SysIdxName | システムが定義する表に定義されるインデクスを格納するRDエリアのRDエリア名 | ○
ユーザ用RDエリア | UsrTblName | ユーザが定義する表を格納するRDエリアのRDエリア名 | ○
UsrIdxName | ユーザが定義する表に定義されるインデクスを格納するRDエリアのRDエリア名 | ○
LOB列格納用RDエリア | DocTblName | 文書用LOBエリアを格納するRDエリアのRDエリア名 | ○
MultiDocTblName | マルチファイル文書用LOBエリアを格納するRDエリアのRDエリア名 | ○
全文検索用RDエリア | SgmlTextName | 全文検索用の文書内容を格納するRDエリアのRDエリア名 | ○
NgramIdxName | 全文検索用のインデクスを格納するRDエリアのRDエリア名 | ○

（凡例）

○：指定を省略できます。

4.16.2　文書空間情報ファイルの記述形式

ここでは，文書空間情報ファイルの記述形式について説明します。

＜この項の構成＞

(1)　記述規則

(2)　記述形式

(3)　[System]セクション

(4)　[RdAreaName]セクション

(5)　[RdAreaName]セクションで指定するRDエリアのエントリ指定と，割り当てられる領域の関係

(1)　記述規則

文書空間情報ファイルの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

空白行は無視します。

「#」（シャープ）および「；」（セミコロン）で始まる行はコメントとして扱います。

各行は行の終端を除いて，2,046バイト以内で記述します。

行の終わりは，<EOF>または行末文字です。

行末文字は，<CR>＋<LF>です。

ファイルの終端は<EOF>です。

(2)　記述形式

文書空間情報ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されています。

[System]セクション

[RdAreaName]セクション

セクションとエントリの記述規則を次に示します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクションを指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=値」の形式で指定します。

セクション名およびエントリ名は127バイト以内，値は1,023バイト以内で指定します。

指定できないセクションを指定した場合，指定したセクションはすべて無視されます。

セクションを重複して記述している場合，エラーになります。

セクション内でエントリを重複して記述している場合，エラーになります。

指定できないエントリを指定した場合，エラーになります。

エントリの指定を無視する場合にも，値をチェックします。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

以降，文書空間情報ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

(3)　[System]セクション

システム全体のパラメタを定義します。[System]セクションを構成する各エントリは次のとおりです。

AccessControlエントリ

アクセス制御機能の使用の有無を指定します。

ON
アクセス制御機能を使用します。この値を指定した場合は，セキュリティ運用者を設定してください。セキュリティ運用者は，セキュリティ定義ファイルおよびユーザ権限定義ファイルを作成してください。

OFF
アクセス制御機能を使用しません。

なお，このエントリは省略できません。

PublicACLCountエントリ

パブリックACLを作成するオブジェクト数を指定します。0～2,147,483,647の範囲で指定します。

AccessControlエントリにONを指定した場合，有効になります。OFFを指定した場合，指定を無視します。

指定を省略した場合，「0」が仮定されます。

AvBindPublicACLCountエントリ

パブリックACLの平均バインド数を指定します。0～10の範囲で指定します。

AccessControlエントリにONを指定した場合，有効になります。OFFを指定した場合，指定を無視します。

指定を省略した場合，「0」が仮定されます。

AvLocalACECountエントリ

ローカルACLの平均ACE数を指定します。0～64の範囲で指定します。

AccessControlエントリにONを指定した場合，有効になります。OFFを指定した場合，指定を無視します。

指定を省略した場合，「0」が仮定されます。

AvSecurityACECountエントリ

セキュリティACLの平均ACE数を指定します。0～64の範囲で指定します。

AccessControlエントリにONを指定した場合，有効になります。OFFを指定した場合，指定を無視します。

指定を省略した場合，「0」が仮定されます。

LogModeTypeエントリ

文書のコンテントのログ取得モードを指定します。文書クラス定義ファイルのクラス定義のContentTypeエントリにSingleまたはMultiFileを指定する場合だけ有効になります。

ALL
ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。ログ取得モードで運用すると，ロールバックおよびロールフォワードに必要なデータベースの更新ログを取得します。

PARTIAL
更新前ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。更新前ログ取得モードで運用すると，ロールバックに必要なデータベースの更新ログを取得します。

NONE
ログレスモードでユーザLOB用RDエリアを運用するときに指定します。ログレスモードで運用すると，データベースの更新ログを取得しません。

指定を省略した場合，「ALL」が仮定されます。

ReferenceFileエントリ

リファレンスファイル管理機能の使用の有無を指定します。文書クラス定義ファイルのクラス定義のContentTypeエントリにReferenceを指定する場合，このエントリにはONを設定します。

ON
リファレンスファイル管理機能を使用します。

OFF
リファレンスファイル管理機能を使用しません。

指定を省略した場合，「OFF」が仮定されます。

FileLinkエントリ

FileLink連携機能の使用の有無を指定します。文書クラス定義ファイルのクラス定義のContentTypeエントリにFileLinkを指定する場合，このエントリにはONを設定します。

ON
FileLink連携機能を使用します。

OFF
FileLink連携機能を使用しません。

指定を省略した場合，「OFF」が仮定されます。

MultiFileMaxCountエントリ

マルチファイル管理機能を使用する場合に，一つの文書で管理できるファイルの最大数を指定します。2～4,096の範囲で指定します。

文書クラス定義ファイルのクラス定義のContentTypeエントリにMultiを指定する場合，このエントリに値を設定します。

指定を省略した場合，マルチファイル管理機能は使用できません。

AvMultiFileCountエントリ

マルチファイル管理機能を使用する場合に，一つの文書の平均ファイル数を指定します。文書クラス定義情報ファイルのクラス定義でバージョンなし文書またはバージョン付き文書のクラスを定義して，文書の種別にマルチファイル文書を使用するクラスを指定して，文書空間定義コマンド（EDMCDefDocSpace）を実行した場合の見積もり基礎情報ファイルの行の数は，このエントリの指定によって決まります。

このエントリは，MultiFileMaxCountエントリを指定していない場合，無効となります。また，このエントリは，MultiFileMaxCountエントリを指定した場合，必須となります。MultiFileMaxCountエントリの指定値以内で指定してください。

なお，このエントリは省略できません。

MultiRelationIndexエントリ

複数列インデクスを指定して，複数の同じ文書オブジェクトを，同時に一つの文書オブジェクトに対して関連づけるかどうかを指定します。

ON
複数の異なる文書オブジェクトを，同時に一つの文書オブジェクトに対して関連づける場合にも指定できます。次に示すクラスのプロパティに対して複数列インデクスを定義します。
edmClass_Relationshipクラス
　dmaProp_Headプロパティ

OFF
複数列インデクスを指定しません。この場合，単一列インデクスが定義されます。

指定を省略した場合，「OFF」が仮定されます。

UserIDMaxLengthエントリ

ユーザ識別子の最大長を255バイト以上に拡張する場合に指定します。ユーザ識別子の最大長をバイト単位で指定します。255～512（バイト）の範囲で指定します。

指定を省略した場合，ユーザ識別子の最大長は254バイトになります。

GroupIDMaxLengthエントリ

グループ識別子の最大長を255バイト以上に拡張する場合に指定します。グループ識別子の最大長をバイト単位で指定します。255～512（バイト）の範囲で指定します。

指定を省略した場合，グループ識別子の最大長は254バイトになります。

SpPropDefaultValueエントリ

プロパティのデフォルト値をクラスごとに設定する場合に指定します。

複数のクラスに対して同じ名前のプロパティを追加する場合に，クラスごとにプロパティのデフォルト値を設定できます。

ON
クラスごとにプロパティのデフォルト値を設定します。

OFF
プロパティで同一のデフォルト値を設定します。

プロパティのデフォルト値は，文書クラス定義ファイルのDefaultValueエントリに指定します。文書クラス定義ファイルについては，「4.16　文書クラス定義ファイル」を参照してください。

指定を省略した場合，「OFF」が仮定されます。

DocSpaceCharacterSetエントリ

文書空間で使用する文字コード種別を指定します。

SJIS
文書空間で使用する文字コード種別をShift-JISとします。

UTF-8
文書空間で使用する文字コード種別をUTF-8とします。

指定を省略した場合，「SJIS」が仮定されます。

(4)　[RdAreaName]セクション

RDエリア名を定義します。[RdAreaName]セクションを構成する各エントリは次のとおりです。

MetaTblNameエントリ

メタ情報の表を格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てる表の数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：METATBL0000001）が順次割り当てられます※。

指定を省略した場合，「METATBL」が仮定されます。

MetaIdxNameエントリ

メタ情報の表に定義されるインデクスを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てるインデクス数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：METAIDX0000001）が順次割り当てられます※。

指定を省略した場合，「METAIDX」が仮定されます。

SysTblNameエントリ

システムが定義する表を格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てる表の数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：SYSTBL0000001）が順次割り当てられます※。

指定を省略した場合，「SYSTBL」が仮定されます。

SysIdxNameエントリ

システムが定義する表に定義されるインデクスを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てるインデクス数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：SYSIDX0000001）が順次割り当てられます※。

指定を省略した場合，「SYSIDX」が仮定されます。

UsrTblNameエントリ

ユーザが定義する表を格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てる表の数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：USRTBL0000001）が順次割り当てられます※。

指定を省略した場合，「USRTBL」が仮定されます。

UsrIdxNameエントリ

ユーザが定義する表に定義されるインデクスを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

RDエリアに割り当てるインデクス数が500（HiRDBでの最大値）を超えると，指定値の後ろに7けたの追番が付いた別名称（例：USRIDX0000001）が順次割り当てられます※。

指定を省略した場合，「USRIDX」が仮定されます。

DocTblNameエントリ

文書用LOBエリアを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

指定を省略した場合，「DOC」が仮定されます。

MultiDocTblNameエントリ

マルチファイル文書用LOBエリアを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

指定を省略した場合，「MULTIDOC」が仮定されます。

SgmlTextNameエントリ

全文検索用の文書内容を格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

全文検索用の表が複数指定された場合は，指定値の後ろに7けたの追番が付いた別名称（例：SGMLTXT0000001）が順次割り当てられます※。

指定を省略した場合，「SGMLTXT」が仮定されます。

NgramIdxNameエントリ

全文検索用のインデクスを格納するRDエリアのRDエリア名を指定します。1～23（バイト）の文字列を指定します。

全文検索用の表が複数指定された場合は，指定値の後ろに7けたの追番が付いた別名称（例：NGRAMIDX0000001）が順次割り当てられます※。

指定を省略した場合，「NGRAMIDX」が仮定されます。

注

RDエリア名には，すでに使用されているRDエリア名を指定しないでください。すでに使用されているRDエリア名を指定した場合のエラーチェックは行いません。そのため，RDエリアに割り当てる表およびインデクス数のチェックにRDエリアで使用されている表およびインデクス数は，RDエリアで使用されていないものとして，指定された表およびインデクスによって1からカウントされます。

次のRDエリア名には，ほかのエントリと重複しないRDエリア名を指定してください。

LOBエリア格納用（DocTblNameエントリ，MultiDocTblNameエントリ）

全文検索用文書の内容格納用（SgmlTextNameエントリ）

全文検索インデクス格納用（NgramIdxNameエントリ）

自動的に付与される名称（7けたの追番が付与された別名称）と一致する名称は，各エントリに指定できません。

同じ表のインデクスが，複数のRDエリアに割り当てられないように調整されるため，インデクス数が一つのRDエリアに対して500未満となる場合があります。

指定できるRDエリア名称は，DocumentBrokerのエリア名の規則に従ってください。空白またはハイフンを含むRDエリア名は指定できません。空白を含むRDエリア名を指定した場合，EDMCBuildDocSpaceコマンド実行時にKMBR16920-Eのメッセージ（エラー情報：rc=5）またはKMBR10226-Wのメッセージが出力されてエラーとなるか，またはデータベース定義ユティリティ実行時にデータベースのエラーとなります。ハイフンを含むRDエリア名を指定した場合，文書空間構築コマンド（EDMCBuildDocSpace）実行時，またはデータベース定義ユティリティ実行時にデータベースのエラーとなります。

注※

割り当てられた名称は，見積もり基礎情報ファイルで確認できます。割り当てられたRDエリア名称を変更したい場合には，見積もり基礎情報ファイルの内容を基に，文書空間定義コマンド（EDMCDefDocSpace）で出力されるRDエリア定義情報ファイルを修正してください。

(5)　[RdAreaName]セクションで指定するRDエリアのエントリ指定と，割り当てられる領域の関係

文書空間定義コマンド（EDMCDefDocSpace）のデフォルトの指定では，メタ情報格納用のRDエリア，システム用RDエリア，ユーザ用RDエリアの分類ごとにRDエリア名を割り当て，RDエリアの分類ごとにインデクス用のRDエリア名を割り当てます。RDエリアの分類と割り当てられるRDエリア名の関係を次の表に示します。

表4-36　RDエリアの分類と割り当てられるRDエリア名の関係

RDエリアの分類 | RDエリアに格納する要素 | 割り当てられるRDエリア名
メタ情報格納用のRDエリア | メタ情報を格納する表 | MetaTblNameエントリの指定値
メタ情報を格納する表に設定するインデクス | MetaIdxNameエントリの指定値
システム用RDエリア | システムが定義する表 | SysTblNameエントリの指定値
システムが定義する表に設定するインデクス | SysIdxNameエントリの指定値
ユーザ用RDエリア | ユーザが定義するサブクラスに対応する表 | UsrTblNameエントリの指定値
ユーザが定義するサブクラスに対応する表に設定されるインデクス | UsrIdxNameエントリの指定値
HiRDB繰り返し列のインデクス | －※

注※　インデクスは指定できないため，RDエリア名は割り当てられません。

4.16.3　文書空間情報ファイルの記述例

文書空間情報ファイルの記述例を次に示します。

[System]
AccessControl = OFF
PublicACLCount = 0
AvBindPublicACLCount = 0
AvLocalACECount = 0
AvSecurityACECount = 0
LogModeType = ALL
ReferenceFile = OFF
FileLink = OFF
;MultiFileMaxCount = 2
;AvMultiFileCount = 2
MultiRelationIndex = OFF
;UserIDMaxLength = 512
;GroupIDMaxLength = 512
;SpPropDefaultValue = OFF
DocSpaceCharacterSet = SJIS

[RdAreaName]
MetaTblName = METATBL
MetaIdxName = METAIDX
SysTblName = SYSTBL
SysIdxName = SYSIDX
UsrTblName = USRTBL
UsrIdxName = USRIDX
DocTblName = DOC
MultiDocTblName = MULTIDOC
SgmlTextName = SGMLTXT
NgramIdxName = NGRAMIDX

4.17　見積もり基礎情報ファイル

この節では，見積もり基礎情報ファイルについて説明します。

＜この節の構成＞

4.17.1　見積もり基礎情報ファイルの概要

4.17.2　見積もり基礎情報ファイルの出力形式

4.17.3　見積もり基礎情報ファイルの出力例

4.17.1　見積もり基礎情報ファイルの概要

見積もり基礎情報ファイルは，文書空間を構築するためのデータベース容量を見積もるのに使用する行の数などの基礎情報を，文書空間定義コマンド（EDMCDefDocSpace）で出力するファイルです。見積もり基礎情報ファイル（EDMestimate.csv）は，"実行環境ディレクトリ/env"に出力されます。

なお，このファイルに出力される情報は，文書クラス定義ファイルおよび文書空間情報ファイルの値を基に決定されます。この値からデータベースの容量を見積もる場合，容量に対しての安全率を考慮してください。

4.17.2　見積もり基礎情報ファイルの出力形式

ここでは，見積もり基礎情報ファイルの出力形式，出力情報，およびエントリ情報について説明します。

＜この項の構成＞

(1)　出力形式

(2)　出力情報

(3)　エントリ情報

(1)　出力形式

見積もり基礎情報ファイルの出力形式を次に示します。出力情報は種別ごとに分類され，コンマ区切りで出力されます。

種別,表識別子,インデクス名,レコード数,レコード長,列数,キー種別,平均文書コンテントサイズ,RDエリア名,列名,データ型，列長,平均文字列長

(2)　出力情報

見積もり基礎情報ファイルの出力情報を次の表に示します。

表4-37　見積もり基礎情報ファイルの出力情報

出力情報
エントリ名
内容

種別
Kind
次のどれかが出力されます。

MetaTable：メタ情報を格納する表

SystemTable：システムで使用する表

UserTable：ユーザが定義した表

MetaIndex：メタ情報を格納する表に定義されるインデクス

SystemIndex：システムが定義する表に設定されるインデクス

UserIndex：ユーザが定義するサブクラスに対応する表に設定されるインデクス

BLOb：BLOB列が定義された表

SgmlText：全文検索用のテキスト

NgramIndex：全文検索用のインデクス

Disk：リファレンスファイル文書またはFileLink文書のコンテント格納用のディスク容量

表識別子
Table Name
データベースに定義される表の名前

インデクス名
Index Name
データベースに定義されるインデクスの名前

レコード数
Record Count
表に格納するレコードの総数

レコード長
Record Length
レコードのデータサイズ

列数
Column Count
表に定義する列の総数

キー種別
Key Kind
次のどちらかの値が出力されます。

1：UNIQUEキー

0：重複キー

平均文書コンテントサイズ
AvContent Size
登録する文書のコンテントの平均サイズ

RDエリア名
Area Name
表やインデクスなどが格納されるRDエリア名

列名
Column Name
可変長文字列型で平均文字列長が256バイト以上の列の名前，またはインデクスを定義する列の名前

データ型
Data Type
列のデータ型
次のどれかが出力されます。

INT：整数

CHAR：固定長文字列

VARCHAR：可変長文字列

MVARCHAR：可変長混在文字列

列長
Column Length
列の定義長※

平均文字列長
AvColumn Length
可変長文字列型の列の平均文字列長（可変長データの分岐ページ数，またはインデクスのキー長の計算に使用）

注※

列の定義長が出力されます。インデクスのキー長は，ユーザが算出してください。

(3)　エントリ情報

種別ごとに出力されるエントリ情報を次の表に示します。

表4-38　見積もり基礎情報ファイルのエントリ情報

種別（Kind）
出力情報

表識別子
（Table Name）
インデクス名
（Index Name）
レコード数
（Record Count）
レコード長
（Record Length）
列数
（Column Count）
キー種別
（Key Kind）
平均文書コンテントサイズ
（AvContent Size）
RDエリア名
（Area Name）
列名
（Column Name）
データ型
（Data Type）
列長
（Column Length）
平均文字列長
（AvColumn Length）

MetaTable
○
－
○
○
○
－
－
○
－
－
－
－

SystemTable
○
－
○
○
○
－
－
○
－
－
－
－

SystemTable※1
○
－
－
－
－
－
－
○
○
○
○
○

UserTable
○
－
○
○
○
－
－
○
－
－
－
－

UserTable※1
○
－
－
－
－
－
－
○
○
○
○
○

MetaIndex※2
○
－
－
－
－
○
－
○
○
○
○
－

SystemIndex※2
○
○
－
－
－
○
－
○
○
○
○
○※3

UserIndex※2
○
○
－
－
－
○
－
○
○
○
○
○※3

BLOb
○
－
－
－
－
－
○
○
－
－
－
－

SgmlText※4
○
－
－
－
－
－
○
○
－
－
－
－

NgramIndex※4
○
－
－
－
－
－
○
○
－
－
－
－

Disk※5
○
－
－
－
－
－
○
－
－
－
－
－

（凡例）

○：出力されます。

－：出力されません。

注※1

平均文字列長が256バイト以上の列がある場合です。

注※2

複数列インデクスの場合，列情報が複数出力されます。

注※3

ユーザが定義した可変長文字列型の列の場合だけ出力されます。

注※4

全文検索用の文書を指定した場合だけ出力されます。

注※5

リファレンスファイル文書またはFileLink文書の場合だけ出力されます。

4.17.3　見積もり基礎情報ファイルの出力例

見積もり基礎情報ファイルの出力例を次に示します。

; Estimate Basic Information File
; 2004/09/24 13:09:29

Kind,Table Name,Index Name,Record Count,Record Length,Column Count,Key Kind,AvContent Size,Area Name,Column Name,Data Type,Column Length,AvColumn Length
MetaTable,EDMS_METAINI,,2190,158,3,,,METATBL,,,,
MetaTable,EDMS_META_edms,,891,527,5,,,METATBL,,,,
MetaTable,EDMS_META_edmsys,,71,527,5,,,METATBL,,,,
     ：
SystemTable,edmClass_OIID,,1,20,3,,,SYSTBL,,,,
SystemTable,dmaClass_ConfigHistory,,0,228,6,,,SYSTBL,,,,
SystemTable,dmaClass_VerDescription,,9755,180,6,,,SYSTBL,,,,
SystemTable,dmaClass_Rendition,,3900,380,6,,,SYSTBL,,,,
SystemTable,dmaClass_ContentReference,,0,596,5,,,SYSTBL,,,,
     ：
UserTable,usrClass_IndP1,,100,465,8,,,USRTBL,,,,
UserTable,usrClass_IndP1,,,,,,,USRTBL,uP_String_512,MVARCHAR,512,300
UserTable,usrClass_RCntr,,1111,313,9,,,USRTBL,,,,
UserTable,usrClass_VTCntr,,1111,317,10,,,USRTBL,,,,
UserTable,usrClass_CRCntr_CH,,1111,365,10,,,USRTBL,,,,
UserTable,usrClass_CRCntr_VR,,5555,184,7,,,USRTBL,,,,
     ：
MetaIndex,EDMS_META_edms,,,,,1,,METAIDX,SECTION_NAME,VARCHAR,128,
MetaIndex,EDMS_META_edms,,,,,1,,METAIDX,OCCUR,INT,4,
MetaIndex,EDMS_META_edmsys,,,,,1,,METAIDX,SECTION_NAME,VARCHAR,128,
MetaIndex,EDMS_META_edmsys,,,,,1,,METAIDX,OCCUR,INT,4,
     ：
SystemIndex,edmClass_OIID,edmClass_OIIDAp,,,,1,,SYSIDX,edmProp_AppId,CHAR,2,
SystemIndex,dmaClass_ConfigurationHistory,dmaClass_ConfigHistoryId,,,,1,,SYSIDX,dmaProp_OIID,CHAR,16,
SystemIndex,dmaClass_ConfigurationHistory,dmaClass_ConfigHistoryPc,,,,0,,SYSIDX,dmaProp_ParentContainer,CHAR,52,
SystemIndex,dmaClass_ConfigurationHistory,dmaClass_ConfigHistoryTh,,,,0,,SYSIDX,dmaProp_This,CHAR,52,
     ：
UserIndex,usrClass_Doc,usrClass_Doc01,,,,1,,USRIDX,uP_String,MVARCHAR,128,
UserIndex,usrClass_Doc,usrClass_Doc01,,,,1,,USRIDX,uP_Integer32,INT,4,
     ：
BLOb,dmaClass_ContentTransfer,,,,,,9308,DOC,,,,

4.18　クライアントアプリケーション動作定義ファイル（application.ini）

この節では，クライアントアプリケーション動作定義ファイルに指定できるセクションおよびエントリと，その記述形式について説明します。

クライアントアプリケーション動作定義ファイルのサンプルファイルは，次の場所に格納されています。

"/opt/HiEDMS/client/sample/application.ini"

＜この節の構成＞

4.18.1　クライアントアプリケーション動作定義ファイルの概要

4.18.2　クライアントアプリケーション動作定義ファイルの記述形式

4.18.3　クライアントアプリケーション動作定義ファイルの記述例

4.18.1　クライアントアプリケーション動作定義ファイルの概要

クライアントアプリケーション動作定義ファイルは，クライアントアプリケーションの動作環境を定義するためのファイルです。作成したファイルは，次のディレクトリに格納し，クライアントアプリケーションの実行者に読み取り権限を付与します。

環境変数「EDMAPPDEFPATH」に指定したディレクトリ　または"/opt/HiEDMS/client/etc"

環境変数「EDMAPPDEFPATH」が指定されていない場合，"/opt/HiEDMS/client/etc"ディレクトリ以下を参照します。

なお，クライアントアプリケーション動作定義ファイルが，上記ディレクトリ以下に存在しない場合，クライアントアプリケーションの動作環境は定義されていないものとして動作します。

4.18.2　クライアントアプリケーション動作定義ファイルの記述形式

ここでは，クライアントアプリケーション動作定義ファイルの記述形式について説明します。

＜この項の構成＞

(1)　記述形式

(2)　[Public]セクション

(3)　[クライアントアプリケーションプロセス名]セクション

(1)　記述形式

クライアントアプリケーション動作定義ファイルは，次に示す二つのセクションと，各セクションに指定するエントリによって構成されています。

[Public]セクション

[クライアントアプリケーションプロセス名]セクション

セクションとエントリの記述規則を次に示します。

印刷可能なASCIIコードで記述します。

セクション名は，[　]（角括弧）で囲んで指定します。一つのセクションは，セクション名を指定してから，次のセクションを指定するまで，またはファイルの終端までの範囲です。

エントリは，「エントリ名=値」の形式で指定します。

「;」（セミコロン）で始まる行はコメント行として扱われます。

同じセクション名を指定した場合，2番目以降に指定したセクションは無視されます。

指定できないセクションを指定した場合，指定したセクションはすべて無視されます。

セクション内で同一名のエントリを複数指定した場合，最初に指定したエントリが有効になります。

指定できないエントリを指定した場合，指定したエントリは無視されます。

値は1,023バイト以内で指定します。

値が指定されていないエントリ，または空白が指定されているエントリは無視されます。

記述形式を次に示します。

[<セクション名>]

<エントリ名>=<値>

以降，クライアントアプリケーション動作定義ファイルを構成する各セクションと，セクションごとに指定するエントリについて説明します。

(2)　[Public]セクション

DocumentBroker Development KitまたはDocumentBroker Runtimeをインストールした環境下で動作するすべてのクライアントアプリケーションの動作環境を指定します。

[Public]セクションを構成するエントリは次のとおりです。

VBPropertyエントリ

クライアントアプリケーションプロセスのVisiBrokerプロパティを指定します。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

TPBroker V3と連携している場合にこのエントリを指定しても無視されます。TPBroker V3と連携している場合は，OrbOptionエントリを指定してください。エントリの指定を省略したときに仮定される値はありません。

なお，エントリ値に，TPBrokerが不正とみなすVisiBrokerプロパティを指定した場合は，クラスライブラリのメソッドで次のエラーが返却されます。

　major_code=ERR_DMA

　minor_code=DMARC_NETWORK_UNAVAILABLE

OrbOptionエントリ

クライアントアプリケーションプロセスのORBオプションを指定します。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

TPBroker V5と連携している場合にこのエントリを指定しても無視されます。TPBroker V5と連携している場合は，VBPropertyエントリを指定してください。エントリの指定を省略したときに仮定される値はありません。

なお，エントリ値に，TPBrokerが不正とみなすORBオプションを指定した場合は，クラスライブラリのメソッドで次のエラーが返却されます。

　major_code=ERR_DMA

　minor_code=DMARC_NETWORK_UNAVAILABLE

(3)　[クライアントアプリケーションプロセス名]セクション

DocumentBroker Development KitまたはDocumentBroker Runtimeをインストールした環境下で動作するクライアントアプリケーションの動作環境を，クライアントアプリケーション名ごとに指定します。なお，このセクションを指定したプロセス名のクライアントアプリケーションプロセスでは，[Public]セクションに指定したエントリは無効になります。

[クライアントアプリケーションプロセス名]セクションを構成するエントリは次のとおりです。

VBPropertyエントリ

クライアントアプリケーションプロセスのVisiBrokerプロパティを指定します。指定できるプロパティについては，マニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

TPBroker V3と連携している場合にこのエントリを指定しても無視されます。TPBroker V3と連携している場合は，OrbOptionエントリを指定してください。エントリの指定を省略したときに仮定される値はありません。

なお，エントリ値に，TPBrokerが不正とみなすVisiBrokerプロパティを指定した場合は，クラスライブラリのメソッドで次のエラーが返却されます。

　major_code=ERR_DMA

　minor_code=DMARC_NETWORK_UNAVAILABLE

OrbOptionエントリ

クライアントアプリケーションプロセスのORBオプションを指定します。指定できるオプションについては，マニュアル「VisiBroker for C++ プログラマーズガイド」を参照してください。

TPBroker V5と連携している場合にこのエントリを指定しても無視されます。TPBroker V5と連携している場合は，VBPropertyエントリを指定してください。エントリの指定を省略したときに仮定される値はありません。

なお，エントリ値に，TPBrokerが不正とみなすORBオプションを指定した場合は，クラスライブラリのメソッドで次のエラーが返却されます。

　major_code=ERR_DMA

　minor_code=DMARC_NETWORK_UNAVAILABLE

このセクションに指定するクライアントアプリケーションプロセス名の記述規則を次に示します。

プロセス名から拡張子を除いた名称を指定してください。部分的に一致するプロセス名を指定した場合は無効になります。
例えば，プロセス名がProcessA.exeの場合は，ProcessAと指定します。

大文字と小文字で区別されます。

プロセス名にPublicは指定できません。

プロセス名に ]（右角括弧）を含む名称は指定できません。

プロセス名の前後に空白を含む名称は指定できません。
例えば，プロセス名として「△ProcessA」や，「ProcessA△」（△：空白）を指定できません。

4.18.3　クライアントアプリケーション動作定義ファイルの記述例

クライアントアプリケーション動作定義ファイルの記述例を次に示します。

＜この項の構成＞

(1)　TPBroker V5と連携する場合

(2)　TPBroker V3と連携する場合

(1)　TPBroker V5と連携する場合

（例）

ネットワーク上のORBドメインを定義するポート番号を指定します。

[Public]
VBProperty = -Dvbroker.agent.port=14000
[ProcessA]
VBProperty = -Dvbroker.agent.port=14005
[ProcessB]
VBProperty = -Dvbroker.agent.port=14006

ProcessAおよびProcessB以外のクライアントアプリケーションプロセスには，[Public]セクションの指定値が適用されます。

(2)　TPBroker V3と連携する場合

（例）

ネットワーク上のORBドメインを定義するポート番号を指定します。

[Public]
OrbOption = -ORBagentPort 14000
[ProcessA]
OrbOption = -ORBagentPort 14005
[ProcessB]
OrbOption = -ORBagentPort 14006

ProcessAおよびProcessB以外のクライアントアプリケーションプロセスには，[Public]セクションの指定値が適用されます。

5.　DocumentBrokerの起動と終了

この章では，DocumentBrokerの起動と終了の方法について説明します。

＜この章の構成＞

5.1　DocumentBrokerの起動方法

5.2　DocumentBrokerの終了方法

5.1　DocumentBrokerの起動方法

この節では，DocumentBrokerの起動方法について説明します。

起動手順

次の手順に従って，DocumentBrokerを起動してください。なお，手順1.，手順2.および手順3.の順序は問いません。

データベースシステムを起動する。

TPBrokerのスマートエージェントを起動する。

LDAP対応のディレクトリサービスを起動する。
ユーザ管理機能にLDAP対応のディレクトリサービスを使用する場合，実行してください。ユーザ管理機能については，「3.7　ユーザ管理機能の設定」を参照してください。

DocumentBrokerを起動する。
DocumentBroker起動コマンド（EDMStart）を実行します。DocumentBroker起動コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。

5.2　DocumentBrokerの終了方法

この節では，DocumentBrokerの終了方法について説明します。

終了手順

次の手順に従って，DocumentBrokerを終了してください。なお，手順2.，手順3.および手順4.の順序は問いません。

DocumentBrokerを終了する。
DocumentBroker終了コマンド（EDMStop）を実行します。DocumentBroker終了コマンドの使用方法については，「7.3　コマンドの文法」を参照してください。

LDAP対応のディレクトリサービスを終了する。
ユーザ管理機能に，LDAP対応のディレクトリサービスを使用する場合，実行してください。ユーザ管理機能については，「3.7　ユーザ管理機能の設定」を参照してください。

TPBrokerのスマートエージェントを終了する。

データベースシステムを終了する。

6.　運用と障害対策

この章では，DocumentBrokerで使用するデータベースの運用方法，およびリファレンスファイル管理機能を使用する場合の運用方法について説明します。また，障害対策，および障害情報の取得についても説明します。

＜この章の構成＞

6.1　データベースの運用

6.2　DocumentBrokerのクラス定義の変更

6.3　リファレンスファイル管理機能を使用する場合の運用

6.4　障害対策

6.5　アクセスログに関する運用

6.6　エラーログに関する運用

6.1　データベースの運用

この節では，データベースの運用方法について説明します。

＜この節の構成＞

6.1.1　バックアップと回復

6.1.2　ジャーナルファイルの運用

6.1.3　レプリケーション

6.1.1　バックアップと回復

DocumentBrokerで使用する表のバックアップと回復は，データベースシステムの機能を利用してください。なお，使用できるデータベースシステムはHiRDBのため，データのバックアップと回復はHiRDBの機能を利用してください。HiRDBでのバックアップの取得方法と回復方法の詳細については，マニュアル「HiRDB　システム運用ガイド」を参照してください。

また，ハードウェア障害の発生に備えて，DocumentBrokerがインストールされているシステムのレジストリ情報などの環境情報のバックアップも取得するようにしてください。

＜この項の構成＞

(1)　バックアップと回復について

(2)　バックアップと回復の方法

(3)　データベース運用上の注意事項

(4)　バックアップの取得

(5)　リストアの方法

(1)　バックアップと回復について

DocumentBrokerは，データベース上のレコードを組み合わせることで，アプリケーションで扱う論理的なオブジェクトや，オブジェクト間の関連を実現しています。したがって，障害時の回復には，これらの関連の整合性を保持するようにバックアップおよび回復を行う必要があります。

(2)　バックアップと回復の方法

DocumentBrokerでは，オブジェクト間の関連を，文書空間単位に管理しています。また，文書空間はデータベースのスキーマに対応しており，文書空間単位で運用できます。

DocumentBrokerでは，アプリケーションで扱うすべてのデータをデータベース上に格納しています。格納しているデータの障害回復には，データベースの機能を利用してください。

オブジェクト間の関連の整合性を保持したバックアップと回復の方法としては，文書空間単位でバックアップと回復を行う方法とRDエリア単位のバックアップと回復を行う方法があります。次に，これらの方法を説明します。

(a)　 文書空間単位のバックアップと回復

文書空間単位でのバックアップの取得の概念を次の図に示します。

図6-1　文書空間単位でのバックアップの取得

文書空間（スキーマ）に属する全データのバックアップを，同期を取って取得します。障害が発生した場合は，全データをバックアップしたデータを基に回復します。ただし，同期を取って全データのバックアップを取得する運用では，文書空間に属するデータ量が多い場合，バックアップおよび回復に必要とする時間の増大や，障害回復までに，停止する業務範囲が大きいなどの問題が発生します。

この運用の場合，更新ログの取得方法として次に示す方法のどちらかを選択してください。

ロールバックおよびロールフォワードに必要なログを取得する。
この方法の場合，バックアップから取得したデータに対して，更新ログでの任意の同期点までの論理的な整合性を保って回復します。

ロールバックに必要なログだけを取得する。
この方法の場合，最後に全データのバックアップを取得した時点まで回復します。

(b)　RDエリア単位のバックアップと最新同期点までの回復

RDエリア単位でのバックアップの取得の概念図を次の図に示します。

図6-2　RDエリア単位でのバックアップ取得

文書空間を構成する個々のRDエリアまたはディスクのパーティション単位にバックアップします。障害が発生した場合は，バックアップしたデータを基に，障害の発生したRDエリアのデータを回復します。この時，ほかのRDエリアのデータとの関連の整合性を保証するため，データベースの更新ログから最新の同期点まで回復します。このため，更新ログの取得方法は，ロールバックおよびロールフォワードに必要なログを取得する設定にしてください。

この方式では，バックアップした時にRDエリア相互の同期を取る必要がないため，対象データが多い場合にも，日々のバックアップ対象を全体の一部ずつとするなど，柔軟なバックアップの運用ができます。

(3)　データベース運用上の注意事項

LOB列格納用RDエリアの更新ログの取得方法は，データベース定義文を作成するコマンド（EDMCrtSqlおよびEDMAddMeta）の-uオプションで指定します。この-uオプションの引数によって，更新ログの取得方法を指定します。取得方法には，ログ取得モード，更新前ログ取得モード，およびログレスモードがあります。

なお，ログ取得モード（ロールバックおよびロールフォワードに必要なログを取得）を指定した場合は，更新前ログ取得モード（ロールバックに必要なログを取得）を指定した場合と比べて，次の注意が必要です。

(a)　ログファイル容量

当該LOB列に対する追加・更新のデータ量の分だけログが増加するため，ログ容量（特にアンロードログファイルのディスク容量）が不足しないようにファイルサイズ（バイト）を見積もってください。1文書当たりの見積もりの概算を次に示します。

（文書ファイル数 ＋ 4） × 平均ファイルサイズ（バイト）

システムファイルの容量見積もりの詳細については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

(b)　ログ取得性能

ログの出力量の増加による性能劣化を抑えるため，次の2点を検討してください。

LOB列格納用RDエリアへのグローバルバッファの割り当て

グローバルバッファが指定されていない場合は，データの追加および更新ごとにログがファイルに出力されるため入出力が増加します。しかし，グローバルバッファが指定されている場合は，コミット時にログのファイルをバッファリングして出力するため，前者と比べて入出力の増加を抑えた運用ができます。グローバルバッファのオペランドの設定の詳細については，マニュアル「HiRDB　システム定義」を参照してください。

HiRDBのログ入出力バッファ長の拡大

ログ量の増加に伴ってログ用バッファの使用量が増え，ログバッファの空き待ちになる場合が想定されます。このため，ログ入出力バッファ長の拡大を検討してください。サーバ共通定義の詳細については，マニュアル「HiRDB　システム定義」を参照してください。

(4)　バックアップの取得

データベースシステムの機能を利用して，同期を取って，DocumentBrokerが使用している表一式のバックアップを取得してください。バックアップ対象になる表やエリアなどの情報は，データベースの初期設定で使用したデータベース定義文を基に事前に用意してください。

また，ハードウェア障害の発生に備えて，DocumentBrokerがインストールされているシステムのレジストリ情報などの環境情報のバックアップも取得するようにしてください。

(5)　リストアの方法

取得したバックアップのリストアは，データベースシステムの機能を利用して実行してください。リストアを実行する前には，必ずDocumentBrokerを停止させてください。

6.1.2　ジャーナルファイルの運用

障害が発生した場合は，データベースシステムが取得するジャーナルファイルを利用してデータを回復してください。

なお，使用できるデータベースシステムはHiRDBです。したがって，HiRDBが取得するジャーナルファイルを利用して，データを回復してください。HiRDBのジャーナルファイルの運用方法については，マニュアル「HiRDB　システム運用ガイド」を参照してください。

6.1.3　レプリケーション

データベースの内容をほかのデータベースに反映する機能のことを，レプリケーション機能といいます。レプリケーション機能を利用することで，DocumentBrokerが使用するデータベースのデータを抽出して，ほかのデータベースへ反映できます。

なお，使用できるデータベースシステムはHiRDBです。したがって，HiRDBのレプリケーション機能を利用します。HiRDBのレプリケーション機能を利用するには，HiRDBにHiRDB Datareplicatorを組み込む必要があります。HiRDBのレプリケーション機能については，マニュアル「HiRDB Datareplicator」を参照してください。

＜この項の構成＞

(1)　レプリケーションの方法

(2)　クラス，プロパティとデータベースの表，列との対応関係

(1)　レプリケーションの方法

データベースシステムのレプリケーション機能を利用して，ほかのデータベースへデータを反映できます。レプリケーションの対象となる表やエリアなどの情報は，データベースの初期設定で使用したデータベース定義文を基に事前に用意してください。

(2)　クラス，プロパティとデータベースの表，列との対応関係

データベースシステムの定義系SQLを利用して，クラス，プロパティとデータベースの表，列との対応が取れます。使用できるデータベースシステムは，HiRDBです。したがって，ここではHiRDBを利用する場合の対応関係について説明します。

DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql）では，メタ情報ファイルに記述されているクラス識別子を，オブジェクトを格納するRDB表名として設定します。また，メタ情報ファイルに記述されているプロパティ識別子を表の各列名として設定します。

メタ情報ファイルでは，クラスの詳細情報を定義する「ClassDescription」やクラスのプロパティの詳細情報を定義する「PropertyDescription」の中に，クラスまたはプロパティ自身を説明する文字列を設定する項目「dmaProp_DescriptiveText」を指定できます。通常，「dmaProp_DescriptiveText」の値には，クラス識別子またはプロパティ識別子に対応して，ユーザが使用するクラス，プロパティの説明，または通称（意味のある名称）を指定します。これは，ユーザが定義情報ファイルを使用して，サブクラスおよびプロパティを追加する場合でも同様です。

EDMCrtSqlコマンドを実行すると，HiRDBの定義系SQLであるCOMMENTを使用して，「dmaProp_DescriptiveText」の値を各表および列の注釈としてデータベース定義文に出力します。ただし，データベース定義文に注釈を出力するには，EDMCrtSqlコマンドを実行する時に，-cオプションを指定する必要があります。EDMCrtSqlコマンドの使用方法については，「7.3　コマンドの文法」を参照してください。ユーザはHiRDBのディクショナリのSQL_TABLES表およびSQL_COLUMNS表を検索して，表や列に付けられている注釈を参照できます。

したがって，レプリケーション機能を利用する場合は，表や列に付けられた注釈を参照して，DocumentBrokerで作成したクラスおよびプロパティとの対応に注意してください。

6.2　DocumentBrokerのクラス定義の変更

この節では，DocumentBrokerの運用中に，サブクラスやプロパティの追加，削除など，データベースの表を定義・削除する場合の操作手順および注意事項について説明します。

この節で「クラスの定義」および「プロパティの定義」とは，メタ情報として格納しているDocumentBrokerのクラスおよびプロパティの定義を表します。「表」および「列」は，データベースの表および列を表します。

また，定義系SQLとはHiRDBの定義系SQLを表します。

＜この節の構成＞

6.2.1　クラスの定義を変更する場合について

6.2.2　クラスの追加

6.2.3　クラスの削除（オブジェクトが存在しない場合）

6.2.4　クラスの定義の変更（オブジェクトが存在しない場合）

6.2.5　クラスの削除（オブジェクトが存在する場合）

6.2.6　クラスの定義の変更（オブジェクトが存在する場合）

6.2.7　メタ情報の追加・削除コマンドの動作

6.2.8　追加するプロパティと列の並び

6.2.1　クラスの定義を変更する場合について

DocumentBrokerの運用中にクラスを追加したり，プロパティを追加したりする場合があります。DocumentBrokerでは，次のような場合にクラスの定義を変更します。

クラスの追加

クラスの削除（オブジェクトが存在しない場合）

クラスの定義の変更（オブジェクトが存在しない場合）

プロパティの追加

プロパティの定義の変更

プロパティの削除

クラスの削除（オブジェクトが存在する場合）

クラスの定義の変更（オブジェクトが存在する場合）

プロパティの追加

次に，これらのクラスの定義を変更する手順を説明します。

6.2.2　クラスの追加

クラスを追加する場合，追加するクラスの定義を記述した定義情報ファイルを作成します。そして，作成した定義情報ファイルを指定してメタ情報の追加コマンド（EDMAddMeta）で，メタ情報へのクラスの定義の追加，および追加するクラスに対応する表を作成するデータベース定義文の生成を実行します。

＜この項の構成＞

(1)　クラスの追加手順

(2)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL

(1)　クラスの追加手順

クラスを追加する手順を次に示します。

定義情報ファイルを作成します。
追加するクラスの定義を記述した定義情報ファイルを作成します。作成した定義情報ファイルは，メタ情報の追加コマンド（EDMAddMeta）の-fオプションに指定します。
定義情報ファイルの作成については，「4.7　定義情報ファイル」を参照してください。

インデクス情報ファイルを作成します。
追加するクラスのプロパティにインデクスを定義する場合，インデクス情報ファイルを作成します。メタ情報の追加コマンド（EDMAddMeta）の-iオプションに，作成したインデクス情報ファイル名を指定して実行することで，インデクス情報ファイルの内容を基に，データベース定義文に定義系SQL「CREATE INDEX」が出力されます。なお，データベース定義文は，-oオプションで指定するデータベース定義文格納ファイルに出力されます。
インデクス情報ファイルの作成については，「4.9　インデクス情報ファイル」を参照してください。

RDエリア定義情報ファイルを作成します。
データベース定義文中のRDエリア名称を，ユーザが指定したRDエリア名で出力させるためには，RDエリア定義情報ファイルを作成します。
メタ情報の追加コマンド（EDMAddMeta）の-rオプションに，作成したRDエリア定義情報ファイル名を指定することで，RDエリア定義情報ファイルの内容がデータベース定義文のRDエリア名に反映されます。なお，データベース定義文は，-oオプションで指定するデータベース定義文格納ファイルに出力されます。
RDエリア定義情報ファイルの作成については，「4.8　RDエリア定義情報ファイル」を参照してください。

メタ情報のバックアップを取得します。
メタ情報を更新する前に，メタ情報ファイルの出力コマンド（EDMPrintMeta）でメタ情報のバックアップを取得します。
メタ情報ファイルの出力コマンド（EDMPrintMeta）には，-Fオプションおよび-lオプションを指定します。-lオプションには，メタ情報のバックアップを出力するディレクトリ名を指定して，データベースからメタ情報を出力します。

データベースのバックアップを取得します。
クラスに対応する表を作成するので，データベースのバックアップを取得します。バックアップを取得する必要のあるRDエリアについては，マニュアル「HiRDB　システム運用ガイド」の，障害発生に備えた運用に関する説明での，定義系SQL「CREATE TABLE」の実行についての記述を参照してください。

メタ情報の追加コマンド（EDMAddMeta）を実行します。
手順1.～手順3.で作成した定義情報ファイル，インデクス情報ファイル，およびRDエリア定義情報ファイルを指定して，メタ情報の追加コマンド（EDMAddMeta）を実行して，クラスの定義をメタ情報へ追加します。
メタ情報の追加コマンド（EDMAddMeta）の-oオプションで，追加するクラスに対応する表を作成する定義系SQL「CREATE TABLE」を格納するデータベース定義文格納ファイルを指定します。
次に，出力されたデータベース定義文格納ファイルの修正について説明します。

出力されたデータベース定義文格納ファイルの修正

メタ情報の追加コマンド（EDMAddMeta）は，データベース定義文格納ファイルへ定義系SQL「CREATE TABLE」のすべてのオプションを出力しません。このため，必要なオプションは，データベース定義文格納ファイルをテキストエディタなどで修正して追加してください。メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQLについては，「(2)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL」を参照してください。

次に，基本単位がVariableArray型のプロパティを定義した場合，データベース定義文格納ファイルに出力されるデータベース定義文について説明します。

基本単位がVariableArray型のプロパティの定義

メタ情報の追加コマンド（EDMAddMeta）は，追加するクラスのプロパティとして，次に示す条件を満たすプロパティを定義している場合，基本単位がVariableArray型のプロパティの要素を格納するために定義するedmClass_Structクラスのサブクラスに対応する表を作成する定義系SQL「CREATE TABLE」を出力します。

・基本単位がVariableArray型のプロパティが存在する。

・基本単位がVariableArray型のプロパティの要素を，クラスに対応する表とは別の表に格納するように指定する。

・基本単位がVariableArray型のプロパティは，新規に追加するプロパティの定義である。

ただし，基本単位がVariableArray型のプロパティの要素を格納するedmClass_Structクラスのサブクラスの追加は，クラスの追加（ここで説明している作業）の前に行ってください。

基本単位がVariableArray型のプロパティを定義するクラスの定義を行う場合にメタ情報の追加コマンド（EDMAddMeta）が出力するデータベース定義文については，「6.2.7　メタ情報の追加・削除コマンドの動作」を参照してください。

データベース定義ユティリティを実行します。
手順6.で作成したデータベース定義文を入力ファイルとして指定し，HiRDBのデータベース定義ユティリティ（pddef）を実行して定義するクラスに対応する表を追加します。データベース定義ユティリティ（pddef）は，DocumentSpace構成定義ファイルのPdUserエントリに指定するユーザが実行してください。
HiRDBのデータベース定義ユティリティ（pddef）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

クラス定義情報ファイルを作成します。
追加したクラスの定義を反映したクラス定義情報ファイルを作成するため，クラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を実行します。作成したクラス定義情報ファイルをDocumentBroker オブジェクト操作ツールの動作環境に配置します。
クラス定義情報ファイルの作成については，「4.10　クラス定義情報ファイル」を参照してください。

表へオブジェクトを格納します。
追加したクラスのオブジェクトを作成するには，次の方法があります。

DocumentBroker Object Loaderを使用したオブジェクトの登録
大量のオブジェクトを作成するにはDocumentBroker Object Loaderを使用します。
オブジェクトを登録するためには，DocumentBroker Object Loaderの実行に必要な入力データを作成する必要があります。入力データは，DocumentBroker Object Loaderが提供する入力ファイル生成ユティリティ（EDMCrtLDFコマンド，EDMCrtLCFコマンド）で作成してください。入力ファイル生成ユティリティについては，マニュアル「DocumentBroker Object Loader Version 3」を参照してください。

UAPによるオブジェクトの作成
UAPによるオブジェクトの作成方法については，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　解説」を参照してください。

DocumentBroker オブジェクト操作ツールによるオブジェクトの作成
DocumentBroker オブジェクト操作ツールによるオブジェクトの作成方法については，マニュアル「DocumentBroker Version 3　オブジェクト操作ツール」を参照してください。

(2)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL

メタ情報の追加コマンド（EDMAddMeta）が出力する，HiRDBのデータベース定義ユティリティ（pddef）の入力となる定義系SQLを示します。下線が付いている個所は，メタ情報の追加コマンド（EDMAddMeta）が出力しない定義系SQLを示します。

(a)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL「CREATE TABLE」

CREATE 〔FIX〕 TABLE 〔認可識別子.〕表識別子(表要素〔,表要素〕…)
　　　{IN{表格納用RDエリア名
　　　　　　 ｜(表格納用RDエリア名)
　　　　　　 ｜(〔(表格納用RDエリア名)格納条件,〕…
　　　　　　 (表格納用RDエリア名)〔格納条件〕)}
　　　　　 ｜PARTITIONED BY 列名
　　　　　　 IN(〔(表格納用RDエリア名)境界値,〕…
　　　　　　　　　　(表格納用RDエリア名)境界値，
　　　　　　　　　　(表格納用RDエリア名))
　　　　　 ｜〔FIX〕 HASH 〔ハッシュ関数名〕 BY 列名 〔,列名〕…
　　　　　　　 IN(表格納用RDエリア名，表格納用RDエリア名,…)}〕
　　　〔表オプション〕…
　　　〔表制約定義〕…
表要素::={列定義｜表制約定義}
　 列定義::=列名 データ型〔ARRAY [最大要素数]〕
　　　　　〔{列データ抑制指定｜〔列回復制約〕
　　　　　　　{IN {LOB列格納用RDエリア名
　　　　　　　　　　｜(LOB列格納用RDエリア名)
　　　　　　　　　　｜((LOB列格納用RDエリア名)
　　　　　　　　　　〔,(LOB列格納用RDエリア名)〕…)}
　　　　　　　　 ｜抽象データ型定義内LOB格納用RDエリア指定}}〕
　　　　　　　 〔プラグイン指定〕
　　　　　　　 〔列制約…〕
　 列データ抑制指定::=〔SUPPRESS〕
　 列回復制約::=〔RECOVERY〔{ALL｜PARTIAL｜NO}〕〕
列制約::={非NULL値制約指定
　　　　　　｜単一列一意性制約定義〔インデクスオプション〕…}
　 非NULL値制約指定::={〔NULL｜NOT NULL〔WITH DEFAULT〕〕
　　　　　　　　　　｜〔〔NOT NULL〕 WITH DEFAULT〕}
　 単一列一意性制約定義::=
　 〔UNIQUE〕 CLUSTER KEY〔{ASC｜DESC}〕
　　　　　　　〔IN{インデクス格納用RDエリア名
　　　　　　　　｜(インデクス格納用RDエリア名)
　　　　　　　　｜((インデクス格納用RDエリア名)
　　　　　　　　｜〔,(インデクス格納用RDエリア名)〕…)}〕
　　インデクスオプション::={PCTFREE=未使用領域の比率
　　　　　　　　　　　　　｜UNBALANCED SPLIT}
表制約定義::=複数列一意制約定義
　　　　　〔インデクスオプション〔インデクスオプション〕〕
　複数列一意性制約定義::=
　　　　　　〔UNIQUE〕 CLUSTER KEY(列名〔{ASC｜DESC}〕
　　　　　　〔,列名〔{ASC｜DESC}〕〕…)
　　　　　　〔IN{インデクス格納用RDエリア名
　　　　　　　　｜(インデクス格納用RDエリア名)
　　　　　　　　｜((インデクス格納用RDエリア名)
　　　　　　　　　 〔,(インデクス格納用RDエリア名)〕…)}〕
格納条件::=列名{=｜<>｜^=｜!=｜<｜>=｜>｜>=}
　　　　　　{定数｜(定数〔,定数〕…)}
　ハッシュ関数名::={HASH1｜HASH2｜HASH3｜HASH4｜HASH5｜HASH6}
表オプション::=
　PCTFREE={未使用領域の比率
　　　　 ｜(〔未使用領域の比率〕,
　　　　　　　 セグメント内の空きページ比率)}
　LOCK{ROW｜PAGE}
　SUPPRESS〔DEC〔IMAL〕〕
　WITHOUT ROLLBACK
抽象データ型定義内LOB格納用RDエリア指定::=
ALLOCATE(属性名〔..属性名〕…
　 IN {LOB属性格納用RDエリア名
　　　 ｜(LOB属性格納用RDエリア名)
　　　 ｜((LOB属性格納用RDエリア名)
　　　　　 〔,(LOB属性格納用RDエリア名)〕)}
　　　〔,属性名〔..属性名〕…
　　　　　　　　 IN {LOB属性格納用RDエリア名
　　　　　　　　　　　｜(LOB属性格納用RDエリア名)
　　　　　　　　　　　｜((LOB属性格納用RDエリア名)
　　　　　　　　　　　　　 〔,(LOB属性格納用RDエリア名)〕)}〕…)
プラグイン指定::=PLUGIN プラグインオプション

(b)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL「CREATE INDEX　形式1」

CREATE 〔UNIQUE〕 INDEX 〔認可識別子.〕インデクス識別子
　ON 〔認可識別子.〕表識別子(列名〔{ASC｜DESC}〕
　　　　　　　　　 〔,列名〔{ASC｜DESC}〕〕…)
〔IN{RDエリア名
　　　 ｜(RDエリア名)
　　　 ｜((RDエリア名)〔,(RDエリア名)〕…)}〕
〔インデクスオプション〕…
インデクスオプション::={PCTFREE=未使用領域の比率
　　　　　　　　　　 ｜UNBALANCED SPLIT
　　　　　　　　　　 ｜EMPTY
　　　　　　　　　　 ｜除外値指定}
除外値指定::=EXCEPT VALUES (NULL〔,NULL〕…)

(c)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL「CREATE INDEX　形式2」

CREATE INDEX 〔認可識別子.〕インデクス識別子
　 USING TYPE 〔認可識別子.〕インデクス型識別子
　 ON 〔認可識別子.〕表識別子（列名）
　 IN{RDエリア名
　　　 ｜(RDエリア名)
　　　 ｜((RDエリア名)〔,(RDエリア名)〕…)}
　〔PLUGIN プラグインオプション〕

6.2.3　クラスの削除（オブジェクトが存在しない場合）

オブジェクトが存在しないクラスを削除するには，メタ情報の削除コマンド（EDMDelMeta）によってクラスの定義の削除，およびクラスに対応する表を削除するデータベース定義文の生成を実行します。

ただし，基本単位がVariableArray型のプロパティの要素を格納するために定義するedmClass_Structクラスのサブクラスの削除は，次に示す条件を満たしている必要があります。

edmClass_Structクラスのサブクラスの削除の条件

削除するedmClass_Structクラスのサブクラスを要素とする，基本単位がVariableArray型のプロパティを定義しているクラスが存在しない。

条件に満たないedmClass_Structクラスのサブクラスだけの削除は，行わないでください。

オブジェクトが存在しないクラスを削除する手順を次に示します。

メタ情報のバックアップを取得します。
「6.2.2(1)　クラスの追加手順」のメタ情報のバックアップの取得に関する記述を参照してください。

データベースのバックアップを取得します。
クラスに対応する表を削除するので，データベースのバックアップを取得します。バックアップを取得する必要があるRDエリアについては，マニュアル「HiRDB　システム運用ガイド」の，障害発生に備えた運用に関する説明での，定義系SQL「DROP TABLE」の実行についての記述を参照してください。

メタ情報の削除コマンド（EDMDelMeta）を実行します。
メタ情報の削除コマンド（EDMDelMeta）でクラスの定義を削除します。
メタ情報の削除コマンド（EDMDelMeta）の-rオプション，-sオプションおよび-oオプションを指定して実行します。-oオプションにはクラスに対応する表を削除する定義系SQL「DROP TABLE」を格納するデータベース定義文格納ファイルを指定します。
メタ情報の削除コマンド（EDMDelMeta）は，削除するクラスに対して次に示す条件を満たすプロパティを定義している場合，基本単位がVariableArray型のプロパティの要素を格納するために定義しているedmClass_Structクラスのサブクラスに対応する表を削除する定義系SQL「DROP TABLE」を出力します。

基本単位がVariableArray型のプロパティが存在する。

基本単位がVariableArray型のプロパティの要素をクラスに対応する表とは別の表に格納する指定である。

ほかのクラスで基本単位がVariableArray型の同じプロパティの定義を使用していない。

この場合，基本単位がVariableArray型のプロパティの要素を格納するedmClass_Structクラスのサブクラスも削除してください。
基本単位がVariableArray型のプロパティを定義しているクラスを削除する場合，メタ情報の削除コマンド（EDMDelMeta）が出力するデータベース定義文については，「6.2.7　メタ情報の追加・削除コマンドの動作」を参照してください。

データベース定義ユティリティを実行します。
手順3.で作成したデータベース定義文を入力ファイルとして指定し，HiRDBのデータベース定義ユティリティ（pddef）を実行して，クラスに対応する表を削除します。詳細については「6.2.2(1)　クラスの追加手順」のデータベース定義ユティリティの実行に関する記述を参照してください。

クラス定義情報ファイルを作成します。
削除したクラスの定義を反映したクラス定義情報ファイルをDocumentBroker オブジェクト操作ツールの動作環境に配置します。詳細については，「6.2.2(1)　クラスの追加手順」のクラス定義情報ファイルの作成に関する記述を参照してください。

DocumentBroker Object Loaderの入力データを作成します。
削除したクラスの定義を反映したDocumentBroker Object Loaderの入力データを作成します。入力データは，DocumentBroker Object Loaderを使用している場合に，クラス定義と入力ファイルを一致させるために作成します。詳細については，「6.2.2(1)　クラスの追加手順」のDocumentBroker Object Loaderの入力データに関する記述を参照してください。

6.2.4　クラスの定義の変更（オブジェクトが存在しない場合）

オブジェクトが存在しないクラスの定義の変更では，プロパティの追加，プロパティの定義の変更，またはプロパティの削除のどれかがあります。どの場合についても，クラスの定義を変更するには，次に示す方法で行います。

変更前のクラスを削除します。

変更後のクラスを追加します。

オブジェクトが存在しないクラスの定義を変更する手順を次に示します。

定義情報ファイルを作成します。
変更後のクラスの定義を記述した定義情報ファイルを，変更前の定義情報ファイルを基に作成します。作成する定義情報ファイルのクラスの定義，プロパティの定義のセクションに指定するエントリ「dmaProp_Ids」の値であるクラス識別子，プロパティ識別子は，定義の変更前と同じ値を指定してください。
定義情報ファイルの作成については，「4.7　定義情報ファイル」を参照してください。

インデクス情報ファイルを作成します。
「6.2.2(1)　クラスの追加手順」のインデクス情報ファイルの作成に関する記述を参照してください。

RDエリア定義情報ファイルを作成します。
「6.2.2(1)　クラスの追加手順」のRDエリア定義情報ファイルの作成に関する記述を参照してください。

メタ情報のバックアップを取得します。
「6.2.2(1)　クラスの追加手順」のメタ情報のバックアップの取得に関する記述を参照してください。

データベースのバックアップを取得します。
「6.2.2(1)　クラスの追加手順」および「6.2.3　クラスの削除（オブジェクトが存在しない場合）」のデータベースのバックアップの取得に関する記述を参照してください。

メタ情報の削除コマンド（EDMDelMeta）を実行します。
定義を変更するクラスの定義をメタ情報の削除コマンド（EDMDelMeta）で削除します。詳細については，「6.2.3　クラスの削除（オブジェクトが存在しない場合）」を参照してください。

データベース定義ユティリティを実行します。
手順6.で作成したデータベース定義文を入力ファイルとし，HiRDBのデータベース定義ユティリティ（pddef）を実行して定義を変更するクラスのオブジェクトを格納する表を削除します。詳細については，「6.2.2(1)　クラスの追加手順」のデータベース定義ユティリティの実行に関する記述を参照してください。

メタ情報の追加コマンド（EDMAddMeta）を実行します。
手順1.，手順2.，および手順3.で作成した定義情報ファイル，およびインデクス定義を指定して，変更するクラスの定義をメタ情報の追加コマンド（EDMAddMeta）で追加します。詳細については，「6.2.2(1)　クラスの追加手順」のメタ情報の追加コマンド（EDMAddMeta）の実行に関する記述を参照してください。

データベース定義ユティリティを実行します。
手順8.で作成したデータベース定義文を入力ファイルとし，HiRDBのデータベース定義ユティリティ（pddef）を実行して，定義を変更するクラスに対応する表を追加します。詳細については，「6.2.2(1)　クラスの追加手順」のデータベース定義ユティリティの実行に関する記述を参照してください。

クラス定義情報ファイルを作成します。
変更したクラスの定義を反映したクラス定義情報ファイルをDocumentBroker オブジェクト操作ツールの動作環境に配置します。詳細については，「6.2.2(1)　クラスの追加手順」のクラス定義情報ファイルの作成に関する記述を参照してください。

表へオブジェクトを格納します。
「6.2.2(1)　クラスの追加手順」の表へのオブジェクトの格納に関する記述を参照してください。

6.2.5　クラスの削除（オブジェクトが存在する場合）

オブジェクトが存在するクラスを削除する方法を次に示します。

削除するクラスのすべてのオブジェクトを削除します。

クラスを削除します。

オブジェクトを削除するには，クライアントアプリケーション構築製品が提供するメソッドを使用します。例えば，DocumentBroker Development Kitが提供するC++ クラスライブラリを使用している場合は，CdbrDMA::RemoveObjectメソッドを使用します。クラスを削除するには，「6.2.3　クラスの削除（オブジェクトが存在しない場合）」を参照してください。

CdbrDMA::RemoveObjectメソッドについては，マニュアル「DocumentBroker Version 3　クラスライブラリ　C++　リファレンス　基本機能編」を参照してください。

6.2.6　クラスの定義の変更（オブジェクトが存在する場合）

オブジェクトが存在するクラスの定義の変更は，プロパティを追加することで実現します。ここでは，プロパティの追加について説明します。

＜この項の構成＞

(1)　プロパティの追加

(2)　プロパティの追加手順

(3)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL

(1)　プロパティの追加

オブジェクトが存在するクラスにプロパティを追加するには，追加するプロパティの定義を記述した定義情報ファイルを作成します。そして，作成した定義情報ファイルをメタ情報の追加コマンド（EDMAddMeta）で指定して，プロパティの定義の追加，およびプロパティに対応する列を追加するデータベース定義文の生成を実行します。追加するプロパティとプロパティに対応する表の列の並びについては，「6.2.8　追加するプロパティと列の並び」を参照してください。

プロパティの追加の手順を次に示します。

(2)　プロパティの追加手順

プロパティの追加の手順では次のことに注意する必要があります。

抽象データ型
全文検索機能を使用していない定義済みのdmaClass_DocVersionクラスのサブクラスは，HiRDBの抽象データ型で定義する列を使用するため，全文検索機能を使用する場合に必要な次のプロパティを追加できません。

edmProp_TextIndexプロパティ

edmProp_StIndexプロパティ

edmProp_ConceptTextIndexプロパティ

edmProp_ConceptStIndexプロパティ

edmProp_Contentプロパティ

edmProp_Scoreプロパティ

edmProp_RawScoreプロパティ

edmProp_DocLengthプロパティ

全文検索機能付き文字列型プロパティ

なお，全文検索機能を使用している定義済みのdmaClass_DocVersionクラスのサブクラスには，データ型がBoolean型，Integer32型，およびString型のプロパティを追加できます。

オブジェクトが存在するクラスの定義を変更する手順を次に示します。

定義情報ファイルを作成します。
追加するプロパティの定義を記述する定義情報ファイルを作成します。
定義情報ファイルの作成については，「4.7　定義情報ファイル」を参照してください。

インデクス情報ファイルを作成します。
追加するプロパティに対応する列の値は，手順5.で示すようにNULL値になります。これによって，追加するプロパティにインデクスを定義する定義系SQL「CREATE INDEX」で「除外値指定」はできません。インデクス情報ファイルの作成については，「6.2.2(1)　クラスの追加手順」のインデクス情報ファイルの作成に関する記述を参照してください。

メタ情報のバックアップを取得します。
「6.2.2(1)　クラスの追加手順」のメタ情報のバックアップの取得に関する記述を参照してください。

データベースのバックアップを取得します。
表に列を追加するので，データベースのバックアップを取得します。バックアップを取得する必要があるRDエリアについては，マニュアル「HiRDB　システム運用ガイド」の，障害発生に備えた運用に関する説明での，定義系SQL「ALTER TABLE」の実行についての記述を参照してください。

メタ情報の追加コマンド（EDMAddMeta）を実行します。
手順1.，および手順2.で作成した定義情報ファイル，およびインデクス情報ファイルを指定して，メタ情報の追加コマンド（EDMAddMeta）を実行して，プロパティを追加します。
メタ情報の追加コマンド（EDMAddMeta）の-oオプションで，列を追加する定義系SQL「ALTER TABLE」を格納するデータベース定義文格納ファイルを指定します。メタ情報の追加コマンド（EDMAddMeta）は，データベース定義文格納ファイルへ定義系SQL「ALTER TABLE」の「ADD」句のすべてのオプションを出力しません。このため，必要なオプションは，データベース定義文格納ファイルをテキストエディタなどで修正して追加してください。メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQLについては，「(3)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL」を参照してください。
次に，追加したプロパティの値について説明します。ここでは，例として，C++ クラスライブラリのメソッドを使用して説明します。
定義系SQL「ALTER TABLE」の「ADD」句で追加する列の値は，NULL値が設定されます。このため，追加するプロパティの値の基本単位が「Single」で，追加するプロパティのデータ型が「Boolean型」，「Integer32型」，または「String型」の場合，追加した列の値は「NULL値」となっているので，追加したプロパティの値を参照するメソッドであるCdbrDMA::GetPropertyValuesメソッドで取得する構造体SDBR_PROPのメンバuniValueの値は「NULL」となります。なお，CdbrDMA::GetPropertyValuesAndLockメソッドの場合も同様です。
また，追加するプロパティの基本単位がVariableArray型の場合，CdbrVariableArray::GetCountメソッドで取得する要素数は0となります。
メタ情報の追加コマンド（EDMAddMeta）で追加するプロパティ定義に指定する初期値は，UAPでオブジェクトを新規に作成する場合の初期値であり，追加するプロパティには値を設定しません。

データベース定義ユティリティを実行します。
手順5.で作成したデータベース定義文を入力ファイルとして指定し，HiRDBのデータベース定義ユティリティ（pddef）を実行して，追加するプロパティに対応する列を追加します。詳細については，「6.2.2(1)　クラスの追加手順」のデータベース定義ユティリティの実行に関する記述を参照してください。

クラス定義情報ファイルを作成します。
追加したプロパティの定義を反映したクラス定義情報ファイルをDocumentBroker オブジェクト操作ツールの動作環境に配置します。詳細については，「6.2.2(1)　クラスの追加手順」のクラス定義情報ファイルの作成に関する記述を参照してください。

DocumentBroker Object Loaderの入力データを作成します。
追加したプロパティの定義を反映したDocumentBroker Object Loaderの入力データを作成します。入力データは，DocumentBroker Object Loaderを使用している場合に，クラス定義と入力ファイルを一致させるために作成します。詳細については，「6.2.2(1)　クラスの追加手順」のDocumentBroker Object Loaderの入力データに関する記述を参照してください。

(3)　メタ情報の追加コマンド（EDMAddMeta）が出力する定義系SQL

メタ情報の追加コマンド（EDMAddMeta）が出力するHiRDBのデータベース定義ユティリティ（pddef）の入力となる定義系SQLを次に示します。下線が付いている個所は，メタ情報の追加コマンド（EDMAddMeta）が出力しない定義系SQLを示します。

ALTER TABLE 〔認可識別子.〕表識別子
　　　｛ADD｛列名 データ型〔ARRAY ［最大要素数］〕
　　　　　　　　　｛{〔NULL｜NOT NULL〔WITH DEFAULT〕〕
　　　　　　　　　　｜〔〔NOT NULL〕 WITH DEFAULT〕｝
　　　　　　　　　〔WITH PROGRAM〕

6.2.7　メタ情報の追加・削除コマンドの動作

基本単位がVariableArray型であるプロパティをメタ情報の追加コマンド（EDMAddMeta）で追加する場合と，メタ情報の削除コマンド（EDMDelMeta）で削除する場合の動作を次の表に示します。

表6-1　メタ情報の追加コマンド（EDMAddMeta）の出力内容

格納先

ほかのクラスからの使用
メタ情報
定義系SQL

プロパティの定義
edmClass_Structクラスのサブクラスの定義
別表の作成
ARRAYで定義する列の追加

別表
あり
追加しない
追加しない※
出力しない
－

なし
追加する
追加しない※
出力する
－

ARRAY
あり
追加しない
追加しない※
－
出力する

なし
追加する
追加しない※
－
出力する

注※

要素を格納するクラスの追加は，プロパティを追加する前に行ってください。

表6-2　メタ情報の削除コマンド（EDMDelMeta）の出力内容

格納先

ほかのクラスからの使用
メタ情報
定義系SQL

プロパティの定義
edmClass_Structクラスのサブクラスの定義
別表の削除
ARRAYで定義する列の削除

別表
あり
削除しない
削除しない※
出力しない
－

なし
削除する
削除しない※
出力する
－

ARRAY
あり
削除しない
削除しない※
－
出力する

なし
削除する
削除しない※
－
出力する

注※

要素を格納するクラスを使用しているすべてのプロパティを削除したあと，要素を格納するクラスを削除してください。

次に，表6-1および表6-2の各列について説明します。

格納先

基本単位をVariableArray型で定義するプロパティの要素の格納先を示します。

別表

プロパティを定義するクラスに対応する表とは別の表に格納することを示します。

ARRAY

プロパティを定義するクラスに対応する表のHiRDBの繰り返し列に格納することを示します。

ほかのクラスからの使用

削除するプロパティの定義を複数のクラスで使用しているかどうかを示します。

あり

ほかのクラスから使用していることを示します。

なし

ほかのクラスから使用していないことを示します。

メタ情報

メタ情報ファイルに対する各コマンドの操作を「プロパティの定義」，「edmClass_Structのサブクラスの定義」ごとに示します。

プロパティの定義

基本単位をVariableArray型で定義しているプロパティの定義をメタ情報へ追加・削除するかどうかを示します。

edmClass_Structクラスのサブクラスの定義

基本単位をVariableArray型で定義しているプロパティの定義をメタ情報へ追加・削除する場合，要素を格納するために定義するedmClass_Structクラスのサブクラスの定義を追加・削除するかどうかを示します。

定義系SQL

各コマンドが出力する定義系SQLを示します。

別表の作成・削除

基本単位をVariableArray型で定義しているプロパティの要素をクラスに対応する表とは別の表に格納するため，その表を作成・削除する定義系SQLを出力するかどうかを示します。

ARRAYで定義する列の追加・削除

基本単位をVariableArray型で定義しているプロパティの要素をクラスに対応する表の繰り返し列で定義する列に格納するため，その列を追加・削除する定義系SQLを出力するかどうかを示します。

6.2.8　追加するプロパティと列の並び

メタ情報の追加コマンド（EDMAddMeta）で定義しているクラスへ追加するプロパティは，クラスの定義でのプロパティの並びとクラスに対応する表での列の並びが異なります。

DocumentBroker Object Loaderでは，制御ファイルのセクション「DataMapping」に指定するプロパティの並びと入力データファイルのデータの並びが一致していれば，クラスの定義でのプロパティの並びとクラスに対応する表の列の並びを意識する必要はありません。

DocumentBrokerは，ユーザが定義したクラスのオブジェクトを制御するため，クラスの定義に現れないプロパティをクラスへ追加しています。作成済みのクラスにプロパティを追加すると，定義しているクラスのプロパティの末尾へ新たにプロパティが追加されます。しかし，ユーザが定義しているクラスに対応する表の列には，DocumentBrokerがオブジェクトを制御するため，クラスの定義に現れないプロパティを追加しているので，DocumentBrokerが追加したプロパティに対応する列のあとに，ユーザが追加するプロパティに対応する列が表に追加されます。

例えば，作成済みのusrClass_DocVersionクラスにusrProp_Subtitleプロパティを追加する場合，クラスの定義と表の対応は次の図のようになります。

図6-3　クラスの定義と表の関係

usrProp_Subtitleプロパティは，クラスの定義では，プロパティの末尾に追加されています。usrClass_DocVersionクラスに対応する表では，usrProp_Subtitleプロパティに対応する列は，DocumentBrokerが定義する列のあとに追加されています。

6.3　リファレンスファイル管理機能を使用する場合の運用

この節では，リファレンスファイル管理機能を使用する場合の，コンテントの格納先ディレクトリの運用方法，およびファイルシステムのバックアップとリストアについて説明します。

＜この節の構成＞

6.3.1　コンテントの格納先ディレクトリの運用方法

6.3.2　ファイルシステムのバックアップとリストア

6.3.1　コンテントの格納先ディレクトリの運用方法

コンテントの格納先ディレクトリの運用方法として，コンテントロケーションとコンテント格納先ベースパスの管理について説明します。

コンテントの格納先ディレクトリは，コンテント格納先ベースパスとコンテントロケーションから構成されます。コンテントの格納先ディレクトリの例を次の図に示します。

図6-4　コンテントの格納先ディレクトリの例

この例は，コンテント格納先ベースパスにディレクトリ「/dev01/dir01」を設定し，またコンテント格納先パスにディレクトリ「userdir」を設定して，コンテント「sample.doc」が格納された場合を示しています。

コンテントロケーションの管理
コンテントロケーションとして，コンテント格納先ベースパスからの相対パスがデータベースに登録されます。コンテントロケーションはデータベースで管理されるため，コンテントロケーションのディレクトリ構成を変更しないでください。
なお，DocumentBrokerサーバを運用するマシンの移行などによってコンテントの格納先を変更するときは，コンテントロケーションのディレクトリ構成は変更しないでください。コンテントロケーションのディレクトリ構成を変更すると，ファイルシステム上のコンテント格納先とデータベースで管理するコンテントロケーションが不一致となり，リファレンスファイル文書を操作したときエラーになります。

コンテント格納先ベースパスの管理
コンテント格納先ベースパスは，ユーザが管理するディレクトリです。そのため，コンテント格納先ベースパスを変更しても，データベースで管理されるコンテントロケーションと不一致にならないので，ユーザがコンテント格納先ベースパスを変更できます。ただし，ファイルシステムのディスクの移行などでコンテント格納先ベースパスを変更する場合は，移行先のディスクでも，コンテントロケーションを移行前と同様のディレクトリ構成にする必要があります。このため，移行前のコンテントロケーションのディレクトリ構成を移行後のコンテント格納先にコピーしてください。
なお，ファイルシステムのディスク移行時などに，コンテントの格納先ベースパスを誤って変更した場合，またはコンテント格納先ベースパスを誤って指定した場合，ファイルシステム上のコンテント格納先とデータベースで管理するコンテントロケーションが不一致となり，リファレンスファイル文書を操作したときエラーになります。

6.3.2　ファイルシステムのバックアップとリストア

コンテントを格納するファイルシステムのバックアップおよびリストアは，OSで提供されるシステムツールなどを利用して実施します。

ファイルシステムのバックアップおよびリストアは，必ずDocumentBrokerサーバの停止中に実施してください。また，必ずデータベースのバックアップおよびリストアと同期して実施する必要があります。データベースのバックアップとリストアについては，「6.1.1　バックアップと回復」を参照してください。

6.4　障害対策

この節では，障害が発生した時にDocumentBrokerが出力する情報，障害が発生した場合に考えられる要因とその対処方法について説明します。

なお，トランザクションの処理など，データベースシステムの機能に依存している対処方法については，マニュアル「HiRDB　システム運用ガイド」，またはマニュアル「HiRDB　UAP開発ガイド」を参照してください。

＜この節の構成＞

6.4.1　障害が発生した時にDocumentBrokerが出力する情報

6.4.2　サーバマシンでの障害

6.4.3　データベースでの障害

6.4.4　セッション障害

6.4.5　定義情報の障害

6.4.6　ログの障害

6.4.7　DocumentBrokerでの障害

6.4.8　サーバ側で発生した障害情報の取得

6.4.9　クライアント側で発生した障害情報の取得

6.4.10　データベースで発生したデッドロック情報およびタイムアウト情報の取得

6.4.1　障害が発生した時にDocumentBrokerが出力する情報

ここでは，障害が発生した時に，DocumentBrokerが出力する情報について説明します。

なお，Java クラスライブラリが出力する情報については，マニュアル「DocumentBroker Version 3　クラスライブラリ　Java　解説」を参照してください。

＜この項の構成＞

(1)　メッセージ

(2)　トレースファイル

(1)　メッセージ

運用中のメッセージは，syslogファイルに出力されます。コマンド実行中のメッセージについては，標準エラー出力に出力されます。メッセージの詳細については，マニュアル「DocumentBroker Version 3　メッセージ」を参照してください。

(2)　トレースファイル

発生した障害の切り分けや，原因究明のためにトレースファイルを出力します。関数トレースやメッセージも出力されます。

トレースファイルの出力方法や出力内容については，環境変数で設定できます。

(a)　出力先ディレクトリ

トレースファイルは，環境変数「_HIEDMS_TRACE_DIR」に指定したディレクトリに出力されます。文書空間で使用する文字コード種別がUTF-8の場合，環境変数「_HIEDMS_TRACE_DIR」には，印刷可能なASCIIコードで値を指定してください。

環境変数「_HIEDMS_TRACE_DIR」を指定した場合の出力先ディレクトリは，次のとおりです。

サーバのトレースファイル

環境変数「_HIEDMS_TRACE_DIR」に指定したディレクトリ/server

クライアントのトレースファイル

環境変数「_HIEDMS_TRACE_DIR」に指定したディレクトリ/client

デフォルトの出力先ディレクトリは，次のとおりです。

サーバのトレースファイル

実行環境ディレクトリ/spool/server

クライアントのトレースファイル

次に示す優先順位で出力先が決まります。

実行環境ディレクトリ/spool/client

/var/DocBroker/spool/client

カレントディレクトリ

(b)　出力ファイル名

トレースファイルの出力ファイル名は，環境変数に指定できません。次のファイル名で出力されます。

サーバのトレースファイル名

EDMRasTrace"PID"_"NO".log

クライアントのトレースファイル名

EDMRasTraceCL"PID"_"NO".log

注意：「PID」はプロセス識別子です。「NO」はファイル番号です。

(c)　トレースファイルの保存日数

トレースファイルは，環境変数「_HIEDMS_TRACE_KEEP_DAYS」に指定した日数だけ保存されます。1～365の日数を指定します。デフォルトは70（日）です。DocumentBrokerサーバ起動時，トレースファイルの出力先ディレクトリに，環境変数「_HIEDMS_TRACE_KEEP_DAYS」で指定した保存日数を超えるトレースファイルが存在する場合，これらのファイルは削除されます。

(d)　切り替えファイル数

トレースを出力するファイルサイズの上限を超えた場合に，切り替えるファイルの数を指定できます。環境変数「_HIEDMS_TRACE_NUM」に，切り替えることができるファイルの数を0，または2～16の値で指定します。デフォルトは2です。切り替えるファイルの数の上限を超えると，最初のファイルに戻って出力します。このとき，ファイルは上書きされます。0を指定した場合，ファイルは作成されません。この場合，障害の切り分けや障害の原因究明などに必要な情報は出力されませんの注意してください。

(e)　ファイルサイズ

トレースを出力するファイルのサイズを，環境変数「_HIEDMS_TRACE_SIZE」に4,096～2,147,483,647の値で指定します。デフォルトは1,048,576（1メガバイト）です。

(f)　トレースの出力レベル

トレースの出力レベルを変更できます。環境変数「_HIEDMS_TRACE_LEVEL」にトレースレベルを指定します。デフォルトは10です。トレースレベルと出力情報について，次の表に示します。

表6-3　トレースレベルと出力情報

トレースレベル
出力情報

-1※

トレースヘッダ

0

エラーなどの必須情報

サーバの開始/終了

10（デフォルト）

トレースレベルが0の場合に出力される情報

ユーザインターフェースの情報

ほかのプログラムとのインターフェースの情報

データベースへの接続/切断

注※

トレースレベルが -1 の場合，環境変数「_HIEDMS_TRACE_NUM」にデフォルトの値，または2以上の値が指定されていても，トレースを出力するファイルの数は一つです。

6.4.2　サーバマシンでの障害

サーバマシンで障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerでの対処

(3)　ユーザの対処

(1)　障害の要因

CPU障害，メモリ障害，オペレーティングシステム障害などによって，サーバがダウンするような場合があります。

(2)　DocumentBrokerでの対処

DocumentBrokerは，データベースに格納されていないセッションおよびメモリ中のオブジェクトを破棄します。クライアントアプリケーションへは，TPBrokerから異常が通知されます。

なお，コミットされていない仕掛かり中のトランザクションの処理については，データベースシステムの機能に依存します。

(3)　ユーザの対処

次のように対処してください。

障害が発生しているサーバから出力されるメッセージなどを参照して，障害を取り除いてください。

そのあと，DocumentBrokerを再起動してください。

6.4.3　データベースでの障害

データベースで障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerでの対処

(3)　ユーザの対処

(1)　障害の要因

次の要因が考えられます。

媒体障害

ディスク障害やジャーナル障害などの発生が考えられます。

システムの停止

通信障害や異常終了によるシステムの停止が考えられます。

(2)　DocumentBrokerでの対処

DocumentBrokerは次のような処理を実行します。

データベースに格納されていないオブジェクトの状態は維持します。

トランザクションの状態は変更しません。

ただし，データベースシステム上のトランザクションの処理については，データベースシステムの機能に依存します。

(3)　ユーザの対処

次のように対処してください。

クライアントアプリケーションで，トランザクションのロールバックを実行してください。

DocumentBrokerを停止してください。

障害が発生しているサーバから出力されるメッセージなどを参照して，障害を取り除いてください。

障害が発生しているデータ格納媒体を復旧してください。

DocumentBrokerを再起動してください。

6.4.4　セッション障害

セッションに関して障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerの対処

(3)　ユーザの対処

(1)　障害の要因

通信障害，CORBA層の障害，クライアントアプリケーションの障害などによってセッションが切断される場合があります。

なお，CORBA層で障害を検知できない場合は，DocumentSpace構成定義ファイルのSessionTimeOutエントリにセッションのアイドル時間の最大値を指定して，タイムアウトを発生させることもできます。DocumentSpace構成定義ファイルについては，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(2)　DocumentBrokerの対処

DocumentBrokerは次のような処理を実行します。

データベースに格納されていないセッションおよびメモリ中のオブジェクトを破棄します。

コミットされていない仕掛かり中のトランザクションをロールバックします。

(3)　ユーザの対処

次のように対処してください。

障害が発生しているサーバから出力されるメッセージなどを参照して，障害を取り除いてください。クライアントアプリケーションの障害の場合は，クライアントアプリケーションの障害を取り除いてください。

セッションが切断されたクライアントから，再度ログインしてください。

6.4.5　定義情報の障害

定義情報に関して障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerの対処

(3)　ユーザの対処

(1)　障害の要因

定義情報の格納媒体の障害や定義内容に誤った定義がされている場合があります。

(2)　DocumentBrokerの対処

DocumentBrokerの起動に失敗します。「(3)　ユーザの対処」を参照して，障害の要因を取り除いてください。

(3)　ユーザの対処

次のように対処してください。

障害が発生しているサーバから出力されるメッセージなどを参照して，障害を取り除いてください。

定義情報の格納媒体に障害が発生している場合は，バックアップから定義情報を回復してください。

DocumentBrokerを再起動してください。

なお，メタ情報の定義内容が正しいかどうかを確認する場合には，メタ情報の記述内容の確認コマンド（EDMChkMeta）を使用できます。また，定義されているクラス・プロパティとデータベースに作成されている表・列の定義が一致しているかどうかを確認する場合には，データベースの表・列の確認コマンド（EDMChkTbl）を使用できます。詳細については，「7.3　コマンドの文法」の「EDMChkMeta（メタ情報の記述内容の確認）」および「EDMChkTbl（データベースの表・列の確認）」を参照してください。

6.4.6　ログの障害

ログに関して障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerの対処

(3)　ユーザの対処

(1)　障害の要因

ログ情報が出力される媒体の障害が考えられます。

(2)　DocumentBrokerの対処

エラーメッセージを出力して，処理は継続します。

(3)　ユーザの対処

次のように対処してください。

DocumentBrokerを停止してください。

出力されているエラーメッセージなどを参照して，障害を取り除いてください。

DocumentBrokerを再起動してください。

6.4.7　DocumentBrokerでの障害

DocumentBrokerで障害が発生した場合に考えられる障害の要因と対処について説明します。

＜この項の構成＞

(1)　障害の要因

(2)　DocumentBrokerの対処

(3)　ユーザの対処

(1)　障害の要因

サーバ監視プロセスまたはサービスプロセスの異常終了が考えられます。

(2)　DocumentBrokerの対処

DocumentBrokerは次のような処理を実行します。

サーバ監視プロセスが異常終了した場合

DocumentBrokerはすべてのプロセスを停止して，データベースに格納されていないセッションおよびメモリ中のオブジェクトを破棄します。クライアントアプリケーションへは，TPBrokerから異常が通知されます。

なお，コミットされていない仕掛かり中のトランザクションの処理については，データベースシステムの機能に依存します。

サービスプロセスが異常終了した場合

DocumentBrokerはサービスプロセスを再起動します。

異常終了したサービスプロセスに接続していたすべてのクライアントに対しては，データベースに格納されていないオブジェクトを破棄して，TPBrokerから異常が通知されます。

なお，コミットされていない仕掛かり中のトランザクションの処理については，データベースシステムの機能に依存します。

(3)　ユーザの対処

次のように対処してください。

出力されているエラーメッセージなどを参照して，障害を取り除いてください。

サーバ監視プロセスが異常終了した場合は，DocumentBrokerを再起動してください。

6.4.8　サーバ側で発生した障害情報の取得

DocumentBrokerの運用中に障害が発生した場合，障害の種類を切り分けたり障害の原因を究明したりするために，トレースなどのトラブルシュート情報を取得する必要があります。

サーバ側で発生した障害に関する障害情報を取得するには，サーバ側の障害情報取得コマンド（EDMGetRas）を使用できます。このコマンドを使用すると，必要なトラブルシュート情報を，指定したディレクトリに退避できます。

ここでは，サーバ側の障害情報取得コマンド（EDMGetRas）を実行して取得できる情報の種類，構成および取得情報のカスタマイズ方法について説明します。

＜この項の構成＞

(1)　取得できる障害情報の種類

(2)　障害情報が出力されるファイル

(3)　取得する障害情報のカスタマイズ（getrascustom.ini）

(1)　取得できる障害情報の種類

サーバ側の障害情報取得コマンド（EDMGetRas）で取得できる障害情報について，次に示します。

なお，これらの情報のうち，どの情報を取得するかは，サーバ側の障害情報取得コマンド（EDMGetRas）実行時にオプションとして指定する収集種別によって指定できます。

$DOCBROKERDIR/spool下の全ファイル
システム保守情報を取得できます。

$DOCBROKERDIR/etc下の全ファイル
ユーザ環境情報を取得できます。

$DOCBROKERDIR/tmp下の全ファイル
テンポラリファイルを取得できます。

$_HIEDMS_TRACE_DIR下の全ファイル
トレースファイルを取得できます。
このディレクトリ下のファイルは，環境変数「_HIEDMS_TRACE_DIR」が設定されている場合だけ取得できます。なお，この環境変数が設定されていない場合，トレースファイルは，$DOCBROKERDIR/spool下に出力されています。

詳細エラーログファイル
クライアントが出力する詳細エラーログファイルを取得できます。
環境変数「DBR_DETAIL_ERRORLOG_DIR」が設定されている場合だけ取得できます。文書空間で使用する文字コード種別がUTF-8の場合，環境変数「DBR_DETAIL_ERRORLOG_DIR」には，印刷可能なASCIIコードで値を設定してください。

OS情報
次の情報を取得できます。

uname -aコマンドの実行結果情報

lslpp -lコマンドの実行結果情報（AIXの場合）

rpm -q -a コマンドの実行結果情報（Linuxの場合）

/etc/hostsファイル

環境情報
envコマンドによって出力される情報を取得できます。

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）
TPBrokerのトレース情報を取得できます。この情報は，TPBrokerの環境変数「VBROKER_ADM」が設定されている場合だけ取得できます。なお，この環境変数が設定されていない場合，取得できません。

getrascustom.iniの[Path]セクションで指定されたファイル
getrascustom.iniの[Path]セクションで指定されたファイルを取得できます。
詳細については，「(3)取得する障害情報のカスタマイズ（getrascustom.ini）」を参照してください。

DocumentBroker Serverのバージョン情報（DocBro_Version.txt）
DocumentBroker Serverのバージョン情報を取得できます。

(2)　障害情報が出力されるファイル

障害情報は，コマンド実行時にオプションとして指定した出力先ディレクトリ下に作成される，次のファイルに出力されます。

EDM_<ホスト名>_<YYYYMMDDhhmmss>.tar.Z（AIXの場合）またはEDM_<ホスト名>_<YYYYMMDDhhmmss>.tar.gz (Linuxの場合)
取得した障害情報を圧縮したファイルです。

EDM_<ホスト名>_<YYYYMMDDhhmmss>.txt
EDMGetRasコマンド内で発行されるOSコマンドの実行結果を格納したファイルです。

ファイル名の文字列の意味は次のとおりです。

<ホスト名>

コマンドを実行したホスト名（最大64バイト）を表す文字列です。

<YYYYMMDDhhmmss>

コマンドを実行した時刻を表す文字列です。

YYYY：西暦年号（4けた），MM：月（2けた），DD：日（2けた），hh：時（2けた），mm：分（2けた），ss：秒（2けた）で構成されます。

(3)　取得する障害情報のカスタマイズ（getrascustom.ini）

取得する障害情報の種類をカスタマイズする場合は，サーバの障害情報取得カスタマイズファイル（getrascustom.ini）を編集します。このファイルは，次のディレクトリに格納されています。

getrascustom.iniの格納ディレクトリ（サーバ側）

実行環境ディレクトリ/etc

getrascustom.iniの構成について説明します。

同一名称のセクションを複数指定した場合，最初に指定したセクションが有効になります。また，指定できないセクションを指定した場合，その指定は無視されます。

なお，各エントリの値として指定できるエントリ値の長さは，1,023バイトまでです。「;」で始まる行はコメント行として扱われます。

[Path]セクション

コマンドで取得する情報以外に取得したい情報がある場合に指定します。

「エントリ名=フルパス」の形式で指定してください。エントリ名は，32バイト以内の文字列で指定してください。

指定したパスがファイルの場合は，そのファイルだけを収集します。ディレクトリの場合は，そのディレクトリを階層ごと収集します。

[Path]セクションで指定した情報は，次のファイルに出力されます。

エントリ名.tar

getrascustom.iniの記述例

[Path]
syslog=/var/adm/syslog

6.4.9　クライアント側で発生した障害情報の取得

DocumentBrokerの運用中に障害が発生した場合，障害の種類を切り分けたり障害の原因を究明したりするために，トレースなどのトラブルシュート情報を取得する必要があります。

クライアント側で発生した障害に関する障害情報を取得するには，クライアント側の障害情報取得コマンド（EDMGetRasCL）を使用できます。このコマンドを使用すると，必要なトラブルシュート情報を指定したディレクトリに退避できます。

ここでは，クライアント側の障害情報取得コマンド（EDMGetRasCL）を実行して取得できる障害情報の種類，構成および取得情報のカスタマイズ方法について説明します。

Java クラスライブラリが出力するトレースファイルは取得の対象ではありません。

＜この項の構成＞

(1)　取得できる障害情報の種類

(2)　障害情報が出力されるファイル

(3)　取得する障害情報のカスタマイズ（getrascustom.ini）

(1)　取得できる障害情報の種類

クライアント側の障害情報取得コマンド（EDMGetRasCL）で取得できる障害情報について，次に示します。

なお，これらの情報のうち，どの情報を取得するかは，クライアント側の障害情報取得コマンド（EDMGetRasCL）実行時にオプションとして指定する収集種別によって指定できます。

$_HIEDMS_FTPDIR/spool下の全ファイル
ファイル転送サービスの保守情報を取得できます。
このディレクトリ下のファイルは，環境変数「_HIEDMS_FTPDIR」が設定されている場合だけ取得できます。

$_HIEDMS_FTPDIR/etc下の全ファイル
ファイル転送サービスのユーザ環境情報を取得できます。
このディレクトリ下のファイルは，環境変数「_HIEDMS_FTPDIR」が設定されている場合だけ取得できます。

$_HIEDMS_FTPDIR/tmp下の全ファイル
ファイル転送サービスのテンポラリファイルを取得できます。
このディレクトリ下のファイルは，環境変数「_HIEDMS_FTPDIR」が設定されている場合だけ取得できます。

クライアントおよびファイル転送サービスのトレースファイル
クライアントおよびファイル転送サービスのトレースファイルを取得できます。
取得するトレースファイルは，次の順序で検索されます。

$_HIEDMS_TRACE_DIR

$DOCBROKERDIR/spool

/var/DocBroker/spool/client

カレントディレクトリ

環境変数「_HIEDMS_TRACE_DIR」を設定していない場合は，getrascustom.iniファイルに出力先を指定することをお勧めします。

詳細エラーログファイル
クライアントが出力する詳細エラーログファイルを取得できます。
環境変数「DBR_DETAIL_ERRORLOG_DIR」が設定されている場合だけ取得できます。文書空間で使用する文字コード種別がUTF-8の場合，環境変数「DBR_DETAIL_ERRORLOG_DIR」には，印刷可能なASCIIコードで値を設定してください。

OS情報
次の情報を取得できます。

uname -aコマンドの実行結果情報

lslpp -lコマンドの実行結果情報（AIXの場合）

rpm -q -a コマンドの実行結果情報（Linuxの場合）

/etc/hostsファイル

環境情報
envコマンドによって出力される情報を取得できます。

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）
TPBrokerのトレース情報を取得できます。この情報は，TPBrokerの環境変数「VBROKER_ADM」が設定されている場合だけ取得できます。なお，この環境変数が設定されていない場合，取得できません。

getrascustom.iniの[Path]セクションで指定されたファイル
getrascustom.iniの[Path]セクションで指定されたファイルを取得できます。
詳細については，「(3)取得する障害情報のカスタマイズ（getrascustom.ini）」を参照してください。

DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報（DocBro_Version.txt）
DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報を取得できます。

(2)　障害情報が出力されるファイル

障害情報は，コマンド実行時にオプションとして指定した出力先ディレクトリ下に作成される，次のファイルに出力されます。

EDMCL_<ホスト名>_<YYYYMMDDhhmmss>.tar.Z（AIXの場合）またはEDM_<ホスト名>_<YYYYMMDDhhmmss>.tar.gz (Linuxの場合)
取得した障害情報を圧縮したファイルです。

EDMCL_<ホスト名>_<YYYYMMDDhhmmss>.txt
EDMGetRasCLコマンド内で発行されるOSのコマンドの実行結果を格納したファイルです。

ファイル名の文字列の意味は次のとおりです。

<ホスト名>

コマンドを実行したホスト名（最大64バイト）を表す文字列です。

<YYYYMMDDhhmmss>

コマンドを実行した時刻を表す文字列です。

YYYY：西暦年号（4けた），MM：月（2けた），DD：日（2けた），hh：時（2けた），mm：分（2けた），ss：秒（2けた）で構成されます。

(3)　取得する障害情報のカスタマイズ（getrascustom.ini）

取得する障害情報の種類をカスタマイズする場合は，クライアントの障害情報取得カスタマイズファイル（getrascustom.ini）を編集します。このファイルは，次のディレクトリに格納されています。

getrascustom.iniの格納ディレクトリ（クライアント側）

/opt/HiEDMS/client/etc

このファイルの記述内容については，サーバ側の障害情報の取得コマンドで使用するgetrascustom.iniと同じです。詳細については，「6.4.8(3)　取得する障害情報のカスタマイズ（getrascustom.ini）」を参照してください。

なお，クライアント側の障害情報の取得コマンド（EDMGetRasCL）で参照されるgetrascustom.iniを編集する場合，次の手順で編集してください。

getrascustom.iniをローカルディレクトリにコピーします。

コピーしたgetrascustom.iniを編集して保存します。

編集が完了したgetrascustom.iniを格納したディレクトリのフルパスを，環境変数「_HIEDMS_GETRAS_INI」として設定します。
文書空間で使用する文字コード種別がUTF-8の場合は，印刷可能なASCIIコードで値を設定してください。

6.4.10　データベースで発生したデッドロック情報およびタイムアウト情報の取得

DocumentBrokerの運用中にデータベース（HiRDB）でデッドロックやタイムアウトが発生した場合，障害の種類を切り分けたり，障害の原因を究明したりするために，トレースなどのトラブルシュート情報を取得します。

データベースで発生したデッドロックおよびタイムアウトに関する情報を取得するためには，データベースのデッドロックおよびタイムアウトの監視コマンド（EDMLckWatcher）を使用できます。このコマンドを使用すると，必要なトラブルシュート情報を，指定したディレクトリに退避できます。また，退避した情報を圧縮することもできます。

データベースのデッドロックおよびタイムアウトの監視コマンド（EDMLckWatcher）で取得できる情報や出力ディレクトリの詳細については，「7.3　コマンドの文法」の「EDMLckWatcher（データベースのデッドロックおよびタイムアウトの監視）」を参照してください。

6.5　アクセスログに関する運用

この節では，アクセスログ取得機能を使用する場合の設定について説明します。

＜この節の構成＞

6.5.1　アクセスログの取得

6.5.2　アクセスログの出力形式

6.5.3　出力ログ情報

6.5.1　アクセスログの取得

ここでは，アクセスログの出力先とアクセスログを取得するための設定について説明します。

＜この項の構成＞

(1)　アクセスログファイル

(2)　アクセスログを取得する場合の制御情報の設定

(3)　注意事項

(1)　アクセスログファイル

アクセスログファイルは，実行環境ディレクトリ/spool/aclogに格納されています。

(2)　アクセスログを取得する場合の制御情報の設定

アクセスログを取得する場合の制御情報は，DocumentSpace構成定義ファイルの［Entry0001］セクションを構成する次のエントリの指定方法に依存します。

AcLogUseエントリ

AcLogLevelエントリ

AcLogFileCountエントリ

AcLogFileSizeエントリ

アクセスログの管理方法に従って，最適な設定をしてください。各エントリの指定方法については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

(3)　注意事項

アクセスログ取得機能は，DocumentBrokerサーバを再起動した場合，継続して最終更新ファイルにアクセスログを出力します。

6.5.2　アクセスログの出力形式

アクセスログファイルの出力形式を次に示します。

yyyy/mm/dd hh:mm:ss. ms UserID LogInformation

なお，LogInformation内は，スペースで区切られて出力されます。カラム位置は調整されません。次に，アクセスログの各項目を説明します。

yyyy/mm/dd

アクセスした日付（年，月，日）を示します。

hh:mm:ss. ms

アクセスした時刻（時，分，秒，ミリ秒）を示します。

UserID

アクセスしたユーザのユーザ識別子を示します。

LogInformation

出力ログ情報を示します。

6.5.3　出力ログ情報

DocumentBrokerサーバの処理に対して出力される出力ログ情報を次の表に示します。

表6-4　出力ログ情報

操作 | 出力ログ情報 | 出力レベル
セッションの確立 | CONNECT <文書空間識別子> | W，R，E
セッションの切断 | DISCONNECT | W，R，E
オブジェクトの作成 | CREATE OBJECT <OIID> | W，R，E
オブジェクトの削除 | DELETE OBJECT <OIID> | W，R，E
オブジェクトとの接続 | CONNECT OBJECT <OIID> | R，E
オブジェクトの接続の解除 | RELEASE OBJECT <OIID> | R，E
オブジェクト一覧の取得 | LIST OBJECTS <OIID> | R，E
オブジェクトを包含するコンテナ一覧の取得 | LIST PARENTS <OIID> | R，E
コンテナに包含されるオブジェクト一覧の取得 | LIST CHILDREN <OIID> | R，E
LIST CHILDREN <OIID><バージョン識別子> | R，E
オブジェクト間の関連づけの設定 | LINK <OIID><OIID> | W，R，E
LINK <リンク識別子><OIID><OIID> | W，R，E
LINK <OIID><OIID><バージョン識別子> | W，R，E
オブジェクト間の関連づけの解除 | UNLINK <リンク識別子><OIID> | W，R，E
UNLINK <リンク識別子><OIID><OIID> | W，R，E
UNLINK <リンク識別子><OIID><OIID><バージョン識別子> | W，R，E
ACLのバインド | BIND ACLS <OIID> | W，R，E
BIND ACLS <OIID><バージョン識別子> | W，R，E
ACLのバインドの解除 | UNBIND ACLS <OIID> | W，R，E
UNBIND ACLS <OIID><バージョン識別子> | W，R，E
ACL一覧の取得 | LIST ACLS <OIID> | R，E
LIST ACLS <OIID><バージョン識別子> | R，E
バージョンのチェックイン | CHECKIN VERSION <OIID> | W，R，E
バージョンのチェックアウト | CHECKOUT VERSION <OIID> | W，R，E
チェックアウトの取り消し | REVOKE VERSION <OIID> | W，R，E
バージョンの削除 | DELETE VERSION <OIID><バージョン識別子> | W，R，E
バージョンの固定 | SET MODE FIX <OIID> | W，R，E
SET MODE FIX <リレーション識別子> <OIID> | W，R，E
SET MODE FIX <リンク識別子> <OIID> | W，R，E
バージョンの固定の解除 | SET MODE FLOATING <OIID> | W，R，E
SET MODE FLOATING <リンク識別子><OIID> | W，R，E
バージョン一覧の取得 | LIST VERSIONS <OIID> | R，E
バージョン管理情報一覧の取得 | LIST VERSIONABLES <OIID> | R，E
リザベーションの取得 | GET RESERVATION <OIID> | R，E
リレーション情報の作成 | CREATE RELATION <OIID><OIID> | W，R，E
CREATE RELATION <OIID><バージョン識別子><OIID><バージョン識別子> | W，R，E
リレーション情報の削除 | DELETE RELATION <OIID> | W，R，E
リレーション情報の一覧取得 | LIST RELATIONS <OIID> | R，E
LIST RELATIONS <OIID><バージョン識別子> | R，E
LIST RELATIONS <バージョン識別子> | R，E
レンディションの作成 | CREATE RENDITION <OIID> | W，R，E
CREATE RENDITION <OIID><バージョン識別子> | W，R，E
レンディションの削除 | DELETE RENDITION <OIID> | W，R，E
DELETE RENDITION <OIID><バージョン識別子> | W，R，E
マスタレンディションの変更 | CHANGE MASTER RENDITION <OIID> | W，R，E
CHANGE MASTER RENDITION <OIID><バージョン識別子> | W，R，E
レンディションの一覧取得 | LIST RENDITIONS <OIID> | R，E
LIST RENDITIONS <OIID><バージョン識別子> | R，E
プロパティの設定 | SET PROPERTIES <OIID> | W，R，E
SET PROPERTIES <OIID><バージョン識別子> | W，R，E
SET PROPERTIES <OIID><レンディションタイプ> | W，R，E
SET PROPERTIES <リレーション識別子><OIID> | W，R，E
SET PROPERTIES <OIID><リンク識別子> | W，R，E
プロパティの取得 | GET PROPERTIES <OIID> | R，E
GET PROPERTIES <OIID><バージョン識別子> | R，E
GET PROPERTIES <OIID><リンク識別子> | R，E
ファイルのアップロード | UPLOAD CONTENT <OIID> | W，R，E
UPLOAD CONTENT <OIID><バージョン識別子> | W，R，E
ファイルのダウンロード | DOWNLOAD CONTENT <OIID> | R，E
DOWNLOAD CONTENT <OIID><バージョン識別子> | R，E
全文検索インデクスの作成 | CREATE INDEX <OIID> | W，R，E
CREATE INDEX <OIID><バージョン識別子> | W，R，E
全文検索インデクスの削除 | DELETE INDEX <OIID> | W，R，E
DELETE INDEX <OIID><バージョン識別子> | W，R，E
edmSQLの構文チェック | PREPARE | R，E
問い合わせの実行 | EXECUTE SEARCH | R，E
EXECUTE SEARCH <From句のクラス識別子の並び（16個まで）> | R，E
問い合わせの実行と問い合わせ結果の取得 | EXECUTE SEARCH & GET RESULT <From句のクラス識別子の並び（16個まで）> | R，E
問い合わせ結果の削除 | DELETE RESULT | R，E
エラー | ERROR <major_code><minor_code> | E

（凡例）

W：Writeレベル。作成，削除，更新，リンクなどのアクセスレベルについて，アクセスログへの出力を指定する。

R：Readレベル。Writeレベルの出力に加えて，セッション確立／切断，プロパティ参照，検索などのアクセスレベルについて，アクセスログへの出力を指定する。

E：Errorレベル。Readレベルの出力に加えて，当該APIでエラーが発生した場合についてもアクセスログへの出力を指定する。

次に，出力ログ情報の詳細について説明します。

＜この項の構成＞

(1)　文書空間識別子

(2)　OIID

(3)　バージョン識別子

(4)　リンク識別子

(5)　リレーション識別子

(6)　レンディションタイプ

(7)　From句のクラス識別子の並び（16個まで）

(8)　major_codeおよびminor_code

(1)　文書空間識別子

DocumentSpace構成定義ファイルのSerialIDエントリに指定した値です。

(2)　OIID

操作したオブジェクトのOIIDです。

(3)　バージョン識別子

操作したオブジェクトのバージョンに対する情報を次の表に示します。

表6-5　バージョン識別子

操作内容 | 出力文字
バージョン識別子を指定した操作 | 指定されたバージョン識別子
バージョンなしオブジェクトに対する操作 | 出力なし
バージョン全体に対する操作 | 出力なし

(4)　リンク識別子

コンテインメントを解除した，または構成管理モードを設定したコンテインメントのリンク識別子です。

(5)　リレーション識別子

文書間に設定されたリレーションを識別するための識別子です。

(6)　レンディションタイプ

操作したレンディションのレンディションタイプです。レンディションタイプを指定しないで操作した場合は出力されません。

(7)　From句のクラス識別子の並び（16個まで）

検索を実行する場合，検索条件として指定するFrom句のクラス識別子（36バイト）です。このクラス識別子は，連続して16個まで出力されます。出力されたそれぞれのクラス識別子の間には，半角スペース（1バイト）が入ります。出力形式（△を半角スペースとします）を次に示します。

From句のクラス識別子の並びの出力形式

クラス識別子△クラス識別子△・・・△クラス識別子

(8)　major_codeおよびminor_code

クラスライブラリの戻り値です。戻り値の詳細は，マニュアル「DocumentBroker Version 3　メッセージ」を参照してください。

6.6　エラーログに関する運用

この節では，エラーログを使用する場合の設定について説明します。

＜この節の構成＞

6.6.1　エラーログの取得

6.6.2　エラーログの出力形式

6.6.1　エラーログの取得

ここでは，エラーログの出力先とエラーログを取得するための設定について説明します。

＜この項の構成＞

(1)　エラーログファイル

(2)　エラーログを取得する場合の制御情報の設定

(1)　エラーログファイル

DocumentBrokerサーバで発生したエラー情報は，エラーログファイルとして，実行環境ディレクトリ/spool/errlogに出力されます。エラー情報とは，出力されるメッセージのうち「error」で示されるメッセージのことです。

(2)　エラーログを取得する場合の制御情報の設定

エラーログを取得する場合の制御情報は，DocumentSpace構成定義ファイルの［DocSpace］セクションを構成する次のエントリの指定方法に依存します。

ErrLogFileCountエントリ

ErrLogFileSizeエントリ

エラーログの管理方法に従って，最適な設定をしてください。各エントリの指定方法については，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

6.6.2　エラーログの出力形式

エラーログファイルの出力形式を次に示します。

yyyy/mm/dd hh:mm:ss.ms Pid Tid ClassName MethodName LogInformation

なお，LogInformation内は，スペースで区切られて出力されます。カラム位置は調整されません。次に，エラーログの各項目を説明します。

yyyy/mm/dd

エラーが発生した日付（年，月，日）を示します。

hh:mm:ss.ms

エラーが発生した時間（時，分，秒，ミリ秒）を示します。

Pid

エラーが発生したサーバプロセス識別子を示します。

Tid

エラーが発生したサーバプロセスのスレッド識別子を示します。

ClassName

メッセージを出力したクラス名を示します。

MethodName

メッセージを出力したメソッド名を示します。

LogInformation

出力されたエラーメッセージを示します。

7.　コマンドリファレンス

この章では，DocumentBrokerで使用するコマンドの種類と文法について説明します。

＜この章の構成＞

7.1　コマンドの種類

7.2　コマンドの形式

7.3　コマンドの文法

7.1　コマンドの種類

この節では，DocumentBrokerで使用するコマンドの種類について説明します。DocumentBrokerで使用するコマンドは，システム運用コマンド，データベース運用コマンド，システム導入支援コマンド，およびトラブルシュートコマンドに分けられます。コマンドを実行できるユーザは，システム管理者だけです。また，これらのコマンドを実行する場合，DocumentBrokerの実行環境ディレクトリ下（$DOCBROKERDIR/bin）に格納されているコマンドを使用してください。ただし，「EDMGetRasCLコマンド」は，AIXを使用する場合で，TPBroker V3を使用するときは「/opt/HiEDMS/client/bin」に格納されているコマンドを使用してください。AIXを使用する場合で，TPBroker V5を使用するときは「/opt/HiEDMS/client/bin_tp5」に格納されているコマンドを使用してください。Linuxを使用する場合は，「/opt/HiEDMS/client/bin」に格納されているコマンドを使用してください。

文書空間で使用する文字コード種別がUTF-8の場合，使用できるコマンドに制限があります。使用できるコマンドの詳細は，「付録I　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド」を参照してください。

＜この節の構成＞

7.1.1　システム運用コマンド

7.1.2　データベース運用コマンド

7.1.3　システム導入支援コマンド

7.1.4　トラブルシュートコマンド

7.1.1　システム運用コマンド

システム運用コマンドの一覧を次の表に示します。

表7-1　システム運用コマンド一覧

コマンド | 機能 | 実行のタイミング
EDMRefresher | サービスプロセスのリフレッシュ | 起動中
EDMSetup | DocumentBrokerの実行環境の作成と削除 | 停止中
EDMStart | DocumentBrokerの起動 | 停止中
EDMStop | DocumentBrokerの終了 | 起動中
EDMUsrView | 文書空間に接続しているユーザ一覧出力 | 起動中（引数の指定によっては停止中も実行可能）

（凡例）

起動中：

DocumentBrokerサーバの起動中にコマンドを実行することを示します。

停止中：

DocumentBrokerサーバの停止中にコマンドを実行することを示します。

7.1.2　データベース運用コマンド

データベース運用コマンドの一覧を次の表に示します。

表7-2　データベース運用コマンド一覧

コマンド | 機能 | 実行のタイミング | 排他モード
EDMAddMeta | メタ情報の追加 | 停止中 | EX
EDMCreateIds | ユーザ定義識別子ファイルの作成 | SH
EDMCrtSimMeta | クラス定義情報ファイルの作成 | SH
EDMCrtSql | DocumentBroker用データベース定義文の作成 | SH
EDMDelMeta | メタ情報の削除 | EX
EDMInitMeta | メタ情報の初期設定 | EX
EDMPrintMeta | メタ情報ファイルの出力 | EX
EDMRegEnvId | DocumentBroker実行環境の情報の登録 | EX
EDMXmlMap | XML定義ファイルの追加／更新／削除 | SH

（凡例）

停止中：

DocumentBrokerサーバの停止中にコマンドを実行できます。

EX：

排他モードがEX，SHのコマンドは同時に実行できません。

該当するコマンドを実行中の場合，EDMStartコマンドは失敗します。

SH：

排他モードがEXのコマンドは同時に実行できません。

排他モードがSHのコマンドは同時に実行できます。

該当するコマンドを実行中の場合，EDMStartコマンドは失敗します。

7.1.3　システム導入支援コマンド

システム導入支援コマンドの一覧を次に示します。

表7-3　システム導入支援コマンド一覧

コマンド
機能
実行のタイミング

EDMCDefDocSpace
文書空間の定義
停止中
なお，次のコマンドと同時に実行できません。

EDMAddMeta

EDMChkMeta

EDMChkTbl

EDMCreateIds

EDMCreateSimMeta

EDMCrtSql

EDMDelMeta

EDMInitMeta

EDMPrintMeta

EDMRegEnvId

EDMXmlMap

EDMCBuildDocSpace
文書空間の構築
停止中
なお，次のコマンドと同時に実行できません。

EDMAddMeta

EDMChkMeta

EDMChkTbl

EDMCreateIds

EDMCreateSimMeta

EDMCrtSql

EDMDelMeta

EDMInitMeta

EDMPrintMeta

EDMRegEnvId

EDMXmlMap

（凡例）

停止中：

DocumentBrokerサーバの停止中にコマンドを実行できます。

7.1.4　トラブルシュートコマンド

トラブルシュートコマンドの一覧を次の表に示します。

表7-4　トラブルシュートコマンド一覧

コマンド
機能
実行のタイミング

EDMChkMeta
メタ情報の記述内容の確認
停止中
なお，次のコマンドと同時に実行できません。

EDMAddMeta

EDMCDefDocSpace

EDMCBuildDocSpace

EDMChkTbl

EDMDelMeta

EDMInitMeta

EDMPrintMeta

EDMRegEnvId

EDMChkTbl
データベースの表・列の確認
停止中
なお，次のコマンドと同時に実行できません。

EDMAddMeta

EDMCDefDocSpace

EDMCBuildDocSpace

EDMChkMeta

EDMDelMeta

EDMInitMeta

EDMPrintMeta

EDMRegEnvId

EDMGetRas
サーバ側の障害情報の取得
起動中または停止中

EDMGetRasCL
クライアント側の障害情報の取得

EDMLckWatcher
データベースのデッドロックおよびタイムアウトの監視

（凡例）

起動中：

DocumentBrokerサーバの起動中にコマンドを実行できます。

停止中：

DocumentBrokerサーバの停止中にコマンドを実行できます。

7.2　コマンドの形式

この節では，コマンドの入力形式，使用方法および注意事項について説明します。

＜この節の構成＞

(1)　入力形式

(2)　入出力

(3)　コマンドの実行可能ファイルに対するアクセス権限

(1)　入力形式

コマンドの入力形式を次に示します。

コマンド名称〔オプション…〕

(a)　コマンド名

コマンド名は，実行するコマンドのファイル名です。

(b)　オプション

オプションの入力形式の規則を次に示します。なお，説明文で使用する「$」はシェルのプロンプト，「cmd」はコマンド名を表します。

オプションの形式

オプションはマイナス記号で始まる文字列で，次に示すように，引数を取らないか，または1個の引数を取ります。

形式1：－オプションフラグ

形式2：－オプションフラグ＜空白またはタブ＞フラグ引数

（凡例）

オプションフラグ：1文字の英数字で，英大文字・小文字は区別される

フラグ引数：オプションフラグに対する引数

オプションの指定規則

フラグ引数を取らないオプションフラグは，一つのマイナス記号のあとにまとめて指定できません。
誤った指定例：$ cmd -abc
正しい指定例：$ cmd -a -b -c

フラグ引数を必要とするオプションフラグのフラグ引数は省略できません。
例えば，オプションフラグ-aがフラグ引数を取る場合，次のように入力すると-bはフラグ引数とみなされます。

$ cmd -a -b

オプションフラグとフラグ引数の間には空白またはタブが必要です。
誤った指定例：$ cmd -afile
正しい指定例：$ cmd -a file

同じオプションフラグを2回以上指定できません。例えば，「$ cmd -a 1 -a 2」とは入力できません。

マイナス記号だけのオプションは入力できません。例えば，「$ cmd -」と入力すると「-」はコマンド引数とみなされます。

文書空間で使用する文字コード種別がUTF-8の場合に，オプションのフラグ引数としてファイルのパスを指定するとき，パスは印刷可能なASCIIコードで記述します。

(2)　入出力

(a)　入力

入力は，すべてコマンドのオプション，引数の並びです。

(b)　出力

コマンド処理が正常に終了した場合の出力は，すべて標準出力に対して実行します。また，終了コードの一覧を次の表に示します。

表7-5　終了コード一覧

終了コード | 意味
0 | 正常終了
1 | 警告つき正常終了
2 | 引数エラー
それ以外 | そのほかのエラー

コマンド処理がエラーになった場合（終了コードが「0」以外）は，メッセージをすべて標準エラー出力に出力します。引数エラーになった場合（終了コードが「2」）は，標準エラー出力にコマンドの使用方法（USAGE）を出力します。出力形式は次のとおりです。

出力形式

Usage:xxxx yyyy

xxxx：コマンド名称が出力されます。

yyyy：コマンドの指定形式が表示されます。

出力例

Usage:command -a -b option_arg_1 〔-c〕〔-d option_arg_2〕…

　　　 {-e | -f option_arg_3}

(3)　コマンドの実行可能ファイルに対するアクセス権限

コマンドの実行可能ファイルにアクセスしてコマンドを実行できるユーザはシステム管理者だけです。

7.3　コマンドの文法

この節では，コマンドの文法について説明します。なお，各コマンドは，アルファベット順に説明します。

EDMRefresherコマンド，EDMStopコマンド，およびEDMUsrViewコマンドは，DocumentBrokerサーバの起動中に実行してください。これ以外のコマンドは，DocumentBrokerサーバの停止中に実行してください。なお，EDMGetRasコマンド，EDMGetRasCLコマンドおよびEDMLckWatcherコマンドは，DocumentBrokerサーバ起動中またはDocumentBrokerサーバ停止中のどちらでも実行できます。

使用できるデータベースシステムはHiRDBです。したがって，コマンドの文法はHiRDBを使用する場合の記述形式になっています。

＜この節の構成＞

EDMAddMeta（メタ情報の追加）

EDMCBuildDocSpace（文書空間の構築）

EDMCDefDocSpace（文書空間の定義）

EDMChkMeta（メタ情報の記述内容の確認）

EDMChkTbl（データベースの表・列の確認）

EDMCreateIds（ユーザ定義識別子ファイルの作成）

EDMCrtSimMeta（クラス定義情報ファイルの作成）

EDMCrtSql（DocumentBroker用データベース定義文の作成）

EDMDelMeta（メタ情報の削除）

EDMGetRas（サーバ側の障害情報の取得）

EDMGetRasCL（クライアント側の障害情報の取得）

EDMInitMeta（メタ情報の初期設定）

EDMLckWatcher（データベースのデッドロックおよびタイムアウトの監視）

EDMPrintMeta（メタ情報ファイルの出力）

EDMRefresher（サービスプロセスのリフレッシュ）

EDMRegEnvId（DocumentBroker実行環境の情報の登録）

EDMSetup（DocumentBrokerの実行環境の作成と削除）

EDMStart（DocumentBrokerの起動）

EDMStop（DocumentBrokerの終了）

EDMUsrView（文書空間に接続しているユーザ一覧出力）

EDMXmlMap（XML定義ファイルの追加／更新／削除）

EDMAddMeta（メタ情報の追加）

機能

引数に指定した定義情報ファイルの内容を基に，サブクラスとプロパティを追加します。サブクラスまたはプロパティを追加した場合は，自動的に動作環境メタ情報ファイルも更新されます。

形式

EDMAddMeta  〔-g〕
             -f 定義情報ファイル名
           〔-D〕
           〔-o データベース定義文格納ファイル
           〔-c〕
           〔-i インデクス情報ファイル名〕
           〔-r RDエリア定義情報ファイル名〕
           〔-u { ALL | PARTIAL | NO }〕
           〔-n〕
            〕

オプション

-g

GUID値を自動設定する場合に指定します。このオプションを省略する場合は，定義情報ファイル内のGUIDを定義する個所にGUID値を指定しておく必要があります。なお，メタ情報ファイル内にGUID値を指定しているときにこのオプションを指定した場合，メタ情報ファイル内に指定しているGUID値を優先します。

-f 定義情報ファイル名

定義情報ファイル名を相対パスまたは絶対パスで指定します。定義情報ファイルについては，「4.7　定義情報ファイル」を参照してください。

-D

プロパティのデフォルト値をクラスごとに設定する場合に指定します。

複数のクラスに対して同じ名前のプロパティを追加する場合に，クラスごとにプロパティのデフォルト値を設定できます。

-fオプションに指定する定義情報ファイルに，［AddProperty/クラス名］セクションに続くエントリとして，プロパティのデフォルト値を記述します。

デフォルト値を記述するプロパティを次に示します。

dmaProp_PropertyDefaultStringプロパティ

dmaProp_PropertyDefaultInteger32プロパティ

dmaProp_PropertyDefaultBooleanプロパティ

定義情報ファイルの記述方法については，「4.7　定義情報ファイル」を参照してください。

-Dオプションを指定したときと省略したとき，それぞれで有効になるプロパティを次に示します。

-Dオプションを指定したとき

定義情報ファイルに設定したクラスごとのプロパティのデフォルト値が有効になります。

定義情報ファイルで，クラスごとのプロパティのデフォルト値の設定を省略すると，データ型ごとに設定したプロパティのデフォルト値の記述が有効になります。

-Dオプションを省略したとき

メタ情報に定義済みのプロパティのデフォルト値が有効になります。

-o データベース定義文格納ファイル

作成したデータベース定義文を格納するファイルを相対パスまたは絶対パスで指定します。このオプションを指定した場合，定義情報ファイルの内容によって，データベース定義文に出力されるSQL文が異なります。

サブクラスを追加する場合
定義系SQL「CREATE TABLE」文がデータベース定義文に出力されます。

追加済みのクラスにプロパティを追加する場合
定義系SQL「ALTER TABLE」文がデータベース定義文に出力されます。

-c

-oオプションを指定した場合だけ指定できるオプションです。

表名，列名に対して注釈を付けるSQL文を出力する場合に指定します。注釈となる文字列は，定義情報ファイルに指定したクラスおよびプロパティそれぞれのdmaProp_DescriptiveTextプロパティに指定されている値（文字列）です。なお，dmaProp_DescriptiveTextプロパティの指定を省略した場合は，dmaProp_DisplayNameプロパティに指定した値になります。

-i インデクス情報ファイル名

-oオプションを指定した場合だけ指定できるオプションです。

追加するプロパティに対して定義系SQL「CREATE INDEX」文（インデクス定義文）を出力する場合に，インデクス情報ファイル名を相対パスまたは絶対パスで指定します。インデクス情報ファイルについては，「4.9　インデクス情報ファイル」を参照してください。

-r RDエリア定義情報ファイル名

-oオプションを指定した場合だけ指定できるオプションです。

RDエリア定義情報ファイル名を相対パスまたは絶対パスで指定します。

-oオプションで指定したデータベース定義文格納ファイル中のRDエリア名を，指定したRDエリア定義情報ファイルの情報に従って出力する場合に指定します。RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

-u { ALL | PARTIAL | NO }

-oオプションを指定した場合だけ指定できるオプションです。

コンテント格納用RDエリア，およびSGMLTEXTデータ格納用RDエリアに対して，データベースの更新ログ取得方式を指定します。

ALL

ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。ログ取得モードで運用すると，ロールバックおよびロールフォワードに必要なデータベースの更新ログを取得します。

PARTIAL

更新前ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。更新前ログ取得モードで運用すると，ロールバックに必要なデータベースの更新ログを取得します。

NO

ログレスモードでユーザLOB用RDエリアを運用する場合に指定します。ログレスモードで運用すると，データベースの更新ログを取得しません。

なお，このオプションを省略した場合，「ALL」が仮定されます。

指定するデータベースの更新ログ取得方式によって，障害が発生した場合のユーザLOB用RDエリアの回復方法は異なります。また，必要となるログ容量も異なります。障害が発生した場合のユーザLOB用RDエリアの回復方法については，マニュアル「HiRDB　システム運用ガイド」を参照してください。また，ログ容量については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

-n

-oオプションを指定した場合だけ指定できるオプションです。

OIIDを格納するプロパティに対応する列に，非ナル値制約を与える場合に指定します。非ナル値制約とは，指定した列の値に，ナル値を許さない制約のことです。ただし，次のOIIDを格納するプロパティに対応する列には，非ナル値制約を与えません。

複数のクラスを一つの表に格納するクラスの場合の，二つ目以降のクラスのOIIDを格納するプロパティに対応する列

HiRDBの繰り返し列に定義されるOIIDを格納するプロパティに対応する列

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前には，EDMInitMetaコマンドでメタ情報をデータベースに登録しておく必要があります。

データベースの初期設定をする場合は，EDMCrtSqlコマンドを実行する前に，このコマンドを実行してください。

このコマンドはデータベース自身の定義であるエリアの定義は実行しません。必要なエリアの定義は，出力されるデータベース定義文に追加してください。

このコマンドで追加した定義を削除するには，EDMDelMetaコマンドを実行してください。または，コマンド実行前に取得したデータベースのバックアップをリストアしてください。したがって，コマンドを実行する前にはデータベースのバックアップを取得してください。

次に示す場合は，インデクス格納RDエリアの名称として「USR_INDEX_AREA」が出力されます。

-iオプションにインデクス情報ファイル名を指定し，-rオプションを省略してこのコマンドを実行した場合

RDエリア定義情報ファイルの［IndexArea］セクションに，インデクス情報ファイルに記述した項目に対応するRDエリアの定義を記述していない状態で，-iオプションにインデクス情報ファイル名を指定し，-rオプションにRDエリア定義情報ファイル名を指定してこのコマンドを実行した場合

実行結果であるデータベース定義文に対してエリア定義などの必要な項目を追加，修正してからデータベースを作成してください。ただし，-rオプションを指定した場合は，RDエリア定義情報ファイルの指定に従って，RDエリア名が出力されます。

EDMInitMetaコマンドの-vオプションで指定した値によって，出力するデータベース定義文は異なります。

HiRDBのオンライン再編成機能を使用する場合，-nオプションを指定してください。なお，メタ情報の表およびOIIDを格納する表は，オンライン再編成機能の対象外です。オンライン再編成機能の対象外の表は，オンライン再編成機能の対象となる表とRDエリアを分けてください。オンライン再編成機能の詳細については，マニュアル「HiRDB Staticizer Option」を参照してください。

EDMCBuildDocSpace（文書空間の構築）

機能

文書空間定義コマンド（EDMCDefDocSpace）の実行によって作成された定義情報を使用して，文書空間を新規に構築します。

文書空間定義コマンド（EDMCDefDocSpace）とこのコマンドを使用して文書空間を構築する場合には，さまざまな定義ファイルを作成して，メタ情報の初期設定コマンド（EDMInitMeta），メタ情報の追加コマンド（EDMAddMeta），DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびクラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を使用する必要はありません。

このコマンドの実行後に出力される情報は次のとおりです。

出力情報

データベース定義文格納ファイル（EDMtable.txt）
データベース定義文を記述したファイルです。必要に応じて，システム管理者がファイルを編集してください。ファイルを編集する場合，このコマンドで，-m printオプションを指定して実行してください。

クラス定義情報ファイル（<文書空間識別子>.ini）
詳細については，「4.10　クラス定義情報ファイル」を参照してください。

形式

EDMCBuildDocSpace
             [ -m { print | exec } ]
             [ -o  出力ディレクトリ名 ]

オプション

-m { print | exec }

このコマンドを実行するモードを指定します。

なお，このオプションを省略した場合，「print」が仮定されます。

print

データベース定義文格納ファイルおよびクラス定義情報ファイルを出力します。

exec

データベース定義文格納ファイルおよびクラス定義情報ファイルを作成し，データベース定義を実行します。

データベース定義文格納ファイルおよびクラス定義情報ファイルは，"実行環境ディレクトリ/env"に出力されます。任意のディレクトリ下にも出力する場合には，-oオプションを指定します。

-m printオプションを指定してデータベース定義文格納ファイルを出力した場合は，HiRDBのデータベース定義ユティリティを使用してデータベース定義を実行してください。

-o 出力ディレクトリ名

データベース定義文格納ファイルおよびクラス定義情報ファイルを任意のディレクトリ下に出力する場合に，ファイルを格納するディレクトリのパス名を相対パスまたは絶対パスで指定します。

このオプションの指定の有無に関係なく，"実行環境ディレクトリ/env"にデータベース定義文格納ファイル（EDMtable.txt）およびクラス定義情報ファイル（<文書空間識別子>.ini）を出力します。

注意事項

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前に，文書空間定義コマンド（EDMCDefDocSpace）を実行して，文書空間を構築するための定義情報を作成してください。

指定する出力ディレクトリ名のパス長は，末尾のパスの区切り文字を含まないで218バイト以内で指定してください。

コマンド実行後に出力されるファイル名と同一名のファイルがある場合には，出力ファイル名.bakの名称でバックアップファイルを作成します。このバックアップファイルは，出力ファイルをカスタマイズしたあとコマンドを再度実行した場合に，カスタマイズした内容を確認したいときなどに使用します。ただし，バックアップファイルをそのまま使用して，HiRDBのデータベース定義ユティリティを実行しないでください。コマンド実行時にバックアップファイルがある場合，バックアップファイルは上書きされます。

このコマンドを実行するときには，DocumentSpace構成定義ファイルに次のエントリを必ず指定してください。

Processエントリ

SerialIdエントリ

DbTypeエントリ

PdHostエントリ

PdNamePortエントリ

PdUserエントリ

文書空間定義コマンド（EDMCDefDocSpace）の実行後，出力されるRDエリア定義情報ファイル中のRDエリア名は，文書クラス定義ファイルで指定したクラスやインデクスの数に応じて，文書空間情報ファイルで指定したRDエリア名＋通番の名称に変更されている場合があります。このRDエリア名を変更する場合には，"実行環境ディレクトリ/env"のRDエリア定義情報ファイルの内容をカスタマイズしてから，このコマンドを実行してください。

このコマンドの実行後に出力されるデータベース定義文格納ファイルをカスタマイズする場合は，-m printオプションを指定してコマンドを実行してください。その後，出力されたデータベース定義文格納ファイルの内容を変更してください。変更したデータベース定義は，HiRDBのデータベース定義ユティリティを使用して実行します。

文書空間定義コマンド（EDMCDefDocSpace）の実行後に出力されるインデクス情報ファイルは，編集しないでください。インデクスの定義を変更する場合には，文書空間定義コマンド（EDMCDefDocSpace）の入力情報となる文書クラス定義ファイルを変更し，再度，文書空間定義コマンド（EDMCDefDocSpace）を実行します。

アクセス制御機能を使う場合，セキュリティ定義ファイルやユーザ権限定義ファイルは，ユーザが編集してください。セキュリティ定義ファイルやユーザ権限定義ファイルの変更は，文書空間定義コマンド（EDMCDefDocSpace）とこのコマンドの実行には影響しません。

EDMCDefDocSpace（文書空間の定義）

機能

文書空間を新規に構築する場合に必要な定義情報を作成します。

このコマンドを実行すると，追加するクラスや格納する文書数などの情報（文書クラス定義ファイル）や，ユーザが定義する文書空間の構成情報（文書空間情報ファイル）を基に，文書空間を構築するための定義情報やデータベースの容量を見積もるための基礎情報が出力されます。これらの情報を基に，文書空間構築コマンド（EDMCBuildDocSpace）を実行すると，文書空間を構築できます。

このコマンドと文書空間構築コマンド（EDMCBuildDocSpace）を使用して文書空間を構築する場合には，さまざまな定義ファイルを作成して，メタ情報の初期設定コマンド（EDMInitMeta），メタ情報の追加コマンド（EDMAddMeta），DocumentBroker用データベース定義文の作成コマンド（EDMCrtSql），およびクラス定義情報ファイルの作成コマンド（EDMCrtSimMeta）を使用する必要はありません。

このコマンドの実行後に出力される情報は次のとおりです。次のファイルは，"実行環境ディレクトリ/env"に出力されます。

出力情報

見積もり基礎情報ファイル（EDMestimate.csv）
データベースの見積もり基データとして使用するファイルです。詳細については，「4.17　見積もり基礎情報ファイル」を参照してください。

定義情報ファイル（EDMdefine.txt）
文書空間構築コマンド（EDMCBuildDocSpace）の入力情報となるファイルです。詳細については，「4.7　定義情報ファイル」を参照してください。

RDエリア定義情報ファイル（EDMrdarea.txt）
文書空間構築コマンド（EDMCBuildDocSpace）の入力情報となるファイルです。詳細については，「4.8　RDエリア定義情報ファイル」を参照してください。

インデクス情報ファイル（EDMindex.txt）
文書空間構築コマンド（EDMCBuildDocSpace）の入力情報となるファイルです。詳細については，「4.9　インデクス情報ファイル」を参照してください。

形式

EDMCDefDocSpace
             -f 文書クラス定義ファイル名
             -s 文書空間情報ファイル名
           〔-e { all | resource } 〕

オプション

-f 文書クラス定義ファイル名

文書クラス定義ファイルは，構築する文書空間に追加するクラスを定義したファイルです。文書クラス定義ファイル名を相対パスまたは絶対パスで指定します。このファイルのサンプルファイルは，"/opt/HiEDMS/sample/EDMclassdef.csv "に提供されています。

詳細については，「4.15　文書クラス定義ファイル」を参照してください。

-s 文書空間情報ファイル名

文書空間情報ファイルは，文書空間のアクセス制御情報や使用するRDエリア名を定義するファイルです。文書空間情報ファイル名を相対パスまたは絶対パスで指定します。このファイルのサンプルファイルは，"/opt/HiEDMS/sample/EDMdocinfo.txt"に提供されています。

詳細については，「4.16　文書空間情報ファイル」を参照してください。

-e { all | resource }

文書空間定義時の実行モードを指定します。

なお，このオプションを省略した場合，「all」が仮定されます。

all

データベース容量見積もりの基礎情報および文書空間を構築するための定義情報を出力するときに指定します。

resource

データベース容量見積もりの基礎情報だけを出力するときに指定します。

注意事項

コマンド実行後に出力されるファイル名と同一名のファイルがある場合には，出力ファイル名.bakの名称でバックアップファイルを作成します。このバックアップファイルは，出力ファイルをカスタマイズしたあとコマンドを再度実行した場合に，カスタマイズした内容を確認したいときなどに使用します。ただし，バックアップファイルをそのまま使用して文書空間構築コマンド（EDMCBuildDocSpace）を実行しないでください。このコマンド実行時にバックアップファイルがある場合は，バックアップファイルは上書きされます。

このコマンドを実行するときには，DocumentSpace構成定義ファイルに次のエントリを必ず指定してください。

SerialIdエントリ

Processエントリ

DbTypeエントリ

PdHostエントリ

PdNamePortエントリ

PdUserエントリ

このコマンドの実行後に出力されるRDエリア定義情報ファイル中のRDエリア名は，文書クラス定義ファイルで指定したクラスやインデクスの数に応じて，文書空間情報ファイルで指定したRDエリア名＋通番の名称に変更されている場合があります。このRDエリア名を変更する場合には，RDエリア定義情報ファイルの内容をカスタマイズしてから，文書空間構築コマンド（EDMCBuildDocSpace）を実行してください。

このコマンドの実行後に出力されるインデクス情報ファイルは，編集しないでください。インデクスの定義を変更する場合には，このコマンドの入力情報となる文書クラス定義ファイルを変更し，再度，このコマンドを実行します。

アクセス制御機能を使う場合，セキュリティ定義ファイルやユーザ権限定義ファイルは，ユーザが編集してください。セキュリティ定義ファイルやユーザ権限定義ファイルの変更は，このコマンドおよび文書空間構築コマンド（EDMCBuildDocSpace）の実行には影響しません。

実行モード（-eオプション）にresourceを指定して見積もり基礎情報ファイルを出力した場合は，-eオプションにallを指定して文書空間を構築するための定義情報を事前に作成していても，データベース容量見積もりの基礎情報と文書空間を構築するための定義情報が不整合とならないよう，再度，-eオプションにallを指定してこのコマンドを実行し，文書空間を構築するための定義情報を作成してください。

EDMChkMeta（メタ情報の記述内容の確認）

機能

メタ情報の定義を追加または変更する場合に，コマンドのオプションに指定するメタ情報ファイルの記述内容を確認します。確認した記述内容に誤りがある場合，標準エラー出力にメッセージを出力します。チェックされる内容の詳細については，「付録H　メタ情報の記述内容」を参照してください。

形式

EDMChkMeta  -f メタ情報ファイル名
         〔-c クラス名(,クラス名)...|-s セクション名(,セクション名)...〕
         〔-r { OBJECT | OBJCLASS | ALL }〕

オプション

-f

記述内容を確認したいオブジェクト定義を記述するメタ情報ファイルを指定します。このとき，メタ情報ファイル名は，コマンドを実行するディレクトリからの相対パス，絶対パス，またはカレントディレクトリで指定します。メタ情報ファイルについては，「4.6　メタ情報ファイル」を参照してください。

-c

確認するクラス名を指定します。

クラス名には，-fオプションに指定するメタ情報ファイルのオブジェクト定義を記述するセクションを指定します。つまり，メタ情報の追加コマンド（EDMAddMeta）の定義情報ファイルに指定するアクション名，［AddSubClass］セクションのdmaProp_DisplayNameプロパティの値を指定します。

-cオプションは，オブジェクト定義，オブジェクト定義から参照するクラス定義，およびプロパティ定義を確認する場合に指定します。

-cオプションに指定するクラス名は，-fオプションに指定するメタ情報ファイルに存在する必要があります。

-s

確認するセクション名を指定します。

セクション名には，-fオプションに指定するメタ情報ファイルのクラス定義，またはプロパティ定義を記述するセクションを指定します。

-sオプションは，クラス定義，またはプロパティ定義を確認する場合に指定します。ただし，クラス定義，またはプロパティ定義から，オブジェクト定義については確認できません。したがって，クラス定義，またはプロパティ定義を変更し，-sオプションを指定してこのコマンドを実行した場合，オブジェクト定義は確認されません。クラス定義，またはプロパティ定義の変更とあわせてオブジェクト定義を確認するためには，-cオプションでこのコマンドを実行してください。

また，-sオプションに指定するセクション名は，-fオプションに指定するメタ情報に存在する必要があります。

-r { OBJECT | OBJCLASS | ALL }

メタ情報のチェック範囲をOBJECT，OBJCLASS，ALLの中から指定します。指定する値のチェック範囲と，指定する値が有効な場合について次に説明します。

OBJECT

-cオプション，および-sオプションで指定するクラス，およびセクションをチェックします。つまり，指定したクラスだけをチェックします。

オブジェクト定義を一部変更した場合に指定します。

OBJCLASS

OBJECTを指定した場合にチェックする範囲に加えて，-cオプションおよび-sオプションで指定するクラス，およびセクションをチェックするために参照するクラス定義のセクションについてもチェックします。

ユーザクラスの追加やクラス定義を変更した場合に指定します。

ALL

-cオプションおよび-sオプションで指定するクラス，およびセクションから参照が可能なすべてのセクションをチェックします。

システム提供のクラスおよびセクションも含めて，メタ情報全体をチェックする場合に指定します。

なお，このオプションを省略した場合，「ALL」が仮定されます。また，指定できない値を指定した場合，Usageが出力されます。

注意事項

-fオプションに指定するメタ情報ファイルと同じディレクトリにすべてのメタ情報ファイルを格納する必要があります。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

次のコマンドの実行中は，このコマンドを実行しないでください。

EDMAddMetaコマンド

EDMChkTblコマンド

EDMDelMetaコマンド

EDMInitMetaコマンド

EDMPrintMetaコマンド

EDMRegEnvIdコマンド

EDMCDefDocSpaceコマンド

EDMCBuildDocSpaceコマンド

edmsys.ini，edmsysclass.ini，edmsysprop.ini，edmnmclass.ini，およびedmnmprop.iniのメタ情報ファイルについては，このコマンドを実行した場合にエラーが発生しても定義に問題はありませんので，そのまま利用してください。これらのファイルは内部処理で使用するため，オブジェクト定義を指定するメタ情報ファイルとはフォーマットが異なります。

-rオプションにOBJECTを指定する場合，あらかじめクラス定義に誤りがないかどうかをチェックしておく必要があります。-rオプションにOBJECTを指定した場合，-cオプションおよび-sオプションで指定したクラスおよびセクションについてはチェックしますが，クラス定義についてはチェックしません。しかし，オブジェクト定義をチェックするときはクラス定義を参照するため，クラス定義に誤りがあると-cオプションおよび-sオプションで指定したクラスおよびセクションを正しくチェックできません。

-cオプションおよび-sオプションを指定しない場合，-fオプションで指定したメタ情報ファイルのすべてのセクションをチェックします。

このコマンドの実行中に，メッセージ「Ignore: An error occurred in initialization of a trace object.」が標準エラー出力に出力される場合があります。このメッセージが出力された場合，コマンドの処理は続行されますが，トレースファイルは出力されません。このメッセージが出力された場合，メモリ不足が原因と考えられるため，ほかの実行中のアプリケーションを終了させるか，または実メモリを増設してから，このコマンドを再度実行してください。

このコマンドの実行中に，メッセージ「Ignore: An error occurred in initialization of a message object.」が標準エラー出力に出力される場合があります。このメッセージが出力された場合，コマンドの処理は続行されますが，メッセージが正しく表示されないことがあります。このメッセージが出力された場合，メモリ不足が原因と考えられるため，ほかの実行中のアプリケーションを終了させるか，または実メモリを増設してから，このコマンドを再度実行してください。

EDMChkTbl（データベースの表・列の確認）

機能

定義されているクラス・プロパティとデータベースに作成している表・列の定義が一致しているかどうかを確認します。一致していない場合，標準エラー出力にメッセージを出力します。

なお，データベースに格納されたオブジェクト（永続オブジェクト）を格納するデータベースは，DocumentSpace構成定義ファイルのDbTypeエントリの値を参照します。この値に「HIRDB」が指定されているかどうかを確認して実行してください。

形式

EDMChkTbl 〔-p〕 -f メタ情報ファイル名 〔-c クラス名(,クラス名)...〕

オプション

-p

データベースに格納しているメタ情報を基にクラス・プロパティの定義と，データベースに作成している表・列の定義が一致しているかどうかを確認する場合に指定します。このオプションを指定する場合，-fオプションにはオブジェクト定義を記述しているメタ情報ファイル名だけを指定します。このオプションを省略する場合，-fオプションに指定するメタ情報ファイルとデータベースに作成している表・列の定義が一致しているかどうかを確認します。

-f

オブジェクト定義が記述されているメタ情報ファイルを指定します。メタ情報ファイル名は，-pオプションを省略する場合，コマンドを実行するディレクトリからの相対パス，絶対パス，またはカレントディレクトリで指定します。すべてのメタ情報ファイルは，-fオプションに指定するオブジェクト定義を記述するメタ情報ファイルと同じディレクトリに格納されている必要があります。

なお，-pオプションを指定する場合，オブジェクト定義を記述しているメタ情報ファイル名だけを指定します。メタ情報ファイルについては，「4.6　メタ情報ファイル」を参照してください。

-c

クラスおよびプロパティの定義が，データベースの表および列の定義と一致しているかどうかを確認するクラス名を指定します。つまり，メタ情報の追加コマンド（EDMAddMeta）の定義情報ファイルに指定するアクション名，[AddSubClass]セクションのdmaProp_DisplayNameプロパティの値を指定します。

-fオプションに指定するメタ情報ファイルには，このオプションで指定するクラスの記述が必要です。

このオプションを省略する場合，永続オブジェクトを格納するすべてのクラスを対象に，クラスおよびプロパティの定義と，データベースの表および列が一致しているかどうかを確認します。

このオプションは，幾つかのクラスを指定して，指定するクラスの定義が表および列の定義と一致しているかどうかを確認する場合に使用します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前に，メタ情報の登録とデータベースの表の作成を完了しておく必要があります。

次のコマンドの実行中は，このコマンドを実行しないでください。

EDMAddMetaコマンド

EDMChkMetaコマンド

EDMDelMetaコマンド

EDMInitMetaコマンド

EDMPrintMetaコマンド

EDMRegEnvIdコマンド

EDMCDefDocSpaceコマンド

EDMCBuildDocSpaceコマンド

このコマンドの実行中に，メッセージ「Ignore: An error occurred in initialization of a trace object.」が標準エラー出力に出力される場合があります。このメッセージが出力された場合，コマンドの処理は続行されますが，トレースファイルは出力されません。このメッセージが出力された場合，メモリ不足が原因と考えられるため，ほかの実行中のアプリケーションを終了させるか，または実メモリを増設してから，このコマンドを再度実行してください。

このコマンドの実行中に，メッセージ「Ignore: An error occurred in initialization of a message object.」が標準エラー出力に出力される場合があります。このメッセージが出力された場合，コマンドの処理は続行されますが，メッセージが正しく表示されないことがあります。このメッセージが出力された場合，メモリ不足が原因と考えられるため，ほかの実行中のアプリケーションを終了させるか，または実メモリを増設してから，このコマンドを再度実行してください。

EDMCreateIds（ユーザ定義識別子ファイルの作成）

機能

DocumentBrokerの動作環境メタ情報ファイルに定義されているユーザ定義のクラス，およびプロパティにそれぞれ対応する識別子を，指定するファイルに出力します。なお，このコマンドを実行した場合の出力例については，「4.11　ユーザ定義識別子ファイルおよびユーザ定義識別子変数ファイル」を参照してください。

形式

EDMCreateIds  -i ユーザ定義識別子ファイル名
           〔-v ユーザ定義識別子変数ファイル名
             -c { A | B | T }〕
           〔-p プリフィクス 〕

オプション

-i ユーザ定義識別子ファイル名

ユーザ定義のクラス，およびプロパティのそれぞれに対応するユーザ定義識別子を出力する，ユーザ定義識別子ファイルを指定します。ユーザ定義識別子ファイル名を，相対パスまたは絶対パスで指定します。ユーザ定義識別子ファイル名は，英小文字，英大文字，数字，「.」（ピリオド），「_」（下線文字），および「-」（マイナス記号）で指定します。

ユーザ定義のクラスのクラス名は，動作環境メタ情報ファイルでクラス定義が記述されている，ClassDescriptionのdmaProp_DisplayNameエントリの値です。ユーザ定義のプロパティのプロパティ名は，動作環境メタ情報ファイルでプロパティ定義が記述されている，PropertyDescriptionのdmaProp_DisplayNameの値です。これらのユーザ定義のクラスおよびプロパティのユーザ定義識別子は，dmaProp_Idsプロパティのリストの要素として指定するエントリであるユーザ定義識別子の値となります。

また，このユーザ定義識別子ファイルには，ヘッダの二重インクルードを防止するマクロをファイルの先頭と末尾に出力します。マクロ名は，「'_'+ユーザ定義識別子ファイル名」です。ただし，英小文字は英大文字に，「.」（ピリオド）および「-」（マイナス記号）は「_」（下線文字）に，変換されます。

-v ユーザ定義識別子変数ファイル名

ユーザ定義のクラス，およびプロパティに対応するユーザ定義識別子を設定した変数の宣言を出力する，ユーザ定義識別子変数ファイルを指定します。ユーザ定義識別子変数ファイル名を，相対パスまたは絶対パスで指定します。ユーザ定義識別子変数ファイル名は，英小文字，英大文字，数字，「.」（ピリオド），「_」（下線文字），および「-」（マイナス記号）で指定します。なお，ユーザ定義識別子変数ファイル名として，-iオプションに指定するユーザ定義識別子ファイルと同じファイルを指定した場合，エラーになります。

また，このユーザ定義識別子変数ファイルには，ヘッダの二重インクルードを防止するマクロをファイルの先頭と末尾に出力します。マクロ名は，「'_'+ユーザ定義識別子変数ファイル名」です。ただし，英小文字は英大文字に，「.」（ピリオド）および「-」（マイナス記号）は「_」（下線文字）に，変換されます。

出力されたユーザ定義識別子変数ファイルをインクルードする場合，EDMAPP_INIT_IDを定義するかどうかによって，変数を宣言だけするか，変数の宣言と定義をするかが異なります。複数のファイルでユーザ定義識別子変数ファイルをインクルードする場合，変数の重複した定義を避けるため，EDMAPP_INIT_IDを定義するファイルは一つだけにしてください。

EDMAPP_INIT_IDを定義する場合の記述形式

#define  EDMAPP_INIT_ID
#include  "ユーザ定義識別子ファイル名"

変数が，宣言・定義されます。

EDMAPP_INIT_IDを定義しない場合の記述形式

#include  "ユーザ定義識別子ファイル名"

変数が宣言されます。

-c { A | B | T }

このオプションは，-vオプションを指定した場合，有効になります。-vオプションを指定した場合は，このオプションを必ず指定してください。

コマンドを実行して作成するファイルで，文字コードセットに対応してインクルードするヘッダファイルの種別を指定します。インクルードするヘッダファイルは，二重インクルードを防止するマクロ定義とともに出力します。このオプションに指定する値が対応する文字コードセットについて，次に説明します。

A

char対応ヘッダファイルをインクルードします。

B

wchar_t対応ヘッダファイルをインクルードします。

T

charおよびwchar_t対応ヘッダファイルをインクルードします。

インクルードするファイルと二重インクルードを防止するマクロの対応関係を次の表に示します。

表7-6　インクルードファイル名と二重インクルードを防止するマクロの対応関係

-cオプションの引数 | インクルードファイル名 | 二重インクルードを防止するマクロ定義
A | dmatypesA.h | DMATYPESA_H
dmacom.h | DMACOM_H
dmaifaceA.h | DMAIFACEA_H
dmaids.h | DMAIDS_H
B | dmatypes.h | DMATYPES_H
dmacom.h | DMACOM_H
dmaiface.h | DMAIFACE_H
dmaids.h | DMAIDS_H
T | dmatypesT.h | DMATYPEST_H
dmacom.h | DMACOM_H
dmaifaceT.h | DMAIFACET_H
dmaids.h | DMAIDS_H

-p プリフィクス

コマンドの実行によって作成したファイル中のマクロ名にプリフィクスを付ける場合，プリフィクス名を指定します。プリフィクス名は，英小文字，英大文字，数字，および「_」（下線文字）で指定します。ただし，先頭の文字は，英小文字または英大文字を指定してください。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

EDMCrtSimMeta（クラス定義情報ファイルの作成）

機能

メタ情報ファイルから，Java クラスライブラリやDocumentBroker オブジェクト操作ツールなどで使用するクラス定義情報ファイルを作成します。クラス定義情報ファイルは，接続する文書空間識別子にサフィックス「.ini」を付加したファイル名で，オプションで指定したディレクトリに出力されます。なお，クラス定義情報ファイルについては，「4.10　クラス定義情報ファイル」を参照してください。

形式

EDMCrtSimMeta  〔-l 出力先ディレクトリ名〕

オプション

-l 出力先ディレクトリ名

クラス定義情報ファイルを出力するディレクトリを，相対パスまたは絶対パスで指定します。このオプションを省略した場合，クラス定義情報ファイルを，"実行環境ディレクトリ/etc/meta_files"に出力します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

EDMCrtSql（DocumentBroker用データベース定義文の作成）

機能

データベースに登録されているメタ情報を基に，DocumentBrokerのデータベースを初期設定するために必要なデータベース定義文を作成します。また，オプションの指定によって，定義系SQL「CREATE INDEX」文を作成します。

形式

EDMCrtSql  -o データベース定義文格納ファイル名
        〔-t HIRDB〕
        〔-c〕
        〔-i インデクス情報ファイル名〕
        〔-j インデクスのコメント情報出力ファイル名〕
        〔-r RDエリア定義情報ファイル名〕
        〔-m〕
        〔-u { ALL | PARTIAL | NO}〕
        〔-n〕

オプション

-o データベース定義文格納ファイル名

作成したデータベース定義文を格納するファイルのパス名を指定します。

-t HIRDB

永続オブジェクトを格納するデータベースを指定します。使用できるデータベースシステムはHiRDBです。したがって，フラグ引数として「HIRDB」を指定してください。

-c

表名，列名に対して注釈を付けるSQL文を出力する場合に指定します。注釈となる文字列は，メタ情報ファイルのClassDescriptionセクションおよびPropertyDescriptionセクションの「dmaProp_DescriptiveText」に指定されている値（文字列）です。なお，この値が指定されていないクラスに対応する表およびプロパティに対応する列には，注釈を付けるSQL文は出力されません。

-i インデクス情報ファイル名

インデクス定義をするための情報を記述したファイルのパス名を指定します。インデクス情報ファイルについては，「4.9　インデクス情報ファイル」を参照してください。

-j インデクスのコメント情報出力ファイル名

インデクスのコメントを出力するファイル名を指定します。このファイルには，インデクス定義文，クラス名およびプロパティ名が出力されます。

-r RDエリア定義情報ファイル名

RDエリア定義情報ファイル名を相対パスまたは絶対パスで指定します。

-oオプションで指定したデータベース定義文格納ファイル中のRDエリア名を，指定したRDエリア定義情報ファイルの情報に従って出力する場合に指定します。RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

-m

複数の異なる文書オブジェクトを，同時に一つの文書オブジェクトに対して関連づける場合に指定します。この場合，次に示すクラスのプロパティに対して複数列インデクスを定義します。

edmClass_Relationshipクラス

dmaProp_Headプロパティ

なお，このオプションの指定を省略した場合，それぞれのプロパティに対して単一列インデクスが定義されます。

-u { ALL | PARTIAL | NO }

コンテント格納用RDエリア，およびSGMLTEXTデータ格納用RDエリアに対して，データベースの更新ログ取得方式を指定します。

ALL

ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。ログ取得モードで運用すると，ロールバックおよびロールフォワードに必要なデータベースの更新ログを取得します。

PARTIAL

更新前ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。更新前ログ取得モードで運用すると，ロールバックに必要なデータベースの更新ログを取得します。

NO

ログレスモードでユーザLOB用RDエリアを運用する場合に指定します。ログレスモードで運用すると，データベースの更新ログを取得しません。

なお，このオプションを省略した場合，「ALL」が仮定されます。

指定するデータベースの更新ログ取得方式によって，障害が発生した場合のユーザLOB用RDエリアの回復方法は異なります。また，必要となるログ容量も異なります。障害が発生した場合のユーザLOB用RDエリアの回復方法については，マニュアル「HiRDB　システム運用ガイド」を参照してください。また，ログ容量については，マニュアル「HiRDB　システム導入・設計ガイド」を参照してください。

-n

OIIDを格納するプロパティに対応する列に非ナル値制約を与える場合に指定します。非ナル値制約とは，指定した列の値に，ナル値を許さない制約のことです。ただし，次のOIIDを格納するプロパティに対応する列には，非ナル値制約を与えません。

edmClass_OIIDクラスのOIIDを格納するプロパティに対応する列

複数のクラスを一つの表に格納するクラスの場合の，二つ目以降のクラスのOIIDを格納するプロパティに対応する列

HiRDBの繰り返し列に定義されるOIIDを格納するプロパティに対応する列

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前には，EDMInitMetaコマンドでメタ情報をデータベースに登録しておく必要があります。

このコマンドは，データベース自身の定義であるエリア定義は実行しません。必要なエリアの定義は，出力されるデータベース定義文に追加してください。

次に示す場合は，インデクス格納RDエリアの名称として「USR_INDEX_AREA」が出力されます。

-iオプションにインデクス情報ファイル名を指定し，-rオプションを省略してこのコマンドを実行した場合

RDエリア定義情報ファイルの［IndexArea］セクションに，インデクス情報ファイルに記述した項目に対応するRDエリアの定義を記述していない状態で，-iオプションにインデクス情報ファイル名を指定し，-rオプションにRDエリア定義情報ファイル名を指定してこのコマンドを実行した場合

実行結果であるデータベース定義文に対してエリア定義などの必要な項目を追加，修正してからデータベースを作成してください。ただし，-rオプションを指定した場合は，RDエリア定義情報ファイルの指定に従って，RDエリア名が出力されます。

マルチファイル管理機能を使用する環境の場合，edmClass_ContentTransfersクラスに対応するデータベース定義文が出力されます。

リファレンスファイル管理機能を使用する環境の場合，edmClass_ContentReferenceクラスに対応するデータベース定義文が出力されます。

File Link連携機能を使用する環境の場合，edmClass_ContentFileLinkクラスに対応するデータベース定義文が出力されます。

HiRDBのオンライン再編成機能を使用する場合，-nオプションを指定してください。なお，メタ情報の表およびOIIDを格納する表は，オンライン再編成機能の対象外です。オンライン再編成機能の対象外の表は，オンライン再編成機能の対象となる表とRDエリアを分けてください。オンライン再編成機能の詳細については，マニュアル「HiRDB Staticizer Option」を参照してください。

EDMDelMeta（メタ情報の削除）

機能

EDMInitMetaコマンドで登録したメタ情報をデータベース（HiRDB）から削除します。メタ情報を削除した場合（サブクラスやプロパティの削除）は，自動的に動作環境メタ情報ファイルも更新されます。

形式

EDMDelMeta  {-r サブクラス名
            -s スーパークラス名
            -o データベース定義文格納ファイル |
            -p プロパティ名
            -q クラス名
            -o データベース定義文格納ファイル |
            -t 〔-e〕〔-b〕}

オプション

-r サブクラス名

サブクラスを削除する場合，サブクラス名を指定します。

-s スーパークラス名

-rオプションに指定したサブクラスのスーパークラス名を指定します。

-o データベース定義文格納ファイル

作成したデータベース定義文を格納するファイル名を相対パスまたは絶対パスで指定します。

-p プロパティ名

プロパティを削除する場合，プロパティ名を指定します。

-q クラス名

-pオプションに指定したプロパティを持つクラスのクラス名を指定します。

-t

メタ情報の表をすべて削除する場合に指定します。

-e

複数の実行環境から同一の文書空間にアクセスしている場合，それらの実行環境の情報をすべて削除するときに指定します。このオプションを指定できるのは，実行環境識別子が0の実行環境だけです。

このオプションを指定すると，登録されている実行環境の情報が削除されるため，複数の実行環境から同一の文書空間にアクセスする実行環境を新規に登録し直す必要があります。

-b

システム導入支援機能によって文書空間を構築した場合の構築情報をすべて削除するときに指定します。

＜削除する情報とオプションの組み合わせ＞

ユーザが作成したサブクラスを削除する

ユーザが作成したサブクラスを削除するには，-rオプション，-sオプションおよび-oオプションを指定します。サブクラスを削除した場合には，自動的に動作環境メタ情報ファイルも更新されます。

ユーザが追加したプロパティを削除する

ユーザが追加したプロパティを削除するには，-pオプション，-qオプションおよび-oオプションを指定します。ただし，全文検索用のプロパティは削除できません。また，プロパティを削除した場合には，自動的に動作環境メタ情報ファイルも更新されます。

文書空間単位でメタ情報を削除する

文書空間単位でメタ情報を削除するには，-tオプションを指定します。文書空間単位のメタ情報の削除によって，HiRDBの表などを削除する場合は，該当する文書空間用のスキーマを削除してください。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前に，次に示す条件に従ってオブジェクトを削除してください。

クラスを削除する場合
削除するクラスを基に作成されたオブジェクトを削除します。

プロパティを削除する場合
プロパティを削除するクラスを基に作成されたオブジェクトを削除します。

このコマンド実行時，edmClass_Structクラスのサブクラスを削除する場合，またはほかのサブクラスに定義されているプロパティと同じVariableArray型のプロパティを削除する場合，データベース定義文格納ファイルは作成されません。

EDMGetRas（サーバ側の障害情報の取得）

機能

DocumentBrokerで障害が発生した場合に，障害調査に必要な情報を取得します。なお，このコマンドで取得できるのは，サーバ側の情報です。

このコマンドを実行して取得できる情報（ファイル）は，次のとおりです。

$DOCBROKERDIR/spool下の全ファイル

$DOCBROKERDIR/etc下の全ファイル

$DOCBROKERDIR/tmp下の全ファイル

$_HIEDMS_TRACE_DIR下の全ファイル

詳細エラーログファイル

OS情報

環境情報

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）

getrascustom.iniの[Path]セクションで指定されたファイル

DocumentBroker Serverのバージョン情報

それぞれの情報の詳細については，「6.4.8　サーバ側で発生した障害情報の取得」を参照してください。

形式

EDMGetRas  -d 出力先ディレクトリ名
        〔-l 収集種別 〕
        〔-s 開始時刻 〕

オプション

-d 出力先ディレクトリ名

障害情報の出力先ディレクトリ名をフルパスで指定します。このコマンドで収集した障害情報を，指定したディレクトリに出力します。

出力先ディレクトリの名称は任意です。このコマンドを実行するユーザが，作成するディレクトリに対して読み取り，書き込み，および検索を実行できるように権限を設定してください。

出力先ディレクトリとして，収集対象となるディレクトリの下位のディレクトリを指定しないでください。

-l 収集種別

収集する障害情報の種別を1～3で指定します。指定が省略された場合には，収集種別１で動作します。

収集種別ごとに取得できる情報の種類について，次の表に示します。なお，それぞれの情報の詳細については，「6.4.8　サーバ側で発生した障害情報の取得」を参照してください。

表7-7　EDMGetRasコマンドで収集種別ごとに取得できる情報の種類

収集種別
取得できる情報

1
$DOCBROKERDIR/spool下の全ファイル
$DOCBROKERDIR/etc下の全ファイル
$DOCBROKERDIR/tmp下の全ファイル
$_HIEDMS_TRACE_DIR下の全ファイル※1
詳細エラーログファイル※1
OS情報
環境情報
TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Serverのバージョン情報

2
$DOCBROKERDIR/spool下の全ファイル
$_HIEDMS_TRACE_DIR下の全ファイル※1
詳細エラーログファイル※1
TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Serverのバージョン情報

3
$DOCBROKERDIR/spool下の全ファイル
$_HIEDMS_TRACE_DIR下の全ファイル※1
詳細エラーログファイル※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Serverのバージョン情報

注※1

環境変数の設定によっては取得できません。詳細については，「6.4.8　サーバ側で発生した障害情報の取得」を参照してください。

注※2

詳細については，「6.4.8　サーバ側で発生した障害情報の取得」を参照してください。

-s 開始時刻

トレースファイルを収集する場合に，指定した時刻からコマンドを実行した時刻までに更新されたファイルだけを収集するときに指定します。

このオプションが有効になるのは，取得する障害情報のうち，次のファイルです。

$DOCBROKERDIR/spool下の全ファイル

$_HIEDMS_TRACE_DIR下の全ファイル

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）

詳細エラーログファイル

指定が省略された場合，更新時刻に関係なく，すべてのファイルが収集対象になります。

開始時刻は，次の書式で指定してください。

開始時刻の書式

'YYYY/MM/DD[△hh:mm]'

開始時刻は「'」（シングルクォーテーション）で囲んで指定してください。

△には，半角の空白を指定します。

YYYYには，西暦年号を指定します。0001～9999の範囲の数字を指定してください。

MMには，月を指定します。01～12の範囲の数字を指定してください。

DDには，日を指定します。01～31の範囲の数字を指定してください。

hhには，時を指定します。00～23の範囲の数字を指定してください。

mmには，分を指定します。00～59の範囲の数字を指定してください。

開始時刻の指定例

指定例を次に示します。

例1（省略なし）：-s '2000/12/24 10:30'
2000年12月24日10:30AMからコマンドを実行した時刻までに更新されたファイルが対象になります。
例2（[△hh:mm]を省略）：-s '2000/12/24'
2000年12月24日00:00AMからコマンドを実行した時刻までに更新されたファイルが対象になります。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中または起動中どちらでも実行できます。

収集対象となるディレクトリ（$DOCBROKERDIR/spoolなど）が存在しなかったり，アクセス権（コマンド実行者に対する，読み出し，実行権限）がなかった場合には，その処理はスキップされ，以降の処理が続行されます。getrascustom.iniの[Path]セクションに指定した場合も同様です。

EDMGetRasCL（クライアント側の障害情報の取得）

機能

DocumentBrokerで障害が発生した場合に，障害調査に必要な情報を取得します。なお，このコマンドで取得できるのは，クライアント側の情報です。なお，Java クラスライブラリが出力するトレースファイルは取得の対象ではありません。

このコマンドを実行して取得できる情報（ファイル）は，次のとおりです。

$_HIEDMS_FTPDIR/spool下の全ファイル

$_HIEDMS_FTPDIR/etc下の全ファイル

$_HIEDMS_FTPDIR/tmp下の全ファイル

クライアントおよびファイル転送サービスのトレースファイル

詳細エラーログファイル

OS情報

環境情報

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）

getrascustom.iniの[Path]セクションで指定されたファイル

DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報

それぞれの情報の詳細については，「6.4.9　クライアント側で発生した障害情報の取得」を参照してください。

形式

EDMGetRasCL -d 出力先ディレクトリ名
         〔-l 収集種別 〕
         〔-s 開始時刻 〕

オプション

-d 出力先ディレクトリ名

障害情報の出力先ディレクトリ名をフルパスで指定します。このコマンドで収集した障害情報を，指定したディレクトリに出力します。

出力先ディレクトリの名称は任意です。このコマンドを実行するユーザが，作成するディレクトリに対して読み取り，書き込み，および検索を実行できるように権限を設定してください。

出力先ディレクトリとして，収集対象となるディレクトリの下位のディレクトリを指定しないでください。

-l 収集種別

収集する障害情報の種別を1～3で指定します。指定が省略された場合には，収集種別１で動作します。

収集種別ごとに取得できる情報の種類について，次の表に示します。なお，それぞれの情報の詳細については，「6.4.9　クライアント側で発生した障害情報の取得」を参照してください。

表7-8　EDMGetRasCLコマンドで収集種別ごとに取得できる情報の種類

収集種別
取得できる情報

1
$_HIEDMS_FTPDIR/spool下の全ファイル※1
$_HIEDMS_FTPDIR/etc下の全ファイル※1
$_HIEDMS_FTPDIR/tmp下の全ファイル※1
クライアントおよびファイル転送サービスのトレースファイル
詳細エラーログファイル※1
OS情報
環境情報
TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報

2
$_HIEDMS_FTPDIR/spool下の全ファイル※1
クライアントおよびファイル転送サービスのトレースファイル
詳細エラーログファイル※1
TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報

3
$_HIEDMS_FTPDIR/spool下の全ファイル※1
クライアントおよびファイル転送サービスのトレースファイル
詳細エラーログファイル※1
getrascustom.ini※2の[Path]セクションで指定されたファイル
DocumentBroker Development KitおよびDocumentBroker Runtimeのバージョン情報

注※1

環境変数の設定によっては取得できません。詳細については，「6.4.9　クライアント側で発生した障害情報の取得」を参照してください。

注※2

詳細については，「6.4.9　クライアント側で発生した障害情報の取得」を参照してください。

-s 開始時刻

トレースファイルを収集する場合に，指定した時刻からコマンドを実行した時刻までに更新されたファイルだけを収集するときに指定します。

このオプションが有効になるのは，取得する障害情報のうち，次のファイルです。指定が省略された場合，更新時刻に関係なく，すべてのファイルが収集対象になります。

$_HIEDMS_FTPDIR/spool下の全ファイル

クライアントおよびファイル転送サービスのトレースファイル

詳細エラーログファイル

TPBrokerのトレース（$VBROKER_ADM/../log下の全ファイル）

開始時刻は，次の書式で指定してください。

開始時刻の書式

'YYYY/MM/DD[△hh:mm]'

開始時刻は「'」（シングルクォーテーション）で囲んで指定してください。

△には，半角の空白を指定します。

YYYYには，西暦年号を指定します。0001～9999の範囲の数字を指定してください。

MMには，月を指定します。01～12の範囲の数字を指定してください。

DDには，日を指定します。01～31の範囲の数字を指定してください。

hhには，時を指定します。00～23の範囲の数字を指定してください。

mmには，分を指定します。00～59の範囲の数字を指定してください。

開始時刻の指定例

指定例を次に示します。

例1（省略なし）：-s '2000/12/24 10:30'
2000年12月24日10:30AMからコマンドを実行した時刻までに更新されたファイルが対象になります。
例2（[△hh:mm]を省略）：-s '2000/12/24'
2000年12月24日00:00AMからコマンドを実行した時刻までに更新されたファイルが対象になります。

注意事項

収集対象となるディレクトリ（$_HIEDMS_FTPDIR/spoolなど）が存在しなかったり，アクセス権（コマンド実行者に対する，読み出し，実行権限）がなかったりした場合には，その処理はスキップされ，以降の処理が続行されます。getrascustom.iniの[Path]セクションに指定した場合も同様です。

このコマンドは，クライアントアプリケーションを起動するユーザが実行してください。

EDMInitMeta（メタ情報の初期設定）

機能

DocumentBrokerのメタ情報を表にして，DocumentSpace構成定義ファイルで指定されているデータベース（HiRDB）に登録します。また，動作環境メタ情報ファイルを，"実行環境ディレクトリ/etc/meta_files"の下に作成します。

なお，マルチファイル管理機能，リファレンスファイル管理機能やFile Link連携機能を使用するかどうかについても，このコマンドで設定します。

形式

EDMInitMeta  〔-d〔-e〕〔-b〕〕
              -f メタ情報ファイル名
            〔-r ユーザ表用RDエリア名〕
            〔-i ユーザインデクス用RDエリア名〕
            〔-v VariableArrayの型プロパティの要素の格納先〕
            〔-A〕
            〔-R〕
            〔-L〕
            〔-u { DisplayName | ID | DBAlias}〕
            〔-c 一つの文書に格納するファイルの最大数 〕
            〔-n ユーザ識別子の最大長〕
            〔-g グループ識別子の最大長〕
            〔-C { SJIS | UTF-8 }〕

オプション

-d

メタ情報をデータベースに再登録する場合に指定します。このオプションを指定すると，既存のメタ情報をデータベースから削除して，新規にメタ情報を登録します。

-e

複数の実行環境から同一の文書空間にアクセスしている場合，それらの実行環境の情報をすべて削除するときに指定します。このオプションを指定できるのは，実行環境識別子が0の実行環境だけです。

このオプションを指定すると，登録されている実行環境の情報が削除されるため，複数の実行環境から同一の文書空間にアクセスする実行環境を新規に登録し直す必要があります。

-b

システム導入支援機能によって文書空間を構築した場合の構築情報をすべて削除するときに指定します。

このオプションを指定した場合，文書空間の構築情報を削除するため，システム導入支援機能で作成した環境ではなくなります。そのため，今後，システム導入支援機能は使用できなくなります。

-f メタ情報ファイル名

メタ情報ファイル名を相対パスまたは絶対パスで指定します。文書空間に作成するオブジェクトの定義ファイルを指定します。

メタ情報を新規登録する場合，メタ情報ファイルとして，DocumentBrokerで提供されているメタ情報ファイル（実行環境ディレクトリ/etc/edms.ini）を指定してください。

メタ情報を再登録する場合，メタ情報ファイルとして，動作環境メタ情報ファイル（実行環境ディレクトリ/etc/meta_files/edms.ini）を指定してください。

なお，指定するメタ情報ファイルから参照しているメタ情報ファイルも同じディレクトリに格納してください。メタ情報ファイルについては，「4.6　メタ情報ファイル」を参照してください。

-r ユーザ表用RDエリア名

メタ情報の表の行を格納するユーザ用RDエリア名を指定します。省略した場合，メタ情報の表は，定義されている表数がいちばん少ないユーザ用RDエリアに格納されます。

-i ユーザインデクス用RDエリア名

メタ情報の表に定義されるインデクスを格納するユーザ用RDエリア名を指定します。省略した場合，インデクスはメタ情報の表が格納されているRDエリアに格納されます。

-v VariableArray型のプロパティの要素の格納先

基本単位がVariableArray型であるプロパティを使用する場合，そのプロパティの要素の格納先として，次のどれかの文字列を指定します。

Own

VariableArray型のプロパティが定義されるクラスに該当する表とは別の表へ格納する場合に指定します。

HIRDB

VariableArray型のプロパティが定義されるクラスに該当する表のHiRDBの繰り返し列へ格納する場合に指定します。HiRDBの繰り返し列の最大要素数は，VariableArray型のプロパティを定義する場合の指定に依存します。

Both

OwnおよびHIRDBの両方を使用する場合に指定します。VariableArray型のプロパティを定義する場合の指定によって，別の表か，HiRDBの繰り返し列かを設定します。

オプションを省略した場合，Ownを仮定します。ただし，-fオプションに動作環境メタ情報ファイルを指定した場合，そのメタ情報に定義されている格納先に従います。

また，既存のVariableArray型のプロパティの格納先から，ほかの格納先への変更が可能なのは，OwnからBothへの変更，およびHiRDBからBothへの変更だけです。格納先だけを変更する場合，次に示す形式でコマンドを実行します。

EDMInitMeta -d -f $DOCBROKERDIR/etc/meta_files/edms.ini 〔-r ユーザ表用RDエリア名〕〔-i ユーザインデクス用RDエリア名〕 -v Both

-A

アクセス制御機能を使用する場合に指定します。このオプションを省略した場合，アクセス制御機能は使用できません。

-R

リファレンスファイル管理機能を使用する場合に指定します。このオプションを省略した場合，リファレンスファイル管理機能は使用できません。

なお，メタ情報を再登録する場合には，リファレンスファイル管理機能を使用するかどうかの設定を変更できません。また，-fオプションに動作環境メタ情報ファイル（実行環境ディレクトリ/etc/meta_files/edms.ini）を指定してメタ情報を再登録する場合，動作環境メタ情報ファイルのリファレンスファイル管理機能を使用するかどうかの設定に合わせて，このオプションを指定する必要があります。

-L

File Link連携機能を使用する場合に指定します。このオプションを省略した場合，File Link連携機能は使用できません。

なお，メタ情報を再登録する場合には，File Link連携機能を使用するかどうかの設定を変更できません。

また，Linuxの場合およびTPBroker V5を使用している場合，このオプションを指定できません。

-u { DisplayName | ID | DBAlias}

データベース定義の名称定義の方法を指定します。

DisplayName

データベース定義の名称定義は，クラス名，プロパティ名などとします。

ID

データベース定義の名称定義は，GUID値を変換したIDとします。

DBAlias

データベースの名称定義は，クラス名やプロパティ名などの別名とします。-fオプションにDBAliasを使用するように移行した環境の動作環境メタ情報ファイルを指定する場合だけ指定してください。

このオプションの指定を省略した場合，「DisplayName」が仮定されます。

なお，このコマンドでは，データベース定義の名称定義の方法を変更できません。このため，-fオプションに動作環境メタ情報ファイルを指定する場合，そのメタ情報ファイル中のデータベース定義の名称定義の方法に合わせてこのオプションを指定する必要があります。

なお，-uオプションで「DisplayName」を指定した場合のデータベース定義の名称定義については，「付録F　システムクラスおよびシステムプロパティの名称定義の規則」を参照してください。

-c 一つの文書に格納するファイルの最大数

マルチファイル管理機能を使用する場合に指定します。一つの文書に含まれるコンテントとして格納するファイルの最大数を指定します。

2～4,096の範囲の10進数値で指定してください。

このオプションを省略した場合，マルチファイル管理機能は使用できません。

なお，メタ情報を再登録する場合には，マルチファイル管理機能を使用するかどうかの設定を変更できません。また，一つの文書のコンテントとして格納するファイルの最大数も変更できません。-fオプションに動作環境メタ情報ファイル（実行環境ディレクトリ/etc/meta_files/edms.ini）を指定してメタ情報を再登録する場合，-cオプションは次のように扱われます。

マルチファイル管理機能を使用する環境の場合

-cオプションの指定は無視されます。一つの文書のコンテントに格納するファイルの最大数は，動作環境メタ情報ファイルに定義されている値になります。

マルチファイル管理機能を使用しない環境の場合

このオプションは指定できません。指定するとエラーになります。

マルチファイル管理機能を使用する場合に，一つの文書のコンテントに格納するファイルの最大数を確認するには，動作環境メタ情報ファイル（実行環境ディレクトリ/etc/meta_files/edms.ini）の［bb683102-0bf0-11d2-9a68-0000e20838e7］セクションのdmaProp_MaximumElementsエントリの値を参照してください。dmaProp_MaximumElementsエントリの値が，一つの文書のコンテントに格納するファイルの最大数です。

-n ユーザ識別子の最大長

ユーザ識別子の最大長を255バイト以上に拡張する場合に指定します。ユーザ識別子の最大長をバイト単位で指定します。

指定できる値の範囲は255～512の10進数値です。このオプションを省略した場合，ユーザ識別子の最大長は254バイトになります。

なお，メタ情報を再登録する場合は，ユーザ識別子の最大長を変更できません。-fオプションに動作環境メタ情報ファイル（$DOCBROKERDIR/etc/meta_files/edms.ini）を指定してメタ情報を再登録する場合，-nオプションは次のように扱われます。

ユーザ識別子の最大長を拡張している環境の場合

-nオプションの指定は無視されます。ユーザ識別子の最大長は，動作環境メタ情報ファイルに定義されている値になります。

ユーザ識別子の最大長を拡張していない環境の場合

このオプションは指定できません。指定するとエラーになります。

-g グループ識別子の最大長

グループ識別子の最大長を255バイト以上に拡張する場合に指定します。グループ識別子の最大長をバイト単位で指定します。

指定できる値の範囲は255～512の10進数値です。このオプションを省略した場合，グループ識別子の最大長は254バイトになります。

なお，メタ情報を再登録する場合は，グループ識別子の最大長を変更できません。-fオプションに動作環境メタ情報ファイル（$DOCBROKERDIR/etc/meta_files/edms.ini）を指定してメタ情報を再登録する場合，-gオプションは次のように扱われます。

グループ識別子の最大長を拡張している環境の場合

-gオプションの指定は無視されます。グループ識別子の最大長は，動作環境メタ情報ファイルに定義されている値になります。

グループ識別子の最大長を拡張していない環境の場合

このオプションは指定できません。指定するとエラーになります。

-C { SJIS | UTF-8}

文書空間で使用する文字コード種別を指定します。

SJIS

文書空間で使用する文字コード種別をShift-JISとします。

UTF-8

文書空間で使用する文字コード種別をUTF-8とします。

このオプションの指定を省略した場合，Linux以外のときは，「SJIS」が仮定されます。Linuxのときは，「UTF-8」が仮定されます。

文書空間で使用する文字コード種別を変更する場合は，-dオプションと-Cオプションを指定してこのコマンドを実行します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行すると，メタ情報ファイル一つに対して一つの表を作成します。作成される表には，「EDMS_META_XXXX」という名称が付けられます。「XXXX」には，メタ情報ファイル名から拡張子を除いた文字列が設定されます。例えば，「edms.ini」に対する表は「EDMS_META_edms」という名称が付けられます。

-dオプションを指定してこのコマンドを実行した場合は，必ずEDMCrtSqlコマンドを実行して，出力されたデータベース定義文を基に表を再定義してください。

既存のVariableArray型のプロパティの格納先をOwnからBoth，またはHIRDBからBoth以外へ変更したい場合，次の順序でコマンドを実行して，出力されたデータベース定義文を基に表を再定義する必要があります。

-tオプションを指定して，EDMDelMetaコマンドを実行します。

EDMInitMetaコマンドを実行します。

EDMAddMetaコマンドを実行します。

EDMCrtSqlコマンドを実行します。

DocumentBrokerサーバのバージョンが02-40のメタ情報ファイルを-fオプションに指定して実行環境を構築すると，実行環境識別子に0が割り当てられる場合があります。その条件を次に示します。

新規に実行環境を構築した場合

-eオプションを指定した場合

-eオプションを指定したEDMDelMetaの実行後，EDMInitMetaを実行した場合

複数の実行環境から一つの文書空間にアクセスする実行環境として登録済みの環境で，EDMDelMetaの実行後に，EDMInitMetaを実行してメタ情報を再登録した場合，実行環境識別子は変更されません。複数の実行環境から一つの文書空間にアクセスする実行環境を新規に作成する場合，「3.15　複数の実行環境を構築する場合の設定」の手順に従ってください。この手順に従わないで次の操作を実行した場合，不正に実行環境識別子に0が割り当てられます。

実行環境識別子が0である実行環境ディレクトリ/etc下をコピーして，新たに実行環境を作成した場合

複数の実行環境から一つの文書空間にアクセスする実行環境を登録（EDMRegEnvId -r）しないで，EDMInitMetaを実行した場合

複数の実行環境から一つの文書空間にアクセスする実行環境を登録（EDMRegEnvId -r）しないで，実行環境ファイルを出力（EDMRegEnvId -p）した場合

複数の実行環境から一つの文書空間にアクセスする実行環境の実行環境識別子を削除（EDMRegEnvId -d）したあと，実行環境を登録（EDMRegEnvId -r）しないで，実行環境ファイルを出力（EDMRegEnvId -p）した場合

EDMLckWatcher（データベースのデッドロックおよびタイムアウトの監視）

機能

データベース（HiRDB）のデッドロック情報およびタイムアウト情報が出力されていないかを監視し，出力されている場合は，デッドロック情報，タイムアウト情報および関連するサービスプロセスのトレース情報を取得します。

このコマンドを実行すると取得できる情報（ファイル）を次に示します。

HiRDBのデッドロック情報

HiRDBのタイムアウト情報

DocumentBrokerのサーバのトレースファイル

デッドロック情報およびタイムアウト情報の詳細については，マニュアル「HiRDB　システム運用ガイド」を参照してください。DocumentBrokerのサーバのトレースファイルについては，「6.4.1(2) トレースファイル」を参照してください。

また，このコマンドを自動で実行すると，DocumentBrokerサーバが起動（EDMStartコマンドを実行）したタイミングで監視が開始され，DocumentBrokerサーバが停止（EDMStopコマンドを実行）したタイミングで監視が終了されます。このコマンドを自動で実行する場合は，DocumentSpace構成定義ファイル（docspace.ini）のDbLockWatcherエントリに「Accept」を設定してください。なお，このコマンドは手動でも実行できます。

形式

EDMLckWatcher 〔-i HiRDBの運用ディレクトリ名〕
             〔-l 格納先ディレクトリ名〕
             〔-s 監視時間の間隔〕
             〔-c〕

オプション

-i HiRDBの運用ディレクトリ名

デッドロック情報およびタイムアウト情報を取得するHiRDBの運用ディレクトリを指定します。指定したディレクトリを基に，"HiRDBの運用ディレクトリ/spool/pdlckinf"から情報を取得します。

このオプションの指定を省略した場合，環境変数「PDDIR」に設定したディレクトリが有効になります。

このオプションの指定および環境変数「PDDIR」の設定がない場合，エラーになります。

-l 格納先ディレクトリ名

デッドロック情報およびタイムアウト情報の格納先ディレクトリ名をフルパスで指定します。指定されたディレクトリの下にプレフィクス付きのディレクトリを作成し，その下に収集した情報を格納します。プレフィクス付きディレクトリのディレクトリ名を次に示します。

lck_<YYYYMMDDhhmmssxxx>

<YYYYMMDDhhmmssxxx>はコマンドを実行した時刻を表す文字列です。YYYYは西暦年号（4けた），MMは月（2けた），DDは日（2けた），hhは時（2けた），mmは分（2けた），ssは秒（2けた），xxxはミリ秒（3けた）を示します。

存在するディレクトリを指定してください。存在しないディレクトリを指定するとエラーになります。

DocumentBrokerのシステム管理者に対して，格納先ディレクトリに書き込み権限を設定してください。書き込み権限が設定されていない場合，ファイルを格納できません。

このオプションの指定を省略した場合，環境変数「_HIEDMS_LCKINF_DIR」に設定したディレクトリに格納されます。

このオプションの指定および環境変数「_HIEDMS_LCKINF_DIR」の設定がない場合，エラーになります。

-s 監視時間の間隔（単位：分）

デッドロックおよびタイムアウトを監視する時間の間隔を分単位で指定します。

指定できる値の範囲は1～120の10進数値です。範囲外の値を指定するとエラーになります。

このオプションの指定を省略した場合，環境変数「_HIEDMS_LCKWATCH_TIME」の設定値が有効になります。

このオプションの指定および環境変数「_HIEDMS_LCKWATCH_TIME」の設定がない場合，「10」が仮定されます。

-c

デッドロック情報およびタイムアウト情報を退避後，圧縮する場合に指定します。

圧縮されたファイルは，デッドロック情報およびタイムアウト情報が格納されたディレクトリと同じディレクトリに，次のファイル名で格納されます。

lck_<YYYYMMDDhhmmssxxx>.tar.Z

<YYYYMMDDhhmmssxxx>はコマンドを実行した時刻を表す文字列です。YYYYは西暦年号（4けた），MMは月（2けた），DDは日（2けた），hhは時（2けた），mmは分（2けた），ssは秒（2けた），xxxはミリ秒（3けた）を示します。

このオプションの指定を省略した場合，環境変数「_HIEDMS_LCKINF_ARCHIVE」の設定値が有効になります。

このオプションの指定および環境変数「_HIEDMS_LCKINF_ARCHIVE」の設定がない場合，デッドロック情報およびタイムアウト情報は圧縮されません。

設定が必要な環境変数

コマンドを実行する場合に設定が必要な環境変数を次の表に示します。このコマンドを自動で実行する場合，表に示す環境変数の設定値に従ってコマンドが実行されます。そのため，DocumentBrokerサーバを起動する前に，必ず環境変数を設定してください。また，このコマンドを手動で実行する場合，コマンドのオプションの指定を省略すると，表に示す環境変数の設定値に従ってコマンドが実行されます。

表7-9　EDMLckWatcherコマンドを実行する場合に設定が必要な環境変数

環境変数
説明

PDDIR
HiRDBの運用ディレクトリを設定します。
コマンドを自動で実行する場合，この環境変数の設定は省略できません。設定がないと，エラーになります。

_HIEDMS_LCKINF_DIR
デッドロック情報およびタイムアウト情報の格納先ディレクトリを設定します。
文書空間で使用する文字コード種別がUTF-8の場合，印刷可能なASCIIコードで値を設定してください。
コマンドを自動で実行する場合，この環境変数の設定は省略できません。設定がないと，エラーになります。

_HIEDMS_LCKWATCH_TIME
デッドロックおよびタイムアウトを監視する時間の間隔を設定します。
コマンドを自動で実行する場合，この環境変数の設定を省略すると「10」が仮定されます。

_HIEDMS_LCKINF_ARCHIVE
デッドロック情報およびタイムアウト情報を圧縮するかどうかを設定します。
デッドロック情報およびタイムアウト情報を圧縮する場合は，「Y」または「y」を設定します。「Y」および「y」以外の値を設定すると，デッドロック情報およびタイムアウト情報は圧縮されません。
コマンドを自動で実行する場合，この環境変数の設定を省略すると，デッドロック情報およびタイムアウト情報は圧縮されません。

実行例

コマンドの実行例を次に示します。

$EDMLckWatcher -i /usr/HiRDB_P -l /var/tmp -s 10 -c

注意事項

このコマンドを実行できるのは，DocumentBrokerサーバとHiRDBサーバを同一マシンで運用している場合だけです。

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは多重実行できません。自動で実行する場合，同時に手動では実行できません。

このコマンドは，DocumentBrokerサーバの起動中に実行してください。サーバが停止中に実行するとエラーになります。

このコマンドが起動しているかどうかは，OSのpsコマンドで確認できます。実行例を次に示します。

$ps -ef | grep EDMLckWatcher

また，このコマンドを手動で実行した場合にコマンドを停止するときは，上記のpsコマンドの実行結果に出力されるプロセスIDを指定してOSのkillコマンドを実行するか，このコマンドを実行したコマンドプロンプトで，Ctrl＋Cキーを押してください。

このコマンドを自動で実行する場合は，DocumentSpace構成定義ファイル（docspace.ini）のDbLockWatcherエントリに「Accept」を設定します。DbLockWatcherエントリの指定がないと，自動では実行されません。DocumentSpace構成定義ファイル（docspace.ini）の詳細は，「4.2　DocumentSpace構成定義ファイル（docspace.ini）」を参照してください。

このコマンドを手動で実行する場合，コマンドを実行した時刻以降に出力されるデッドロック情報およびタイムアウト情報が監視の対象になります。

EDMPrintMeta（メタ情報ファイルの出力）

機能

データベースに登録済みのメタ情報を基に，動作環境メタ情報ファイルを出力します。

形式

EDMPrintMeta  〔-F〕  〔-l 出力先ディレクトリ名〕

オプション

-F

すべてのメタ情報ファイルを出力します。このオプションを省略すると，dmaclass.iniなどのユーザの追加した定義を含まないメタ情報ファイルは出力されません。

-l 出力先ディレクトリ名

メタ情報ファイルの出力先を指定します。このオプションを省略した場合，"実行環境ディレクトリ/etc/meta_files"下に出力します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

出力するメタ情報ファイルのセクションは，アルファベット順に並びます。この順序は，最初のメタ情報ファイルと異なります。

EDMRefresher（サービスプロセスのリフレッシュ）

機能

すべてのサービスプロセスをリフレッシュします。リフレッシュとは，DocumentBrokerサーバを停止することなく，クライアントからの要求に対して文書空間へのサービスを供給しながら，サービスプロセスを順次再起動することです。

サービスプロセスは，EDMStartコマンドで起動した順に，一つずつリフレッシュされます。各サービスプロセスがリフレッシュ対象になったとき，次のどちらかの条件を満たしていると，リフレッシュされます。

接続中のユーザがいない，または接続中のユーザはいるがトランザクションはすべて決着している※
この場合，猶予時間内であっても，サービスプロセスがリフレッシュされます。

注※

どちらの状態でリフレッシュされるのかは，DocumentSpace構成定義ファイルのRefreshTimingエントリで指定した値によって決定します。

コマンド実行後，猶予時間が経過した
この場合，接続中のユーザは強制的にサーバとの接続を切断されます。なお，猶予する事象は，DocumentSpace構成定義ファイルのRefreshTimingエントリで指定した値によって決定します。

形式

EDMRefresher  〔-t 猶予時間〕

オプション

-t 猶予時間

接続中のユーザがログアウトするための猶予時間，または接続中のユーザが未決着トランザクションを決着するための猶予時間を秒で設定します。0～7,200の値を指定してください。指定を省略した場合は，600を仮定します。0を指定した場合，接続中のユーザがログアウトする，または接続中のユーザが未決着のトランザクションを決着するのを待たないで，直ちにリフレッシュします。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの起動中に実行してください。

このコマンドは，多重実行できません。

複数のサービスプロセスがある場合，コマンド実行中にログインしたユーザが，リフレッシュ後のサービスプロセスに接続することは保証されません。リフレッシュ前のサービスプロセスに接続した場合，リフレッシュ実行時にサーバへの接続が強制的に切断される可能性があります。

このコマンドの実行中にユーザが文書空間に接続した場合，エラーになることがあります。例えば，C++ クラスライブラリを使用している場合，CdbrSession::Connectメソッドで次のどちらかのエラーが返却されることがあります。

major_code = ERR_DBR
minor_code = ERR_NO_SERVICE

major_code = ERR_DMA
minor_code = DMARC_NETWORK_UNAVAILABLE

サーバへの接続が強制的に切断された場合，APIで次のエラーが返却されることがあります。
major_code = ERR_DBR
minor_code = ERR_SESSION_NOT_CONNECT

メモリサイズ監視によるリフレッシュ実行中にこのコマンドを実行した場合，メモリサイズ監視によるリフレッシュの終了を待ってからコマンドによるリフレッシュを実行します。コマンドに指定した猶予時間内にメモリサイズ監視によるリフレッシュが終了しない場合，このコマンドはKMMBR03359-Eを出力し終了します。ただし，サーバはメモリサイズ監視によるリフレッシュの終了を待ってから，すべてのサービスプロセスを順次リフレッシュします。

サービスプロセスをリフレッシュすると，アプリケーションプロセスとサービスプロセスの通信で使用するポート番号がリフレッシュ前後で変更される可能性があります。アプリケーションプロセスがサービスプロセスに接続後，このコマンドを実行し通信ポート番号が変更され，アプリケーションプロセスとリフレッシュ前のサービスプロセスの通信で使用していたポート番号がほかのプログラムに使用されると，以後アプリケーションプロセスとサービスプロセスとの通信で無応答が発生する原因となります。この現象を回避するために，アプリケーションプロセスとサービスプロセスとの通信で使用するポート番号を固定してください。アプリケーションプロセスとサービスプロセスとの通信で使用する固定ポート番号は，サービスプロセス定義ファイルに指定できます。固定ポート番号の指定については，「4.13　サービスプロセス定義ファイル」と，マニュアル「VisiBroker for C++ プログラマーズガイド」またはマニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス」を参照してください。

EDMRegEnvId（DocumentBroker実行環境の情報の登録）

機能

DocumentBrokerの実行環境についての情報（実行環境識別子，環境変数「DOCBROKERDIR」に指定している実行環境ディレクトリのパス，およびホスト名）をデータベース中の表に登録します。また，登録した実行環境の更新，削除，および登録されている実行環境のファイル出力をします。

なお，このコマンドで登録した実行環境識別子は，該当する実行環境下で作成されるすべてのオブジェクトのOIIDに付加されます。

形式

EDMRegEnvId  -r 〔-i 実行環境識別子 | -a〕 |
            -u  実行環境識別子          |
            -d                          |
            -p                          |
            -l 〔-o 出力先ファイル名 〕

オプション

-r

DocumentBrokerの実行環境の情報を登録する場合に指定します。

このオプションを指定すると，データベース中の表に実行環境識別子のレコードが挿入（INSERT）されます。また，実行環境の情報が，実行環境ファイルとして出力されます。

-i 実行環境識別子

登録する実行環境識別子を指定します。1～254の範囲で，10進数の値で指定してください。

このオプションを省略した場合は，1～254の範囲で未使用の識別子のうち，最小値の識別子が自動的に採番されます。

-a

実行環境の情報を次のどちらかの方法で削除した場合に，以前登録されていた実行環境識別子で再登録するときに指定します。

EDMInitMetaコマンドで，-dオプションと-eオプションを指定して実行

EDMDelMetaコマンドで，-eオプションを指定して実行

-u 実行環境識別子

実行環境の情報を更新する場合に指定します。実行環境を別のマシンに移動したり，実行環境ディレクトリのパスを変更したりした場合は，-uオプションを指定してこのコマンドを実行してください。

このオプションを指定すると，引数に指定した実行環境識別子に対応するレコードのカラム（環境変数「DOCBROKERDIR」に指定している実行環境ディレクトリのパス，およびホスト名）が更新されます。また，実行環境の情報が，実行環境ファイルとして出力されます。

-d

実行環境を削除する場合に指定します。ただし，このコマンドを実行した実行環境のOIID通番レコードが0件の場合だけ削除できます。

-p

実行環境ファイルを，"実行環境ディレクトリ/etc"に出力する場合に指定します。

このオプションを指定すると，コマンドを実行した実行環境の情報が，実行環境ファイルとして出力されます。

このオプションは，実行環境ファイルが壊れた場合などに使用します。

-l

登録されている実行環境の一覧を表示する場合に指定します。

-o 出力先ファイル名

-lオプションで取得した実行環境の一覧をファイルに出力する場合に指定します。出力先のファイル名を，相対パスまたは絶対パスで指定します。指定されたファイルがすでに存在する場合，上書きされます。指定先のファイルにアクセス権限がない場合，エラーになります。

実行例

-lオプションおよび-oオプションを指定して実行した場合の，出力ファイルの例を次に示します。

ID=0     HOST-NAME=----      ENVDIR=----
ID=20    HOST-NAME=Host1     ENVDIR=/user/DocumentBroker
ID=100   HOST-NAME=Host2     ENVDIR=/user/DocumentBroker100

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドを実行する前に，データベースを起動しておいてください。

このコマンドを実行する前に，EDMPrintMeta -Fを実行しておいてください。

実行環境識別子としてすでに登録されている識別子を指定して，実行環境を登録しようとすると，メッセージが出力されて，処理が停止されます。次のどちらかの方法で，実行環境識別子が重複しないように登録してください。

すでに登録されている実行環境識別子を確認し，未登録の実行環境識別子を指定して，このコマンドを実行する。
すでに登録されている実行環境識別子を確認するには，-lオプション（ファイル出力する場合は，-lオプションおよび-oオプション）を指定して，このコマンドを実行してください。

-iオプションを省略して，このコマンドを実行する。
1～254の範囲で未使用の識別子のうち，最小値の識別子が自動的に採番されます。

一度登録された実行環境識別子は削除・変更できません。ただし，実行環境識別子が0以外の実行環境については，実行環境でオブジェクトを作成していない場合に（実行環境のOIID通番レコードが0件の場合に），-dオプションを指定してこのコマンドを実行することで，実行環境識別子を削除できます。また，実行環境識別子の削除後，-rオプションを指定してこのコマンドを実行することで，実行環境識別子を変更できます。

EDMSetup（DocumentBrokerの実行環境の作成と削除）

機能

指定したディレクトリの下にDocumentBrokerの実行環境を作成します。また，DocumentBrokerの実行環境を削除します。なお，AIXを使用している場合で，TPBroker V3を使用しているときは，「/opt/HiEDMS/bin」ディレクトリに格納されているEDMSetupコマンドを実行してください。AIXを使用している場合で，TPBroker V5を使用しているときは，「/opt/HiEDMS/bin_tp5」ディレクトリに格納されているEDMSetupコマンドを実行してください。Linuxを使用している場合は，「/opt/HiEDMS/bin」ディレクトリに格納されているEDMSetupコマンドを実行してください。

形式

EDMSetup  〔-m { create | delete }〕  -d ディレクトリ名

オプション

-m { create | delete }

実行するモードとして，次のどちらかの文字列を指定します。

create

DocumentBrokerの実行環境を作成する場合に指定します。

delete

DocumentBrokerの実行環境を削除する場合に指定します。

このオプションを省略した場合，「-m create」を仮定します。

-d ディレクトリ名

実行環境を作成または削除するディレクトリを絶対パスで指定します。実行環境を作成するディレクトリについては，「3.6.1　DocumentBroker実行環境ディレクトリの作成」を参照してください。なお，インストールディレクトリおよびインストールディレクトリのサブディレクトリを指定した場合は，エラーになります。

実行環境を作成する場合または削除する場合で，処理の内容が異なります。それぞれの場合について，次に説明します。

実行環境を作成する場合

-dオプションで指定したディレクトリの下にDocumentBrokerの実行環境を作成します。DocumentBroker実行環境のディレクトリ構成については，「付録A.2　DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）」または「付録B.2　DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）」を参照してください。ただし，すでにDocumentBroker実行環境が作成されていた場合は，実行環境を更新します。

実行環境を削除する場合

-dオプションで指定したディレクトリの下から，「bin」，「lib」，「adm」「tmp」，「spool」，および「tools」ディレクトリを削除します。

注意事項

実行環境の作成前に，実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

このコマンドの実行によって作成されるすべてのディレクトリおよびファイルには，インストールディレクトリ下にあるディレクトリおよびファイルと同等のアクセス権が与えられます。

実行環境を作成するディレクトリ下に，このコマンドの実行によって作成されるファイルと同じ名称のファイルが存在した場合は，このファイルおよびこのファイルが存在するディレクトリを新規に作成しません。ただし，「adm」ディレクトリ下に同じ名称のファイルが存在した場合だけ，既存の同じ名称のファイルを削除して新規に作成します。

実行環境の作成中に，次に示す状態を検知した場合は処理を停止します。ただし，処理が停止するまでに作成されたディレクトリおよびファイルは，削除されません。

実行環境を作成するディレクトリが存在しない。

実行環境を作成するディレクトリにアクセス権が存在しない。

実行環境を作成するディレクトリ下でDocumentBrokerがすでに起動している。

実行環境を作成するディレクトリ下に作成対象となるディレクトリ名称と同一のファイルがすでに存在する。
この場合，処理が停止するまでの間に作成されたディレクトリおよびファイルは，削除されません。したがって，必要に応じて「-m delete」を指定して，このコマンドを再度実行したあとに，実行環境を作成し直してください。

指定したパスの長さが，512バイト以上である。
この場合，ディレクトリおよびファイルは，作成されません。ただし，環境変数「_HIEDMS_TRACE_DIR」が設定されていない場合は，実行環境ディレクトリ/spool/serverにトレースファイルが作成されます。

実行環境を削除する場合は，-dオプションで指定したディレクトリ下のファイルはコマンドが作成したものかどうかに関係なく，削除されます。削除される対象となるディレクトリ下には不用意にファイルを作成しないでください。

実行環境を削除する場合は，-dオプションで指定したディレクトリがあるかどうかはチェックされません。例えば，指定したディレクトリ下に「bin」ディレクトリだけ存在している場合は，そのディレクトリを削除して正常終了とします。ただし，削除対象となるディレクトリやファイルが一つも存在しない場合はエラーになります。

実行環境は移動しないでください。また，別ディスクへのリンクも作成しないでください。

DocumentBrokerサーバを再インストールしたり，アンインストールしたりする場合，実行環境の削除（EDMSetup -m delete）を必ず実行してください。実行環境を削除しないで，これらの操作をするとエラーになることがあります。

EDMStart（DocumentBrokerの起動）

機能

DocumentBrokerサーバを起動します。

形式

EDMStart 〔-w 〕

オプション

-w

DocumentBroker Serverのサービスが開始されてからこのコマンドを終了する場合に指定します。このオプションを指定することで，サービスが開始されたタイミングを知ることができます。

このオプションの指定を省略した場合，DocumentBroker Serverのサービスが開始されるのを待たないで，このコマンドを終了します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。環境変数が指定されていない場合，または指定されている実行環境ディレクトリがインストールディレクトリの場合，このコマンドは実行できません。

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

EDMStop（DocumentBrokerの終了）

機能

DocumentBrokerサーバを終了します。

なお，-lオプションを指定していない場合で，サービスプロセス定義ファイルの〔Entry001〕セクションのDBConnectionCloseエントリに「Yes」を指定しているときは，DBコネクションを切断します。

形式

EDMStop 〔-l FORCE 〕

オプション

-l FORCE

強制終了モードでDocumentBrokerサーバを終了する場合（通常終了で終了しない場合）に指定します。

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。環境変数が指定されていない場合，または指定されている実行環境ディレクトリがインストールディレクトリの場合，このコマンドは実行できません。

このコマンドは，DocumentBrokerサーバの起動中に実行してください。

DocumentBrokerサーバが停止する時間に，DBコネクションの切断処理時間を加算してください。

DBコネクションの切断でエラーが発生した場合は，KMBR04001-Eのメッセージが出力され，DocumentBrokerサーバの停止処理は継続されます。EDMStopコマンドは正常終了（終了コードが「0」）となります。

EDMUsrView（文書空間に接続しているユーザ一覧出力）

機能

文書空間に接続しているユーザのユーザ情報を取得します。このコマンドを実行すると，取得したユーザ情報を保存したり，表示したりできます。

形式

EDMUsrView  {-l <directory name>
           |-v〔<directory name>〕
              〔-c <connect pass time>〕
              〔-t <transaction pass time>〕
              〔-h <host name>〕
              〔-p <application name>〕
           }

オプション

オプションには，機能オプションと表示オプションがあります。次にそれぞれのオプションについて説明していきます。

機能オプション

機能オプションは，一文字の機能文字で表されます。このコマンドでは，-lオプションおよび-vオプションを指定できます。この機能文字の指定によって，ユーザ情報の保存やユーザ情報の表示を選択できます。

-l <directory name>

接続中のユーザのユーザ情報をサービスプロセスごとにファイルに出力します。

引数にdirectory nameを指定します。この引数は省略できません。引数であるdirectory nameには，ファイルを出力するディレクトリを絶対パスで，存在するディレクトリを指定してください。ディレクトリが存在しない場合，エラーになります。また，引数に指定するディレクトリにはシステム管理者に対して書き込み権が必要です。書き込み権がない場合はファイルを出力できません。なお，このコマンドの実行者には，引数に指定するディレクトリの読み取り権が必要です。

出力ファイルの形式を次に示します。

"サービスプロセス通番_サービスプロセスID.log"

このファイルは，指定されたディレクトリの下に作成された，usr_YYYYMMDDhhmmssxxxディレクトリ（YYYYMMDDhhmmssxxxはコマンド実行時間）に格納されます。

なお，出力ファイルの内容については，「ユーザ情報の出力形式」を参照してください。

-v 〔<directory name>〕

接続中のユーザのユーザ情報の表示，またはこのコマンドで作成されたファイルの情報を，指定した表示オプションの内容に従って表示します。引数であるdirectory nameには，このコマンドによって作成されたディレクトリ（usr_YYYYMMDDhhmmssxxxディレクトリ）を絶対パスで指定します。ディレクトリが存在しない場合，エラーになります。引数を省略した場合，コマンド実行時にDocumentBrokerサーバに接続しているユーザのユーザ情報を表示します。表示されるユーザ情報は，表示オプションの指定に従います。

表示されるユーザ情報の出力形式については，「ユーザ情報の出力形式」を参照してください。

表示オプション

機能オプションとして-vオプションを指定した場合，有効になります。表示オプションには，-c <connect pass time>，-t <transaction pass time>，-h <host name>，および-p <application name>があります。

-c <connect pass time>

ユーザ情報を取得した時間とユーザ情報のレコード内容（コネクト開始時間）を比較して，connect pass timeの条件を満たしているユーザ情報を表示します。connect pass timeは，次に示す書式で指定できます。

time1-time2

二つの値であるtime1およびtime2によって時間の範囲を指定します。time1およびtime2の値は，"＜時＞:＜分＞:＜秒＞" という形式で指定してください。なお，省略して指定する場合の例を次に示します。

例

-c 24-48
24時間以上，48時間以内

-c 12-
12時間以上

-c 0:30-1
30分以上，1時間以内

-c 0:300-
300分以上

-c 0-12
12時間以内

-t <transaction pass time>

ユーザ情報を取得した時間とユーザ情報のレコード内容"トランザクション開始時間"を比較し，transaction pass timeに該当しているユーザ情報を表示します。transaction pass timeは，次に示す書式で指定できます。

time1-time2

二つの値であるtime1およびtime2によって時間の範囲を指定します。time1およびtime2の値は，"＜時＞:＜分＞:＜秒＞" という形式で指定してください。なお，省略して指定する場合の例を次に示します。

例

-t 24-48
24時間以上，48時間以内

-t 12-
12時間以上

-t 0:30-1
30分以上，1時間以内

-t 0:300-
300分以上

-t 0-12
12時間以内

-h <host name>

host nameとユーザ情報のレコード内容（ホスト名）が一致するユーザ情報を表示します。

-p <application name>

application nameとユーザ情報のレコード内容（アプリケーション名）が一致するユーザ情報を表示します。

ユーザ情報の出力形式

ユーザ情報は，1ユーザに対して1レコードがファイルに出力されます。1レコードは，「，」（コンマ）で区切られており，左から順に次のように出力されます。

"サービスプロセス通番"，"サービスプロセスID"，"ホスト名"，"アプリケーション名"，"APプロセスID"，"コネクト開始時間"，"セッションID（ユーザ名）"，"トランザクション開始時間"，"HiRDBクライアントアプリケーションプログラム名（DBコネクション名）"

ユーザ名が特定できない契機では，括弧内には何も出力されません。接続しているユーザがいない場合は，次のように出力されます。

"サービスプロセス通番"，"サービスプロセスID"，"（NO USER）"

ユーザ情報が取得できなかった場合は，次のように出力されます。

"サービスプロセス通番"，"サービスプロセスID"，"（INFORMATION NOT FOUND）"

実行例

このコマンドの実行例を次に示します。

機能オプションにlを指定した場合の実行例

機能オプションにvを指定した場合の実行例

注意事項

このコマンドを実行する前に，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。

機能オプションにlを指定した場合

このオプションを指定したコマンドは多重実行できません。

サーバからの応答待ち時間を環境変数「_HIEDMS_USRVIEW_TIMEOUT」に指定できます（デフォルト60秒）。

DocumentBrokerサーバからの応答待ち時間を超過した場合，このコマンドはタイムアウトによって異常終了しますが，取得したユーザ情報およびこのコマンドによって作成されたディレクトリは消去しません。

SIG_INTによる割り込みが発生した場合，取得できたユーザ情報およびコマンドによって作成されたディレクトリを消去します。

機能オプションにvを指定した場合

引数directory nameを省略した場合の注意事項を示します。

コマンドは，多重実行できません。

DocumentBrokerサーバが起動している必要があります。

DocumentBrokerサーバからの応答待ち時間を環境変数「_HIEDMS_USRVIEW_TIMEOUT」に指定できます（デフォルト60秒）。

DocumentBrokerサーバからの応答待ち時間を超過した場合，コマンドはタイムアウトによって異常終了し，取得できたユーザ情報だけが表示されます。

引数directory nameを指定した場合の注意事項を示します。

コマンドは，多重実行できます。

DocumentBrokerサーバが停止していても，コマンドを実行できます。

指定されたディレクトリ下に，取得ユーザ情報管理ファイル.usrview.infoが存在しない場合，エラーになります。

<connect pass time>，および<transaction pass time>に指定できる時間の上限は，9999:9999:9999です。これ以上の値を指定したり不正な文字列を指定したりした場合，"<connect pass time> is invalid parameter"，または"<transaction pass time> is invalid parameter" が表示されて，Usageエラーになります。また，"::0-"など，省略のしかたが不正な場合についても同様のエラーになります。

EDMXmlMap（XML定義ファイルの追加／更新／削除）

機能

DocumentBrokerの使用するXML定義ファイルを追加，更新，および削除します。次に示す四つの機能を持ちます。

新規マッピング定義の追加および更新機能
HiRDB Adapter for XMLのマッピング定義ファイルを作成します。

フィルタリング定義ファイルの追加および更新機能

マッピング定義一覧の表示機能

指定マッピング定義の削除機能

形式

EDMXmlMap  {  -p プロパティマッピング定義ファイル名（DPM）
             -m マッピング定義名
             -c マッピング元XMLタグ定義ファイル名（DCD）
           〔-t フィルタリング定義ファイル名（TFD）〕
           〔-u〕
           |
             -m マッピング定義名
             -t フィルタリング定義ファイル名（TFD）
           〔-u〕
           |
             -l
           |
             -d マッピング定義名
          }

オプション

-p

プロパティマッピング定義ファイル（DPM）のパス名を指定します。

-m

マッピング定義名を指定します。追加したマッピング定義を，この定義名で使用できるようになります。また，指定した定義名は，次に示すファイルのファイル名の一部として使用されます。

作成するマッピング定義ファイル（XMP）

複製（コピー）されるマッピング元XMLタグ定義ファイル（DCD）

複製（コピー）されるフィルタリング定義ファイル（TFD）

ただし，定義名には，全角文字を指定できません。また，パス名の長さにはOSに依存した上限値があるため，指定するマッピング定義名には，ディレクトリ名と文書空間識別子および拡張子の長さも考慮して，作成するファイルがパス名の上限値を超えないように値を指定してください。なお，マッピング定義名は，HiRDB Adapter for XMLでマッピング名として使用しますので，マッピング名の規則に従った値を指定してください。

-c

使用するマッピング元XMLタグ定義ファイル（DCD）のパス名を指定します。

指定されたDCDファイルのコピーを，$DOCBROKERDIR/etc/xml_files/'文書空間識別子'_'マッピング定義名'.dcd として作成します。

-t

使用するフィルタリング定義ファイル（TFD）のパス名を指定します。

指定されたTFDファイルのコピーを，$DOCBROKERDIR/etc/xml_files/'文書空間識別子'_'マッピング定義名'.tfd として作成します。

-u

マッピング定義の上書きの実行を指定します。このオプションを指定しないと次に示す場合にはエラーになり，マッピング定義の上書きを実行できません。

同名のマッピング定義がすでにXMSファイルに登録されている場合

DCDファイルの複製（コピー）時，同名のDCDファイルが出力先ディレクトリに存在する場合

TFDファイルの複製（コピー）時，同名のTFDファイルが出力先ディレクトリに存在する場合

作成するXMPファイルと同名のファイルが，出力先ディレクトリに存在する場合

このオプションを指定すると上書き不可のエラーは回避できますが，上記の四つすべての条件について判定されません。このため，このオプションを指定する場合は，マッピング定義の上書きを実行しても問題がないかどうか十分注意してください。

-l

マッピング定義の一覧の表示を指定します。このオプションを指定する場合，単独で指定してください。ほかのオプションと同時に指定した場合，エラーになります。

-d

マッピングセット定義ファイル（XMS）中から削除するマッピング定義を指定します。特定のマッピング定義を削除したい場合に指定します。このオプションを指定する場合，単独で指定してください。ほかのオプションと同時に指定した場合，エラーになります。

コマンドの使用方法

このコマンドには，4種類の使用方法があります。

新規マッピング定義を追加してマッピングセット定義を更新する場合

フィルタリング定義ファイルを追加してマッピング定義を更新する場合

マッピング定義を一覧表示する場合

マッピング定義を削除する場合

それぞれの方法について説明します。

新規マッピング定義を追加してマッピングセット定義を更新する場合

新規マッピング定義を追加してマッピングセット定義を更新する場合は，次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -p プロパティマッピング定義ファイル名（DPM）
           -m マッピング定義名
           -c マッピング元XMLタグ定義ファイル名（DCD）
         〔-t フィルタリング定義ファイル名（TFD）〕
         〔-u〕

実行する処理

指定されたプロパティマッピング定義ファイル（DPM）を解析してマッピング定義に変換し，マッピング定義ファイル（XMP）を作成します。さらに，マッピング元XMLタグ定義ファイル（DCD）とフィルタリング定義ファイル（TFD）を登録用に名称を変更して複製（コピー）します。また，作成したマッピング定義を指定されたマッピング定義名で使用できるように，マッピングセット定義ファイル（XMS）を更新します。

コマンドが作成および参照するファイルの名称を次に示します。

マッピング定義ファイル（XMP）
'文書空間識別子'_'マッピング定義名'.xmp

マッピング元XMLタグ定義ファイル（DCD）
'文書空間識別子'_'マッピング定義名'.dcd

フィルタリング定義ファイル（TFD）
'文書空間識別子'_'マッピング定義名'.tfd

マッピングセット定義ファイル（XMS）
'文書空間識別子名'.xms

これらのXML定義ファイルは，次に示すディレクトリに格納されます。

$DOCBROKERDIR/etc/xml_files

登録済みのマッピング定義を使用した場合，この登録済みのマッピング定義を更新します。この時点で，TFDファイルを指定しない場合は，TFDファイルは登録済みのファイルが継続して使用されます。

実行例

コマンドの実行例を説明します。

例

$DOCBROKERDIR/etc/xml_files の下に「MAPPING.dpm」という名称のDPMファイルと「BASE.dcd」という名称のDCDファイルを格納し，「SAMPLE」というマッピング定義名でコマンドを実行します。

この場合，新規に作成されるのは'文書空間識別子'_SAMPLEという名前を持つDCDファイルとXMPファイルの組です。

作成したマッピング定義を使用するには，クライアント環境に「文書空間識別子」のプリフィクスの付いたXMSファイル，XMPファイル，およびDCDファイルを複製（コピー）する必要があります。

コマンドの指定形式を次に示します。

コマンドの指定形式

EDMXmlMap  -p $DOCBROKERDIR/etc/xml_files/SAMPLE.dpm
          -m SAMPLE
          -c $DOCBROKERDIR/etc/xml_files/BASE.dcd

このコマンドの実行によって作成されるファイルを次の表に示します。

表7-10　コマンドの実行によって作成されるファイル

コマンドの実行状態
コマンド実行前
コマンド実行後

ディレクトリに格納されるファイル

MAPPING.dpm

BASE.dcd

'文書空間識別子'.xms

MAPPING.dpm

BASE.dcd

'文書空間識別子'_SAMPLE.dcd（複製）

'文書空間識別子'_SAMPLE.xmp（作成）

'文書空間識別子'.xms（更新）

なお，これらのファイルは次のディレクトリに格納されます。

$DOCBROKERDIR/etc/xml_files/

フィルタリング定義ファイルを追加してマッピング定義を更新する場合

既存のマッピング定義にフィルタリング定義ファイル（TFD）を追加してマッピング定義を更新する場合，次に示す形式でコマンドを実行します。

形式

EDMXmlMap  -m マッピング定義名
          -t フィルタリング定義ファイル名（TFD）
        〔-u〕

実行する処理

指定されたフィルタリング定義ファイル（TFD）の複製（コピー）が，出力先のディレクトリに，'文書空間識別子'_'マッピング定義名'.tfdというファイル名で作成されます。この処理は，TFDファイルがない登録済みのマッピング定義にTFDファイルを追加したり，登録済みのTFDファイルだけを更新したりする場合に実行します。

なお，指定されたマッピング定義がマッピングセット定義ファイル（XMS）に登録されていない場合は，エラーになります。

マッピング定義を一覧表示する場合

すでにマッピングセット定義ファイル（XMS）に登録されているマッピング定義の一覧を表示する場合，次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -l

実行する処理

マッピングセット定義ファイル（XMS）を参照して，登録されているマッピング定義の情報を一覧表示します。表示される情報を次に示します。

マッピング定義名

マッピング定義の追加および更新日時

マッピング定義使用クラス名（dmaClass_ConfigurationHistoryクラスのサブクラス）

マッピング定義使用クラス名（dmaClass_DocVersionクラスのサブクラス）

フィルタリング定義ファイル（TFD）の有無

有効なマッピング定義が登録されていない場合には，一覧表示されないで，警告メッセージが出力されます。

実行結果

このコマンドオプションを指定して，コマンドを実行した結果を次の図に示します。

図7-1　マッピング定義の一覧表示

表示は，すべて左寄せで出力されます。

更新日時のあとに4カラム空けて，TFDファイルの有無の情報を出力します（「Exist」か「NotExist」のどちらかを出力します）。

マッピング定義名が26カラムを超える場合には，マッピング定義名をすべて出力したあと，4カラム空けて更新日時を続けて出力します。そのあと，4カラム空けてTFDファイルの有無を出力します。

クラス名は，50カラムを超えてもそのまま出力します。

dmaClass_ConfigurationHistoryクラス，またはdmaClass_DocVersionクラスのサブクラスのマッピング定義が登録されていなければ，「-」（マイナス記号）を出力します。

マッピング定義を削除する場合

登録済みのマッピング定義を使用できないように，マッピング定義一覧から指定マッピング定義を削除する場合，次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -d  削除するマッピング定義名

実行する処理

指定されたマッピング定義がマッピングセット定義ファイル（XMS）に登録されていれば，その定義情報を削除します。この場合，$DOCBROKERDIR/etc/xml_filesに存在する，次に示す名称のファイルを削除します。

'文書空間識別子'_'マッピング定義名'.xmp

'文書空間識別子'_'マッピング定義名'.dcd

'文書空間識別子'_'マッピング定義名'.tfd

なお，指定されたマッピング定義が存在しない場合，エラーになります。

また，登録済みのマッピング定義からフィルタリング定義ファイル（TFD）だけを削除することはできません。

注意事項

このコマンドは，DocumentBrokerサーバの停止中に実行してください。

付録

＜この付録の構成＞

付録A　ディレクトリ構成（AIXの場合）

付録B　ディレクトリ構成（Linuxの場合）

付録C　クラスタリングシステムでの運用

付録D　全文検索インデクスにUCS-4 の文字を使用する場合のデータベースの設定

付録E　データベース移行

付録F　システムクラスおよびシステムプロパティの名称定義の規則

付録G　ユーザ作成のアクセスルーチンを使用するための関数

付録H　メタ情報の記述内容

付録I　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド

付録J　DocumentBroker Web Clientを使用したDocumentBrokerクライアントの開発

付録K　このマニュアルの参考情報

付録L　用語解説

付録A　ディレクトリ構成（AIXの場合）

DocumentBrokerのインストールディレクトリの構成，および実行環境ディレクトリの構成について説明します。

＜この節の構成＞

付録A.1　DocumentBrokerのインストールディレクトリの構成（AIXの場合）

付録A.2　DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）

付録A.1　DocumentBrokerのインストールディレクトリの構成（AIXの場合）

DocumentBrokerのインストールディレクトリの構成を次の図に示します。

図A-1　DocumentBrokerのインストールディレクトリの構成

次に，各ディレクトリについて説明します。

DocumentBrokerインストールディレクトリ（/opt/HiEDMS）

DocumentBrokerのインストールディレクトリです。

システム情報格納ディレクトリ（/opt/HiEDMS/adm）

システム情報を格納するディレクトリです。デフォルトの環境情報ファイルを格納します。

統計解析情報格納ディレクトリ（/opt/HiEDMS/aru）

DocumentBroker統計解析ツールが使用するディレクトリです。詳細については，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

実行形式ファイル格納ディレクトリ（/opt/HiEDMS/bin）（/opt/HiEDMS/bin_tp5）

運用コマンドや実行形式のファイルを格納するディレクトリです。

サーバ情報格納ディレクトリ（/opt/HiEDMS/env）

DocumentBrokerサーバの動作環境に関する情報を格納するディレクトリです。

ユーザ環境情報格納ディレクトリ（/opt/HiEDMS/etc）

ユーザが定義する環境定義ファイルを格納するディレクトリです。環境定義ファイルの詳細については，「付録A.2　DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）」を参照してください。

ライブラリファイル格納ディレクトリ（/opt/HiEDMS/lib）（/opt/HiEDMS/lib_tp5）

DocumentBrokerが使用するライブラリファイルを格納するディレクトリです。

マニュアル格納用ディレクトリ（/opt/HiEDMS/manual）

マニュアルのデータをバージョンごとに格納するディレクトリです。DocumentBroker Serverで提供するマニュアルは，/server に格納されています。また，DocumentBroker Development Kitで提供するマニュアルは，/devkitに格納されています。

ユーザ環境サンプル情報格納ディレクトリ（/opt/HiEDMS/sample）

DocumentBrokerサーバを動作させるための関連プログラムの設定に必要なサンプルを格納するディレクトリです。

ユーザ管理アクセス用UOCライブラリサンプルプロジェクト格納ディレクトリ（/opt/HiEDMS/sample/libdsuoc）

次に示すファイルを格納するディレクトリです。

libdsuoc.c（ソースファイル）

libdsuoc.h（ヘッダファイル）

makefile（メイクファイル）

libdsuoc.a（共用ライブラリ）

システム保守情報格納ディレクトリ（/opt/HiEDMS/spool）

ログ情報などのシステム保守情報を格納するディレクトリです。DocumentBrokerサーバが動的に生成します。

テンポラリ情報ディレクトリ（/opt/HiEDMS/tmp）

DocumentBrokerサーバの稼働中の作業領域として動的に利用するディレクトリです。

サーバ保守用コマンド格納ディレクトリ（/opt/HiEDMS/tools）（/opt/HiEDMS/tools_tp5）

トラブルシュートコマンドを格納するディレクトリです。

付録A.2　DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）

DocumentBrokerの実行環境ディレクトリの構成を次の図に示します。

図A-2　DocumentBrokerの実行環境ディレクトリの構成

次に，各ディレクトリについて説明します。

DocumentBroker実行環境ディレクトリ（$DOCBROKERDIR）

DocumentBrokerの実行環境として設定したディレクトリです。

システム情報格納ディレクトリ（$DOCBROKERDIR/adm）

システム情報を格納するディレクトリです。デフォルトの環境情報ファイルが格納されます。インストールディレクトリの同名ディレクトリ（/opt/HiEDMS/adm）からコピーされます。

統計解析情報格納ディレクトリ（$DOCBROKERDIR/aru）

DocumentBroker統計解析ツールが使用するディレクトリです。詳細については，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

実行形式ファイル格納ディレクトリ（$DOCBROKERDIR/bin）

運用コマンドや実行形式のファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/bin」（TPBroker V3の場合）または「/opt/HiEDMS/bin_tp5」（TPBroker V5の場合）へリンクしています。

サーバ情報格納ディレクトリ（$DOCBROKERDIR/env）

DocumentBrokerサーバの動作環境に関する情報を格納するディレクトリです。

ユーザ環境情報格納ディレクトリ（$DOCBROKERDIR/etc）

動作環境メタ情報ファイル，DocumentSpace構成定義ファイルなど，ユーザが定義する環境定義ファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ（/opt/HiEDMS/etc）からコピーされます。なお，動作環境メタ情報ファイルは，直接編集しないでください。メタ情報を変更したい場合は，データベース運用コマンドを使用してください。

動作環境メタ情報ファイル格納ディレクトリ（$DOCBROKERDIR/etc/meta_files）に格納される動作環境メタ情報ファイルを，次の表に示します。

表A-1　動作環境メタ情報ファイル一覧

ファイル名 | 説明 | 改変の可否
edms.ini | 文書空間内に生成するオブジェクトの定義ファイル | ○
dsclass.ini | 文書空間内に定義するクラスのClassDescriptionの定義ファイル | ×
dsprop.ini | 文書空間内に定義するクラスのPropertyDescriptionの定義ファイル | ×
dmaclass.ini | dsclass.iniで定義するClassDescription以外のClassDescriptionを定義するファイル | ×
dmaprop.ini | dsprop.iniで定義するPropertyDescription以外のPropertyDescriptionを定義するファイル | ×
dmaproto.ini | DocumentBrokerの実行に必要な定義ファイル | ×
dsqop.ini | 検索オペレータの定義ファイル | ×
edmqop.ini | 拡張検索オペレータの定義ファイル | ×
edmclass.ini | 文書空間内に定義する拡張クラスのClassDescriptionの定義ファイル | ×
edmprop.ini | 文書空間内に定義する拡張クラスのPropertyDescriptionの定義ファイル | ×
edmsys.ini | DocumentBroker内部で使用するプロパティの定義ファイル | ×
edmsysclass.ini | DocumentBroker内部で使用するプロパティのClassDescriptionの定義ファイル | ×
edmsysprop.ini | DocumentBroker内部で使用するプロパティのPropertyDescriptionの定義ファイル | ×
edmnmclass.ini | クラス名と表識別子の情報ファイル。クラス名を表識別子とする場合に利用するファイル | ×
edmnmprop.ini | プロパティ名と列名の情報ファイル。プロパティ名を列名とする場合に利用するファイル | ×

（凡例）

○：改変できます。

×：改変できません。

ユーザ環境情報格納ディレクトリに格納される動作環境メタ情報ファイル以外の環境定義ファイルを，次の表に示します。

表A-2　環境定義ファイル一覧

ファイル名 | 説明 | 改変の可否
EXTENSION_MIME.ini | 拡張子－MimeType対応表 | ○
PUBID_MIME.ini | 公開識別子－MimeType対応表 | ○
SYSID_MIME.ini | システム識別子－MimeType対応表 | ○
slocalreg.ini | Systemオブジェクトレジストリファイル | ○
docspace.ini | DocumentSpace構成定義ファイル | ○
docaccess.ini | セキュリティ定義ファイル | ○
userperm.ini※ | ユーザ権限定義ファイル | ○
process.ini | サービスプロセス定義ファイル | ○
getrascustom.ini | 障害情報取得カスタマイズファイル | ○
その他 | DocumentBroker実行時に必要とするファイルおよびディレクトリ | ×

（凡例）

○：改変できます。

×：改変できません。

注※　サンプルファイルです。定義内容に応じて編集できます。

XML定義ファイル格納ディレクトリ（$DOCBROKERDIR/etc/xml_files）

XML定義ファイルを格納するディレクトリです。XML文書管理機能を使用する場合，このディレクトリに格納されている定義ファイルをDocumentBrokerクライアントに転送する必要があります。

ライブラリファイル格納ディレクトリ（$DOCBROKERDIR/lib）

DocumentBrokerが使用するライブラリファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/lib」（TPBroker V3の場合）または「/opt/HiEDMS/lib_tp5」（TPBroker V5の場合）へリンクしています。

システム保守情報格納ディレクトリ（$DOCBROKERDIR/spool）

ログ情報などのシステム保守情報を格納するディレクトリです。

DocumentBrokerの起動中は，このディレクトリ下を操作しないでください。DocumentBrokerが異常終了することがあります。

テンポラリ情報ディレクトリ（$DOCBROKERDIR/tmp）

DocumentBrokerの稼働中の作業領域として動的に利用するディレクトリです。

サーバ保守用コマンド格納ディレクトリ（$DOCBROKERDIR/tools）

DocumentBrokerサーバ保守用コマンドを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/tools」（TPBroker V3の場合）または「/opt/HiEDMS/tools_tp5」（TPBroker V5の場合）へリンクしています。

付録B　ディレクトリ構成（Linuxの場合）

DocumentBrokerのインストールディレクトリの構成，および実行環境ディレクトリの構成について説明します。

＜この節の構成＞

付録B.1　DocumentBrokerのインストールディレクトリの構成（Linuxの場合）

付録B.2　DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）

付録B.1　DocumentBrokerのインストールディレクトリの構成（Linuxの場合）

DocumentBrokerのインストールディレクトリの構成を次の図に示します。

図B-1　DocumentBrokerのインストールディレクトリの構成

次に，各ディレクトリについて説明します。

DocumentBrokerインストールディレクトリ（/opt/HiEDMS）

DocumentBrokerのインストールディレクトリです。

システム情報格納ディレクトリ（/opt/HiEDMS/adm）

システム情報を格納するディレクトリです。デフォルトの環境情報ファイルを格納します。

統計解析情報格納ディレクトリ（/opt/HiEDMS/aru）

DocumentBroker統計解析ツールが使用するディレクトリです。詳細については，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

実行形式ファイル格納ディレクトリ（/opt/HiEDMS/bin）

運用コマンドや実行形式のファイルを格納するディレクトリです。

サーバ情報格納ディレクトリ（/opt/HiEDMS/env）

DocumentBrokerサーバの動作環境に関する情報を格納するディレクトリです。

ユーザ環境情報格納ディレクトリ（/opt/HiEDMS/etc）

ユーザが定義する環境定義ファイルを格納するディレクトリです。環境定義ファイルの詳細については，「付録B.2　DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）」を参照してください。

ライブラリファイル格納ディレクトリ（/opt/HiEDMS/lib）

DocumentBrokerが使用するライブラリファイルを格納するディレクトリです。

ユーザ環境サンプル情報格納ディレクトリ（/opt/HiEDMS/sample）

DocumentBrokerサーバを動作させるための関連プログラムの設定に必要なサンプルを格納するディレクトリです。

ユーザ管理アクセス用UOCライブラリサンプルプロジェクト格納ディレクトリ（/opt/HiEDMS/sample/libdsuoc）

次に示すファイルを格納するディレクトリです。

libdsuoc.c（ソースファイル）

libdsuoc.h（ヘッダファイル）

makefile（メイクファイル）

libdsuoc.so（共用ライブラリ）

システム保守情報格納ディレクトリ（/opt/HiEDMS/spool）

ログ情報などのシステム保守情報を格納するディレクトリです。DocumentBrokerサーバが動的に生成します。

テンポラリ情報ディレクトリ（/opt/HiEDMS/tmp）

DocumentBrokerサーバの稼働中の作業領域として動的に利用するディレクトリです。

サーバ保守用コマンド格納ディレクトリ（/opt/HiEDMS/tools）

トラブルシュートコマンドを格納するディレクトリです。

付録B.2　DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）

DocumentBrokerの実行環境ディレクトリの構成を次の図に示します。

図B-2　DocumentBrokerの実行環境ディレクトリの構成

次に，各ディレクトリについて説明します。

DocumentBroker実行環境ディレクトリ（$DOCBROKERDIR）

DocumentBrokerの実行環境として設定したディレクトリです。

システム情報格納ディレクトリ（$DOCBROKERDIR/adm）

システム情報を格納するディレクトリです。デフォルトの環境情報ファイルが格納されます。インストールディレクトリの同名ディレクトリ（/opt/HiEDMS/adm）からコピーされます。

統計解析情報格納ディレクトリ（$DOCBROKERDIR/aru）

DocumentBroker統計解析ツールが使用するディレクトリです。詳細については，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

実行形式ファイル格納ディレクトリ（$DOCBROKERDIR/bin）

運用コマンドや実行形式のファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/bin」へリンクしています。

サーバ情報格納ディレクトリ（$DOCBROKERDIR/env）

DocumentBrokerサーバの動作環境に関する情報を格納するディレクトリです。

ユーザ環境情報格納ディレクトリ（$DOCBROKERDIR/etc）

動作環境メタ情報ファイル，DocumentSpace構成定義ファイルなど，ユーザが定義する環境定義ファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ（/opt/HiEDMS/etc）からコピーされます。なお，動作環境メタ情報ファイルは，直接編集しないでください。メタ情報を変更したい場合は，データベース運用コマンドを使用してください。

動作環境メタ情報ファイル格納ディレクトリ（$DOCBROKERDIR/etc/meta_files）に格納される動作環境メタ情報ファイルを，次の表に示します。

表B-1　動作環境メタ情報ファイル一覧

ファイル名 | 説明 | 改変の可否
edms.ini | 文書空間内に生成するオブジェクトの定義ファイル | ○
dsclass.ini | 文書空間内に定義するクラスのClassDescriptionの定義ファイル | ×
dsprop.ini | 文書空間内に定義するクラスのPropertyDescriptionの定義ファイル | ×
dmaclass.ini | dsclass.iniで定義するClassDescription以外のClassDescriptionを定義するファイル | ×
dmaprop.ini | dsprop.iniで定義するPropertyDescription以外のPropertyDescriptionを定義するファイル | ×
dmaproto.ini | DocumentBrokerの実行に必要な定義ファイル | ×
dsqop.ini | 検索オペレータの定義ファイル | ×
edmqop.ini | 拡張検索オペレータの定義ファイル | ×
edmclass.ini | 文書空間内に定義する拡張クラスのClassDescriptionの定義ファイル | ×
edmprop.ini | 文書空間内に定義する拡張クラスのPropertyDescriptionの定義ファイル | ×
edmsys.ini | DocumentBroker内部で使用するプロパティの定義ファイル | ×
edmsysclass.ini | DocumentBroker内部で使用するプロパティのClassDescriptionの定義ファイル | ×
edmsysprop.ini | DocumentBroker内部で使用するプロパティのPropertyDescriptionの定義ファイル | ×
edmnmclass.ini | クラス名と表識別子の情報ファイル。クラス名を表識別子とする場合に利用するファイル | ×
edmnmprop.ini | プロパティ名と列名の情報ファイル。プロパティ名を列名とする場合に利用するファイル | ×

（凡例）

○：改変できます。

×：改変できません。

ユーザ環境情報格納ディレクトリに格納される動作環境メタ情報ファイル以外の環境定義ファイルを，次の表に示します。

表B-2　環境定義ファイル一覧

ファイル名 | 説明 | 改変の可否
slocalreg.ini | Systemオブジェクトレジストリファイル | ○
docspace.ini | DocumentSpace構成定義ファイル | ○
docaccess.ini | セキュリティ定義ファイル | ○
userperm.ini※ | ユーザ権限定義ファイル | ○
process.ini | サービスプロセス定義ファイル | ○
getrascustom.ini | 障害情報取得カスタマイズファイル | ○
その他 | DocumentBroker実行時に必要とするファイルおよびディレクトリ | ×

（凡例）

○：改変できます。

×：改変できません。

注※　サンプルファイルです。定義内容に応じて編集できます。

ライブラリファイル格納ディレクトリ（$DOCBROKERDIR/lib）

DocumentBrokerが使用するライブラリファイルを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/lib」へリンクしています。

システム保守情報格納ディレクトリ（$DOCBROKERDIR/spool）

ログ情報などのシステム保守情報を格納するディレクトリです。

DocumentBrokerの起動中は，このディレクトリ下を操作しないでください。DocumentBrokerが異常終了することがあります。

テンポラリ情報ディレクトリ（$DOCBROKERDIR/tmp）

DocumentBrokerの稼働中の作業領域として動的に利用するディレクトリです。

サーバ保守用コマンド格納ディレクトリ（$DOCBROKERDIR/tools）

DocumentBrokerサーバ保守用コマンドを格納するディレクトリです。インストールディレクトリの同名ディレクトリ「/opt/HiEDMS/tools」へリンクしています。

付録C　クラスタリングシステムでの運用

DocumentBrokerをクラスタリングシステムで運用すると，障害が発生した場合のシステムの可用性やシステムのパフォーマンスを高めることができます。DocumentBrokerでは，次に示すクラスタリングシステムが使用できます。なお，Linuxの場合はクラスタリンクシステムでの運用はできません。

HACMP
AIXの場合に使用するクラスタリングシステムです。

ここでは，DocumentBrokerをそれぞれのクラスタリングシステムで運用するための方法について説明します。

＜この節の構成＞

付録C.1　HACMPによるクラスタリングシステムでの運用

付録C.2　クラスタリングシステムでのコマンドの実行

付録C.1　HACMPによるクラスタリングシステムでの運用

DocumentBroker Serverは，HACMPを使用して，クラスタリングシステムで運用できます。

HACMPの詳細については，HACMPに関するマニュアルを参照してください。また，DocumentBroker Serverの前提プログラムおよび関連プログラムをクラスタリングシステム構成で運用する場合の詳細については，各プログラムのマニュアルを参照してください。

＜この項の構成＞

(1)　システム構成例

(2)　HACMPによるDocumentBroker Serverの運用

(3)　HACMPによるクラスタリングシステムを使用する場合の環境設定の流れ

(4)　DocumentBroker Serverの環境設定

(5)　スクリプトの作成

(6)　クラスタの定義

(7)　リソースおよびリソース・グループの定義

(8)　クラスタの検証

(9)　クラスタサービスの起動

(10)　運用時の注意事項

(11)　そのほかの注意事項

(1)　システム構成例

HACMPを使用して，DocumentBroker Server環境をクラスタリングシステムで構成した例を，次の図に示します。

なお，以降，「付録C.1　HACMPによるクラスタリングシステムでの運用」内では，すべてこの構成例の内容を基に説明します。

図C-1　HACMPを使用したクラスタリングシステム構成例

HACMPを使用したクラスタリングシステム構成例でのクラスタ構成項目について，次の表に示します。

表C-1　クラスタ構成項目

項目 | 値
クラスタ名 | docbcluster
クラスタID | 1001
現用系ノードのIPアドレスとホスト名 | 172.16.139.10　node1
現用系ノードのブートアドレスとエイリアス | 172.16.139.19　boot1
現用系ノードのスタンバイアドレスとエイリアス | 172.16.192.70　stby1
待機系ノードのIPアドレスとホスト名 | 172.16.139.11　node2
待機系ノードのブートアドレスとエイリアス | 172.16.139.20　boot2
待機系ノードのスタンバイアドレスとエイリアス | 172.16.192.71　stby2
サービスアドレスとエイリアス | 172.16.139.16　svc
アプリケーション・サーバ名 | docbapsrv
共用ディスクのボリュームグループ | DocBrokerVG
リソース・グループ名 | docbresgrp
IPベース・ネットワークのネットワーク名 | netLAN1
非IPベース・ネットワークのネットワーク名 | netrs1

HACMPを使用したクラスタリングシステム構成例の特徴を次に示します。

DocumentBroker ServerとHiRDBサーバを一つのアプリケーション・サーバ（HACMPが起動・終了を実行するアプリケーションの単位）として登録します。

TPBrokerのスマートエージェントは，別ノード上に起動します。

ノードには，ブートアドレス，スタンバイアドレスを装備します。

現用系と待機系のノードは，シリアル・ネットワークで接続します。

リファレンスファイル管理機能を使用する場合，共有ディスク上でコンテントを管理します。共有ディスク上でコンテントを管理する場合の設定については，「3.16.2　ネットワーク上のマシンの共有ディスクでコンテントを管理する場合の設定」を参照してください。

(2)　HACMPによるDocumentBroker Serverの運用

HACMPを使用したクラスタリングシステムによる運用では，HACMP環境にDocumentBroker ServerおよびHiRDBサーバを一つのアプリケーション・サーバとして登録します。HACMPを使用したクラスタリングシステムでDocumentBroker Serverを運用している場合，次に示す要因の系切り替えを設定できます。

HACMPによる，システム障害（ハードウエア障害，ネットワーク障害など）の検出

サーバ監視プロセス（EDMDaemon）の消滅

ユーザによる計画的な系切り替え

なお，サーバ監視プロセスが消滅した場合だけ系を切り替える設定をするためには，アプリケーション・モニター機能を含んだHACMP/ESをインストールする必要があります。

注意

サービスプロセス（EDMService）が消滅した場合に系を切り替える設定をしないでください。サービスプロセスの消滅は，DocumentBroker Server自体が監視しているため，サービスプロセスが障害で消滅した場合はDocumentBroker Serverがサービスプロセスを再起動します。

(3)　HACMPによるクラスタリングシステムを使用する場合の環境設定の流れ

HACMPによるクラスタリングシステムを使用する場合は，次の流れで環境設定を実行します。

環境設定を実行する前の準備

クラスタリング環境に必要な，共用ディスクの設定やネットワーク構成に関する設定をしてください。

DocumentBroker Serverの環境設定をします。

始動スクリプト，停止スクリプトおよび監視スクリプトを作成します。

クラスタを定義します。

リソースおよびリソース・グループを定義します。

クラスタを検証します。

(4)　DocumentBroker Serverの環境設定

現用系ノードおよび待機系ノードのDocumentBroker Serverの環境を設定します。

(a)　注意事項

HACMPによるクラスタリングシステムを運用する場合は，次の点に注意して環境設定を実行してください。

DocumentBroker Serverの環境設定は，クラスタサービスを起動していない状態で実行してください。

DocumentBroker Serverのバージョンをすべてのノードで統一してください。

DocumentBroker Serverは，現用系ノードおよび待機系ノードのローカルディスクにインストールしてください。

DocumentBroker Serverの実行環境は，現用系ノードおよび待機系ノードのローカルディスクに作成してください。

DocumentBroker Serverのインストールディレクトリ，実行環境ディレクトリおよび定義ファイルのパスは，すべてのノードで統一してください。

DocumentBroker Serverの定義ファイルの指定内容は，すべてのノードで統一してください。
ただし，DocumentBroker Serverの環境設定時には，Document Space構成定義ファイルに定義するHiRDBサーバのホスト名として，現用系ノードと待機系ノードで異なる値を指定して作業する必要があります。環境設定終了後，クラスタサービスを起動する前に，Document Space構成定義ファイルを更新して，同じ値に変更してください。
図B-1のシステム構成の場合に，それぞれの時点で指定する値を次に示します。

環境設定時

現用系ノードのHiRDBサーバのホスト名：node1

待機系サーバのHiRDBサーバのホスト名：node2

クラスタサービス起動時

現用系ノードおよび待機系ノードのHiRDBサーバのホスト名：svc

なお，svcはサービスアドレスです。

DocumentBroker Serverの環境設定方法の詳細については，「3.　環境設定」を参照してください。前提プログラムおよび関連プログラムの環境設定方法については，それぞれのプログラムのマニュアルを参照してください。

(b)　現用系ノードでの環境設定

現用系ノードのDocumentBroker Serverの環境設定を実行する前に，共用ディスクのボリュームグループを活動化してください。共用ディスクのボリュームグループの活動化には，varyonvgコマンドを実行します。

環境設定は，通常の手順で実行してください。詳細については，「3.　環境設定」を参照してください。

環境設定が終了したら，待機系の環境設定に備えて，共用ディスクのボリュームグループを非活動化してください。共用ディスクのボリュームグループの非活動化には，varyoffvgコマンドを実行します。

(c)　待機系ノードでの環境設定

待機系ノードのDocumentBroker Serverの環境設定を実行する前に，共用ディスクのボリュームグループを活動化してください。共用ディスクのボリュームグループの活動化には，varyonvgコマンドを実行します。

待機系の環境設定は，現用系ノードの実行環境IDの値に応じて，次の手順で実行してください。

現用系ノードの実行環境IDが0の場合

DocumentBroker Serverをインストールします。

OSの環境設定をします。

ユーザ管理機能を使用する場合の設定をします。

前提プログラムの環境設定をします。

DocumentBroker Serverの実行環境を作成します。

現用系ノードのDocumentBroker Serverの実行環境のetcディレクトリ（$DOCBROKERDIR/etc）下の内容（ファイルおよびディレクトリ）を，待機系のDocumentBroker Serverの実行環境のetcディレクトリ（$DOCBROKERDIR/etc）にコピーします。

現用系ノードの実行環境IDが1～254の場合

DocumentBroker Serverをインストールします。

OSの環境設定をします。

ユーザ管理機能を使用する場合の設定をします。

前提プログラムの環境設定をします。

DocumentBroker Serverの実行環境を作成します。

EDMPrintMeta -Fコマンド（メタ情報ファイルの出力）を実行します。

EDMRegEnvId -r（DocumentBroker実行環境登録コマンド）を実行します。
これによって，待機系ノードの実行環境を現用系ノードの実行環境とは異なる実行環境IDで登録されます。

環境設定が終了したら，共用ディスクのボリュームグループを非活動化してください。共用ディスクのボリュームグループの非活動化には，varyoffvgコマンドを実行します。

(5)　スクリプトの作成

クラスタリングシステムを運用するためには，次のスクリプトを作成する必要があります。

始動スクリプト
アプリケーション・サーバを始動するスクリプトです。

停止スクリプト
アプリケーション・サーバを停止するスクリプトです。

監視スクリプト
サービスをHACMPに監視させて，サービスがダウンした場合にフォールオーバさせるスクリプトです。

これらのスクリプトを作成したら，現用系ノードおよび待機系ノードの次のディレクトリに格納してください。

スクリプトの格納先

DocumentBroker実行環境ディレクトリ/etc（$DOCBROKERDIR/etc）下

ここでは，それぞれのスクリプトの作成手順と作成例を示します。作成例のスクリプトは，次の表に示す前提条件で作成されています。

表C-2　スクリプト作成例の前提

項目
値

始動スクリプトファイル名
docb_start

停止スクリプトファイル名
docb_stop

監視スクリプトファイル名
docb_monitor

HiRDBサーバ実行環境ディレクトリ
/home2/DocBroker/docbdb/HiRDB_P

DocumentBroker 実行環境ディレクトリ
/home2/DocBroker/docbsv

SecureWay Directoryクライアントライブラリのパス
/usr/lib

OSAGENT_PORT
14555

osagent稼働ホストIPアドレス
172.16.139.150

HiRDBサーバのホスト名（サービスアドレスを設定）
svc

HiRDBサーバのポート番号
20555

HiRDBサーバデータベースにアクセスするための
ユーザ名/パスワード
"root"/"root"

(a)　始動スクリプト（docb_start）

始動スクリプトは，次の順序で処理を実行するように作成してください。

各プログラムのディレクトリの設定

TPBrokerが使用するポート番号とIPアドレスの設定

HiRDBサーバ関連の環境変数の設定

環境変数PATHおよびLIBPATHの設定

HiRDBサーバの起動

DocumentBroker Serverの起動

スクリプトを正常終了コード0でexit

始動スクリプトの作成例を次に示します。

始動スクリプトの作成例

#!/bin/sh

# 1. 各プログラムのディレクトリの設定
CPPDIR=/usr/vacpp
PDDIR=/home2/DocBroker/docbdb2/HiRDB_P
PDCONFPATH=${PDDIR}/conf
DOCBROKERDIR=/home2/DocBroker/docbsv
HICOMDIR=/opt/hitachi/common
TPDIR=/opt/TPBroker
DADIR=/opt/DABroker
PDCLDIR=/opt/HiRDB_P/client
export CPPDIR PDDIR PDCONFPATH DOCBROKERDIR HICOMDIR TPDIR DADIR PDCLDIR

# SecureWay Directory
# この項目はユーザ認証方式にLDAPを使用する場合に設定する
LDAPRTDIR=/usr/lib
export LDAPRTDIR
# 2. TPBrokerが使用するポート番号と
#     osagent稼働ホストIPアドレスの設定
OSAGENT_PORT=14555
OSAGENT_ADDR=172.16.139.150
export OSAGENT_PORT OSAGENT_ADDR

# 3. HiRDBサーバ関連の環境変数の設定
PDHOST=svc
PDNAMEPORT=20555
PDUSER='"root"/"root"'
export PDHOST PDNAMEPORT PDUSER

# 4. 環境変数PATHおよびLIBPATHの設定
#     ユーザ認証方式にLDAPを使用しない場合は
#     ${LDAPRTDIR}の設定は不要
PATH=${DOCBROKERDIR}/bin:${PDDIR}/bin:${PATH}
LIBPATH=${DOCBROKERDIR}/lib:${HICOMDIR}/lib:${TPDIR}/lib:${DADIR}/lib:${PDDIR}/lib:${PDCLDIR}/lib:${LDAPRTDIR}:${CPPDIR}/lib:${LIBPATH}
export PATH LIBPATH

# 5. HiRDBサーバの起動
$PDDIR/bin/pdstart

# 6. DocumentBroker Serverの起動
$DOCBROKERDIR/bin/EDMStart

# 7. 正常終了コード0でexit
 exit 0

(b)　停止スクリプト（docb_stop）

停止スクリプトは，次の順序で処理を実行するように作成してください。

各プログラムのディレクトリの設定

TPBrokerが使用するポート番号とIPアドレスの設定

HiRDBサーバ関連の環境変数の設定

環境変数PATHおよびLIBPATHの設定

DocumentBroker Serverの停止

HiRDBサーバの停止

スクリプトを正常終了コード0でexit

停止スクリプトの作成例を次に示します。

停止スクリプトの作成例

#!/bin/sh

# 1. 各プログラムのディレクトリの設定
CPPDIR=/usr/vacpp
PDDIR=/home2/DocBroker/docbdb2/HiRDB_P
PDCONFPATH=${PDDIR}/conf
DOCBROKERDIR=/home2/DocBroker/docbsv
HICOMDIR=/opt/hitachi/common
TPDIR=/opt/TPBroker
DADIR=/opt/DABroker
PDCLDIR=/opt/HiRDB_P/client
export CPPDIR PDDIR PDCONFPATH DOCBROKERDIR HICOMDIR TPDIR DADIR PDCLDIR

# SecureWay Directory
# この項目はユーザ認証方式にLDAPを使用する場合に設定する
LDAPRTDIR=/usr/lib
export LDAPRTDIR
# 2. TPBrokerが使用するポート番号と
#     osagent稼働ホストIPアドレスの設定
OSAGENT_PORT=14555
OSAGENT_ADDR=172.16.139.150
export OSAGENT_PORT OSAGENT_ADDR

# 3. HiRDBサーバ関連の環境変数の設定
PDHOST=svc
PDNAMEPORT=20555
PDUSER='"root"/"root"'
export PDHOST PDNAMEPORT PDUSER

# 4. 環境変数PATHおよびLIBPATHの設定
# ユーザ認証方式にLDAPを使用しない場合は${LDAPRTDIR}の設定は不要
PATH=${DOCBROKERDIR}/bin:${PDDIR}/bin:${PATH}
LIBPATH=${DOCBROKERDIR}/lib:${HICOMDIR}/lib:${TPDIR}/lib:${DADIR}/lib:${PDDIR}/lib:${PDCLDIR}/lib:${LDAPRTDIR}:${CPPDIR}/lib:${LIBPATH}
export PATH LIBPATH

# 5. DocumentBroker Serverの停止
$DOCBROKERDIR/bin/EDMStop

# 6. HiRDBサーバの停止
$PDDIR/bin/pdstop -f -q

# 7. 正常終了コード0でexit
 exit 0

(c)　監視スクリプト（docb_monitor）

監視スクリプトは，次の順序で処理を実行するように作成してください。

SIGTERM受け付け時にスクリプトを終了するように動作変更します。

DocumentBroker実行環境ディレクトリを設定します。

DocumentBroker実行環境ディレクトリから実行されたサーバ監視プロセス（EDMDaemon）が存在しているかを確認して，サーバ監視プロセスが消滅していたら0以外の終了コードでexitします。サーバ監視プロセスが存在していたら正常終了コード0でexitします。

監視スクリプトの作成例を次に示します。なお，ここでは，サーバ監視プロセス（EDMDaemon）が消滅していた場合の終了コードを255としています。

監視スクリプトの作成例

#!/bin/sh

# 1. SIGTERM受け付け時にスクリプトを終了するよう動作変更
trap exit SIGTERM

# 2. DocumentBroker実行環境ディレクトリの設定
DOCBROKERDIR=/home2/DocBroker/docbsv
export DOCBROKERDIR

# 3. DocumentBroker実行環境ディレクトリから実行された
#      EDMDaemonプロセスが存在しているかを確認して，
#      EDMDaemonプロセスが消滅していたら0以外の終了コード
#      （ここでは255）でexit。
#      存在していたら正常終了コード0でexit。
STATUS=`ps -ef | grep ${DOCBROKERDIR} | grep EDMDaemon | grep -v grep | wc -l`
if [ ${STATUS} -ne 1 ]
then
   exit 255
else
   exit 0
fi

(6)　クラスタの定義

ここでは，DocumentBroker Serverをクラスタとして定義する方法について説明します。

クラスタは，smitコマンドを使用して定義します。smitコマンドについての詳細については，HACMPのマニュアルを参照してください。

クラスタの定義は，現用系ノードまたは待機系ノードのどちらか一方で，すべての手順を実行します。どちらかのノードで実行したあとで，定義の同期を取ることで，もう一方のノードに定義情報を反映します。

以降の説明では，現用系ノードで定義を実行して，定義終了後に待機系ノードの同期を取る手順について説明します。各手順内で，太字で示した個所は，入力または選択する必要がある項目です。なお，説明中の値は，図B-1のシステムの場合の指定値です。ご使用の環境に合わせて入力または選択してください。

なお，各手順で設定または選択する項目の詳細については，HACMPのマニュアルを参照してください。

(a)　クラスタ定義の追加（現用系ノードで実行）

DocumentBroker Serverをクラスタとして定義する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit cm_config_cluster.add

クラスタ定義を追加するための画面が表示されます。

「クラスターID」および「クラスター名」を指定します。
次のように指定します。

項目 | 値
クラスターID | [1001]
クラスター名 | [docbcluster]

ENTERキーを押します。
クラスタ定義が追加されます。

(b)　クラスタノードの追加（現用系ノードで実行）

クラスタ定義にノードを追加する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit cm_config_nodes.add

クラスタノードを追加するための画面が表示されます。

「ノード名」を指定します。
次のように指定します。

項目 | 値
ノード名 | [node1 node2]

ENTERキーを押します。
クラスタノードが追加されます。

(c)　IPベース・ネットワークの追加（現用系ノードで実行）

IPベース・ネットワークを追加する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit cm_config_nets_add_net

IPベース・ネットワークを追加するための画面が表示されます。

「ネットワーク名」，「ネットワークタイプ」，「サブネット」を指定します。
次のように指定します。

項目 | 値
ネットワーク名 | [netLAN1]
ネットワーク属性 | 共用
ネットワーク・タイプ | [ether]
サブネット | [172.16.192.0/24 172.16.139.0/24]

ENTERキーを押します。
IPベース・ネットワークが設定されます。

(d)　非IPベース・ネットワークの追加（現用系ノードで実行）

非IPベース・ネットワークを追加する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit config_nets_add_nonip.cmdhdr

非IPベース・ネットワークを追加するための画面が表示されます。

「ネットワーク名」と「ネットワークタイプ」を指定します。
次のように指定します。

項目 | 値
ネットワーク名 | [netrs1]
ネットワーク・タイプ | [rs232]

ENTERキーを押します。
非IPベース・ネットワークが設定されます。

(e)　IPベース・アダプターの追加（現用系ノードで実行）

IPベース・アダプターを追加します。ここでは，現用系ノードで実行します。

追加するアダプターは，ブートアダプター，スタンバイアダプターおよびサービスアダプターです。これらのアダプターを，現用系ノードおよび待機系ノードに対して追加します。

現用系ノードにブートアダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(c) IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。

netLAN1   ( 172.16.192.0  172.16.139.0 )

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターIPラベル」，「アダプターの機能」，「アダプターIPアドレス」，「ノード名」および「Netmask」を指定します。
次のように指定します。

項目 | 値
アダプター IP ラベル | [boot1]
ネットワーク・タイプ | ether
ネットワーク名 | netLAN1
アダプターの機能 | [ブート]
アダプター IP アドレス | [172.16.139.19]
アダプターのハードウェア・アドレス | []
ノード名 | [node1]
Netmask | [255.255.255.0]

ENTERキーを押します。
現用系ノードにブートアダプターが追加されます。

待機系ノードにブートアダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(c) IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。

netLAN1   ( 172.16.192.0  172.16.139.0 )

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターIPラベル」，「アダプターの機能」，「アダプターIPアドレス」，「ノード名」および「Netmask」を指定します。
次のように指定します。

項目 | 値
アダプター IP ラベル | [boot2]
ネットワーク・タイプ | ether
ネットワーク名 | netLAN1
アダプターの機能 | [ブート]
アダプター IP アドレス | [172.16.139.20]
アダプターのハードウェア・アドレス | []
ノード名 | [node2]
Netmask | [255.255.255.0]

ENTERキーを押します。
待機系ノードにブートアダプターが追加されます。

現用系ノードにスタンバイアダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(c) IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。

netLAN1   ( 172.16.192.0  172.16.139.0 )

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターIPラベル」，「アダプターの機能」，「アダプターIPアドレス」，「ノード名」および「Netmask」を指定します。
次のように指定します。

項目 | 値
アダプター IP ラベル | [stby1]
ネットワーク・タイプ | ether
ネットワーク名 | netLAN1
アダプターの機能 | [スタンバイ]
アダプター IP アドレス | [172.16.192.70]
アダプターのハードウェア・アドレス | []
ノード名 | [node1]
Netmask | [255.255.255.0]

ENTERキーを押します。
現用系ノードにスタンバイアダプターが追加されます。

待機系ノードにスタンバイアダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(c) IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。

netLAN1   ( 172.16.192.0  172.16.139.0 )

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターIPラベル」，「アダプターの機能」，「アダプターIPアドレス」，「ノード名」および「Netmask」を指定します。
次のように指定します。

項目 | 値
アダプター IP ラベル | [stby2]
ネットワーク・タイプ | ether
ネットワーク名 | netLAN1
アダプターの機能 | [スタンバイ]
アダプター IP アドレス | [172.16.192.71]
アダプターのハードウェア・アドレス | []
ノード名 | [node2]
Netmask | [255.255.255.0]

ENTERキーを押します。
待機系ノードにスタンバイアダプターが追加されます。

サービスアダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(c) IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。

netLAN1   ( 172.16.192.0  172.16.139.0 )

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターIPラベル」，「アダプターIPアドレス」および「Netmask」を指定します。
次のように指定します。

項目 | 値
アダプター IP ラベル | [svc]
ネットワーク・タイプ | ether
ネットワーク名 | netLAN1
アダプターの機能 | [サービス]
アダプター IP アドレス | [172.16.139.16]
アダプターのハードウェア・アドレス | []
ノード名 | []
Netmask | [255.255.255.0]

ENTERキーを押します。
サービスアダプターが追加されます。

(f)　非IPベース・アダプターの追加（現用系ノードで実行）

非IPベース・アダプターを追加します。ここでは，現用系ノードで実行します。

非IPベース・アダプターは，現用系ノードおよび待機系ノードに対して追加します。

現用系ノードに非IPベース・アダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add_nonip.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(d) 非IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。
netrs1

ENTERキーを押します。
非IPベース・アダプターを追加するための画面が表示されます。

「アダプター・ラベル」，「デバイス名」および「ノード名」を指定します。
次のように指定します。

項目 | 値
アダプター・ラベル | [serial1]
ネットワーク・タイプ | rs232
ネットワーク名 | netrs1
デバイス名 | [/dev/tty2]
ノード名 | [node1]

ENTERキーを押します。
現用系ノードにブートアダプターが追加されます。

待機系ノードに非IPベース・アダプターを追加

次の形式でsmitコマンドを実行します。

smit cm_config_ads_add_nonip.select

新規アダプターを追加するネットワークを選択するための画面が表示されます。

アダプターを追加するネットワークを選択します。
ここでは，「(d) 非IPベース・ネットワークの追加（現用系ノードで実行）」で追加したネットワークを選択します。
次のネットワークを選択します。
netrs1

ENTERキーを押します。
IPベース・アダプターを追加するための画面が表示されます。

「アダプターラベル」，「デバイス名」および「ノード名」を指定します。
次のように指定します。

項目 | 値
アダプター・ラベル | [serial2]
ネットワーク・タイプ | rs232
ネットワーク名 | netrs1
デバイス名 | [/dev/tty2]
ノード名 | [node2]

ENTERキーを押します。
待機系ノードに非IPベース・アダプターが追加されます。

(g)　クラスタ・トポロジーの同期（現用系ノードで実行）

クラスタ・トポロジーを同期させて，現用系ノードと待機系ノードを同期させる方法について説明します。これによって，現用系ノードで実行した定義が待機系ノードに反映されます。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit configchk.dialog

クラスタ・トポロジーを同期させるための画面が表示されます。

クラスタ・トポロジーについて指定します。
次のようになっていることを確認します。

項目 | 値
クラスター検証エラーを無視する | [いいえ]
エミュレートまたは実際 | [実際]
クラスターの検証をスキップする | [いいえ]

ENTERキーを押します。
クラスタ・トポロジーが同期されて，現用系ノードで定義した内容が待機系ノードに反映されます。

(7)　リソースおよびリソース・グループの定義

ここでは，クラスタ内のリソースおよびリソース・グループを定義する方法を説明します。

リソースおよびリソース・グループは，smitコマンドを使用して定義します。smitコマンドについての詳細については，HACMPのマニュアルを参照してください。

リソースおよびリソース・グループの定義は，現用系ノードまたは待機系ノードのどちらか一方で，すべての手順を実行します。どちらかのノードで実行したあとで，定義の同期を取ることで，もう一方のノードに定義情報を反映します。

以降の説明では，現用系ノードで定義を実行して，定義終了後に待機系ノードの同期を取る手順について説明します。各手順内で，太字で示した個所は，入力または選択する必要がある項目です。なお，説明中の値は，図B-1のシステムの場合の指定値です。ご使用の環境に合わせて入力または選択してください。

各手順で設定または選択する項目の詳細については，HACMPのマニュアルを参照してください。

(a)　リソース・グループの追加（現用系ノードで実行）

DocumentBroker Server用のリソース・グループを追加する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit cm_add_grp

リソース・グループを追加するための画面が表示されます。

「リソース・グループ名」，「ノード関係」および「参加ノード名／デフォルト・ノード優先順位」を指定します。
次のように指定します。

項目 | 値
リソース・グループ名 | [docbresgrp]
ノード関係 | ローテート※
参加ノード名／デフォルト・ノード優先順位 | [node1 node2]

注※

「ローテート」または「カスケード」を選択してください。

ENTERキーを押します。
リソース・グループが追加されます。

(b)　アプリケーション・サーバの追加（現用系ノードで実行）

DocumentBroker Serverを登録するアプリケーション・サーバを追加する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit claddserv.dialog

アプリケーション・サーバを追加するための画面が表示されます。

「サーバ名」，「始動スクリプト」および「停止スクリプト」を指定します。
次のように指定します。

項目 | 値
サーバ名 | [docbapsrv]
始動スクリプト | [/home2/DocBroker/docbsv/etc/docb_start]
停止スクリプト | [/home2/DocBroker/docbsv/etc/docb_stop]

ENTERキーを押します。
アプリケーション・サーバが追加されます。

(c)　リソース・グループの属性変更（現用系ノードで実行）

DocumentBroker Server用に追加したリソース・グループの属性を変更する方法について説明します。ここでは，現用系ノードで実行します。

次の形式でsmitコマンドを実行します。

smit cm_cfg_res.select

リソース・グループを選択するための画面が表示されます。

リソース・グループを選択します。
ここでは，「(a) リソース・グループの追加（現用系ノードで実行）」で追加したノードを選択します。
次のリソース・グループを選択します。

docbresgrp

ENTERキーを押します。
リソース・グループのリソースおよび属性の変更と，表示をするための画面が表示されます。

「サービスIPラベル」，「ボリューム・グループ」および「アプリケーションサーバ」を指定します。
次のように指定します。

項目 | 値
リソース・グループ名 | docbresgrp
ノード関係 | ローテート
参加ノード名／デフォルト・ノード優先順位 | node1 node2
動的ノード優先順位 | []
サービス IP ラベル | [svc]
ファイルシステム (デフォルトは「すべて」) | []
ファイルシステムの整合性検査 | fsck
ファイルシステムの回復メソッド | シリアル
エクスポートするファイルシステム／ディレクトリー | []
NFS マウントするファイルシステム／ディレクトリー | []
NFS マウント用ネットワーク | []
ボリューム・グループ | [DocBrokerVG]
コンカレント・ボリューム・グループ | []
ロー・ディスク PVID | []
Connections サービス | []
Fast Connect サービス | []
テープ・リソース | []
アプリケーション・サーバ | [docbapsrv]
高可用性通信リンク | []
その他のデータ | []
ボリューム・グループの自動インポート | いいえ
インアクティブ・テークオーバーをアクティブにする | いいえ
フォールバックなしカスケードを使用可能にする | いいえ
9333 ディスク・フェンシングをアクティブにする | いいえ
SSA ディスク・フェンシングをアクティブにする | いいえ
IP 構成の前にファイルシステムをマウントする | いいえ

ENTERキーを押します。
リソース・グループの属性が変更されます。

(d)　アプリケーション・サーバの追加（現用系ノードで実行）

DocumentBroker ServerのサービスをHACMPに監視させて，サービスがダウンした時にフェ－ルオーバさせるためのモニターを追加する方法について説明します。

次の形式でsmitコマンドを実行します。

smit clappserv_to_custom_monitor.select

モニターするアプリケーション・サーバを選択するための画面が表示されます。

モニターするアプリケーション・サーバを選択します。
ここでは，「(b)アプリケーション・サーバの追加（現用系ノードで実行）」で追加したアプリケーション・サーバを選択します。
次のアプリケーション・サーバを選択します。

docbapsrv

ENTERキーを押します。
ユーザ定義アプリケーション・モニターを追加するための画面が表示されます。

「モニター・メソッド」（監視スクリプト），「モニター間隔」，「モニターを停止するシグナル」，「安定化間隔」，「再始動カウント」，「再始動間隔」，「アプリケーション障害時のアクション」を指定します。
次のように指定します。

項目 | 値
アプリケーション・サーバ名 | docbapsrv
モニター・メソッド | [/home2/DocBroker/docbsv/etc/docb_monitor]
モニター間隔 | [30]※1
モニターを停止するシグナル | [15]※2
安定化間隔 | [600]※3
再始動カウント | [0]※2
再始動間隔 | [0]※2
アプリケーション障害時のアクション | [fallover]※2
通知メソッド | []
クリーンアップ・メソッド | [/home2/DocBroker/docbsv/etc/docb_stop]
再始動メソッド | [/home2/DocBroker/docbsv/etc/docb_start]

注※1

「10」秒以上を指定してください。

注※2

必ずこの値を指定してください。

注※3

「60」秒以上を指定してください。

ENTERキーを押します。
アプリケーション・モニターが追加されます。

(e)　クラスタ・リソースの同期化

クラスタ・リソースについて，現用系ノードと待機系ノードを同期させる方法について説明します。これによって，現用系ノード実行した定義が待機系ノードに反映されます。

次の形式でsmitコマンドを実行します。

smit clsyncnode.dialog

クラスタ・リソースを同期させるための画面が表示されます。

クラスタ・リソースの同期化について指定します。
次のようになっていることを確認します。

項目 | 値
クラスター検証エラーを無視する | [いいえ]
クラスター・リソースを構成／構成解除する | [はい]
エミュレートまたは実際 | [実際]
クラスターの検証をスキップする | [いいえ]

ENTERキーを押します。
クラスタ・リソースが同期されて，現用系ノードで定義した内容が待機系ノードに反映されます。

(8)　クラスタの検証

クラスタのトポロジーとリソース構成を検証する方法について説明します。

クラスタは，smitコマンドを使用して検証します。smitコマンドについての詳細については，HACMPのマニュアルを参照してください。

クラスタの検証は，現用系ノードまたは待機系ノードのどちらか一方で，すべての手順を実行します。

ここでは，現用系ノードで定義を実行する手順について説明します。各手順内で，太字で示した個所は，入力または選択する必要がある項目です。なお，説明中の値は，図B-1のシステムの場合の指定値です。ご使用の環境に合わせて入力または選択してください。

各手順で設定または選択する項目の詳細については，HACMPのマニュアルを参照してください。

次の形式でsmitコマンドを実行します。

smit clverify

実行する項目を選択するための画面が表示されます。

「クラスターの検証」を選択します。

ENTERキーを押します。
クラスタを検証するための画面が表示されます。

クラスタの検証方法について指定します。
次のようになっていることを確認します。

項目
値

基本 HACMP 検証メソッド
(トポロジー，リソース，両方，どちらでもない）
両方

ユーザー定義の検証メソッド
[]

エラー件数
[]

出力を保管するためのログ・ファイル
[]

ENTERキーを実行します。
クラスタのトポロジーおよびリソースの構成の内容が検証されます。

(9)　クラスタサービスの起動

ここでは，クラスタサービスの起動方法について説明します。クラスタサービスの起動では，現用系ノードおよび待機系ノードそれぞれのクラスタサービスを起動させて利用できるようにして，DocumentBroker Serverを開始します。

クラスタサービスは，smitコマンドを使用して始動します。smitコマンドについての詳細については，HACMPのマニュアルを参照してください。

クラスタサービスの始動は，現用系ノードおよび待機系ノードの両方で実行します。なお，クラスタサービスを始動する前に，共用ディスクのボリュームグループを非活動化してください。

次の形式でsmitコマンドを実行します。

smit clstart

クラスタサービスを始動するための画面が表示されます。

始動方法を指定します。
次のようになっていることを確認します。

項目 | 値
即時始動，システム再始動時に始動，または両方 | 即時
始動時にメッセージをブロードキャストする | いいえ
クラスター・ロック・サービスを始動する | いいえ
クラスター情報デーモンを始動する | はい
Reacquire resources after forced down ? | いいえ

(10)　運用時の注意事項

ここでは，HACMPによるクラスタリングシステムを運用する場合の注意事項について説明します。

(a)　起動・終了の運用

HACMPによるクラスタリングシステムを運用する場合，DocumentBroker Serverを起動・終了は，HACMPを使用して実行してください。

クラスタサービスを使用してDocumentBroker Serverを起動した場合にEDMStopコマンドで終了しようとすると，システムが不正な状態になります。これは，サーバ監視プロセス（EDMDaemon）が消滅することで，DocumentBroker Serverを登録したアプリケーション・サーバに障害が発生したとHACMPにみなされるためです。

(b)　運用コマンド・統計解析ツール・トラブルシュートコマンドの運用

運用コマンド，統計解析ツールおよびトラブルシュートコマンドは，現用系ノードで実行してください。待機系ノードでは，これらのコマンドおよびツールは実行できません。

(c)　計画的な系切り替えの運用

計画的な系切り替えは，HACMPによって実行してください。詳細については，HACMPのマニュアルを参照してください。

(11)　そのほかの注意事項

HiRDBのクライアントの環境変数PDISLLVLには，値を設定しないか，または「2」を設定してください。

HiRDBのクライアントの環境変数の詳細については，マニュアル「HiRDB　UAP開発ガイド」を参照してください。

付録C.2　クラスタリングシステムでのコマンドの実行

DocumentBroker Serverの運用コマンドの実行方法は，「7.　コマンドリファレンス」を参照してください。DocumentBroker Serverをクラスタリングシステムで運用している場合の注意事項を次に示します。

クラスタリングシステムの実行系でDocumentBroker Serverを運用している場合は，待機系で運用コマンドを実行しないでください。

クラスタリングシステムの実行系で運用コマンドを実行中に，待機系のDocumentBrokerへの切り替えが発生した場合は，切り替え先で運用コマンドを再度実行する必要があります。

付録D　全文検索インデクスにUCS-4 の文字を使用する場合のデータベースの設定

ここでは，全文検索インデクスにUCS-4の文字を使用する場合のデータベースの設定について説明します。なお，次の条件をすべて満たす場合に，全文検索インデクスにUCS-4の文字を使用できます。

UCS-2の範囲外の文字を使用する（UCS-4の範囲内の文字を使用する）

データベースの文字コード種別がUTF-8である

データベースのインデクスが差分インデクス以外である

データベースの設定には，HiRDB SQL ExecuterおよびHiRDB Text Search Plug-inのコマンドを使用します。また，設定を行う前にはDocumentBrokerサーバを停止してください。

データベースの設定手順を次に示します。

RDエリアの空き容量が十分にあるかを確認します。
インデクスのUnicode TypeをUCS-4に変更するとき，インデクスを格納しているRDエリアの空き容量が十分にないと，HiRDB Text Search Plug-inのコマンド「phnmodidx（インデクス情報変更ユティリティ）」が異常終了します。そのため，UCS-4への移行作業を行う前にRDエリアの空き容量を確認してください。
UCS-4用のインデクスを使用するときのRDエリア容量の見積もりについては，マニュアル「HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 8」を参照してください。

データベースのバックアップを取得します。

次のディレクトリのバックアップを取得します。
＜DocumentBrokerサーバの実行環境ディレクトリ＞/etc

HiRDB SQL Executerのコマンド「TABLEINF（指定した表の情報を表示）」を実行し，インデクスに使用する文書クラスのインデクス識別子およびRDエリアを確認します。

TABLEINF (文書クラス名);

＜実行例＞

文書クラスmdmClass_Documentのインデクス識別子とRDエリアを確認する場合

>TABLEINF "mdmClass_Document";
 ：
Index Type     : PLUGIN(MASTER.NGRAM) INDEX
Index Name     : "mdmClass_Document06"
Index ID       : 0x000301e9(197097)
Column         :
   1  "edmProp_TextIndex"
RDAREA Name    : IN (BLOBAREA10)
Option         : PCTFREE=0
 ：

HiRDB Text Search Plug-inのコマンド「phnidxls（インデクス情報の取得ユティリティ）」を使用して，インデクスのUnicode Typeを確認します。

phnidxls -d インデクス識別子 -r RDエリア名

＜実行例＞

手順4.で指定した文書クラスmdmClass_DocumentのUnicode Typeを確認する場合

phnidxls -d "mdmClass_Document06" -r BLOBAREA10

Index Type                                     CONCEPT
Concept Terms                                       ON
Unicode Type                                      UCS2
RD Area Size                                     14500 Segments
Index File Using Size                              607 Segments
Free Size of Index File                          10039 Segments( 99.98 %)
Available Work Area Size                           729 Segments
Delete Character                                   OFF
Number of Term                                       0
Number of Term for Increment                         0
Index Size for Increment                             0 Segments
Specified File Size for Sub Index                    0 Segments
Sub Index File Using Size                            0 Segments
Number of Documents for Index                        0
Number of Documents for Sub-Index                    0
Ratio of Condensable Documents                    0.00 %
Ratio of Condensed Index                          0.00 %
Number of No Condensed Index                         0 Segments
Delay Status                              CREATEMODE=0
Number of Documents for Unfinished-Index             0
Size of Delay File                                   0
Size of Original Concept File                      579 Segments
Max Page of Original Concept File                 3250 Segments

HiRDB Text Search Plug-inのコマンド「phnmodidx（インデクス情報変更ユティリティ）」を使用して，インデクスのUnicode TypeをUCS-4に変更します。

phnmodidx -d インデクス識別子 -v INDEX_TYPE=UCS4

＜実行例＞

手順4.で指定した文書クラスmdmClass_DocumentのUnicode TypeをUCS-4に変更する場合

>phnmodidx -d "mdmClass_Document06" -v INDEX_TYPE=UCS4

KFPL28904-I Transaction commit

HiRDB Text Search Plug-inのphnidxlsコマンドを使用して，変更後のUnicode Typeを確認します。

phnidxls -d インデクス識別子 -r RDエリア名

＜実行例＞

手順4.で指定した文書クラスmdmClass_Documentの変更後のUnicode Typeを確認する場合

>phnidxls -d "mdmClass_Document06" -r BLOBAREA10

Index Type                                     CONCEPT
Concept Terms                                       ON
Unicode Type                                      UCS4
RD Area Size                                     14500 Segments
Index File Using Size                              635 Segments
Free Size of Index File                          10039 Segments( 99.98 %)
Available Work Area Size                           727 Segments
Delete Character                                   OFF
Number of Term                                       0
Number of Term for Increment                         0
Index Size for Increment                             0 Segments
Specified File Size for Sub Index                    0 Segments
Sub Index File Using Size                            0 Segments
Number of Documents for Index                        0
Number of Documents for Sub-Index                    0
Ratio of Condensable Documents                    0.00 %
Ratio of Condensed Index                          0.00 %
Number of No Condensed Index                         0 Segments
Delay Status                              CREATEMODE=0
Number of Documents for Unfinished-Index             0
Size of Delay File                                   0
Size of Original Concept File                      579 Segments
Max Page of Original Concept File                 3250 Segments

注意

前記の設定作業を行ったあとに全文検索インデクスを再登録してください。全文検索インデクスを再登録しないと，UCS-2にはなくUCS-4だけにある文字は検索対象になりません。

参考

データベースの設定時にHiRDB Text Search Plug-inのコマンドが異常終了した場合，次の対策を実施し，再度設定を行ってください。

手順2.で作成したバックアップを使用して，データベースを回復します。

手順3.で作成したバックアップを使用して，DocumentBrokerのメタデータを回復します。

異常終了時に出力されたエラーメッセージを参照して，エラーの要因を取り除きます。

手順4.から再度設定を行います。

付録E　データベース移行

ここでは，次に示すデータベースを移行する方法について説明します。

アクセス制御機能を使用するためのデータベース移行

クラス名やプロパティ名などをデータベース定義の名称に使用するためのデータベース移行

HiRDBの繰り返し列を使用するためのデータベース移行

マルチファイル管理機能を使用するためのデータベース移行

リファレンスファイル管理機能を使用するためのデータベース移行

File Link連携機能を使用するためのデータベース移行

なお，データベースを移行するためのコマンドを実行できるのは，システム管理者だけです。これらのコマンドを実行する場合，DocumentBrokerの実行環境ディレクトリ下（$DOCBROKERDIR/tools）に格納されているコマンドを使用してください。

＜この節の構成＞

付録E.1　アクセス制御機能を使用するためのデータベース移行

付録E.2　クラス名やプロパティ名などをデータベース定義の名称に使用するためのデータベース移行

付録E.3　HiRDBの繰り返し列を使用するためのデータベース移行

付録E.4　マルチファイル管理機能を使用するためのデータベース移行

付録E.5　リファレンスファイル管理機能を使用するためのデータベース移行

付録E.6　File Link連携機能を使用するためのデータベース移行

付録E.1　アクセス制御機能を使用するためのデータベース移行

アクセス制御非対応のデータベースから，アクセス制御対応のデータベースに移行するための，移行手順およびデータベース移行ツールについて説明します。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeACL（アクセス制御機能を使用するためのデータベース移行ツール）の文法

(3)　エラー発生時の対策手順

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

RDエリア定義情報ファイルを作成します。

手順4.実行後に出力されるデータベース定義文のRDエリア名をあらかじめ指定しない場合は，この作業は不要です。ただし，手順4.実行後，データベース定義文格納ファイル内のRDエリア名を変更する必要があります。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

HiRDBのデータベース構成変更ユティリティ（pdmod）を実行して，RDエリアを拡張します。

アクセス制御用のメタ情報の追加，および定義済みの表に対するアクセス制御用の列の追加によって，RDエリアを拡張する必要があります。

HiRDBのデータベース構成変更ユティリティ（pdmod）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

EDMChangeACLコマンドを実行します。
データベース定義文が出力されます。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドを実行する前に，データベースを起動してください。

このコマンドの実行中に，ほかのコマンドは実行できません。

手順2.でRDエリア定義情報ファイルを作成していない場合は，このコマンドの実行後，データベース定義文格納ファイル内のRDエリア名を変更してください。

EDMChangeACLコマンドの詳細については，「(2)　EDMChangeACL（アクセス制御機能を使用するためのデータベース移行ツール）の文法」を参照してください。

データベース定義文格納ファイルを入力ファイルとして，HiRDBのデータベース定義ユティリティ（pddef）を実行し，スキーマの定義内容を更新します。
手順4.実行後に出力されたデータベース定義文を基に，スキーマの定義内容が更新され，アクセス制御機能に対応したデータベースのスキーマがHiRDBの表に格納されます。

HiRDBのデータベース定義ユティリティ（pddef）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　EDMChangeACL（アクセス制御機能を使用するためのデータベース移行ツール）の文法

EDMChangeACLコマンドの詳細について説明します。

機能

アクセス制御非対応のデータベースから，アクセス制御対応のデータベースに移行します。また，メタ情報およびデータベース定義を，次に示す定義項目を追加して更新します。

アクセス制御用のメタ情報の追加

定義済みの表に対するアクセス制御用の列の追加

追加されたアクセス制御用の列に対するデータの設定

なお，アクセス制御用プロパティを追加したクラスの一覧は，カレントディレクトリのChangeACLResult.txtに出力されます。

形式

EDMChangeACL  ｛-w | -u ユーザ識別子｝
             〔-f セキュリティ定義ファイル名〕
               -o データベース定義文格納ファイル名
             〔-r RDエリア定義情報ファイル名〕

オプション

-w

DocumentBroker Web Clientを使用している環境で，DocumentBroker Web Clientに登録されているすべてのオブジェクトの所有者のユーザ識別子を，edmProp_Ownerプロパティに設定されている値に変更する場合に指定します。

-u ユーザ識別子

DocumentBrokerサーバに登録されているすべてのオブジェクトの所有者のユーザ識別子を，このオプションで指定するユーザ識別子に変更する場合に指定します。使用するユーザ管理機能に応じたユーザ識別子を指定してください。

指定できるユーザ識別子の長さの範囲は1～254バイトです。

なお，このオプションに指定するユーザ識別子に対しては，文字列の長さだけをチェックします。

-f セキュリティ定義ファイル名

セキュリティ定義ファイルを絶対パスで指定します。セキュリティ定義ファイルに定義されている次に示すエントリの値に従って，オブジェクトの所有者，グループおよびすべてのユーザに対するアクセス権が設定されます。

DefaultACFlagOwnerエントリ

DefaultACFlagGroupエントリ

DefaultACFlagEveryoneエントリ

なお，指定を省略した場合，またはセキュリティ定義ファイルにエントリを定義していない場合は，オブジェクトの所有者，グループおよびすべてのユーザに対してフルコントロールのパーミッションが設定されます。

セキュリティ定義ファイルについては，「4.3　セキュリティ定義ファイル（docaccess.ini）」を参照してください。

-o データベース定義文格納ファイル名

出力されたデータベース定義文を格納するファイルを絶対パスで指定します。

-r RDエリア定義情報ファイル名

RDエリア定義情報ファイルを絶対パスで指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を，このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は，このコマンドの実行後，データベース定義文格納ファイル内のRDエリア名を変更してください。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

(3)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

付録E.2　クラス名やプロパティ名などをデータベース定義の名称に使用するためのデータベース移行

データベース定義の名称に，GUID値を変換したIDを使用するデータベースから，クラス名やプロパティ名を使用するデータベースに移行するための，移行手順およびデータベース移行ツールについて説明します。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeDBDefName（クラス名やプロパティ名などをデータベース定義名称に使用するためのデータベース移行ツール）の文法

(3)　名称定義ファイル

(4)　エラー発生時の対策手順

(5)　注意事項

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

名称定義ファイルを作成します。

クラス名やプロパティ名などをデータベース定義の名称に使用する場合の規則に従って，クラス名およびプロパティ名が指定されている場合，この作業は不要です。

名称定義ファイルについては，「(3)　名称定義ファイル」を参照してください。

RDエリアを拡張する必要がある場合は，HiRDBのデータベース構成変更ユティリティ（pdmod）を実行して，RDエリアを拡張します。

表識別子および列名に関するメタ情報およびデータベース定義の変更によって，RDエリアを拡張する必要がある場合は，RDエリアを拡張してください。

HiRDBのデータベース構成変更ユティリティについては，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

EDMChangeDBDefNameコマンドを実行します。
データベース定義文が出力されます。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドを実行する前に，データベースを起動してください。

このコマンドの実行中に，ほかのコマンドは実行できません。

EDMChangeDBDefNameコマンドの詳細については，「(2)　EDMChangeDBDefName（クラス名やプロパティ名などをデータベース定義名称に使用するためのデータベース移行ツール）の文法」を参照してください。

データベース定義文格納ファイルを入力ファイルとして，HiRDBのデータベース定義ユティリティ（pddef）を実行し，スキーマの定義内容を更新します。
手順4.実行後に出力されたデータベース定義文を基に，スキーマの定義内容が更新され，クラス名やプロパティ名などをデータベース定義の名称に使用できるデータベースのスキーマが，HiRDBの表に格納されます。

HiRDBのデータベース定義ユティリティについては，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　EDMChangeDBDefName（クラス名やプロパティ名などをデータベース定義名称に使用するためのデータベース移行ツール）の文法

EDMChangeDBDefNameコマンドの詳細について説明します。

機能

データベース定義の名称に使用する値を，GUID値を変換したIDから，クラス名やプロパティ名に変更します。

このコマンドを初めて実行する場合，すべての表識別子および列名が変更されます。2回目以降は，-fオプションに指定した名称定義ファイルに定義している表識別子および列名だけが変更されます。

形式

EDMChangeDBDefName  〔-f 名称定義ファイル名〕
                     -o データベース定義文格納ファイル名
                   〔-r 表格納用RDエリア名〕
                   〔-i インデクス格納用RDエリア名〕

オプション

-f 名称定義ファイル名

名称定義ファイルを絶対パスで指定します。省略した場合，クラス名が表識別子になり，プロパティ名が列名になります。なお，次の場合は名称定義ファイルを必ず指定してください。

表識別子として使用できないクラス名，および列名として使用できないプロパティ名を指定している場合

このコマンドを実行するのが2回目以降の場合

名称定義ファイルについては，「(3)　名称定義ファイル」を参照してください。

-o データベース定義文格納ファイル名

出力されたデータベース定義文を格納するファイルを絶対パスで指定します。

-r 表格納用RDエリア名

このコマンドを初めて実行する場合，表識別子および列名を格納するメタ情報の表が追加されます。このメタ情報の表を格納するユーザ用RDエリア名を指定します。指定を省略した場合，メタ情報の表は，定義されている表数が最少の公用RDエリアに格納されます。

-i インデクス格納用RDエリア名

このコマンドを初めて実行する場合，メタ情報用のインデクスが追加されます。このメタ情報用のインデクスを格納するユーザ用RDエリア名を指定します。指定を省略した場合，メタ情報用のインデクスは，表識別子および列名のメタ情報の表が格納されているRDエリアに格納されます。

(3)　名称定義ファイル

名称定義ファイルには，ユーザ定義のクラスに対応する表識別子，およびユーザ定義のプロパティに対応する列名を定義します。ここでは，名称定義ファイルの記述形式および記述例について説明します。

名称定義ファイルの記述形式

名称定義ファイルの記述形式を次に示します。

class=クラス名,DBAlias=表識別子
prop=プロパティ名,DBAlias=列名

class=クラス名,DBAlias=表識別子

ユーザ定義のクラスに対応する表識別子（1～28バイト）を指定します。クラス名を表識別子として使用できない場合は，必ず指定してください。

prop=プロパティ名,DBAlias=列名

ユーザ定義のプロパティに対応する列名を指定します。プロパティ名を列名として使用できない場合は，必ず指定してください。

次に示すクラス名やプロパティ名などをデータベース定義の名称に使用する場合の規則に従って，列名を指定してください。規則の詳細については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。

VariableArray型のプロパティに対応する列名は，1～14バイトで指定する。

VariableArray型の要素のプロパティに対応する列名は，1～15バイトで指定する。

上記以外のプロパティに対応する列名は，1～28バイトで指定する。

なお，このファイルで，行頭が「;」（セミコロン）または「#」（シャープ）の行はコメントとして処理されます。

名称定義ファイルの記述例

名称定義ファイルの記述例を次に示します。

#クラス
class=usrClass_ProblemInformationDocument,DBAlias=CProblemInfoDoc
class=usrClass_QuestionAndAnswerDocument,DBAlias=CQandADoc

#VariableArray型のプロパティ
prop=usrProp_WriterInformation,DBAlias=PWriterInfo

#VariableArray型の要素のプロパティ
prop=usrProp_WriterName,DBAlias=PWriterName

#上記以外のプロパティ
prop=usrProp_ProblemInformationDocument,DBAlias=PProblemInfoDoc
prop=usrProp_QuestionAndAnswerDocument,DBAlias=PQandADoc

(4)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

(5)　注意事項

メタ情報の初期設定コマンド（EDMInitMeta）実行時に，-uオプションに"DisplayName"を指定した場合，このデータベース移行は実行できません。

データベース移行前に，edmProp_DBAliasプロパティを使用していなくても，データベース移行後に，EDMAddMetaコマンドでedmProp_DBAliasプロパティを追加できます。

クラスに対応する表を基にビュー表を作成している場合は，ビュー表を削除してから移行作業を実施してください。

データベース移行時，インデクス名として使用する値は変更しません。したがって，インデクス名は，GUID値を変換したIDのままです。

付録E.3　HiRDBの繰り返し列を使用するためのデータベース移行

VariableArray型のプロパティの要素の格納先を，HiRDBの別表からHiRDBの繰り返し列に移行するための，移行手順およびデータベース移行ツールについて説明します。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeVarray（HiRDBの繰り返し列対応機能を使用するためのデータベース移行ツール）の文法

(3)　移行プロパティ定義ファイル

(4)　エラー発生時の対策手順

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

移行プロパティ定義ファイルを作成します。

移行プロパティ定義ファイルについては，「(3)　移行プロパティ定義ファイル」を参照してください。

EDMChangeVarrayコマンドを実行します。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドを実行する前に，データベースを起動してください。

このコマンドの実行中に，ほかのコマンドは実行できません。

EDMChangeVarrayコマンドの詳細については，「(2)　EDMChangeVarray（HiRDBの繰り返し列対応機能を使用するためのデータベース移行ツール）の文法」を参照してください。

(2)　EDMChangeVarray（HiRDBの繰り返し列対応機能を使用するためのデータベース移行ツール）の文法

EDMChangeVarrayコマンドの詳細について説明します。

機能

移行プロパティ定義ファイルに定義したVariableArray型のプロパティの格納先を，HiRDBの別表からHiRDBの繰り返し列に移行します。また，移行プロパティ定義ファイルに定義したVariableArray型のプロパティの最大要素数を取得します。

形式

EDMChangeVarray  -f 移行プロパティ定義ファイル名
              〔-o 最大要素数格納ファイル名〕

オプション

-f 移行プロパティ定義ファイル名

移行プロパティ定義ファイルを絶対パスで指定します。移行プロパティ定義ファイルについては，「(3)　移行プロパティ定義ファイル」を参照してください。

-o最大要素数格納ファイル名

移行プロパティ定義ファイルに指定したVariableArray型のプロパティの最大要素数を取得するためのオプションです。最大要素数を格納するファイル（最大要素数格納ファイル）を絶対パスで指定します。最大要素数格納ファイルには，-fオプションで指定した移行プロパティ定義ファイルに定義されている，VariableArray型のプロパティの最大要素数が出力されます。なお，このオプションを指定したときは，移行処理は実行されません。

最大要素数格納ファイルの出力例を次に示します。

#maxelements file
prop=usrProp_WriterInfo1,maxelements=90
prop=usrProp_WriterInfo2,maxelements=0

(3)　移行プロパティ定義ファイル

移行プロパティ定義ファイルには，移行するVariableArray型のプロパティのプロパティ名および最大要素数を定義します。ここでは，移行プロパティ定義ファイルの記述形式および記述例について説明します。

移行プロパティ定義ファイルの記述形式

移行プロパティ定義ファイルの記述形式を次に示します。

prop=VariableArray型プロパティ名，maxelements=最大要素数

prop=VariableArray型プロパティ名

移行するVariableArray型のプロパティのプロパティ名（dmaProp_DisplayNameプロパティの値）を指定します。

maxelements=最大要素数

移行するVariableArray型のプロパティの最大要素数（2～30,000の符号なし整数値）を指定します。

なお，EDMChangeVarrayコマンドで-oオプションを指定すると，-fオプションで指定した移行プロパティ定義ファイルに定義されている，VariableArray型のプロパティの最大要素数を取得できます。この場合，maxelementsは指定を省略できます。

なお，このファイルで，行頭が「;」（セミコロン）または「#」（シャープ）の行はコメントとして処理されます。また，このファイルを解析して10件のエラーを検出した場合，その時点で解析処理を中止します。

移行プロパティ定義ファイルの記述例

移行プロパティ定義ファイルの記述例を次に示します。

# Sample file for creating index
prop=usrProp_WriterInfo1,maxelements=100
prop=usrProp_WriterInfo2,maxelements=10

(4)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

付録E.4　マルチファイル管理機能を使用するためのデータベース移行

マルチファイル管理機能非対応のデータベースから，マルチファイル管理機能対応のデータベースに移行するための，移行手順およびデータベース移行ツールについて説明します。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeMultiFile（マルチファイル管理機能を使用するためのデータベース移行ツール）の文法

(3)　エラー発生時の対策手順

(4)　EDM_RDAREA_MULTIFILE.txtの内容

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

RDエリア定義情報ファイルを作成します。

次のファイルを基に作成してください。
/opt/HiEDMS/sample/EDM_RDAREA_MULTIFILE.txt

手順4.実行後に出力されるデータベース定義文のRDエリア名をあらかじめ指定しない場合は，この作業は不要です。ただし，手順4.実行後，データベース定義文格納ファイル内のRDエリア名を変更する必要があります。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

RDエリアを追加する必要がある場合は，HiRDBのデータベース構成変更ユティリティ（pdmod）を実行して，RDエリアを追加します。

マルチファイル格納用の表の追加によって，LOB用RDエリアを追加する必要があります。

HiRDBのデータベース構成変更ユティリティ（pdmod）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

EDMChangeMultiFileコマンドを実行します。
データベース定義文が出力されます。

このコマンドを実行する前に，データベースを起動してください。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドの実行中に，ほかのコマンドは実行できません。

手順2.でRDエリア定義情報ファイルを作成していない場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。

EDMChangeMultiFileコマンドの詳細については，「(2)　EDMChangeMultiFile（マルチファイル管理機能を使用するためのデータベース移行ツール）の文法」を参照してください。

データベース定義文格納ファイルを入力ファイルとして，HiRDBのデータベース定義ユティリティ（pddef）を実行し，スキーマの定義内容を更新します。
手順4.実行後に出力されたデータベース定義文を基に，スキーマの定義内容が更新され，マルチファイル管理機能に対応したデータベースのスキーマがHiRDBの表に格納されます。

HiRDBのデータベース定義ユティリティ（pddef）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　EDMChangeMultiFile（マルチファイル管理機能を使用するためのデータベース移行ツール）の文法

EDMChangeMultiFileコマンドの詳細について説明します。

機能

マルチファイル管理機能非対応のデータベースから，マルチファイル管理機能対応のデータベースに移行します。

形式

EDMChangeMultiFile -c 一つの文書に格納するファイルの最大数
                  -o データベース定義文格納ファイル名
                〔-r RDエリア定義情報ファイル名〕
                〔-u ｛ALL | PARTIAL | NO｝〕

オプション

-c 一つの文書に格納するファイルの最大数

一つの文書に含まれるコンテントとして格納するファイルの最大数を指定します。

指定できる値は2～4,096です。

-o データベース定義文格納ファイル名

出力されたデータベース定義文を格納するファイルのパス名を指定します。

-r RDエリア定義情報ファイル名

RDエリア定義情報ファイルのパス名を指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を，このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

-u ｛ALL | PARTIAL | NO｝

コンテント格納用RDエリアに対して，データベースの更新ログを取得する方式を，次のどれかの文字列で指定します。オプションを省略した場合は，「ALL」が仮定されます。

ALL
ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。この場合，ロールバックおよびロールフォワードに必要なデータベースの更新ログが取得されます。

PARTIAL
更新前ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。この場合，ロールバックに必要なデータベースの更新ログが取得されます。

NO
ログレスモードでユーザLOB用RDエリアを運用する場合に指定します。この場合，データベースの更新ログは取得されません。

(3)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

(4)　EDM_RDAREA_MULTIFILE.txtの内容

EDM_RDAREA_MULTIFILE.txtの内容を次に示します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for table                                             ;
;  Format : class=class_name,area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TableArea]
class=edmClass_ContentTransfers,area=USERAREA

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for Index                                             ;
;  Format : class=class_name,prop=property_name,{prop=property_name,...};
;                            area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[IndexArea]
class=edmClass_ContentTransfers,prop=dmaProp_OIID,area=INDEXAREA
class=edmClass_ContentTransfers,prop=ThisPropertyDescription,area=INDEXAREA
class=edmClass_ContentTransfers,prop=edmProp_Parent,area=INDEXAREA

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for BLOB Column                                       ;
;  Format : class=class_name,prop=edmProp_Content,area=area_name        ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[LobArea]
class=edmClass_ContentTransfers,prop=edmProp_Content,area=BLOBAREA

付録E.5　リファレンスファイル管理機能を使用するためのデータベース移行

リファレンスファイル管理機能非対応のデータベースから，リファレンスファイル管理機能対応のデータベースに移行するための，移行手順およびデータベース移行ツールについて説明します。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeRefFile（リファレンスファイル管理機能を使用するためのデータベース移行ツール）の文法

(3)　エラー発生時の対策手順

(4)　EDM_RDAREA_REFFILE.txtの内容

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

RDエリア定義情報ファイルを作成します。

次のファイルを基に作成してください。
/opt/HiEDMS/sample/EDM_RDAREA_REFFILE.txt

手順4.実行後に出力されるデータベース定義文のRDエリア名をあらかじめ指定しない場合は，この作業は不要です。ただし，手順4.実行後，データベース定義文格納ファイル内のRDエリア名を変更する必要があります。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

RDエリアを追加する必要がある場合は，HiRDBのデータベース構成変更ユティリティ（pdmod）を実行して，RDエリアを追加します。

edmClass_ContentReferenceクラスの追加またはEDMSMETAREGENVIDクラスの構成変更によってRDエリアの構成を拡張する必要がある場合は，RDエリアを拡張してください。

HiRDBのデータベース構成変更ユティリティ（pdmod）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

EDMChangeRefFileコマンドを実行します。
データベース定義文が出力されます。

このコマンドを実行する前に，データベースを起動してください。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドの実行中に，ほかのコマンドは実行できません。

手順2.でRDエリア定義情報ファイルを作成していない場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。

このコマンドは，EDMSMETAREGENVIDクラスを使用するため，必ず複数の実行環境機能を使用できる環境で実行してください。
複数の実行環境機能を使用できる環境かどうかは，DocumentBrokerのバージョンが02-40以降の場合に，DocumentBroker実行環境の情報の登録コマンド（EDMRegEnvID）に-lオプションを指定して実行することで確認できます。コマンドを実行すると，複数の実行環境機能を使用できる場合は，登録されている実行環境の情報が表示されます。複数の実行環境機能を使用できない場合はエラーとなり，メッセージKMBR12307-Eが出力されます。DocumentBroker実行環境の情報の登録コマンドについては，「7.3　コマンドの文法」の「EDMRegEnvId（DocumentBroker実行環境の情報の登録）」を参照してください。メッセージの詳細については，マニュアル「DocumentBroker Version 3　メッセージ」を参照してください。
複数の実行環境機能を使用できない環境からリファレンスファイル管理機能を使用できる環境へ移行する場合は,複数の実行環境機能を使用できる環境に移行したあと，このコマンドを実行してください。複数の実行環境機能を構築する方法については，「3.15　複数の実行環境を構築する場合の設定」を参照してください。

このコマンドは，実行環境識別子が0の環境で実行してください。

EDMChangeRefFileコマンドの詳細については，「(2)　EDMChangeRefFile（リファレンスファイル管理機能を使用するためのデータベース移行ツール）の文法」を参照してください。

データベース定義文格納ファイルを入力ファイルとして，HiRDBのデータベース定義ユティリティ（pddef）を実行し，スキーマの定義内容を更新します。
手順4.実行後に出力されたデータベース定義文を基に，スキーマの定義内容が更新され，リファレンスファイル管理機能に対応したデータベースのスキーマがHiRDBの表に格納されます。

HiRDBのデータベース定義ユティリティ（pddef）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　EDMChangeRefFile（リファレンスファイル管理機能を使用するためのデータベース移行ツール）の文法

EDMChangeRefFileコマンドの詳細について説明します。

機能

リファレンスファイル管理機能非対応のデータベースから，リファレンスファイル管理機能対応のデータベースに移行します。

形式

EDMChangeRefFile -o データベース定義文格納ファイル名
              〔-r RDエリア定義情報ファイル名〕

オプション

-o データベース定義文格納ファイル名

出力されたデータベース定義文を格納するファイルのパス名を指定します。

-r RDエリア定義情報ファイル名

RDエリア定義情報ファイルのパス名を指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を，このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

(3)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

(4)　EDM_RDAREA_REFFILE.txtの内容

EDM_RDAREA_REFFILE.txtの内容を次に示します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for table                                               ;
;    Format : class=class_name,area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TableArea]
class=edmClass_ContentReference,area=USERAREA

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for Index                                               ;
;    Format : class=class_name,prop=property_name,{prop=property_name,...};
;                              area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[IndexArea]
class=edmClass_ContentReference,prop=dmaProp_OIID,area=INDEXAREA
class=edmClass_ContentReference,prop=ThisPropertyDescription,area=INDEXAREA
class=edmClass_ContentReference,prop=edmProp_ReferenceType,area=INDEXAREA
class=edmClass_ContentReference,prop=edmProp_Parent,area=INDEXAREA

付録E.6　File Link連携機能を使用するためのデータベース移行

File Link連携機能非対応のデータベースから，File Link連携機能対応のデータベースに移行するための，移行手順およびデータベース移行ツールについて説明します。なお，Linuxの場合およびTPBroker V5を使用している場合，File Link連携機能は使用できません。

＜この項の構成＞

(1)　移行手順

(2)　EDMChangeFileLink（File Link連携機能を使用するためのデータベース移行ツール）の文法

(3)　エラー発生時の対策手順

(4)　RDエリア定義情報ファイルの記述例

(1)　移行手順

データベースの移行手順について説明します。

データベースのバックアップを作成します。

データベースのエラーによってデータベース移行ツールが異常終了した場合，このバックアップからデータベースを回復します。

RDエリア定義情報ファイルを作成します。

「(4)　RDエリア定義情報ファイルの記述例」を参考にして作成してください。

手順4.実行後に出力されるデータベース定義文のRDエリア名をあらかじめ指定しない場合は，この作業は不要です。ただし，手順4.実行後，データベース定義文格納ファイル内のRDエリア名を変更する必要があります。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

RDエリアを追加する必要がある場合は，HiRDBのデータベース構成変更ユティリティ（pdmod）を実行して，RDエリアを追加します。

HiRDBのデータベース構成変更ユティリティ（pdmod）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

EDMChangeFileLinkコマンドを実行します。
データベース定義文が出力されます。

このコマンドを実行する前に，データベースを起動してください。

この作業は，DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。

このコマンドの実行中に，ほかのコマンドは実行できません。

手順2.でRDエリア定義情報ファイルを作成していない場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。

EDMChangeFileLinkコマンドの詳細については，「(2)　EDMChangeFileLink（File Link連携機能を使用するためのデータベース移行ツール）の文法」を参照してください。

データベース定義文格納ファイルを入力ファイルとして，HiRDBのデータベース定義ユティリティ（pddef）を実行し，スキーマの定義内容を更新します。
手順4.実行後に出力されたデータベース定義文を基に，スキーマの定義内容が更新され，File Link連携機能に対応したデータベースのスキーマがHiRDBの表に格納されます。

HiRDBのデータベース定義ユティリティ（pddef）については，マニュアル「HiRDB　コマンドリファレンス」を参照してください。

(2)　EDMChangeFileLink（File Link連携機能を使用するためのデータベース移行ツール）の文法

EDMChangeFileLinkコマンドの詳細について説明します。

機能

File Link連携機能非対応のデータベースから，File Link連携機能対応のデータベースに移行します。

形式

EDMChangeFileLink  -o データベース定義文格納ファイル名
                〔-r RDエリア定義情報ファイル名〕

オプション

-o データベース定義文格納ファイル名

出力されたデータベース定義文を格納するファイルのパス名を指定します。

-r RDエリア定義情報ファイル名

RDエリア定義情報ファイルのパス名を指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を，このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は，このコマンドを実行したあと，データベース定義文格納ファイル内のRDエリア名を変更してください。

RDエリア定義情報ファイルについては，「4.8　RDエリア定義情報ファイル」を参照してください。

(3)　エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合，次に示す手順に従って対策を実施してください。

移行手順1.で作成したバックアップから，データベースを回復します。

エラーメッセージを基に，エラーの要因を取り除きます。

移行手順3.から再度実行します。

(4)　RDエリア定義情報ファイルの記述例

RDエリア定義情報ファイルの記述例を次に示します。File Link連携機能を使用する場合のRDエリア定義情報ファイルは，/opt/HiEDMS/sample下のEDM_RDAREA_FILELINK.txtです。

[TableArea]
#
# FileLinkを利用するための移行で必要なRDエリア
#
class=edmClass_ContentFileLink,area=USERAREA

[IndexArea]
#
# FileLinkを利用するための移行で必要なRDエリア
#
class=edmClass_ContentFileLink,prop=dmaProp_OIID,area=INDEXAREA
class=edmClass_ContentFileLink,prop=ThisPropertyDescription,area=INDEXAREA
class=edmClass_ContentFileLink,prop=edmProp_Parent,area=INDEXAREA

付録F　システムクラスおよびシステムプロパティの名称定義の規則

メタ情報の初期設定コマンド（EDMInitMeta）の-uオプションで「DisplayName」を指定した場合，システムクラスおよびシステムプロパティのデータベース定義での名称定義が決まっています。ここでは，システムクラスおよびシステムプロパティのdmaProp_DisplayNameの値，表識別子，および列名を示します。

＜この節の構成＞

付録F.1　システムクラスの名称定義の規則

付録F.2　システムプロパティの名称定義の規則

付録F.1　システムクラスの名称定義の規則

システムクラスに対応するdmaProp_DisplayNameの値と表識別子を次の表に示します。

表F-1　システムクラスの名称定義の規則

クラス名およびdmaProp_DisplayNameの値
表識別子

dmaClass_ConfigurationHistory
dmaClass_ConfigHistory

dmaClass_DirectContainmentRelationship
dmaClass_DCRelationship

dmaClass_ReferentialContainmentRelationship
dmaClass_RCRelationship

dmaClass_Rendition

マスタレンディションの場合

dmaClass_DocVersionの表識別子と同じ

サブレンディションの場合

dmaClass_Rendition

dmaClass_Reservation
dmaClass_VersionSeries

dmaClass_VersionDescription
dmaClass_VerDescription

edmClass_ComponentDocVersion
edmClass_CompoDocVersion

edmClass_VersionTraceableContainer
edmClass_VTContainer

edmClass_VersionTraceableContainmentRelationship
edmClass_VTCRelationship

edmClass_VersionTracedComponentDocVersion
edmClass_VTCompoDocVersion

edmClass_VersionTracedDocVersion
edmClass_VTDocVersion

dmaClass_Container

dmaClass_ContentReference

dmaClass_ContentTransfer

dmaClass_DocVersion

dmaClass_VersionSeries

edmClass_ContainerVersion

edmClass_ContentTransfers

edmClass_ContentReference

edmClass_ContentFileLink

edmClass_PublicACL

edmClass_Relationship

クラス名およびdmaProp_DisplayNameの値と同じ

付録F.2　システムプロパティの名称定義の規則

システムプロパティに対応するdmaProp_DisplayNameの値と表識別子を次の表に示します。

表F-2　システムプロパティの名称定義の規則

プロパティ名およびdmaProp_DisplayNameの値
列名

プロパティ名

dmaProp_OIID

dmaProp_DisplayNameの値

dmaProp_OIIDまたは

OIIDPropertyDescription

dmaProp_OIID

プロパティ名

dmaProp_This

dmaProp_DisplayNameの値

dmaProp_Thisまたは

ThisPropertyDescription

dmaProp_This

dmaProp_ConfigurationHistory
dmaProp_ConfigHistory

dmaProp_CurrentOfSeriesCount
dmaProp_CurrentOfSeriesCnt

dmaProp_CurrentVersionDescription
dmaProp_CurrntVerDesc

edmProp_ACL

edmProp_ACL_edmProp_Subj

edmProp_ACL_edmProp_Permis

edmProp_HeadVersionDescription
edmProp_HeadVerDescription

edmProp_HeadVTConfigurationHistory
edmProp_HeadVTConfigHistory

dmaProp_PrimaryVersionSeries
dmaProp_PrimVerSeries

edmProp_PrimaryGroupPermission
edmProp_PrimGrpPermission

edmProp_PublicACLIds
edmProp_PACLs_edmProp_ACLElm

edmProp_SACL

edmProp_SACL_edmProp_Subj

edmProp_SACL_edmProp_Permis

edmProp_TailVersionDescription
edmProp_TailVerDescription

edmProp_TailVTConfigurationHistory
edmProp_TailVTConfigHistory

edmProp_VTConfigurationHistory
edmProp_VTConfigHistory

dmaProp_ComponentType

dmaProp_ContentLocation

dmaProp_Head

dmaProp_IsCurrentVersion

dmaProp_NewVersion

dmaProp_Parent

dmaProp_ParentContainer

dmaProp_RenditionType

dmaProp_RetrievalName

dmaProp_Reservation

dmaProp_ReservedFor

dmaProp_Tail

dmaProp_Version

dmaProp_VersionSeries

edmProp_ConceptTextIndex

edmProp_ConceptStIndex

edmProp_ConfigurationTable

edmProp_Content

edmProp_ContentIndexStatus

edmProp_ContentLocation

edmProp_DocLength

edmProp_EntityName

edmProp_EveryonePermission

edmProp_HeadVTVersionSeries

edmProp_HeadVTMode

edmProp_Interpretation

edmProp_OwnerId

edmProp_OwnerPermission

edmProp_ParentDocVersion

edmProp_Permission

edmProp_PrimaryGroupId

edmProp_PublicID

edmProp_ReferenceType

edmProp_RelationType

edmProp_RenditionsCount

edmProp_RenditionStatus

edmProp_RequiredClassId

edmProp_Role

edmProp_StIndex

edmProp_Subject

edmProp_SystemID

edmProp_TailVTVersionSeries

edmProp_TailVTMode

edmProp_TextIndex

edmProp_VTMode

edmProp_VTVersionSeries

プロパティ名およびdmaProp_DisplayNameの値と同じ

また，システムプロパティは，次に示す規則にも従っています。

規則1

HiRDBの繰り返し列を利用したVariableArray型のプロパティの列名は，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」の内容に従って生成します。

規則2

列名には，_1，_2，...という番号が付く場合があります。この番号の意味は，列名に対応するプロパティが属するクラスが，何番目のクラスとして表に格納されているかを表します。番号が付くプロパティを持つクラスを次に示します。

マスタdmaClass_Renditionクラス
"_1"が列名の最後に付きます。

dmaClass_Reservationクラス
"_1"が列名の最後に付きます。

詳細については，「4.7.2　サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。

付録G　ユーザ作成のアクセスルーチンを使用するための関数

ここでは，ユーザ管理システムのアクセスルーチンとしてDocumentBrokerが定めている関数の形式および仕様について説明します。DocumentBrokerで提供する関数を使用して，運用中のユーザ管理システムにアクセスできるようにアクセスルーチンを作成してください。DocumentBrokerがUOCで提供する関数の一覧を次の表に示します。

なお，DocumentBrokerでは，サンプルとしてUOCを使用するための関数の例およびUOCライブラリのmakeファイルを提供しています。これらは，"/opt/HiEDMS/sample/libdsuoc"に格納されています。

表G-1　DocumentBrokerがUOCで提供する関数の一覧

関数 | 機能
dbrinitLibrary | UOCライブラリの初期化
dbrinitSession | UOCセッションの初期化
dbrAuthenticateUser | ユーザとパスワードのチェック
dbrGetUserInformation | ユーザ情報の取得
dbrFinalizeSession | UOCセッションの破棄
dbrFinalizeLibrary | UOCライブラリの破棄
dbrSetDocSpaceCharacterSet | 文書空間の文字コード種別の設定

各関数の詳細では，次に示す項目について説明します。

機能

関数の概要を記述しています。

形式

関数の概要を記述しています。/* */内にコメントを記述しています。

機能説明

関数の機能の詳細を記述しています。

引数

引数について次のように記述しています。

引数（入力）

指定する値についての説明

引数（出力）

指定する領域の説明

指定した領域に設定される値の説明

引数は，「形式」で記述した文字列です。

（入力）は，ユーザが値を指定することを示しています。

（出力）は，ユーザが，DocumentBrokerによって設定される値を格納する領域を指定することを示しています。

戻り値

関数を呼び出して，正常な場合に返される値，およびエラーが発生した場合に返される主な値を列挙しています。

注意事項

関数を使用する場合の注意事項を記述しています。

＜この節の構成＞

付録G.1　dbrinitLibrary

付録G.2　dbrinitSession

付録G.3　dbrAuthenticateUser

付録G.4　dbrGetUserInformation

付録G.5　dbrFinalizeSession

付録G.6　dbrFinalizeLibrary

付録G.7　dbrSetDocSpaceCharacterSet

付録G.1　dbrinitLibrary

機能

UOCライブラリの初期化

形式

int *dbrinitLibrary(
   char          *pszErrMessage   /* エラーメッセージ         */
)

機能説明

UOCライブラリを初期化します。この関数は，プロセス内で1回だけ，UOCの中で最初に発行されます。初期化が正常終了した場合，UOCライブラリハンドルを返却します。

引数

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

non NULL      UOCライブラリハンドル
NULL          初期化に失敗しました

注意事項

この関数は1回だけ発行されます。しかし，アプリケーションからは，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

付録G.2　dbrinitSession

機能

UOCセッションの初期化

形式

int *dbrinitSession(
    void          *pvhLibrary,     /* UOCライブラリハンドル　*/
    const char    *pszUserName,    /* ログインユーザ名        */
    char          *pszErrMessage   /* エラーメッセージ        */
)

機能説明

UOCセッションを初期化します。この関数は，セッション作成時にセッション内で1回だけ発行されます。初期化が正常に終了した場合，UOCセッションハンドルを返却します。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

pszUserName（入力）

CdbrSession::Connect()で指定されたユーザ名を指定します。NULLまたは""（空文字列）が指定された場合，エラーになります。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

non NULL      UOCライブラリハンドル
NULL          初期化に失敗しました

注意事項

この関数は，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

付録G.3　dbrAuthenticateUser

機能

ユーザとパスワードのチェック

形式

int dbrAuthenticateUser(
    void          *pvhLibrary,     /* UOCライブラリハンドル  */
    void          *pvhSession,     /* UOCセッションハンドル  */
    const char    *pszUserName,    /* ログインユーザ名        */
    const char    *pszPassword,    /* パスワード              */
    char          *pszErrMessage   /* エラーメッセージ        */
)

機能説明

引数で指定されたログインユーザ名とパスワードが正しいかどうかをチェックします。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

pvhSession（入力）

セッションハンドルを指定します。このパラメタには，dbrinitSession()で返却された値を指定してください。

pszUserName（入力）

CdbrSession::Connect()で指定されたユーザ名を指定します。NULLまたは""（空文字列）が指定された場合，エラーになります。

pszPassword（入力）

CdbrSession::Connect()で指定されたパスワードを指定します。NULLまたは""（空文字列）が指定された場合，エラーになります。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

0            正常終了
-1            ライブラリハンドルが不正です
-2            セッションハンドルが不正です
-3            pszUserNameがNULLまたは""です
             pszPasswordがNULLまたは""です
-4            指定されたユーザは存在しません
-5            指定されたパスワードは不正です
-6            認証できません

上記以外の値は，UOCによって定義されます

注意事項

この関数は，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

付録G.4　dbrGetUserInformation

機能

ユーザ情報の取得

形式

int dbrGetUserInformation(
    void          *pvhLibrary,     /* UOCライブラリハンドル   */
    void          *pvhSession,     /* UOCセッションハンドル   */
    const char    *pszUserName,    /* ログインユーザ名         */
    char          **ppszUserId,    /* ユーザ識別子             */
    char          **ppszPriGrpId,  /* プライマリグループ       */
                                   /*          識別子返却領域  */
    char          ***pppszGrpIds,  /* グループ識別子返却領域   */
    int           *piGrpCount,     /* 返却グループ識別子要素数 */
    char          *pszErrMessage   /* エラーメッセージ         */
)

機能説明

引数pszUserNameで指定されたログインユーザ名に対応するユーザの情報を返却します。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

pvhSession（入力）

セッションハンドルを指定します。このパラメタには，dbrinitSession()で返却された値を指定してください。

pszUserName（入力）

CdbrSession::Connect()で指定されたユーザ名を指定します。NULLまたは""（空文字列）が指定された場合，エラーになります。

ppszUserId（出力）

返却されるユーザ識別子を指すポインタのアドレスを指定します。返却された領域は，関数の使用者がfree()を使用して解放してください。

ppszPriGrpId（出力）

返却されるプライマリグループ識別子を指すポインタのアドレスを指定します。返却された領域は，関数の使用者がfree()を使用して解放してください。プライマリグループ識別子を使用しない場合は，NULLを指定してください。なお，この領域に返却された識別子は，*pppszGrpIdsが指すグループ識別子返却領域に返却されることはありません。また，この引数にNULL以外を指定した場合，引数piGrpCountの値が0以下であっても，ログインユーザはこの引数に示されるプライマリグループに属しているとみなします。

pppszGrpIds（出力）

返却されるグループ情報を指すポインタのアドレスを指定します。返却された領域は，関数の使用者がfree()を使用して解放してください。

piGrpCount（出力）

実際に格納された要素数を格納するための領域を指定します。この引数には，引数ppszPriGrpIdで返却されたグループを含みません。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

0            正常終了
-1            ライブラリハンドルが不正です
-2            セッションハンドルが不正です
-3            pszUserNameがNULLまたは""です
-4            指定されたユーザは存在しません
-5            引数が不正です

上記以外の値は，UOCによって定義されます

注意事項

この関数は，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

付録G.5　dbrFinalizeSession

機能

UOCセッションの破棄

形式

int dbrFinalizeSession(
    void          *pvhLibrary,     /* UOCライブラリハンドル  */
    void          *pvhSession,     /* UOCセッションハンドル  */
    char          *pszErrMessage   /* エラーメッセージ        */
)

機能説明

引数で指定されたUOCセッションハンドルを破棄します。この関数は，セッション破棄時に，セッション内で1回だけ発行されます。この関数を発行したあとでUOCセッションハンドルを使用して関数を発行しないでください。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

pvhSession（入力）

セッションハンドルを指定します。このパラメタには，dbrinitSession()で返却された値を指定してください。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

0            正常終了
-1            ライブラリハンドルが不正です
-2            セッションハンドルが不正です

上記以外の値は，UOCによって定義されます

注意事項

この関数は，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

付録G.6　dbrFinalizeLibrary

機能

UOCライブラリの破棄

形式

int dbrFinalizeLibrary(
    void          *pvhLibrary,     /* UOCライブラリハンドル   */
    char          *pszErrMessage   /* エラーメッセージ         */
)

機能説明

引数で指定されたUOCライブラリハンドルを破棄します。この関数は，プロセス終了時に1回だけ，ほかのUOCライブラリの中で最後に発行されます。この関数を発行したあとでUOCライブラリハンドルを使用して関数を発行しないでください。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

0            正常終了
-1            ライブラリハンドルが不正です

上記以外の値は，UOCによって定義されます

注意事項

この関数は1回だけ発行されます。しかし，アプリケーションからは，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

この関数は，DocumentBrokerサーバの停止完了とは非同期に，EDMServiceプロセスの終了時に実行され，この関数が処理を終了しないかぎり，EDMServiceプロセスは終了しません。

EDMServiceプロセスが終了していない状態で，DocumentBrokerサーバを再起動すると，KMBR03006-Eが出力され起動エラーとなります。そのため，DocumentBrokerサーバの停止が完了したあと，次にサーバが起動されるまでにこの関数の処理を終了しなければなりません。

付録G.7　dbrSetDocSpaceCharacterSet

機能

文書空間の文字コード種別の設定

形式

int  dbrSetDocSpaceCharacterSet(
    void      *pvhLibrary,            /* UOC ライブラリハンドル   */
    int       iDocSpaceCharacterSet,  /* 文書空間の文字コード種別 */
    char      *pszErrMessage          /* エラーメッセージ        */
)

機能説明

文書空間の文字コード種別を設定します。この関数は，プロセス内で1回だけ，dbrinitLibrary関数の実行後に発行されます。

引数

pvhLibrary（入力）

ライブラリ固有のハンドルを指定します。このパラメタにはdbrinitLibrary()で返却された値を指定してください。

iDocSpaceCharacterSet（入力）

文書空間で使用する文字コード種別を指定します。次のどちらかの値を指定してください。

1：文書空間の文字コード種別としてShift-JISを使用します。

2：文書空間の文字コード種別としてUTF-8を使用します。

pszErrMessage（出力）

エラーが発生した場合，エラーの詳細を示すメッセージの格納領域を指定します。メッセージの格納領域は，1,024バイト以上を確保しておく必要があります。この引数にNULLを指定した場合，詳細を示すメッセージは返却されません。

戻り値

0            正常終了
-1            ライブラリハンドルが不正です

上記以外の値は，UOCによって定義されます

注意事項

この関数は，プロセス内で1回だけ，マルチスレッド環境で発行されます。そのため，スレッドセーフにしておく必要があります。

文書空間の文字コード種別の設定が不要な場合は，この関数を省略できます。

付録H　メタ情報の記述内容

ここでは，メタ情報の記述内容確認コマンド（EDMChkMeta）の実行によって，チェックされる内容について説明します。

＜この節の構成＞

付録H.1　iniファイルのシンタクスの基本項目

付録H.2　クラス定義

付録H.3　プロパティ定義

付録H.4　リストオブジェクト

付録H.5　QueryOperatorクラス定義

付録H.6　QueryOperandクラス定義

付録H.7　オブジェクト定義

付録H.8　メタ情報管理用に確保する共用メモリセグメントサイズ

付録H.1　iniファイルのシンタクスの基本項目

ここでは，メタ情報の記述内容の確認コマンド（EDMChkMeta）の実行によってチェックされるメタ情報のシンタクスについて説明します。

<Value>::=
{
<Binary Value> | <Boolean Value> | <DateTime Value> | <Float64 Value> | <Id Value> |
<Integer32 Value> | <Object Value> | <String Value>
}
<Binary Value>::={ 0x[ (<Hex>)... ] | (空値) }
<Boolean Value>::={ 0 | 1 | (空値) }
<DateTime Value>::={ <YYYY><MM><DD>T<hh><mm><ss>Z | (空値) }
<Float64 Value>::={ [<Sign>] ((<Digit>)..."."(<Digit>)...) [ {d | D | e | E }[<Sign>](<Digit>)*] | (空値) }
<Id Value>::={ <dmaCorrespondingToGuid> | <GUID> }
<Integer32 Value>::={ (-2,147,483,648から2,147,483,647の範囲の10けたの10進数) | (空値) }
<Object Value>::={ <Reference> | NULL | (空値) }
<String Value>::={ (Printable ascii code)... | NULL | (空値) }
<Hex>::= ( 0 - 9，a-fの16進数の文字 )
<YYYY>::=( 0000-9999の範囲の4けたの10進数)
<MM>::=( 01-12の範囲の2けたの10進数)
<DD>::=( 01-31の範囲の2けたの10進数)
<hh>::=( 00-23の範囲の2けたの10進数 )
<mm>::=( 00-59の範囲の2けたの10進数 )
<ss>::=( 00-59の範囲の2けたの10進数 )
<Digit>::= ( 0 - 9の10進数の文字 )
<GUID>::={（xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12)形式で記述するGUID）| <GUID_NULL> | <dmaCorrespondingToGuid> }
<GUID_NULL>::=00000000-0000-0000-0000-000000000000
<Reference>::={  [<Context>@]<Section> | NULL | (空値) }

<Binary Value>
データ型がBinary型の値を0xで始まる任意の数値（16進数）で指定します。指定には，0-9およびa-f（小文字）を使用します。指定可能な値の範囲は128バイトで，指定可能な長さは256バイトです。（空値）は，値を設定していないことを示します。

<Boolean Value>
データ型がBoolean型の値を指定します。

1：DMA_TRUE

0：DMA_FALSE

<DateTime Value>
データ型がDateTime型の値を<YYYY><MM><DD>T<hh><mm><ss>Zの形式で指定します。（空値）は，値を指定しないことを示します。

<YYYY>：年を0000～9999の範囲の4けたで指定します。

<MM>：月を01～12の範囲の2けたで指定します。

<DD>：日を01～31の範囲の2けたで指定します。

<hh>：時を00～23の範囲の2けたで指定します。

<mm>：分を00～59の範囲の2けたで指定します。

<ss>：秒を00～59の範囲の2けたで指定します。

T：年月日と時分秒の区切り文字です。

Z：DateTime型の値の終端を示します。

<Float64 Value>
データ型がFloat64型の値を，任意の数値（10進数）で指定します。指定可能な値の範囲は1.7E +/- 308で，指定可能なけた数は15けたまでです。（空値）は，値を設定していないことを示します。

<Id Value>
データ型がId型の値を，「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12)」の形式のGUIDで指定します。指定には，0-9およびa-f（小文字）を使用します。

<GUID_NULL>：GUIDのNULL値を示します。00000000-0000-0000-0000-000000000000で指定します。

<dmaCorrespondingToGuid>：DMAで予約している「dma」で始まるクラスやプロパティを指定します。

<Integer32 Value>
データ型がInteger32型の値を任意の数値（10進数）で指定します。指定可能な値の範囲は-2,147,483,648から2,147,483,647で，指定可能なけた数は10けたまでです。（空値）は，値を設定していないことを示します。

<Object Value>
データ型がObject型の値を記述したオブジェクト定義を示すセクションを<Reference>で指定します。<Reference>の内容を次に示します。

<Context>：セクションを記述したファイル名を指定します。

<Context>を省略した場合

指定する<Section>が，<Object Value>を記述する同一ファイルに存在すると仮定します。

<Context>にファイル名だけ指定

カレントディレクトリにあるファイルを，<Context>で指定する値で参照します。ただし，環境変数「XDK_METADATA_ROOTDIR」に絶対パスを指定すると，環境変数「XDK_METADATA_ROOTDIR」で指定する値のディレクトリ下のファイルを<Context>の値で参照します。

<Context>に絶対パスを指定

指定する値のファイルを参照します。

<Context>に相対パスを指定

相対パスで指定するファイルを，<Context>の値で参照します。ただし，環境変数「XDK_METADATA_ROOTDIR」に絶対パスを指定すると環境変数「XDK_METADATA_ROOTDIR」で指定する値+相対パスでファイルを<Context>の値で参照します。

<Section>：セクション名を，印刷可能なASCIIコードで指定します。また，INIファイル内で一意になるよう指定してください。

@：ファイル名とセクション名の区切り文字です。

NULL，（空値）：値を設定していないことを示します。

<String Value>
データ型がString型の値を，任意の印刷可能なASCIIコードで指定します。

NULL：値を指定しないことを示します。

（空値）："¥0"を指定することを示します。

付録H.2　クラス定義

ここでは，クラス定義について説明します。

<Class Description>::=
(
<左角括弧><Class Name><右角括弧>
ClassFactory=text=dmaClass_ClassDescription
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ClassDescription
dmaProp_This=obj=Self
dmaProp_DisplayName=text=<Class Name>
dmaProp_DescriptiveText=text=<Descriptive Text>
dmaProp_Ids=obj=<Reference>
dmaProp_SuperclassDescription=obj=<Reference>
dmaProp_SuperclassPropertyCount=int=<Count>
dmaProp_ImmediateSubclassDescriptions=obj=<Reference>
dmaProp_NamePropertyIndex=int=0
dmaProp_PropertyDescriptions=obj=<Reference>
dmaProp_HasIncludeSubclasses=bool=0
dmaProp_HasProperSubclassProperties=bool=0
dmaProp_ProperSubclassPropertyDescriptions=obj=<Reference>
)
<Class Name>::=(<Printable ascii code>)...
<Descriptive Text>::=(<Printable ascii code>)...
<Count>::={ 0-2147483647 }
<左角括弧>::=[
<右角括弧>::=]

<ClassName>
定義するクラスの名前を，任意の文字列で指定します。クラスの名前の指定は，次に示す形式に従います。

DMAが定義するクラスは，「dmaClass_」で始まります。

DocumentBrokerが定義するクラスは，「edmClass_」で始まります。

アプリケーションが定義するクラスは，「dmaClass_」および「edmClass_」以外の名前とします。

<Descriptive Text>
<ClassName>に指定するクラスの説明を，任意の文字列で記述します。

dmaProp_Ids=obj=<Reference>
<ClassName>クラスのクラス識別子を要素として持つ，dmaClass_ListOfIdクラスを記述するセクションを指定します。

dmaProp_SuperclassDescription=obj=<Reference>
<ClassName>クラスのスーパークラスのクラス定義を記述する，dmaClass_ClassDescriptionクラスのセクションを指定します。スーパークラスが存在しない場合は，「NULL」を指定します。

dmaProp_SuperclassPropertyCount=int=<Count>
定義するクラスが，スーパークラスから継承するプロパティの数を指定します。

指定可能な数値は，0～2,147,483,647です。

指定可能なけた数は10けたです。

dmaProp_ImmediateSubclassDescriptions=obj=<Reference>
定義するクラスのサブクラスのクラス定義を記述するdmaClass_ClassDescriptionクラスのセクションを要素として持つdmaClass_ListOfObjectクラスを記述するセクションを指定します。サブクラスが存在しない場合は，要素が空のdmaClass_ListOfObjectクラスを記述するセクションを指定します。

dmaProp_PropertyDescriptions=obj=<Reference>
定義するクラスのプロパティの定義を記述するdmaClass_PropertyDescriptionクラスを要素として持つdmaClass_ListOfObjectクラスを記述するセクションを指定します。dmaClass_ListOfObjectクラスを記述するセクションのエントリは次の規則に従う必要があります。

定義するプロパティのデータ型と一致するdmaClass_PropertyDescriptionXXXXクラスを記述するセクションを，要素のエントリ値に指定します。

dmaClass_PropertyDescriptionXXXXクラスを記述するセクションをエントリ値とするエントリの並びは，定義するクラスのプロパティの順序になるので，オブジェクトの定義もこのエントリの並びと一致させる必要があります。

dmaProp_ProperSubclassPropertyDescriptions=obj=<Reference>
要素が空のdmaClass_ListOfObjectクラスを記述するセクションを指定します。

付録H.3　プロパティ定義

ここでは，プロパティ定義について説明します。

<Property Description>::=
{
<PropertyDescriptionBinary> | <PropertyDescriptionBoolen> | <PropertyDescriptionDateTime> |
<PropertyDescriptionFloat64> | <PropertyDescriptionId> | <PropertyDescriptionInteger32> |
<PropertyDescriptionObject> | <PropertyDescriptionString>
}

プロパティ定義についてデータ型ごとに説明します。

＜この項の構成＞

(1)　Binary型のプロパティ定義

(2)　Boolean型のプロパティ定義

(3)　DateTime型のプロパティ定義

(4)　Float64型のプロパティ定義

(5)　Id型のプロパティ定義

(6)　Integer32型のプロパティ定義

(7)　Object型のプロパティ定義

(8)　String型のプロパティ定義

(1)　Binary型のプロパティ定義

<PropertyDescriptionBinary>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionBinary
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionBinary
dmaProp_DisplayName=text=<Property Name>
dmaProp_DescriptiveText=text=<Descriptive Text>
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_BINARY
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultBinary=bin=<Binary Value>
dmaProp_PropertySelectionsBinary=obj=<Reference>
dmaProp_MaximumLengthBinary=int=DMA_NO_MAXIMUM
)
<Property Name>::=(<Printable ascii code>)...
<DMA Cardinality>::=
{
DMA_CARDINALITY_SINGLE | DMA_CARDINALITY_LIST | DMA_CARDINALITY_ENUM | 255
}

<Property Name>
定義するプロパティの名前を指定します。プロパティの名前は，次の規則に従います。

DMAが定義するプロパティは「dmaProp_」で始まります。

DocumentBrokerが定義するプロパティは，「edmProp_」で始まります。

アプリケーションが定義するプロパティは，「dmaProp_」および「edmProp_」以外の名前とします。

<Descriptive Text>
<PropertyName>に指定するプロパティの説明を記述します。

dmaProp_Ids=obj=<Reference>
<PropertyName>プロパティのプロパティ識別子を要素として持つdmaClass_ListOfIdオブジェクトを記述するセクションを指定します。

dmaProp_Cardinality=int=<DMA_CARDINALITY>
プロパティの基本単位を指定します。指定できる型は，scalar型（DMA_CARDINALITY_SINGLE），List型（DMA_CARDINALITY_LIST），Enumeration型（DMA_CARDINALITY_ENUM），およびVariableArray型（255）です。

dmaProp_IsSelectable=bool=<Boolean Value>
プロパティが検索結果として選択可能であるかどうかを示す値を指定します。

1：検索結果の1項目として指定できるプロパティです。

0：検索結果の1項目として指定できないプロパティです。

dmaProp_IsSearchable=bool=<Boolean Value>
プロパティが，問い合わせの条件に使用可能かどうかを示す値を指定します。

1：問い合わせの条件に指定できるプロパティです。

0：問い合わせの条件に指定できないプロパティです。

dmaProp_IsOrderable=bool=<Boolean Value>
問い合わせでソートするプロパティとして使用可能かどうかを示す値を指定します。DMA1.0 Specificationでは，dmaProp_IsSelectableの値が「1」でなければ，エントリ値に「1」を指定できません。

1：ソートするプロパティとして問い合わせに指定できます。

0：ソートするプロパティとして問い合わせに指定できません。

dmaProp_QueryOperatorDescriptions=obj=<Reference>
定義するプロパティを問い合わせのオペランドに指定する時，使用できるオペレータの定義を記述するdmaClass_OperatorDescriptionオブジェクトを要素として持つdmaClass_ListOfObjectを記述するセクションを指定します。使用できるオペレータが存在しない場合，要素が空のdmaClass_ListOfObjectを記述するセクションを指定します。

dmaProp_IsSystemGenerated=bool=<Boolean Value>
DocumentBrokerが値を設定するかどうかを示す値を指定します。

1：DocumentBrokerが値を設定します。

0：アプリケーションが値を設定します。

DocumentBrokerは，この値でのプロパティの制御は実行しませんが，DocumentBrokerの提供するプロパティでDocumentBrokerが値を設定するプロパティには「1」，そうでない場合は「0」を設定します。
アプリケーションが，この値でプロパティへの値の設定の制御を実行する場合，アプリケーション側で制御を実行する必要があります。制御を実行しない場合，アプリケーションは，この値に反する操作をしないでください。

dmaProp_IsReadOnly=bool=<Boolean Value>
定義するプロパティの値が，IdmaEditPropertiesインターフェースのメソッドで更新可能かどうかを示す値を指定します。CardinalityがList，Enumeration，およびVariableArrayの場合，それぞれのオブジェクトの要素が更新可能かどうかを示す値を指定します。この場合，IdmaEditPropertiesインターフェースのメソッドは，エントリの値に関係なく，戻り値DMARC_READ_ONLYでリターンすることを示します。ただし，Enumerationオブジェクトを更新するインターフェースは存在しません。
CardinalityがSingleの場合に示す値とその意味を説明します。

1：IdmaEditPropertiesインターフェースのメソッドで定義するプロパティの更新ができません。

0：IdmaEditPropertiesインターフェースのメソッドで定義するプロパティの更新ができます。

CardinalityがList，またはVariableArrayの場合に示す値とその意味を説明します。

1：IdmaEditListOfXXXXインターフェース，およびIdmaEditVariableArrayOfXXXXインターフェースのメソッドで要素を更新できません。

0：IdmaEditListOfXXXXインターフェース，およびIdmaEditVariableArrayOfXXXXインターフェースのメソッドで要素を更新できます。

DocumentBrokerは，この値でのListオブジェクト，VariableArrayオブジェクトの制御は実行しません。しかし，DocumentBrokerが提供するプロパティで更新を許さないプロパティには「1」を，更新を許すプロパティには「0」を指定します。
アプリケーションは，この値でListオブジェクト，VariableArrayオブジェクトの制御を実行する場合，アプリケーション側で制御を実行する必要があります。制御を実行しない場合，アプリケーションは，この値に反する操作をしないでください。

dmaProp_IsValueRequired=bool=<Boolean Value>
定義するプロパティに値が必要かどうかを示す値を指定します。
CardinalityがSingleの場合に示す値と意味を説明します。

1：プロパティは，値を持つ必要があります。

0：プロパティは，値を持つ必要はありません。

CardinalityがList，Enumeration，またはVariableArrayの場合に示す値と意味を説明します。

1：1個以上の要素を持つ必要があります。

0：要素を持つ必要はありません。

DocumentBrokerは，この値でのプロパティの制御を実行しませんが，DocumentBrokerが提供するプロパティで値の設定が必要なプロパティには「1」，値の設定が不要なプロパティには「0」を指定します。
アプリケーションがこの値でプロパティへの値の設定を制御する場合，アプリケーション側で制御を実行する必要があります。制御を実行しない場合，アプリケーションは，この値に反する操作をしないでください。

dmaProp_IsHidden=bool=<Boolean Value>
システム管理者だけに表示可能なプロパティであるかどうかを示す値を指定します。

1：システム管理者だけに表示する制限を持つプロパティです。

0：システム管理者だけに表示する制限を持たないプロパティです。

DocumentBrokerは，この値でのプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「0」を指定します。
アプリケーションは，この値でプロパティの制御を実行する場合，アプリケーション側で制御を実行する必要があります。制御を実行しない場合，アプリケーションは，この値に反する操作を実行しないでください。

dmaProp_PropertyDefaultBinary=bin=<Binary Value>
dmaClass_PropertyDescriptionBinaryクラスが定義するプロパティにデフォルト値として設定するBinary型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションが値を指定する場合は，オブジェクトの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsBinary=obj=<Reference>
dmaClass_PropertyDescriptionBinaryクラスが定義するプロパティに指定可能なBinary型の値を要素として持つdmaClass_ListOfBinaryクラスを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_ListOfBinaryクラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには，要素が空のdmaClass_ListOfBinaryクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションで制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(2)　Boolean型のプロパティ定義

<PropertyDescriptionBoolen>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionBoolean
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionBoolean
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj="<Reference>
dmaProp_DataType=int=DMA_DATATYPE_BOOLEAN
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultBoolean=bool=<Boolean Value>
dmaProp_PropertySelectionsBoolean=obj=<Reference>
)

dmaProp_PropertyDefaultBoolean=bool=<Boolean Value>
dmaClass_PropertyDescriptionBooleanクラスが定義するプロパティにデフォルト値として設定するBoolean型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「0」を指定します。
アプリケーションが値を指定する場合，クラスの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsBoolean=obj=<Reference>
dmaClass_PropertyDescriptionBinaryクラスが定義するプロパティに指定可能なBoolean型の値を要素として持つdmaClass_ListOfBooleanクラスを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_ListOfBooleanクラスを記述したエントリを指定します。DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには要素が空のdmaClass_ListOfBooleanクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションで制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(3)　DateTime型のプロパティ定義

<PropertyDescriptionDateTime>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionDateTime
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionDateTime
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_DATETIME
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultDateTime=date=<DateTime Value>
dmaProp_PropertySelectionsDateTime=obj=<Reference>
dmaProp_PropertyMinimumDateTime=date=<DateTime Value>
dmaProp_PropertyMaximumDateTime=date=<DateTime Value>
)

dmaProp_PropertyDefaultDateTime=date=<DateTime Value>
dmaClass_PropertyDescriptionDateTimeクラスが定義するプロパティに，デフォルト値として設定するDateTime型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションが値を指定する場合，オブジェクトの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsDateTime=obj=<Reference>
dmaClass_PropertyDescriptionDateTimeクラスが定義するプロパティに指定可能なDateTime型の値を要素として持つdmaClass_ListOfDateTimeクラスを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_ListOfDateTimeクラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_ListOfDateTimeクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMinimumDateTime=date=<DateTime Value>
プロパティに指定可能なDateTime型の最小値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMaximumDateTime=date=<DateTime Value>
プロパティに指定可能なDateTime型の最大値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(4)　Float64型のプロパティ定義

<PropertyDescriptionFloat64>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionFloat64
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionFloat64
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_FLOAT64
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultFloat64=float=<Float64 Value>
dmaProp_PropertySelectionsFloat64=obj=<Reference>
dmaProp_PropertyMinimumFloat64=float=<Float64 Value>
dmaProp_PropertyMaximumFloat64=float=<Float64 Value>
)

dmaProp_PropertyDefaultFloat64=float=<Float64 Value>
dmaClass_PropertyDescriptionFloat64オブジェクトが定義するプロパティにデフォルト値として設定するFloat64型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションが値を指定する場合，オブジェクトの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsFloat64=obj=<Reference>
dmaClass_PropertyDescriptionFloat64クラスが定義するプロパティに指定可能なFloat64型の値を要素として持つdmaClass_PropertyDescriptionFloat64クラスを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_PropertyDescriptionFloat64クラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_PropertyDescriptionFloat64クラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMinimumFloat64=float=<Float64 Value>
プロパティに指定可能なFloat64型の最小値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMaximumFloat64=float=<Float64 Value>
プロパティに指定可能なFloat64型の最大値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(5)　Id型のプロパティ定義

<PropertyDescriptionId>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionId
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionId
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_ID
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultId=guid=<GUID>
dmaProp_PropertySelectionsId=obj=<Reference>
)

dmaProp_PropertyDefaultId=guid=<GUID>
dmaClass_PropertyDescriptionIdクラスが定義するプロパティにデフォルト値として設定するId型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションが値を指定する場合は，クラスの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsId=obj=<Reference>
dmaClass_PropertyDescriptionIdクラスが定義するプロパティに指定可能なId型の値を要素として持つdmaClass_PropertyDescriptionIdオブジェクトを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_PropertyDescriptionIdクラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_PropertyDescriptionIdクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(6)　Integer32型のプロパティ定義

<PropertyDescriptionInteger32>::=
(
<左角括弧><Property Name><右角括弧>
"ClassFactory=text=dmaClass_PropertyDescriptionInteger32
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionInteger32
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_INTEGER32
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultInteger32=int=<Integer Value>
dmaProp_PropertySelectionsInteger32=obj=<Reference>
dmaProp_PropertyMinimumInteger32=int=<Integer Value>
dmaProp_PropertyMaximumInteger32=int=<Integer Value>
)

dmaProp_PropertyDefaultInteger32=int=<Integer Value>
dmaClass_PropertyDescriptionInteger32オブジェクトが定義するプロパティにデフォルト値として設定するInteger32型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションが値を指定する場合，オブジェクトの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsInteger32=obj=<Reference>
dmaClass_PropertyDescriptionInteger32クラスが定義するプロパティに指定可能なInteger32型の値を要素として持つdmaClass_PropertyDescriptionInteger32クラスを記述したエントリを指定します。すべての値が指定可能な場合，要素が空のdmaClass_PropertyDescriptionInteger32クラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_PropertyDescriptionInteger32クラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMinimumInteger32=int=<Integer Value>
プロパティに指定可能なInteger32型の最小値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_PropertyMaximumInteger32=int=<Integer Value>
プロパティに指定可能なInteger32型の最大値を指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，DocumentBrokerが提供するプロパティには「空値」を指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

(7)　Object型のプロパティ定義

<PropertyDescriptionObject>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionObject
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionObject
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_OBJECT
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultObject=obj=<Reference>
dmaProp_PropertySelectionsObject=obj=<Reference>
dmaProp_RequiredClass=obj=<Reference>
dmaProp_ReflectivePropertyId=guid=<GUID>
)

dmaProp_PropertyDefaultObject=obj=<Reference>
dmaClass_PropertyDescriptionObjectクラスが定義するプロパティにデフォルト値として設定するObject型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「NULL」を指定します。
アプリケーションが値を指定する場合は，クラスの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsObject=obj=<Reference>
dmaClass_PropertyDescriptionObjectクラスが定義するプロパティに指定可能なObject型の値を要素として持つdmaClass_PropertyDescriptionObjectクラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_PropertyDescriptionObjectクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_RequiredClass=obj=<Reference>
プロパティから取得されるクラスのクラスの定義を記述するdmaClass_ClassDescriptionクラスのセクションを指定します。プロパティの値として持つクラスが決まらない場合，「NULL」を指定します。

CardinalityがSingleの場合

プロパティの値として指定するクラスのクラスの定義を記述するdmaClass_ClassDescriptionクラスのセクションを指定します。

CardinalityがList，Enumeration，VariableArrayの場合

ListOfObjectオブジェクト，EnumerationOfObjectオブジェクト，VariableArrayOfObjectオブジェクトの要素となるオブジェクトのクラスの定義を記述するdmaClass_ClassDescriptionクラスのセクションを指定します。

DocumentBrokerは，この値でプロパティに指定可能なオブジェクトかどうかは確認しません。しかし，DocumentBrokerが提供するプロパティには上記の場合に従って，セクションを記述します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_ReflectivePropertyId=guid=<GUID>
dmaClass_PropertyDescriptionObjectクラスで定義するプロパティから参照する永続オブジェクトが保持するプロパティで，逆にたどって参照元のオブジェクトを参照できるプロパティの識別子を指定します。逆にたどって参照元のオブジェクトを参照できるプロパティが存在しない場合は＜GUID_NULL＞を指定します。

(8)　String型のプロパティ定義

<PropertyDescriptionString>::=
(
<左角括弧><Property Name><右角括弧>
ClassFactory=text=dmaClass_PropertyDescriptionString
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_PropertyDescriptionString
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_DataType=int=DMA_DATATYPE_STRING
dmaProp_Cardinality=int=<DMA_CARDINALITY>
dmaProp_IsSelectable=bool=<Boolean Value>
dmaProp_IsSearchable=bool=<Boolean Value>
dmaProp_IsOrderable=bool=<Boolean Value>
dmaProp_QueryOperatorDescriptions=obj=<Reference>
dmaProp_IsSystemGenerated=bool=<Boolean Value>
dmaProp_IsReadOnly=bool=<Boolean Value>
dmaProp_IsValueRequired=bool=<Boolean Value>
dmaProp_IsHidden=bool=<Boolean Value>
dmaProp_PropertyDefaultString=text=<String Value>
dmaProp_PropertySelectionsString=obj=<Reference>
dmaProp_MaximumLengthString=int=<Integer Value>
)

dmaProp_PropertyDefaultString=text=<String Value>
dmaClass_PropertyDescriptionStringクラスが定義するプロパティにデフォルト値として設定するString型の値を指定します。
DocumentBrokerは，この値でプロパティを初期化しません。したがって，DocumentBrokerが提供するプロパティには「NULL」を指定します。
アプリケーションが値を指定する場合，オブジェクトの定義に指定する値と一致させる必要があります。

dmaProp_PropertySelectionsString=obj=<Reference>
dmaClass_PropertyDescriptionStringクラスが定義するプロパティに指定可能なString型の値を要素として持つdmaClass_PropertyDescriptionStringクラスを記述したエントリを指定します。
DocumentBrokerは，この値でプロパティの制御を実行しません。したがって，要素が空のdmaClass_PropertyDescriptionStringクラスを記述したセクションを指定します。
アプリケーションがこの値でプロパティの制御を実行する場合，アプリケーションが制御を実行する必要があります。制御を実行しない場合，アプリケーションはこの値に反する操作をしないでください。

dmaProp_MaximumLengthString=int=<Integer Value>
プロパティに指定可能なString型の最大長をバイト数で指定します。

付録H.4　リストオブジェクト

ここでは，リストオブジェクトについて説明します。

<List Object>::=
{
<ListOfBinary> | <ListOfBoolean> | <ListOfDateTime> | <ListOfFloat64> | <ListOfId> | <ListOfInteger32> | <ListOfObject> | <ListOfString>
}

リストオブジェクトについてデータ型ごとに説明します。

＜この項の構成＞

(1)　dmaClass_ListOfBinaryオブジェクト

(2)　dmaClass_ListOfBooleanオブジェクト

(3)　dmaClass_ListOfDateTimeオブジェクト

(4)　dmaClass_ListOfFloat64オブジェクト

(5)　dmaClass_ListOfIdオブジェクト

(6)　dmaClass_LisfOfInteger32オブジェクト

(7)　dmaClass_ListOfObjectオブジェクト

(8)　dmaClass_ListOfStringオブジェクト

(1)　dmaClass_ListOfBinaryオブジェクト

<ListOfBinary>::=
(
<左角括弧> <Section> <右角括弧>
ClassFactory=text=dmaClass_ListOfBinary
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfBinary
[ (=bin=<Binary Value>) ... ]
)

<Section>
定義するオブジェクトの名前を指定します。iniファイル内で一意になるよう指定してください。

=bin=<Binary Value>
dmaClass_ListOfBinaryオブジェクトの要素のBinary型の値をエントリ名は指定しないで，区切り文字を「=bin=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfBinaryオブジェクトとなります。

(2)　dmaClass_ListOfBooleanオブジェクト

<ListOfBoolean>::=
(
<左角括弧> <Section Name><右角括弧>
ClassFactory=text=dmaClass_ListOfBoolean
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfBoolean
[ (=bool=<Boolean Value>) ... ]
)

=bool=<Boolean Value>
dmaClass_ListOfBooleanオブジェクトの要素のBoolean型の値をエントリ名は指定しないで，区切り文字を「=bool=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfBooleanオブジェクトとなります。

(3)　dmaClass_ListOfDateTimeオブジェクト

<ListOfDateTime>::=
(
<左角括弧> <Section Name><右角括弧>
ClassFactory=text=dmaClass_ListOfDateTime
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfDateTime
[ (=date=<DateTime Value>) ... ]
)

=date=<DateTime Value>
dmaClass_ListOfDateTimeオブジェクトの要素のDateTime型の値をエントリ名は指定しないで，区切り文字を「=date=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfDateTimeオブジェクトとなります。

(4)　dmaClass_ListOfFloat64オブジェクト

<ListOfFloat64>::=
(
<左角括弧> <Section Name> <右角括弧>
ClassFactory=text=dmaClass_ListOfFloat64
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfFloat64
[ (=float=<Float64 Value>) ... ]
)

=float<Float64 Value>
dmaClass_ListOfFloat64オブジェクトの要素のFloat64型の値をエントリ名は指定しないで，区切り文字を「=float=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfFloat64オブジェクトとなります。

(5)　dmaClass_ListOfIdオブジェクト

<ListOfId>::=
(
<左角括弧> <Section Name> <右角括弧>
ClassFactory=text=dmaClass_ListOfId
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfId
[ (=guid=<Id Value>) ...]
)

=guid=<Id Value>
dmaClass_ListOfIdオブジェクトの要素のId型の値をエントリ名は指定しないで，区切り文字を「=guid=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfIdオブジェクトとなります。

(6)　dmaClass_LisfOfInteger32オブジェクト

<ListOfInteger32>::=
(
<左角括弧><Section Name> <右角括弧>
ClassFactory=text=dmaClass_ListOfInteger32
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfInteger32
[ (=int=<Integer32 Value>) ...]
)

=int=<Integer32 Value>
dmaClass_ListOfInteger32オブジェクトの要素のInteger32型の値をエントリ名は指定しないで，区切り文字を「=int=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfInteger32オブジェクトとなります。

(7)　dmaClass_ListOfObjectオブジェクト

<ListOfObject>::=
(
<左角括弧><Section Name> <右角括弧>
ClassFactory=text=dmaClass_ListOfObject
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfObject
dmaProp_RequiredClass=obj=<Reference>
[ (=obj=<Object Value>) ...]
)

=obj=<Object Value>
dmaClass_ListOfObjectオブジェクトの要素のObject型の値をエントリ名は指定しないで，区切り文字を「=obj=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfObjectオブジェクトとなります。

(8)　dmaClass_ListOfStringオブジェクト

<ListOfString>::=
(
<左角括弧> <Section Name> <右角括弧>
ClassFactory=text=dmaClass_ListOfString
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_ListOfString
[ (=text=<String Value>) ...]
)

=text=<String Value>
dmaClass_ListOfStringオブジェクトの要素のString型の値をエントリ名は指定しないで，区切り文字を「=text=」として指定します。このエントリを記述しない場合，要素が空のdmaClass_ListOfStringオブジェクトとなります。

付録H.5　QueryOperatorクラス定義

ここでは，QueryOperatorクラス定義について説明します。

<Query Operator Description>::=
(
<左角括弧><Query Operator Description Name><右角括弧>
ClassFactory=text=dmaClass_QueryOperatorDescription
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_QueryOperatorDescription
dmaProp_This=obj=Self
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_ResultType=int=<DMA Date Type>
dmaProp_IsList=bool=<Boolean Value>
dmaProp_MinimumOperands=int=<Integer32 Value>
dmaProp_MaximumOperands=int=<Integer32 Value>
dmaProp_IsSafeToEliminate=bool=0
dmaProp_OperandDescriptions=obj=<Reference>
dmaProp_JoinParticipation=int=<Join Participation>
)
<DMA Data Type>::=
{
DMA_DATATYPE_BINARY | DMA_DATATYPE_BOOLEAN | DMA_DATATYPE_DATETIME |
DMA_DATATYPE_FLOAT64 | DMA_DATATYPE_ID | DMA_DATATYPE_INTEGER32 |
DMA_DATATYPE_OBJECT | DMA_DATATYPE_STRING | DMA_DATATYPE_CLASS
}
<Join Participation>::=
{
DMA_JOIN_PARTICIPATION_NONE | DMA_JOIN_PARTICIPATION_OPERAND |
DMA_JOIN_PARTICIPATION_OPERATOR
}

dmaProp_ResultType=int=<DMA Date Type>
オペレータの演算結果の値のデータ型を指定します。指定可能な値は，<DMA Data Type>で示される値だけです。

DMA_DATATYPE_BINARY：オペレータによる演算結果の値が，Binary型です。

DMA_DATATYPE_BOOLEAN：オペレータによる演算結果の値がBoolean型です。

DMA_DATATYPE_DATETIME：オペレータによる演算結果の値がDateTime型です。

DMA_DATATYPE_FLOAT64：オペレータによる演算結果の値がFloat64型です。

DMA_DATATYPE_ID：オペレータによる演算結果の値がId型です。

DMA_DATATYPE_INTEGER32：オペレータによる演算結果の値がInteger型です。

DMA_DATATYPE_OBJECT：オペレータによる演算結果の値がObject型です。

DMA_DATATYPE_STRING：オペレータによる演算結果の値がString型です。

DMA_DATATYPE_CLASS：Joinオペレータの演算結果の値として指定します。

dmaProp_IsList=bool=<Boolean Value>

0：オペレータによる演算結果がscalar型です。

1：オペレータによる演算結果がList型です。

dmaProp_MinimumOperands=int=<Integer32 Value>
オペレータが要求するオペランドの最小数を指定します。0以上の値を指定します。

dmaProp_MaximumOperands=int=<Integer32 Value>
オペレータに指定できるオペランドの最大数を指定します。dmaProp_MinimumOperandsとdmaProp_MaximumOperandsが両方とも0の場合，オペレータは，オペランドが不要なことを示します。指定可能なオペランドが任意の個数の場合，DMA_NO_MAXIMUMを指定します。

dmaProp_IsSafeToEliminate
問い合わせに対応しないオペレータです。

dmaProp_OperandDescriptions=obj=<Reference>
オペレータのオペランドを定義するdmaClass_QueryOperandDescriptionクラスを要素とするdmaClass_ListOfObjectクラスを記述するセクションを指定します。オペレータがオペランドを持たない場合，要素が空のdmaClass_ListOfObjectクラスを記述するセクションを指定します。dmaClass_ListOfObjectクラスの要素であるdmaClass_QueryOperandDescriptionクラスの並びは，オペレータに指定するオペランドの並びと一致させる必要があります。また，すべて同じ定義であるオペランドをオペレータに指定する場合，dmaClass_ListOfObjectクラスの要素であるdmaClass_QueryOperandDescriptionクラスは1個です。

dmaProp_JoinParticipation=int=<Join Participation>
オペレータがJoin式に参加できる範囲を示す値を指定します。

DMA_JOIN_PARTICIPATION_NONE:From句に指定できないオペレータを示します。通常のdmaClass_QueryOperatorオブジェクトが該当します。

DMA_JOIN_PARTICIPATION_OPERAND:From句のJoinオペレータの第3オペランドであるON条件に指定できるオペレータを示します。dmaProp_ResultTypeがDMA_DATATYPE_BOOLEANでdmaProp_IsListが0である必要があります。

DMA_JOIN_PARTICIPATION_OPERATOR:Joinオペレータを示します。dmaProp_ResultTypeでDMA_DATATYPE_CLASSおよびdmaProp_IsListは0である必要があります。

付録H.6　QueryOperandクラス定義

ここでは，QueryOperandクラス定義について説明します。

<Query Operand Description>::=
(
<左角括弧>< Query Operand Description Name><右角括弧>
ClassFactory=text=dmaClass_QueryOperandDescription
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_QueryOperandDescription
dmaProp_This=obj=Self
dmaProp_OperandDataType=int=<DMA Date Type>
dmaProp_AllowsSingleton=bool=<Boolean Value>
dmaProp_AllowsList=bool=<Boolean Value>
dmaProp_AllowsConstant=bool=<Boolean Value>
dmaProp_AllowsProperty=bool=<Boolean Value>
dmaProp_AllowsExpression=bool=<Boolean Value>
)

<Query Operand Description Name>
定義するオペランドの名前を指定します。定義するINIファイルでオペランド名が一意になるよう指定してください。

dmaProp_OperandDataType=int=<DMA Date Type>
オペレータに指定可能なオペランドのデータ型を指定します。

dmaProp_AllowsSingleton=bool=<Boolean Value>
問い合わせのオペレータに指定するオペランドが単一の値かどうかを指定します。

1：オペランドが単体であることを示します。

0：オペランドが単体ではないことを示します。

dmaProp_AllowsSingletonプロパティ，dmaProp_AllowsListプロパティの少なくとも一つに「1」を設定します。

dmaProp_AllowsList=bool=<Boolean Value>
問い合わせのオペレータに指定するオペランドがリストかどうかを指定するBoolean型の値です。
設定するのは，次の値のどちらかです。

1：オペランドがリストであることを示します。

0：オペランドがリストではないことを示します。

dmaProp_AllowsSingletonプロパティ，dmaProp_AllowsListプロパティの少なくとも一つに「1」を設定します。

dmaProp_AllowsConstant=bool=<Boolean Value>
問い合わせのオペレータに指定するオペランドが定数かどうかを指定するBoolean型の値です。
設定するのは，次の値のどちらかです。

1：オペランドが定数であることを示します。

0：オペランドが定数ではないことを示します。

dmaProp_AllowsConstantプロパティ，dmaProp_AllowsPropertyプロパティ，またはdmaProp_AllowsExpressionの少なくとも一つに「1」を設定します。

dmaProp_AllowsProperty=bool=<Boolean Value>
問い合わせのオペレータに指定するオペランドがプロパティかどうかを指定するBoolean型の値です。
設定するのは，次の値のどちらかです。

1：オペランドがプロパティであることを示します。

0：オペランドがプロパティではないことを示します。

dmaProp_AllowsConstantプロパティ，dmaProp_AllowsPropertyプロパティ，またはdmaProp_AllowsExpressionの少なくとも一つに「1」を設定します。

dmaProp_AllowsExpression=bool=<Boolean Value>
問い合わせのオペレータに指定するオペランドが検索条件かどうかを指定するBoolean型の値です。
設定するのは，次の値のどちらかです。

1：オペランドが検索条件であることを示します。

0：オペランドが検索条件ではないことを示します。

dmaProp_AllowsConstantプロパティ，dmaProp_AllowsPropertyプロパティ，またはdmaProp_AllowsExpressionの少なくとも一つに「1」を設定します。

付録H.7　オブジェクト定義

ここでは，オブジェクト定義について説明します。

<Object>::=
(
<左角括弧><Section Name><右角括弧>
(<Property>)...
)
<Property>::=<Property Name>=<Data Type>=<Value>
<Data Type>::= { bin | bool | date | float | guid | int | obj | text }

<Section Name>
定義するオブジェクトの名前を指定します。INIファイル内で一意になるように指定してください。

<Property Name>
dmaClass_ListOfObjectオブジェクトの要素に記述するdmaClass_PropertyDescriptionXXXXオブジェクトの並び方に従ってエントリを記述します。dmaClass_ListOfObjectオブジェクトの要素は，オブジェクトのクラスの定義を記述するdmaClass_ClassDescriptionクラスのプロパティであるdmaProp_PropertyDescriptionsプロパティに指定する値で参照されます。プロパティ名は，dmaClass_PropertyDescriptionXXXXオブジェクトの<Property Name>と一致させてください。

<DataType>
<Property Name>に指定するプロパティの定義を記述するdmaClass_PropertyDescriptionXXXXクラスのdmaProp_DataTypeエントリに指定するデータ型と一致する値を指定します。データ型とそれに対応する値を次に示します。

DMA_DATATYPE_BINARY: bin

DMA_DATATYPE_BOOL: bool

DMA_DATATYPE_DATETIME: date

DMA_DATATYPE_FLOAT64: float

DMA_DATATYPE_ID: guid

DMA_DATATYPE_INTEGER32: int

DMA_DATATYPE_OBJECT: obj

DMA_DATATYPE_STRING: text

<Value>
<Property Name>に指定するプロパティの定義を記述するdmaClass_PropertyDescriptionXXXXクラスのdmaProp_DataTypeエントリに指定するデータ型に一致する値を指定します。データ型とそれに対応する値を次に示します。

DMA_DATATYPE_BINARY: <Binary Value>

DMA_DATATYPE_BOOLEAN: <Boolean Value>

DMA_DATATYPE_DATETIME: <DateTime Value>

DMA_DATATYPE_FLOAT64: <Float64 Value>

DMA_DATATYPE_ID: <Id Value>

DMA_DATATYPE_INTEGER32: <Integer32 Value>

DMA_DATATYPE_OBJECT: <Object Value>

DMA_DATATYPE_STRING: <String Value>

付録H.8　メタ情報管理用に確保する共用メモリセグメントサイズ

DocumentBrokerが提供するメタ情報ファイルではなく，ユーザが作成したファイルに，ユーザが定義するクラスまたはプロパティの定義を記述した場合，共用メモリサイズを次の見積もり式で算出する必要があります。

メタ情報管理用に確保する共用メモリセグメントサイズ（バイト）

＝3,000,000＋10,640×A＋12,584×B＋752×C＋2,084×D

（凡例）

A

ユーザが定義するクラス数を表します。

B

ユーザが定義するプロパティ数を表します。

C

ユーザが定義するクラスに定義するユーザ定義のプロパティの総数を表します。この値はメタ情報の追加コマンド（EDMAddMeta）に指定する定義情報ファイル内の[AddProperty/クラス名]の数です。

D

ユーザが作成するメタ情報ファイル数（0～2,147,482,151）を表します。

付録I　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド

ここでは，文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンドについて説明します。なお，文書空間で使用する文字コード種別がShift-JISの場合は，すべての機能およびコマンドを使用できます。

＜この節の構成＞

(1)　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能

(2)　文書空間で使用する文字コード種別がUTF-8の場合に使用できるコマンド

(1)　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能

文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能を次の表に示します。

表I-1　文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能

分類 | 機能名 | 使用可否
文書管理 | 文書の登録機能 | ○
バージョン管理機能 | ○
マルチレンディション管理機能 | ○
マルチファイル管理機能 | ○
コンテナ管理機能 | ○
文書の構成管理機能 | ○
文書間リレーション管理機能 | ○
文書の属性情報の管理機能 | ○
リファレンスファイル管理機能 | ○
レンディションのコンテント種別変換機能 | ○
File Link連携機能 | －
構造化文書管理 | XML文書管理機能 | －
独立データの管理 | 独立データの管理機能 | ○
アクセス制御 | アクセス制御機能 | ○
統計・解析 | アクセスログおよびトレースログの統計・解析機能 | －
検索 | 属性検索 | ○
全文検索 | ○
構造指定検索 | －
概念検索 | ○
文字列型プロパティに対する全文検索 | ○
変換・登録 | オブジェクト一括登録機能 | ○
全文検索インデクス一括登録機能 | ○
レンディション変換機能 | ○
イメージ文書の登録機能 | －
収集・検索 | 分散した文書の収集機能 | －
収集した文書の検索機能 | －
分析 | 文書の分析機能 | ○
ライフサイクル管理 | 文書のライフサイクル管理機能 | －
環境構築 | ファイル転送機能 | ○
複数の実行環境機能 | ○
システム導入支援機能 | ○

（凡例）

○：使用できます。

－：使用できません。

(2)　文書空間で使用する文字コード種別がUTF-8の場合に使用できるコマンド

文書空間で使用する文字コード種別がUTF-8の場合に使用できるコマンドを次の表に示します。

表I-2　文書空間で使用する文字コード種別がUTF-8の場合に使用できるコマンド

分類 | コマンド名 | 使用可否
ファイル転送機能で使用するコマンド | FtpSvSetup | ○
FtpSvStart | ○
FtpSvStop | ○
システム運用コマンド | EDMRefresher | ○
EDMSetup | ○
EDMStart | ○
EDMStop | ○
EDMUsrView | ○
データベース運用コマンド | EDMAddMeta | ○
EDMCreateIds | ○
EDMCrtSimMeta | ○
EDMCrtSql | ○
EDMDelMeta | ○
EDMInitMeta | ○
EDMPrintMeta | ○
EDMRegEnvId | ○
EDMXmlMap | －
システム導入支援コマンド | EDMCDefDocSpace | ○
EDMCBuildDocSpace | ○
トラブルシュートコマンド | EDMChkMeta | ○
EDMChkTbl | ○
EDMGetRas | ○
EDMGetRasCL | ○
EDMLckWatcher | ○
データベース移行用のコマンド | EDMChangeACL | －
EDMChangeDBDefName | －
EDMChangeVarray | －
EDMChangeMultiFile | －
EDMChangeRefFile | －
EDMChangeFileLink | －
統計解析ツールのコマンド※ | EDMRptAclog | －
EDMRptTrace | －

（凡例）

○：使用できます。

－：使用できません。

注※

コマンドの詳細は，マニュアル「DocumentBroker Version 3　統計解析ツール」を参照してください。

付録J　DocumentBroker Web Clientを使用したDocumentBrokerクライアントの開発

DocumentBroker Web Clientは，Web Page Generator Enterprise対応のライブラリを提供しています。Web Page Generator Enterpriseで構築したWWW環境で動作するクライアントアプリケーションを開発・実行できます。また，DocumentBroker Web Clientを使用して開発したサンプルのWebアプリケーションも提供しているため，このサンプルを参考にしたりカスタマイズしたりして，業務に適合したクライアントアプリケーションを開発できます。

なお，DocumentBrokerクライアントシステムでは，バージョンが03-00よりも前のDocumentBroker Development KitまたはDocumentBroker Runtimeを使用してください。

ここでは，DocumentBrokerサーバシステムに必要なプログラム，DocumentBrokerクライアントシステムに必要なプログラム，および各機能を使用する場合に必要なプログラムについて説明します。DocumentBroker Web Clientで開発したクライアントを構成するプログラムのシステム構成を次の図に示します。

図J-1　DocumentBroker Web Clientで開発したクライアントを構成するプログラムのシステム構成

＜この節の構成＞

(1)　DocumentBrokerサーバシステムに必要なプログラム

(2)　DocumentBrokerクライアントシステムに必要なプログラム

(3)　XML文書管理機能を使用する場合に必要なプログラム

(4)　レンディション変換要求機能を使用する場合に必要なプログラム

(5)　分散した文書の収集・検索機能を使用する場合に必要なプログラム

(1)　DocumentBrokerサーバシステムに必要なプログラム

DocumentBrokerサーバシステムに必要なプログラムについては，「1.3.2　DocumentBrokerサーバを構成するプログラム」を参照してください。

(2)　DocumentBrokerクライアントシステムに必要なプログラム

DocumentBrokerクライアントシステムには，次に示すプログラムが必要です。

WWWサーバ

DocumentBroker Web Clientは，WWWサーバシステムが構築されている環境で使用します。DocumentBroker Web Client使用できるWWWサーバの種類とWWWサーバのバージョンは，Web Page Generator Enterpriseに依存します。詳細については，マニュアル「DocumentBroker Web Client Version 2　解説」を参照してください。

Web Page Generator Enterprise

Web Page Generator Enterpriseは，WWWブラウザの画面内容を動的に変更する機能を持つプログラムです。ユーザが指定したURLに従ってWWWサーバがWeb Page Generator Enterpriseを呼び出し，Web Page Generator EnterpriseがDocumentBroker Web Clientのテンプレートを呼び出します。

DocumentBroker Web Client

DocumentBroker Web Clientは，イントラネットまたはインターネットを経由してWWWブラウザからDocumentBrokerサーバにアクセスするためのプログラムです。Web Page Generator Enterpriseで構築したWWW環境で動作するクライアントアプリケーションを開発・実行するための，Web Page Generator Enterprise対応のライブラリを提供しています。また，DocumentBroker Web Clientを使用して開発したサンプルのWebアプリケーションも提供しているため，このサンプルを参考にしたりカスタマイズしたりして，業務に適合したクライアントアプリケーションを開発できます。

DocumentBroker Web Clientの詳細については，マニュアル「DocumentBroker Web Client Version 2　解説」，およびマニュアル「DocumentBroker Web Client Version 2　リファレンス」を参照してください。

DocumentBroker Development Kit（クライアント開発環境）またはDocumentBroker Runtime（クライアント実行環境）

DocumentBroker Development KitおよびDocumentBroker Runtimeは，DocumentBroker Web ClientがDocumentBrokerサーバに対して処理を要求するためのAPIを持つプログラムです。DocumentBroker Web Clientでは，DocumentBroker Development Kitが提供するC++ クラスライブラリを使用してクライアントアプリケーションを開発するため，DocumentBroker Web Clientの開発環境にはDocumentBroker Development Kitが必要です。実行環境だけが必要な場合は，DocumentBroker Runtimeを使用します。

TPBroker

CORBA仕様に基づく分散アプリケーションを開発するためのプログラムです。

OS

次に示すオペレーティングシステムを使用します。

AIXの場合：
AIX 5L V5.1を使用してください。

Windows Server 2003の場合：
Windows Server 2003，Enterprise EditionまたはWindows Server 2003，Standard Editionを使用してください。

Windows NTの場合：
Windows NT Server, Enterprise Edition 4.0またはWindows NT Server Network Operating System Version 4.0を使用してください。

(3)　XML文書管理機能を使用する場合に必要なプログラム

XML文書管理機能を使用する場合は，次のプログラムが必要です。

HiRDB Adapter for XML

Preprocessing Library for Text Search

これらのプログラムの説明については，「1.3.3(3)　XML文書管理機能を使用する場合に必要なプログラム」を参照してください。

(4)　レンディション変換要求機能を使用する場合に必要なプログラム

レンディション変換要求機能を使用する場合は，次のプログラムが必要です。

DocumentBroker Rendering Option

このプログラムの説明については，「1.3.3(4)　レンディション変換要求機能を使用する場合に必要なプログラム」を参照してください。

(5)　分散した文書の収集・検索機能を使用する場合に必要なプログラム

DocumentBroker Collector

ネットワーク上に散在した文書を収集してDocumentBrokerに登録する場合に必要なプログラムです。インターネット，イントラネット，ファイルシステムやグループウェアなどのほかの文書管理システムに分散しているさまざまなフォーマットの文書から属性を収集し，XML形式に変換してDocumentBrokerに登録して管理するプログラムです。DocumentBroker Collectorの詳細については，マニュアル「DocumentBroker Collector」を参照してください。

DocumentBroker Integrated Search Suite

DocumentBroker Collectorによって収集および登録された文書を検索する場合に必要なプログラムです。DocumentBroker Integrated Search Suiteが提供する検索テンプレートを使用してWWWブラウザ上に表示した検索画面から文書を検索できます。DocumentBroker Integrated Search Suiteについては，マニュアル「DocumentBroker Integrated Search Suite」を参照してください。

付録K　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

＜この節の構成＞

付録K.1　関連マニュアル

付録K.2　このマニュアルでの表記

付録K.3　uCosminexus DocumentBrokerのマニュアルで使用する略語

付録K.4　KB（キロバイト）などの単位表記について

付録K.1　関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。なお，本文に記載のマニュアル名称は，「uCosminexus DocumentBroker」を「DocumentBroker」と表記しています。

uCosminexus DocumentBrokerのマニュアル

uCosminexus DocumentBroker Version 3　クラスライブラリ　C++　解説（3000-3-F13）
uCosminexus DocumentBroker Development Kitで提供するクラスライブラリの機能と，クラスライブラリを使用するために必要なオブジェクトモデルについて知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　クラスライブラリ　C++　リファレンス　基本機能編（3000-3-F14）
uCosminexus DocumentBroker Development Kitが提供するクラスライブラリのクラスの詳細とメソッドの文法について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　オブジェクト操作ツール（3000-3-F15）
uCosminexus DocumentBroker Development KitまたはuCosminexus DocumentBroker Runtimeで提供するオブジェクト操作ツールの機能について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　統計解析ツール（3000-3-F11）
uCosminexus DocumentBroker Serverで提供する統計解析ツールの機能について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　メッセージ（3000-3-F12）
DocumentBrokerが出力するメッセージ，およびメッセージに対してユーザが実施する対策について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　解説（3000-3-F16）
uCosminexus DocumentBroker Development Kitが提供するJava クラスライブラリの機能，クラスライブラリを使用するために必要なオブジェクトモデル，環境設定，および障害対策について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　リファレンス（3000-3-F17）
uCosminexus DocumentBroker Development Kitが提供するJava クラスライブラリのクラス，インターフェース，メソッドの文法およびメッセージについて知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3　クラスライブラリ　Java　サンプルWebアプリケーション（3000-3-F18）
uCosminexus DocumentBroker Development Kitが提供するJava クラスライブラリのサンプルWebアプリケーションの機能，文書管理モデル，および操作方法について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3 Standard GUI　システム導入・運用ガイド（3020-3-U73）
uCosminexus DocumentBroker Standard GUIの環境設定，および運用方法について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 3 Standard GUI　操作ガイド（3020-3-U74）
uCosminexus DocumentBroker Standard GUIのGUIの操作方法などについて知りたい場合に参照してください。

uCosminexus DocumentBroker Text Search Index Loader Version 3（3020-3-U72）
uCosminexus DocumentBroker Text Search Index Loaderの機能，環境設定，およびコマンドの文法について知りたい場合に参照してください。

DocumentBroker Life Cycle Suite Version 2（3000-3-796）
DocumentBroker Life Cycle Suiteの機能，環境設定，C++ クラスライブラリ，および分散オブジェクト群について知りたい場合に参照してください。

DocumentBroker Rendering Option Version 3（3020-3-N47）
Adobe Acrobat Distillerと連携したDocumentBroker Rendering Optionの機能，環境設定，およびコマンドの文法について知りたい場合に参照してください。

DocumentBroker Rendering Option Version 3　（活文 PDFstaff編）（3020-3-N49）
PDFstaff RuntimeおよびPDFstaff SDKと連携したDocumentBroker Rendering Optionの機能，環境設定，およびコマンドの文法について知りたい場合に参照してください。

DocumentBroker Collector（3020-3-C46）
DocumentBroker Collectorの機能，環境設定，およびコマンドの文法について知りたい場合に参照してください。

DocumentBroker Integrated Search Suite（3020-3-C47）
DocumentBroker Integrated Search Suiteの機能，環境設定，および操作方法について知りたい場合に参照してください。

DocumentBroker イメージ登録 for DocuCentre(R)（3020-3-C48）
DocumentBroker イメージ登録 for DocuCentre(R)の機能，および環境設定について知りたい場合に参照してください。

DocumentBroker イメージ登録 for iR（3020-3-C49）
DocumentBroker イメージ登録 for iRの機能，および環境設定について知りたい場合に参照してください。

DocumentBroker イメージ登録 for imagio and IPSiO（3020-3-C50）
DocumentBroker イメージ登録 for imagio and IPSiOの機能，および環境設定について知りたい場合に参照してください。

DocumentBroker イメージ登録 for Konica（3020-3-C93）
DocumentBroker イメージ登録 for Konicaの機能，および環境設定について知りたい場合に参照してください。

DocumentBroker テキスト分析コンポーネント（3020-3-D68）
DocumentBroker テキスト分析コンポーネントのコマンド，クラスライブラリの機能と使用方法，および環境設定について知りたい場合に参照してください。

DocumentBroker テキスト分析テンプレート（3020-3-D69）
DocumentBroker テキスト分析テンプレートのWebアプリケーションプログラムの機能，環境設定，および操作方法について知りたい場合に参照してください。

DocumentBroker Integrated Search Suite for J Version 2（3020-3-D78）

DocumentBroker Integrated Search Suite for Jの機能，環境設定方法，および操作方法について知りたい場合に参照してください。

関連製品のマニュアル（HiRDB）

スケーラブルデータベースサーバ HiRDB Version 6 システム導入・設計ガイド（UNIX(R)用）（3000-6-232）

スケーラブルデータベースサーバ HiRDB Version 7 システム導入・設計ガイド（UNIX(R)用）（3000-6-272）

スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド（UNIX(R)用）（3000-6-352）

HiRDB Version 9 システム導入・設計ガイド（UNIX(R)用）（3000-6-452）

スケーラブルデータベースサーバ HiRDB Version 6 システム定義（UNIX(R)用）（3000-6-233）

スケーラブルデータベースサーバ HiRDB Version 7 システム定義（UNIX(R)用）（3000-6-273）

スケーラブルデータベースサーバ HiRDB Version 8 システム定義（UNIX(R)用）（3000-6-353）

スケーラブルデータベースサーバ HiRDB Version 9 システム定義（UNIX(R)用）（3000-6-453）

スケーラブルデータベースサーバ HiRDB Version 6 システム運用ガイド（UNIX(R)用）（3000-6-234）

スケーラブルデータベースサーバ HiRDB Version 7 システム運用ガイド（UNIX(R)用）（3000-6-274）

スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド（UNIX(R)用）（3000-6-354）

HiRDB Version 9 システム運用ガイド（UNIX(R)用）（3000-6-454）

スケーラブルデータベースサーバ HiRDB Version 6 コマンドリファレンス（UNIX(R)用）（3000-6-235）

スケーラブルデータベースサーバ HiRDB Version 7 コマンドリファレンス（UNIX(R)用）（3000-6-275）

HiRDB Version 9 コマンドリファレンス（UNIX(R)用）（3000-6-455）

スケーラブルデータベースサーバ HiRDB Version 6 UAP開発ガイド（UNIX(R)/Windows(R)用）（3000-6-236）

スケーラブルデータベースサーバ HiRDB Version 7 UAP開発ガイド（UNIX(R)/Windows(R)用）（3000-6-276）

スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド（3020-6-356）

HiRDB Version 9 UAP開発ガイド（3020-6-456）

スケーラブルデータベースサーバ HiRDB Version 6 SQLリファレンス（UNIX(R)/Windows(R)用）（3000-6-237）

スケーラブルデータベースサーバ HiRDB Version 7 SQLリファレンス（UNIX(R)/Windows(R)用）（3000-6-277）

スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス（3020-6-357）

HiRDB Version 9 SQLリファレンス（3020-6-457）

HiRDB データ連動機能 HiRDB Datareplicator Version 6（3000-6-243）

HiRDB データ連動機能 HiRDB Datareplicator Version 7（3000-6-286）

HiRDB データ連動機能 HiRDB Datareplicator Version 8（3020-6-360）

HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 6（3000-6-244）

HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 7（3000-6-287）

HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 8（3020-6-361）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 2（3000-6-245）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 7（3000-6-288）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 8（3020-6-375）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 9（3020-6-481）

HiRDB Adapter for XML　ユーザーズガイド（3000-6-250）

HiRDB デジタルコンテンツアクセスプラグイン HiRDB File Link（UNIX(R)用）（3000-6-253）

インナレプリカ機能 HiRDB Staticizer Option（3000-6-249）

インナレプリカ機能 HiRDB Staticizer Option Version 7（3000-6-282）

インナレプリカ機能 HiRDB Staticizer Option Version 8（3000-6-363）

インナレプリカ機能 HiRDB Staticizer Option Version 9（3000-6-463）

関連製品のマニュアル（その他）

JP1/HiCommand Tiered Storage Manager　ユーザーズガイド（3020-3-J01）

Preprocessing Library for Text Search Version 2（3000-7-270）

トランザクショナル分散オブジェクト基盤 TPBroker　ユーザーズガイド（3020-3-M16）

VisiBroker Version 3 VisiBroker for C++　プログラマーズガイド（3000-3-651）※²

VisiBroker Version 3 VisiBroker for C++　プログラマーズガイド（Windows(R)用）（3000-3-678）※²

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　デベロッパーズガイド（3000-3-936）（3020-3-M45）※³

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R)　プログラマーズリファレンス（3000-3-937）（3020-3-M46）※³

日立ディレクトリサービス　導入編（3020-3-825）

日立ディレクトリサービス　システム管理編（3020-3-826）

日立ディレクトリサービス　AP開発編（3020-3-827）

注※1

TPBrokerのバージョンが03-04以前の場合は，資料番号が「3000-3-660」のマニュアルを参照してください。TPBrokerのバージョンが03-05以降，かつ05-00よりも前の場合は，資料番号が「3000-3-771」のマニュアルを参照してください。TPBrokerのバージョンが05-00以降の場合は，資料番号が「3020-3-M16」のマニュアルを参照してください。

注※2

TPBrokerのバージョンが05-00よりも前の場合に参照してください。

注※3

TPBrokerのバージョンが05-00以降の場合に参照してください。

関連マニュアルの略称

このマニュアルで使用する関連マニュアルの略称を次に示します。

マニュアル名 | 略称
DocumentBroker Rendering Option Version 3 | DocumentBroker Rendering Option
DocumentBroker Rendering Option Version 3　（活文 PDFstaff編）
DocumentBroker イメージ登録 for DocuCentre(R) | DocumentBroker イメージ登録 for DocuCentre
スケーラブルデータベースサーバ HiRDB Version 6 システム導入・設計ガイド（UNIX(R)用） | HiRDB　システム導入・設計ガイド
スケーラブルデータベースサーバ HiRDB Version 7 システム導入・設計ガイド（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド（UNIX(R)用）
HiRDB Version 9 システム導入・設計ガイド（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 6 システム定義（UNIX(R)用） | HiRDB　システム定義
スケーラブルデータベースサーバ HiRDB Version 7 システム定義（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 システム定義（UNIX(R)用）
HiRDB Version 9 システム定義（UNIX(R)用） |
スケーラブルデータベースサーバ HiRDB Version 6 システム運用ガイド（UNIX(R)用） | HiRDB　システム運用ガイド
スケーラブルデータベースサーバ HiRDB Version 7 システム運用ガイド（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド
HiRDB Version 9 システム運用ガイド
スケーラブルデータベースサーバ HiRDB Version 6 コマンドリファレンス（UNIX(R)用） | HiRDB　コマンドリファレンス
スケーラブルデータベースサーバ HiRDB Version 7 コマンドリファレンス（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス（UNIX(R)用）
HiRDB Version 9 コマンドリファレンス（UNIX(R)用）
スケーラブルデータベースサーバ HiRDB Version 6 UAP開発ガイド（UNIX(R)/Windows(R)用） | HiRDB　UAP開発ガイド
スケーラブルデータベースサーバ HiRDB Version 7 UAP開発ガイド（UNIX(R)/Windows(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
HiRDB Version 9 UAP開発ガイド
スケーラブルデータベースサーバ HiRDB Version 6 SQLリファレンス（UNIX(R)/Windows(R)用） | HiRDB　SQLリファレンス
スケーラブルデータベースサーバ HiRDB Version 7 SQLリファレンス（UNIX(R)/Windows(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
HiRDB Version 9 SQLリファレンス
HiRDB データ連動機能 HiRDB Datareplicator Version 6 | HiRDB Datareplicator
HiRDB データ連動機能 HiRDB Datareplicator Version 7
HiRDB データ連動機能 HiRDB Datareplicator Version 8
HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 6
HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 7
HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 8
HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 2 | HiRDB Text Search Plug-in
HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 7
HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 8
HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 9
HiRDB デジタルコンテンツアクセスプラグイン HiRDB File Link（UNIX(R)用） | HiRDB File Link
インナレプリカ機能 HiRDB Staticizer Option | HiRDB Staticizer Option
インナレプリカ機能 HiRDB Staticizer Option Version 7
インナレプリカ機能 HiRDB Staticizer Option Version 8
インナレプリカ機能 HiRDB Staticizer Option Version 9
TPBroker　ユーザーズガイド | TPBroker　ユーザーズガイド
TPBroker for C++　ユーザーズガイド
VisiBroker Version 3 VisiBroker for C++　プログラマーズガイド | VisiBroker for C++　プログラマーズガイド
VisiBroker Version 3 VisiBroker for C++　プログラマーズガイド（Windows(R)用）

付録K.2　このマニュアルでの表記

このマニュアルでは，製品名称を次に示す略称で表記しています。

製品名称 | 略称
AIX 5L V5.1 | AIX
AIX 5L V5.2
AIX 5L V5.3
Canon imageRUNNER(R)シリーズ | imageRUNNER
Cosminexus Application Server Version 5 | Cosminexus
Cosminexus Application Server Enterprise Version 6
Cosminexus Application Server Standard Version 6
uCosminexus Application Server Enterprise Version 6.7
uCosminexus Application Server Standard Version 6.7
uCosminexus Application Server Enterprise Version 7
uCosminexus Application Server Standard Version 7
DABroker | DABroker
DABroker for C++
DocumentBroker Collector | DocumentBroker Collector
DocumentBroker Collector for Groupmax
DocumentBroker Collector for WWW
DocumentBroker Collector for Lotus Notes
DocumentBroker Collector for RDB
DocumentBroker Development Kit Version 3 | DocumentBroker Development Kit
DocumentBroker Development Kit Version 3，またはDocumentBroker Web Client Version 3で開発したクライアントアプリケーション | DocumentBrokerクライアント
DocumentBroker Development Kit Version 3，またはDocumentBroker Web Client Version 2のGUI
DocumentBroker Integrated Search Suite for J Version 2 | DocumentBroker Integrated Search Suite for J
DocumentBroker Life Cycle Suite Version 2 | DocumentBroker Life Cycle Suite
DocumentBroker Life Cycle Suite Development Kit Version 2
DocumentBroker Object Loader Version 3 | DocumentBroker Object Loader
DocumentBroker Runtime Version 3 | DocumentBroker Runtime
DocumentBroker Server Version 3 | DocumentBroker ServerまたはDocumentBrokerサーバ
DocumentBroker Text Search Index Loader Version 3 | DocumentBroker Text Search Index Loader
DocumentBroker Version 3 Standard GUI | DocumentBroker Standard GUI
DocumentBroker Version 3 ブジェクト操作ツール | DocumentBroker オブジェクト操作ツール
DocumentBroker Web Client Version 2 | DocumentBroker Web Client
DocumentBroker イメージ登録 for DocuCentre(R) | DocumentBroker イメージ登録 for DocuCentre
FUJI XEROX DocuCentre(R)シリーズ | DocuCentre
FUJI XEROX DocuColor(R)シリーズ
High Availability ClusterMulti-Processing for AIX | HACMP
HiRDB Adapter for XML - Enterprise Edition | HiRDB Adapter for XML
HiRDB Adapter for XML - Standard Edition
HiRDB Datareplicator Version 6 | HiRDB Datareplicator
HiRDB Datareplicator Version 7
HiRDB Datareplicator Version 8
HiRDB Datareplicator Version 9
HiRDB Datareplicator Extension Version 6
HiRDB Datareplicator Extension Version 7
HiRDB Datareplicator Extension Version 8
HiRDB Datareplicator Extension Version 9
HiRDB Text Search Plug-in Conceptual Extension Version 2 | HiRDB Text Search Plug-in Conceptual Extension
HiRDB Text Search Plug-in Version 2 | HiRDB Text Search Plug-in
HiRDB Text Search Plug-in Version 7
HiRDB Text Search Plug-in Version 8
HiRDB Text Search Plug-in Version 9
HiRDB/Parallel Server Version 6 | HiRDB/Parallel Server | HiRDBサーバ
HiRDB/Parallel Server Version 7
HiRDB/Parallel Server Version 8
HiRDB/Single Server Version 6 | HiRDB/Single Server
HiRDB/Single Server Version 7
HiRDB/Single Server Version 8
HiRDB Server Version 9 | －
HiRDB/Parallel Server - Object Option Version 6 | HiRDB Object Option
HiRDB/Parallel Server - Object Option Version 7
HiRDB/Single Server - Object Option Version 6
HiRDB/Single Server - Object Option Version 7
HiRDB/Run Time Version 6 | HiRDB/Run Time
HiRDB/Run Time Version 7
HiRDB/Run Time Version 8
HiRDB/Run Time Version 9
Hitachi Directory Runtime Version 2 | Hitachi Directory Runtime
IBM Directory Server Version 4.1 | IBM Directory Server
IBM SecureWay Directory Version 3.2.1 | SecureWay Directory
IBM SecureWay Directory Version 3.2.2
IBM Tivoli Directory Server V5.2 | IBM Tivoli Directory Server
IBM VisualAge C++ Professional for AIX V5 | VisualAge C++ Professional for AIX
IBM VisualAge C++ Professional for AIX V6
IBM XL C/C++ Enterprise Edition V7 for AIX | IBM XL C/C++ Enterprise Edition for AIX
IBM XL C/C++ Enterprise Edition V8 for AIX
iPlanet Directory Server 4 | iPlanet Directory Server
Konica Sitios(R)シリーズ | Sitios
Oracle Directory Server Enterprise Edition 11g | Oracle Directory Server
Preprocessing Library for Text Search Version 2 | Preprocessing Library for Text Search
Red Hat Enterprise Linux 6 (x86_64) | Linux
RICOH imagio(R)シリーズ | imagio
RICOH IPSiO(R)シリーズ | IPSiO
SANRISE Universal Storage Platform 100 | SANRISE USP
SANRISE Universal Storage Platform 600
SANRISE Universal Storage Platform 1100
SANRISE Network Storage Controller NSC55
Sun Cluster 2.2 | Sun Cluster
The Microsoft(R) Office | Office
TPBroker Developer for C++ | TPBroker V3
TPBroker for C++
TPBroker | TPBroker V5
WorkCoordinator Library Extension Version 3 | WorkCoordinator
WorkCoordinator Library Version 3
WorkCoordinator Server Version 3
WorkCoordinator Definer Version 3 | WorkCoordinator Definer
活文 PDFstaff Runtime | PDFstaff Runtime
活文 PDFstaff SDK | PDFstaff SDK

このほか，このマニュアルでは，次に示す表記方法を使用しています。

DocumentBrokerの製品群を総称してDocumentBrokerと表記します。

DocumentBrokerの01-21以前のバージョンについては，Version 1と表記します。

HiRDBの製品群を総称してHiRDBと表記します。

AIXおよびLinuxを合わせてUNIXと表記することがあります。

TPBroker V3およびTPBroker V5を合わせてTPBrokerと表記することがあります。

それぞれの製品について個別に説明する場合は，製品名称を使用します。

IBM Directory Server，IBM Tivoli Directory Server，SecureWay Directory，Sun Java System Directory Server，およびActive Directoryを合わせてLDAP対応のディレクトリサービスと表記することがあります。

リレーショナルデータベース管理システムをデータベースシステムと表記します。

付録K.3　uCosminexus DocumentBrokerのマニュアルで使用する略語

uCosminexus DocumentBrokerのマニュアルで使用する英略語を次に示します。

英略語 | 英字での表記
ACE | Access Control Element
ACFlag | Access Control Flag
ACL | Access Control List
AIIM | Association for Information and Image Management International
API | Application Programming Interface
ASCII | American Standard Code for Information Interchange
BES | Back End Server
BLOB | Binary Large Object
BMP | Bit Map
BNF | Backus Normal Form
BOA | Basic Object Adapter
CD-ROM | Compact Disc Read Only Memory
CGI | Common Gateway Interface
CORBA | Common Object Request Broker Architecture
CPU | Central Processing Unit
CR | Carriage Return
CSV | Comma Separated Value
DAP | Directory Access Protocol
DAT | Digital Audio Tape
DB | Database
DBMS | Database Management System
DCD | Document Content Description
DDE | Dynamic Data Exchange
DIT | Directory Information Tree
DLL | Dynamic Linking Library
DMA | Document Management Alliance
DN | Distinguished Name
EOF | End of File
ESIS-B | Element Structure Information Set-Binary Format
EUC | Extended UNIX Code
FAM | File Access Module
GIF | Graphics Interchange Format
GUI | Graphical User Interface
GUID | Globally Unique Identifier
HTML | Hypertext Markup Language
HTTP | Hypertext Transfer Protocol
IANA | Internet Assigned Numbers Authority
ID | Identifier
ISO | International Organization for Standardization
JIS | Japanese Industrial Standards
JPEG | Joint Photographic Expert Group
LAN | Local Area Network
LDAP | Lightweight Directory Access Protocol
LF | Line Feed
MFC | Microsoft Foundation Class
MIME | Multipurpose Internet Mail Extensions
OCR | Optical Character Reader
OIID | Object Instance Identifier
OLE | Object Linking and Embedding
OMG | Object Management Group
ORB | Object Request Broker
ORDB | Object Relational Database
OS | Operating System
OTS | Object Transaction Service
PC | Personal Computer
PDF | Portable Document Format
RDB | Relational Database
RDN | Relative Distinguished Name
RFC | Request for Comment
RTF | Rich Text Format
SGML | Standard Generalized Markup Language
SQL | Structured Query Language
TCP/IP | Transmission Control Protocol/Internet Protocol
TIFF | Tag Image File Format
UOC | User Own Coding
URL | Uniform Resource Locator
UTC | Universal Time Coordinated
UTF-8 | 8-bit UCS Transformation Format
W3C | World Wide Web Consortium
WWW | World Wide Web
XML | Extensible Markup Language

付録K.4　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

付録L　用語解説

DocumentBrokerで使用する用語について説明します。

（英字）

ACE（Access Control Element）

アクセス制御エレメントのことです。

ACFlag（Access Control Flag）

アクセス制御フラグのことです。

ACL（Access Control List）

アクセス制御リストのことです。

AND-NOT検索

検索オペレータに「AND-NOT」を使用する検索方法です。二つの検索条件をAND-NOTでつないで，左側のオペランドに指定した検索条件は成立するが，右側のオペランドに指定した検索条件は成立しない文書を検索します。例えば，「著者が『日立太郎』であるが，所属は『日立製作所』ではない文書を検索する」というような場合に使用できます。

AND検索

検索オペレータに「AND」を使用して，検索条件同士の論理積を求める検索方法です。例えば，「著者が『日立太郎』で，文書中に『コンピュータ』という文字列を含む文書を検索する」というような場合に使用できます。

API（Application Programming Interface）

アプリケーションプログラムとのインターフェースを指します。

ConfigurationHistoryオブジェクト

バージョン管理に使用する最上位のDMAオブジェクトです。文書のバージョンを管理するVersionSeriesオブジェクトを管理します。

Containableオブジェクト

コンテナの包含要素になるオブジェクトです。CdbrContainableクラスのサブクラスを基に作成されたオブジェクトを指します。

Containee

参照型のコンテインメント（ReferentialContainment）の場合，オブジェクト（Container）に包含されるオブジェクトを指します。

Container

参照型のコンテインメントの場合，オブジェクト（Containee）を包含するオブジェクトを指します。

ContainerVersionオブジェクト

包含しているオブジェクト全体を一つの概念的なオブジェクトとして管理するDMAオブジェクトです。また，構成管理型のコンテインメントではオブジェクトを包含するオブジェクトとして利用できます。ContainerVersionオブジェクトは，バージョンを保持できるオブジェクトです。したがって，ContainerVersionオブジェクトのバージョンを上げることで，ある時点でのオブジェクトのまとまりを管理できます。

Containerオブジェクト

コンテインメントを利用してオブジェクトを管理する場合に，オブジェクトを包含するDMAオブジェクトの一つです。dmaClass_Containerクラスおよびユーザが定義したdmaClass_Containerクラスのサブクラスを基に作成します。

ContentElement（dmaClass_ContentElementクラス）

文書のコンテントにアクセスするために使われるDMAオブジェクトの抽象クラスです。ContentElementの四つのサブクラス（edmClass_ContentFileLinkクラス，dmaClass_ContentTransferクラス，edmClass_ContentTransfersクラス，およびdmaClass_ContentReferenceクラス）は，コンテントの格納とアクセス機能を提供します。

ContentFileLinkオブジェクト

文書のコンテントを管理するために使用するDMAオブジェクトです。File Link連携機能を使用する場合に使用します。dmaClass_ContentElementクラスのサブクラスであるedmClass_ContentFileLinkクラスを基に作成します。

ContentReferenceオブジェクト

文書のコンテントを管理するために使用するDMAオブジェクトです。コンテントをデータベースに格納しないで，位置情報を永続化して管理する場合に使用します。dmaClass_ContentElementクラスのサブクラスであるdmaClass_ContentReferenceクラスを基に作成します。

ContentTransfersオブジェクト

文書のコンテントを管理するために使用するDMAオブジェクトです。一つの文書のコンテントとして複数のファイルをデータベースに格納（永続化）して管理する場合に使用します。dmaClass_ContentElementクラスのサブクラスであるedmClass_ ContentTransfersクラスを基に作成します。

ContentTransferオブジェクト

文書のコンテントを管理するために使用するDMAオブジェクトです。コンテントをデータベースに格納（永続化）して管理する場合に使用します。dmaClass_ContentElementクラスのサブクラスであるdmaClass_ContentTransferクラスを基に作成します。

CORBA（Common Object Request Broker Architecture）

OMG（Object Management Group）が提唱するオブジェクト間の通信メカニズムを提供するORB（Object Request Broker）の標準アーキテクチャです。

DCD（Document Content Description）

W3Cで定義している，タグセットを記述するためのタグセットです。マッピング元XMLタグ定義はこのDCDの形式で記述します。DTDと同じようにXML文書の構造を記述しますが，DTDと異なり，DCD自体がXMLのタグセットとして定義されています。また，タグおよびその属性について，データの型を指定できるといった特長を持ちます。

DMA（Document Management Alliance）

文書管理インターフェースの標準化を図る団体AIIM（Association for Information and Image Management International）によって定義される共通インターフェースです。

DMA URL

DMAオブジェクトのOIID（Object Instance Identifier）を定義するURLです。

DMAオブジェクト

DMAが規定するオブジェクトモデルに基づいたオブジェクトです。DMAで規定されたクラス（クラス名がdmaClass_で始まるクラス），DocumentBrokerで拡張したクラス（クラス名がedmClass_で始まるクラス），およびこれらのクラスからユーザが定義したサブクラスを基に作成されます。

DocumentBroker Standard GUI

業種・業務に依存しない標準的な企業内文書管理システムを提供するECMパッケージ製品です。

文書を審査・承認後に公開する仕組み，公開する文書に電子署名や承認日時を付与する機能などを文書管理システムに取り込めるため，コンプライアンスや情報セキュリティへの対応が容易になります。

DocumentSpace構成定義ファイル（docspace.ini）

文書空間の構成を定義するために使用するファイルです。

DocVersionオブジェクト

DocumentBrokerで扱う文書に相当するDMAオブジェクトです。dmaClass_DocVersionクラスおよびユーザが定義したdmaClass_DocVersionクラスのサブクラスを基に作成します。

edmClass_Relationshipクラス

文書間リレーションを表すDMAクラスです。単独では作成できない，文書に従属するRelationshipオブジェクトの基となるクラスです。

edmSQL

DocumentBrokerのオブジェクトを検索するための検索条件式を表現するための文法です。SQLの文法に基づいています。

edmSQL検索

検索条件に，SQLライクの文法で記述できるedmSQL文を指定して実行する検索のことです。

FAM（File Access Module）

HiRDB File Linkで使用するファイルサーバ上で，コンテントを管理するためのプログラムです。

File Link文書

HiRDB File Linkで管理しているファイルサーバに格納されている一つのファイル，または一つのディレクトリおよびそのサブディレクトリ下のすべてのファイルをコンテントとして持つ文書のことです。データベースでは，コンテントへのリンク情報を管理しています。バージョンなし文書またはバージョン付き文書をFile Link文書として扱えます。

File Link連携機能

HiRDB File Linkと連携してコンテントを管理する機能です。

GUID（Globally Unique Identifier）

DMAのクラス，プロパティ，検索オペレータなどに与えるユニークな識別子です。GUIDは，「X」を0～9およびa～f（小文字）で表される16進数とした「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX（8-4-4-4-12）」の形式で表されます。

IDファイル

DocumentBroker オブジェクト操作ツールを使用して複数のオブジェクトを一括して操作する場合，操作対象となるオブジェクトのOIIDなどを記述するファイルです。

LDAP（Lightweight Directory Access Protocol）

TCP/IP上で動作する解放型DAPを提供し，X.500のデータモデルを保持しています。

NOT条件

指定したキーワードとの不一致を求める検索条件です。例えば，「作成者が『日立』ではない文書を検索する」というような場合に使用できます。

OIID（Object Instance Identifier）

文書空間での永続オブジェクトの存在や格納位置などを明確にするために使用する識別子です。OIIDはDMA URLとして定義されます。

OR検索

検索オペレータに「OR」を使用して，検索条件同士の論理和を求める検索方法です。例えば，「作成者が『日立太郎』であるオブジェクトか，作成者の所属が『日立製作所』であるオブジェクトを検索する」というような場合に使用できます。

Parent

直接型のコンテインメントの場合，オブジェクト（Child）を包含するオブジェクトを指します。

RDエリア

データベースの表，インデクスおよびデータディクショナリを格納するデータ領域のことです。データの格納単位の一つで，1～16個のHiRDBファイルから構成されます。

Renditionオブジェクト

文書の表現形式（HTML，PDFなど）を管理するDMAオブジェクトです。

Reservationオブジェクト

新しいバージョンを作成する権利をVersionSeriesオブジェクトに予約するDMAオブジェクトです。新しいバージョンのチェックインが完了すると，このオブジェクトは削除されて，VersionDescriptionオブジェクトに置き換えられます。

Scalar型

プロパティの基本単位の一つです。基本単位がScalar型であるプロパティは，データ型に従った値を一つだけ持ちます。

SystemManagerオブジェクト

Systemオブジェクトを管理するDMAオブジェクトです。

Systemオブジェクト

サーバ内の文書空間を管理するDMAオブジェクトです。

UOC（User Own Coding）

ユーザによって作成されたプログラムのことです。DocumentBrokerでは，ユーザ認証や，アクセス制御機能のためのユーザ情報取得にUOCを使用できます。

VariableArray型

プロパティの基本単位の一つです。基本単位がVariableArray型であるプロパティは，データ型に従った複数の値を可変長な一次元配列として持ちます。また配列の要素は，構造体で管理できます。

Versionableオブジェクト

バージョン管理の対象になるオブジェクトです。

VersionDescriptionオブジェクト

文書のバージョン（更新履歴）を管理するために使用するDMAオブジェクトです。VersionSeriesオブジェクトとVersionableオブジェクトを接続するために使用します。

VersionSeriesオブジェクト

文書のバージョン（更新履歴）を管理するために使用するDMAオブジェクトです。連続的な履歴を持つバージョンの構成を保持するオブジェクトです。

VersionTracedComponentDocVersionオブジェクト

直接型，参照型および構成管理型のコンテインメントでコンテナに包含される対象となるためのプロパティを持つDMAオブジェクトです。dmaClass_DocVersionクラスのサブクラスのedmClass_VersionTracedComponentDocVersionクラスを基に作成します。

VersionTracedDocVersionオブジェクト

直接型，参照型および構成管理型のコンテインメントで，コンテナに包含される対象となるためのプロパティを持つDMAオブジェクトです。dmaClass_DocVersionクラスのサブクラスのedmClass_VersionTracedDocVersionクラスを基に作成します。

VTContainee

構成管理型のコンテインメントの場合，オブジェクト（VTContainer）に包含されるオブジェクトを指します。

VTContainer

構成管理型のコンテインメントの場合，オブジェクト（VTContainee）を包含するオブジェクトを指します。

W3C（World Wide Web Consortium）

HTMLやXMLなど，WWWに関する技術の標準化を推進する非営利団体です。

XMLインデクスデータ作成機能

XML文書の文書ファイルからプレーンテキスト形式または構造指定検索用の全文検索インデクスデータを作成する機能です。XML形式のファイルの構文解析もあわせて実行します。

XMLプロパティマッピング機能

XML形式のファイルを構文解析して，DocumentBrokerサーバのプロパティマッピング定義に従ってXML形式のファイル内に記述されているタグ間の文字列または属性値を，XML文書のプロパティに割り当てて設定する機能です。

（ア行）

アクセス権

オブジェクトを作成したり，すでに作成されているオブジェクトにアクセスしたりする権利です。

アクセス制御エレメント（ACE：Access Control Element）

アクセス制御リスト（ACL）の要素です。一つのサブジェクトと一つのパーミッションの組で構成され，指定されたサブジェクトに対して指定されたパーミッションの範囲のアクセス権を与えることを示す情報です。

アクセス制御機能

DocumentBrokerの文書空間でのオブジェクトの作成や，管理されている文書やコンテナなどのオブジェクトに対する操作を，ユーザやグループごとに許可または制限する機能です。

アクセス制御機能付き検索

アクセス制御機能を利用した文書空間で検索を実行した場合に，ユーザにアクセス権がないオブジェクトは検索結果として取得しない検索です。

アクセス制御情報

アクセス制御されている文書空間で，ユーザがメソッドを発行する際に，アクセス権の判定に使用される情報です。

アクセス制御情報変更権

オブジェクトに設定されているアクセス制御情報（ACFlagおよびACL）を変更する権利です。また，パブリックACLをアクセス制御対象オブジェクトにバインドすることを許可する権利も含みます。なお，パブリックACLのアクセス情報変更権には，パブリックACLのユーザ定義プロパティを変更する権利を含みます。

アクセス制御フラグ（ACFlag：Access Control Flag）

オブジェクトの所有者，プライマリグループおよび全ユーザという区分でパーミッションを設定できるアクセス制御情報の一つです。

アクセス制御モデル

アクセス制御機能を利用して運用されている文書管理モデルです。

アクセス制御リスト（ACL：Access Control List）

任意のユーザまたはグループにパーミッションを設定できるアクセス制御情報の一つです。アクセス制御エレメント（ACE）のリストで構成されます。

アドレス呼び出し

文書空間内に構成されている独立した永続オブジェクトに付けられたID（OIID）を利用して，そのオブジェクトを探索することです。

アンバインド

パブリックACLとのバインドを解除することです。

異表記展開検索

全文検索条件として指定する検索タームまたは検索タームの異表記を含む文書を検索する方法です。例えば，検索タームとして「バイオリン」を指定した場合に，「ヴァイオリン」という検索タームの異表記を含む文書も検索できます。

インデクス情報ファイル

ユーザが追加するプロパティにインデクスを定義する場合に，定義するインデクスの情報を記述するファイルです。

永続オブジェクト

データベースに格納されたオブジェクトを指します。

永続プロパティ

データベースに存在するプロパティを指します。

オブジェクト作成権

オブジェクト作成権限で，文書空間にオブジェクトを作成する権利を与えるパーミッションです。ユーザ権限定義ファイルに指定します。

オブジェクト作成権限

文書空間にオブジェクトを作成する権限で，ユーザ権限の一つです。ユーザ権限定義ファイルで定義します。オブジェクト作成権限を与えられたユーザおよびグループに属するユーザは，オブジェクトを作成するメソッドを実行できます。

オブジェクト操作権限

文書空間内のすべてのオブジェクトを，与えられた権限の範囲で操作する権利で，ユーザ権限の一つです。ユーザ権限定義ファイルで定義します。例えば，オブジェクト操作権限としてプロパティ参照権を与えられたユーザおよびグループに属するユーザは，文書空間内のすべてのオブジェクトのプロパティを参照できます。

オブジェクトリファレンス

DMAオブジェクトへのリファレンスを示すObject型プロパティの値です。例えば，dmaProp_ParentContainerプロパティの値がこれに当たります。

（カ行）

概念検索

ユーザが任意に指定した文章や文字列を手がかりにして，その条件と似た概念を持つ文書を検索する方法です。全文検索の一種です。概念検索で指定する条件のことを種文章といいます。

仮のバージョン識別子

チェックアウト中の仮のバージョンを識別するための識別子です。

チェックアウト中のオブジェクトを参照・更新する時に使用します。この識別子はチェックアウト時にDocumentBrokerによって設定される識別子であり，仮のバージョンに該当するオブジェクトのOIIDとは異なります。

関連オブジェクト

コンテインメントの型（直接型，間接型および構成管理型）を定義するためのDMAオブジェクトです。

直接型のコンテインメントの場合，オブジェクトを包含するオブジェクト（Parent）とオブジェクトに包含されるオブジェクト（Child）をDirectContainmentRelationshipオブジェクトを使用して関連づけます。参照型のコンテインメントの場合，オブジェクトを包含するオブジェクト（Container）とオブジェクトに包含されるオブジェクト（Containee）をReferentialContainmentRelationshipオブジェクトを使用して関連づけます。

構成管理型のコンテインメントの場合，オブジェクトを包含するオブジェクト（VTContainer）とオブジェクトに包含されるオブジェクト（VTContainee）をVersionTraceableContainmentRelationshipオブジェクトを使用して関連づけます。

基本コンテント更新権

基本パーミッションの一つで，オブジェクトのコンテントを更新する権利を与えるパーミッションです。基本プロパティ参照権を含みます。文書に対して設定する場合は，全文検索インデクスを作成，削除する権利を含みます。

基本コンテント参照権

基本パーミッションの一つで，オブジェクトのコンテントを参照する権利を与えるパーミッションです。基本プロパティ参照権を含みます。文書に対して設定する場合は，全文検索を実行する権利を含みます。

基本削除権

基本パーミッションの一つで，オブジェクトを削除する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本単位

DMAで規定されているプロパティは，データ型に従った値を1個持つか複数個持つかが決められています。これを基本単位といいます。

基本バージョン管理権

基本パーミッションの一つで，バージョン管理されているオブジェクトのバージョンを追加，削除する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本パーミッション

ユーザおよびグループがオブジェクトに対して実行できる操作の範囲を定めるパーミッションの基本単位です。オブジェクト操作権限，アクセス制御フラグおよびアクセス制御エレメントで，ユーザおよびグループに許可する操作の範囲を定める場合に使用します。例えば，あるユーザに対して，文書の更新と削除を許可する場合は，更新と削除を許可するために，基本コンテント更新権と基本削除権という二つのパーミッションを設定します（一つのパーミッションで一つの権利を与える）。基本パーミッションには，基本プロパティ参照権，基本プロパティ更新権，基本コンテント参照権，基本コンテント更新権，基本リンク権，基本バージョン管理権および基本削除権があります。

基本プロパティ更新権

基本パーミッションの一つで，オブジェクトのプロパティを更新する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本プロパティ参照権

基本パーミッションの一つで，オブジェクトのプロパティを参照する権利を与えるパーミッションです。そのほかのすべての基本パーミッションに含まれます。コンテナに対して設定する場合は，関連オブジェクトのユーザ定義プロパティの参照と管理されている要素を参照する権利を含みます。

基本リンク権

基本パーミッションの一つで，コンテインメントの設定，変更および関連オブジェクトのユーザ定義プロパティを変更する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

近傍条件検索

検索オペレータに「Prox」を使用する拡張検索（全文検索）です。指定する検索タームが同時に存在する場合に，その検索ターム間の距離を条件として検索します。例えば，「『文書管理』という検索タームと『ドキュメント』という検索タームを含み，これらの検索タームがこのとおりの順序で出現し，かつ検索ターム間に入る文字が5文字以内である文書を検索する」というような場合に使用できます。

組み合わせパーミッション

基本パーミッションを複数組み合わせた権利を与えるパーミッションの単位です。アクセス制御フラグおよびアクセス制御エレメントでユーザおよびグループに許可する操作の範囲を定めるときに使用します。組み合わせパーミッションには，プロパティ参照権，参照権，プロパティ更新権，参照更新権，削除権，リンク権，バージョン管理権およびフルコントロールがあります。例えば，あるユーザに対して，ある文書の参照更新権という組み合わせパーミッションを設定すると，そのユーザは基本プロパティ参照権，基本プロパティ更新権，基本コンテント参照権および基本コンテント更新権が設定されたのと同じ範囲の操作を，その文書に対して実行できます。

クライアントアプリケーション動作定義機能

あらかじめ定義しておいた動作環境でクライアントアプリケーションを動作させる機能です。

クライアントアプリケーション動作定義ファイル

クライアントアプリケーションの動作環境を定義したファイルです。

クラス定義情報ファイル

DocumentBrokerサーバで定義されているDMAオブジェクトのクラスまたはそのサブクラスの，クラス名またはプロパティ名からGUID，データ型，プロパティの基本単位などの情報を取得するために使用するファイルです。EDMCrtSimMetaコマンドでも作成できます。Java クラスライブラリやDocumentBroker オブジェクト操作ツールを使用する場合に必要です。

継承（Inheritance）

既存のクラスを利用して新しいクラスを定義するオブジェクト指向の技術です。

構成管理型のコンテインメント（VersionTraceableContainment）

構成管理コンテナを利用した文書管理の方法です。構成管理型のコンテインメントで使われる構成管理コンテナは，バージョンを作成できるオブジェクトの構成を管理します。

構成管理コンテナ

構成管理型のコンテインメントで使われるコンテナです。

包含されるオブジェクトのバージョンを固定して管理したり，常に最新のバージョンを追跡して管理したりすることで，包含されるオブジェクト全体の構成を管理するために使用するコンテナです。DMAオブジェクトでは，ContainerVersionオブジェクトに相当します。

構造指定検索

XML文書を管理している場合に，文書の論理構造（エレメント）やエレメントの属性をキーとして検索する方法です。例えば，「タイトルに『コンピュータ』という単語が含まれ，章に『XML』という単語が含まれる文書を検索する」というような場合に使用します。また，「『document』というエレメントに設定されている属性『status』の属性値が『public』である文書を検索する」というような場合にも使用できます。

コンテインメント（包含）

コンテナを使用したオブジェクトの包含関係を示します。コンテインメントには直接型（DirectContainment），参照型（ReferentialContainment）および構成管理型（VersionTraceableContainment）の3種類があります。

コンテナ

コンテインメントで，オブジェクトを包含できるオブジェクトの総称です。また，DMAオブジェクトとしては，Containerオブジェクト，VersionTraceableContainerオブジェクトおよびContainerVersionオブジェクトがあります。

コンテント

一般的には，属性に対する文書のデータ部分を指します。DMAでは，ある文書に関連づけられていて，DMAで規定されているContentモデルに従ってアクセスされるオブジェクトの集合を指します。また，アクセスされるオブジェクトの実体（例えば，report.doc，document.htmなど）をコンテントデータといいます。

コンテント格納先パス

リファレンスファイル管理機能を使用する場合に，コンテントの格納先として，コンテント格納先ベースパスからの相対パスで指定するディレクトリパスです。コンテント格納先パスで指定したディレクトリの下に，DocumentBrokerがコンテントを管理するためのディレクトリが作成され，その下にコンテントが格納されます。コンテント格納先パスに指定するディレクトリは，DocumentBrokerによって作成されます。

コンテント格納先ベースパス

リファレンスファイル管理機能を使用する場合に，コンテントの格納先の基点となるディレクトリを指定するディレクトリパスです。コンテント格納先ベースパスに指定するディレクトリは，ファイルシステム上の任意の領域にユーザが作成し，ユーザが管理します。コンテント格納先ベースパスに指定したディレクトリの下に，コンテント格納先パスで指定したディレクトリ，およびDocumentBrokerがコンテントを管理するためのディレクトリが作成され，その下にコンテントが格納されます。

コンテント種別

レンディションのコンテントが，シングルファイル文書のコンテントか，マルチファイル文書のコンテントか，リファレンスファイル文書のコンテントか，またはFile Link文書のコンテントかを示します。

コンテントロケーション

リファレンスファイル管理機能を使用する場合に，データベースで管理される，コンテントの格納先の情報です。コンテント格納先ベースパスからの相対パスがコンテントロケーションとしてデータベースに登録されます。

（サ行）

サーババインド

DocumentBrokerからLDAP対応のディレクトリサービスに対して，DNとパスワードを使用して認証を行い，バインドすることです。

削除権

組み合わせパーミッションの一つです。基本削除権と同じ操作を許可するパーミッションです。

サブクラス

あるクラスから派生するクラスのことです。または，それ自身がサブクラスとして参照されているクラスのことです。

サブジェクト（Subject）

アクセス権を与えるユーザまたはグループです。

サブジェクト種別（SubjectType）

アクセス権を与えるサブジェクトが，ユーザなのか，グループなのかまたはシステムなのかを識別するための情報です。

サブレンディション

マルチレンディション文書に，追加登録されたレンディションのことです。マスタレンディション以外のレンディションを指します。なお，サブレンディションは，登録後にマスタレンディションに変更できます。

参照型のコンテインメント（ReferentialContainment）

コンテナを利用した文書管理の方法です。参照型のコンテインメントで使われるコンテナは，文書にはり付けるインデクスの働きをします。

参照権

組み合わせパーミッションの一つです。基本コンテント参照権と同じ操作を許可するパーミッションです。

参照更新権

組み合わせパーミッションの一つです。基本プロパティ参照権，基本プロパティ更新権，基本コンテント参照権および基本コンテント更新権を組み合わせたパーミッションです。すなわち，参照更新権を設定することで，プロパティを参照，更新する権利とコンテントを参照，更新する権利を設定できます。

システム管理者

DocumentBrokerを運用，管理および保守するユーザです。

実行環境制御ファイル

DocumentBroker オブジェクト操作ツールの実行環境を定義するファイルです。

状態フラグ

マルチレンディション文書の，マスタレンディションに対するサブレンディションのコンテントの状態を表すフラグです。マスタレンディションとサブレンディションのコンテントの状態が一致している，マスタレンディションのコンテントが更新されたのに対してサブレンディションのコンテントが更新されていない，またはサブレンディションのコンテントが存在しない，という3種類の状態が表されます。dbrProp_RenditionStatusプロパティの下位2バイトに設定されます。

所有者（Owner）

オブジェクトの所有者として設定されているユーザです。アクセス制御フラグでパーミッションを与えられます。所有者に設定されているユーザは，そのオブジェクトのアクセス制御フラグで所有者に与えられたパーミッションの範囲の操作をそのオブジェクトに対して実行できます。また，そのオブジェクトの所有者およびセキュリティACLの値を変更できます。

シングルファイル文書

データベースに登録されている一つのファイルをコンテントとして持つ文書のことです。

スーパークラス

あるクラスのクラス定義に使われたクラスを，派生したクラスのスーパークラスといいます。

セキュリティACL

オブジェクトに設定されたアクセス制御情報へのアクセスを制御するためのアクセス制御リストです。任意のユーザまたはグループにアクセス制御情報変更権を設定できます。

セキュリティ運用者

DocumentBrokerのアクセス制御の運用情報の管理者です。セキュリティ定義ファイルを保守します。

セキュリティ管理者

アクセス制御機能を利用した文書空間で，アクセス判定を受けることなく，すべてのオブジェクトに自由にアクセスする特権を持ち，文書空間のすべてのオブジェクトを保守するユーザです。セキュリティ定義ファイルに定義します。

セキュリティ定義ファイル

アクセス制御の運用情報を定義するファイルです。セキュリティ管理者，ユーザ権限定義ファイル名およびオブジェクト作成時に，アクセス制御フラグにデフォルトで設定されるパーミッションを定義します。

セッション

文書空間に接続している間のことです。文書空間に接続することを，セッションの確立といいます。文書空間との接続を解除することを，セッションの切断といいます。

全文検索

文書中に含まれるキーワードを条件（全文検索条件）として，キーワードを含む文書を検索する方法です。

全文検索インデクス

全文検索の対象になるテキストデータに対応するプロパティです。edmProp_TextIndexプロパティ，edmProp_StIndexプロパティ，edmProp_ConceptTextIndexプロパティ，edmProp_ConceptStIndexプロパティおよびedmProp_Contentプロパティに相当します。

全文検索機能付き文書クラス

全文検索の対象となる文書を作成するためのクラスです。dmaClass_DocVersionクラスのサブクラスに全文検索に必要なプロパティを追加した，ユーザ定義のクラスです。

（タ行）

チェックアウト（check-out）

文書またはコンテナにバージョンを追加するために，次バージョンの追加を予約して，最新バージョンのコピーを要求することです。

チェックイン（check-in）

文書またはコンテナのバージョンの追加を確定することです。

直接型のコンテインメント（DirectContainment）

コンテナを利用した文書管理の方法です。直接型のコンテインメントで使われるコンテナは，文書を格納するフォルダの働きをします。

定義情報ファイル

サブクラスおよびプロパティを追加するときに，追加するオブジェクトの定義情報を記述するファイルです。

ディレクトリサービス

ネットワーク上にあるユーザや組織の情報などの資源とその属性を記憶し，検索できるようにしたシステムです。

DocumentBrokerでは，SecureWay DirectoryやSun Java System Directory Serverなどの製品を使用したLDAP対応のディレクトリサービスと連携できます。

LDAP対応のディレクトリサービスとして使用できる製品の詳細については，「1.3.2(5)　アクセス制御機能を使用する場合に必要なプログラム」を参照してください。

同義語展開検索

全文検索条件として指定する検索タームまたは検索タームの同義語を含む文書を検索する方法です。例えば，検索タームとして「パソコン」を指定した場合に，「電子計算機」，「パーソナルコンピュータ」，「PC」など，検索タームと同じ意味を持つ単語を含む文書も検索できます。

動作環境メタ情報ファイル

DocumentBrokerを起動するときに参照するメタ情報です。実行環境ディレクトリ/etc/meta_filesに格納されます。

匿名バインド

DocumentBrokerからLDAP対応のディレクトリサービスに対して，匿名ユーザで認証を行い，バインドすることです。

独立データ

ほかのオブジェクトに依存しない，独立したデータを表すオブジェクトです。プロパティだけを持つことができる文書空間オブジェクトです。edmClass_IndependentPersistenceクラスまたはそのサブクラスを基に作成したDMAオブジェクトをトップオブジェクトとする文書空間オブジェクトです。

特権

アクセス制御機能を利用した文書空間で，アクセス判定を受けることなく，すべてのオブジェクトに自由にアクセスする権利です。セキュリティ定義ファイルにセキュリティ管理者として定義されたユーザに与えられます。特権の有無は，ログイン時にセキュリティ定義ファイルが参照され，ログインユーザごとに作成されるユーザ情報に保持されます。

トップオブジェクト

クラスライブラリのオブジェクトを構成する複数のDMAオブジェクトのうち，最上位に位置するオブジェクトです。例えば，バージョンなし文書の場合は，DMAオブジェクトのDocVersionオブジェクトがトップオブジェクトです。

（ハ行）

バージョン管理権

組み合わせパーミッションの一つです。基本プロパティ参照権，基本プロパティ更新権，基本コンテント参照権，基本コンテント更新権および基本バージョン管理権を組み合わせたパーミッションです。

バージョン付き構成管理コンテナ

バージョンを保持できる構成管理コンテナです。DMAオブジェクトでは，ConfigurationHistoryオブジェクトに相当します。

バージョン付き文書

複数のバージョンを保持できる文書を表すオブジェクトです。DMAオブジェクトでは，ConfigurationHistoryオブジェクトに相当します。

バージョンなし構成管理コンテナ

バージョンを保持しない構成管理コンテナです。DMAオブジェクトでは，ContainerVersionオブジェクトに相当します。

バージョンなし文書

バージョン管理しない文書を表すオブジェクトです。DMAオブジェクトでは，DocVersionオブジェクトに相当します。

パーミッション

オブジェクトの作成，オブジェクトのプロパティ参照，オブジェクトのコンテント更新などの実行可能な操作の範囲を表す値です。オブジェクト作成権限を与えるパーミッション，オブジェクトの操作の範囲を定めるパーミッションがあります。オブジェクトの操作の範囲を定めるパーミッションには，基本パーミッションと組み合わせパーミッションがあります。

バインド

文書やフォルダからパブリックACLを参照することです。

また，LDAP対応のディレクトリサービスに対して，DNとパスワードを使用して認証を行うことも，バインドといいます。

パブリックACL

文書空間にオブジェクトとして存在するアクセス制御リスト（ACL）です。複数のオブジェクトが共有できます。

非ナル値制約

非ナル値制約とは，列の値にナル値を許さない制約のことです。

ファイルサーバ

HiRDB File Linkで構築したファイルサーバを指します。

フィルタリング定義ファイル（TFD）

Preprocessing Library for Text Searchの正規化機能によって構造指定検索用データ（ESIS-Bデータ）から不要なタグを除去したり，不要なタグ間のテキストをタグごと除去したりする場合に必要な定義ファイルです。

複合データ

複数の異なる型によって表されるデータです。主に，VariableArray型のプロパティとして設定されているObject型の要素の値を参照，設定するときに使用します。

プライマリグループ

アクセス制御フラグ（ACFlag）でパーミッションを与えるグループです。

フルコントロール

組み合わせパーミッションの一つです。すべての基本パーミッションを組み合わせたパーミッションです。オブジェクトに対するすべての操作を許可します。

プロパティ更新権

組み合わせパーミッションの一つです。基本プロパティ更新権と同じ操作を許可するパーミッションです。

プロパティ参照権

組み合わせパーミッションの一つです。基本プロパティ参照権と同じ操作を許可するパーミッションです。

プロパティマッピング定義ファイル（DPM）

XML文書中のタグ名とその内容をマッピングするクラス名，およびプロパティ名の対応関係の定義（プロパティマッピング定義）を記述したファイルです。この定義ファイルを基に，XML定義ファイルの追加／更新／削除コマンド（EDMXmlMap）によってマッピング定義ファイルを生成します。

プロパティマッピング定義は，登録時にマッピング定義名を付けて登録します。プロパティマッピングの実行時には，このマッピング定義名を指定して使用するプロパティマッピング定義を選択します。

文書

DMAオブジェクトでは，dmaClass_DocVersionクラスおよびそのサブクラスを基に作成するオブジェクトのことです。コンテントを保持できます。

文書間リレーション（Relationship）

文書と文書の関連づけです。

文書空間

DMAオブジェクトモデルを実装するリポジトリです。

変換フラグ

マルチレンディション文書の，サブレンディションのコンテントを，レンディション変換の対象にするかどうかを表すフラグです。DocumentBroker Rendering Optionを使用してレンディション変換を実行する場合に使用します。また，DocumentBroker Rendering Optionによるレンディション変換でエラーが発生した場合には，エラーを示すフラグとしても使われます。dbrProp_RenditionStatusプロパティの上位2バイトに設定されます。

（マ行）

マスタレンディション

マルチレンディション文書に登録されたレンディションのうち，主要なレンディションのことです。マルチレンディション文書を参照・更新する場合には，レンディション形式を指定しますが，レンディション形式を指定しないときは，マスタレンディションが対象になります。なお，マスタレンディションとして扱うレンディションは，登録後に変更できます。

マッピングセット定義ファイル（XMS）

HiRDB Adapter for XMLが使用する，登録されたマッピング定義の一覧を管理するファイルです。

マッピング定義ファイル（XMP）

HiRDB Adapter for XMLが使用できる文法に変換したマッピング定義が記述されているファイルです。ユーザ作成のプロパティマッピング定義ファイル（DPM）とマッピング元XMLタグ定義ファイル（DCD）から生成します。

マッピング元XMLタグ定義ファイル（DCD）

登録するXML文書の構造をDCDの形式で記述したファイルです。

マルチファイル管理機能

一つの文書に，複数のファイルを登録して管理する機能です。

マルチファイル文書

データベースに登録されている複数のファイルをコンテントとして持つ文書のことです。バージョンなし文書またはバージョン付き文書は，マルチファイル文書として扱えます。

マルチレンディション機能

一つの文書に，同一内容の複数の異なる形式のコンテントを登録する機能です。

マルチレンディション文書

複数のレンディションを登録している文書のことです。一つの同じ内容を表す複数の形式のコンテントを保持する文書です。バージョンなし文書またはバージョン付き文書は，マルチレンディション文書として扱えます。

メタ情報ファイル

DocumentBrokerが利用するDMAのクラス，プロパティ，検索オペレータなどの詳細情報を定義したファイルです。クラスおよびプロパティを追加，変更する場合に使用できます。

メタデータ（metadata）

クラス，プロパティおよびオペレータに関する詳細情報を定義するデータです。

メタデータ空間

単一の継承関係を形成するクラスの集合のことです。

（ヤ行）

ユーザ権限

文書空間にオブジェクトを作成する権利（オブジェクト作成権限）と，文書空間内のすべてのオブジェクトに対する操作の範囲（オブジェクト操作権限）をユーザまたはグループ単位で定めるアクセス制御情報の一つです。ユーザ権限定義ファイルに定義します。ユーザ権限の内容は，ログイン時にユーザ権限定義ファイルが参照され，ログインユーザごとに作成されるユーザ情報に保持されます。

ユーザ権限定義ファイル

ユーザ権限（オブジェクト作成権限およびオブジェクト操作権限）を定義するためのファイルです。

ユーザ情報

ログインユーザのユーザ識別子，所属グループ，特権およびユーザ権限を表す情報です。ログイン時にユーザごとに生成され，アクセス権の判定に使用されます。

（ラ行）

ランキング検索

全文検索条件に対する適応度をスコアとして算出して，スコアを基に検索結果集合の要素（文書）をソートして出力する検索です。

リファレンスファイル管理機能

DocumentBrokerサーバが存在するマシンから接続可能なファイルシステムの任意のディレクトリで文書のコンテントを管理し，文書のプロパティおよびコンテントの格納先の情報をデータベースで管理する機能です。

リファレンスファイル文書

DocumentBrokerサーバが存在するマシンから接続可能なファイルシステムの任意のディレクトリに格納されているファイルをコンテントとして持つ文書のことです。データベースでは，文書のプロパティとコンテントの格納先の情報を管理しています。バージョンなし文書またはバージョン付き文書をリファレンスファイル文書として扱えます。

リレーション

DMAオブジェクトのRelationshipオブジェクトに相当します。文書と文書の間の参照関係を表すオブジェクトです。

リレーション先文書

文書間リレーションを設定される，参照先になる文書です。

リレーション識別子

文書間に設定されたリレーションを識別するための識別子です。

リレーションを削除したり，リレーションのプロパティを更新したりする時に使用します。この識別子は，リレーションを設定した時にDocumentBrokerによって設定される識別子です。同じ文書から同じ文書に対して二つのリレーションを設定した場合は，それぞれ異なるリレーション識別子が設定されます。

リレーション元文書

文書間リレーションを設定する元になる文書です。

リンク

DMAオブジェクトのDirectContainmentRelationshipオブジェクト，ReferentialContainmentRelationshipオブジェクトまたはVersionTraceableContainmentRelationshipオブジェクトによって表される，文書とコンテナの関連づけです。

リンク権

組み合わせパーミッションの一つです。基本リンク権と同じ操作を許可するパーミッションです。

リンク識別子

コンテナオブジェクトへのリンク（関連づけ）を識別するための識別子です。

リンクを解除したり，リンクのプロパティを参照または更新したり，構成管理モードを変更したりする時に使用します。

この識別子は関連づけをした時にDocumentBrokerによって設定される識別子です。同じコンテナオブジェクトに，同じ要素を2度関連づけした場合は，それぞれ異なるリンク識別子が設定されます。

レンディション

文書のコンテントの形式およびそのコンテントをあわせてレンディションと呼びます。DMAオブジェクトのRenditionオブジェクトおよびContentTransferオブジェクトに相当します。

レンディションタイプ

Wordなどのアプリケーションで編集したファイル，HTML形式のファイル，GIFなどの画像データのファイルのように，登録した文書のコンテントのファイルの形式を表す文字列です。レンディションごとに設定できます。DocumentBrokerでは，レンディションタイプとして，MIME名を指定することを推奨しています。

レンディションのコンテント種別変換機能

レンディションのコンテントの格納先を，最適な格納先へ変換することができる機能です。

レンディション変換

マルチレンディション文書の，マスタレンディションのコンテントの文書形式を変換して，サブレンディションのコンテントを作成，登録することです。

ローカルACL

オブジェクトごとに設定できるアクセス制御リスト（ACL）です。VariableArray型のプロパティとして設定されます。

ロケール（Locale）

言語や使用する文字コードの種別，特定の国や地域で特別な意味を持つ属性などの定義のことです。ロケールは地域化した形でアプリケーションの拡張性を提供するために使われます。

索引

[記号]
[Ａ][Ｂ][Ｃ][Ｄ][Ｅ][Ｆ][Ｇ][Ｈ][Ｉ][Ｊ][Ｌ][Ｍ][Ｎ][Ｏ][Ｐ][Ｑ][Ｒ][Ｓ][Ｔ][Ｕ][Ｖ][Ｗ][Ｘ]
[ア行][カ行][サ行][タ行][ハ行][マ行][ヤ行][ラ行]

(記号)

_HIEDMS_LCKINF_ARCHIVE

_HIEDMS_LCKINF_DIR

_HIEDMS_LCKWATCH_TIME

(英字)

(Ａ)

AccessControlエントリ

ACE

ACFlag

ACL

ACL

AclibClassNameエントリ

AcLogFileCountエントリ

AcLogFileSizeエントリ

AcLogLevelエントリ

AcLogUseエントリ

AND-NOT検索

AND検索

AND検索

API

application.ini

AvBindPublicACLCountエントリ

AvCntrCountPerCntrエントリ

AvCntrTreeHeightエントリ

AvComponentCountエントリ

AvContentSizeエントリ

AvElementCountエントリ

AvLengthエントリ

AvLocalACECountエントリ

AvMultiFileCountエントリ

AvRefCountPerCntrエントリ

AvRefDocCountエントリ

AvRenditionCountエントリ

AvSecurityACECountエントリ

AvVersionCountエントリ

(Ｂ)

BatchSizeHintエントリ

BlobGettingMethodエントリ

BlobSubstrModeエントリ

BlobSubstrThresholdエントリ

(Ｃ)

C++ クラスライブラリ

CD-ROMからのインストール

ClassTypeエントリ

ComponentClassNameエントリ

ConfigurationHistoryオブジェクト

Containableオブジェクト

Containee

Container

ContainerVersionオブジェクト

Containerオブジェクト

ContentElement

ContentFileLinkオブジェクト

ContentReferenceオブジェクト

ContentTransfersオブジェクト

ContentTransferオブジェクト

ContentTypeエントリ

CORBA

Cosminexus

Cosminexus

Countエントリ

(Ｄ)

DABrokerおよびDABroker for C++

DataTypeエントリ

DATからのインストール

DBConnectionCloseエントリ

DBConnectionPoolCountエントリ

DBConnectionPoolDynamicエントリ

DBConnectionPoolOverエントリ

DBConnectionPoolTimingエントリ

DBConnectionPoolWaitTimeOutエントリ

DBConnectionScopeエントリ

DbLockWatcherエントリ

dbrAuthenticateUser

dbrFinalizeLibrary

dbrFinalizeSession

dbrGetUserInformation

dbrinitLibrary

dbrinitSession

dbrSetDocSpaceCharacterSet

DbTypeエントリ

DBコネクションプール

DBコネクションプール機能

DCD

DefaultACFlagEveryoneエントリ

DefaultACFlagGroupエントリ

DefaultACFlagOwnerエントリ

DefaultValueエントリ

DIT

DMA

DmaClassNameエントリ

dmaProp_Cardinalityプロパティ

dmaProp_Cardinalityプロパティ

dmaProp_Cardinalityプロパティ

dmaProp_DataTypeプロパティ

dmaProp_DataTypeプロパティ

dmaProp_DescriptiveTextプロパティ

dmaProp_DescriptiveTextプロパティ

dmaProp_DescriptiveTextプロパティ

dmaProp_DescriptiveTextプロパティ

dmaProp_DescriptiveTextプロパティ

dmaProp_DisplayNameプロパティ

dmaProp_DisplayNameプロパティ

dmaProp_DisplayNameプロパティ

dmaProp_DisplayNameプロパティ

dmaProp_DisplayNameプロパティ

dmaProp_Headプロパティ

dmaProp_Headプロパティ

dmaProp_Idsプロパティ

dmaProp_Idsプロパティ

dmaProp_Idsプロパティ

dmaProp_Idsプロパティ

dmaProp_Idsプロパティ

dmaProp_IsHiddenプロパティ

dmaProp_IsHiddenプロパティ

dmaProp_IsHiddenプロパティ

dmaProp_IsOrderableプロパティ

dmaProp_IsOrderableプロパティ

dmaProp_IsSearchableプロパティ

dmaProp_IsSearchableプロパティ

dmaProp_IsSearchableプロパティ

dmaProp_IsSelectableプロパティ

dmaProp_IsSelectableプロパティ

dmaProp_IsSelectableプロパティ

dmaProp_IsValueRequiredプロパティ

dmaProp_IsValueRequiredプロパティ

dmaProp_MaximumElementsプロパティ

dmaProp_MaximumElementsプロパティ

dmaProp_MaximumLengthStringプロパティ

dmaProp_MaximumLengthStringプロパティ

dmaProp_OIIDプロパティ

dmaProp_ParentContainerプロパティ

dmaProp_PropertyDefaultBooleanプロパティ

dmaProp_PropertyDefaultInteger32プロパティ

dmaProp_PropertyDefaultStringプロパティ

dmaProp_QueryOperatorDescriptionsプロパティ

dmaProp_QueryOperatorDescriptionsプロパティ

dmaProp_RequiredClassプロパティ

dmaProp_Tailプロパティ

dmaProp_Tailプロパティ

dmaProp_Tailプロパティ

dmaProp_Thisプロパティ

dmaProp_VersionSeriesプロパティ

dmaProp_Versionプロパティ

DMA URL

DMAオブジェクト

DMAオブジェクト

DN

docaccess.ini

DOCBROKERDIR〔AIXの場合〕

DOCBROKERDIR[Linuxの場合]

docspace.ini

DocSpaceCharacterSetエントリ

DocSpaceOrbBoaOptionエントリ

DocSpaceVBPropertyエントリ

DocTblNameエントリ

DocumentBroker Collector

DocumentBroker Collector

DocumentBroker Development Kit

DocumentBroker Development Kit（クライアント開発環境）

DocumentBroker Development Kitで開発したクライアントを構成するプログラム（C++ クラスライブラリの場合）

DocumentBroker Development Kitで開発したクライアントを構成するプログラム（Java クラスライブラリの場合）

DocumentBroker Integrated Search Suite

DocumentBroker Integrated Search Suite for J

DocumentBroker Life Cycle Suite

DocumentBroker Life Cycle Suite Development Kit（クライアント開発環境）

DocumentBroker Life Cycle Suite Runtime（クライアント実行環境）

DocumentBroker Object Loader

DocumentBroker Rendering Option

DocumentBroker Runtime（クライアント実行環境）

DocumentBroker Server

DocumentBroker Standard GUI

DocumentBroker Standard GUI

DocumentBroker Standard GUI〔用語解説〕

DocumentBroker Standard GUIを使用する場合のクライアントを構成するプログラム

DocumentBroker Text Search Index Loader

DocumentBroker Web Client

DocumentBroker イメージ登録 for DocuCentre

DocumentBroker イメージ登録 for imagio and IPSiO

DocumentBroker イメージ登録 for iR

DocumentBroker イメージ登録 for Konica

DocumentBroker イメージ登録 文字認識オプション

DocumentBrokerが管理できるXML文書

DocumentBrokerサーバを構成するプログラム

DocumentBroker実行環境ディレクトリの作成

DocumentBroker実行環境の情報の登録

DocumentBroker テキスト分析コンポーネント

DocumentBrokerテキスト分析テンプレート

DocumentBrokerで提供するXML文書管理機能

DocumentBrokerの概要

DocumentBrokerの起動

DocumentBrokerの起動方法

DocumentBrokerの機能

DocumentBrokerのクラス定義の変更

DocumentBrokerのシステム構成

DocumentBrokerの実行環境作成コマンドの実行

DocumentBrokerの実行環境ディレクトリの構成（AIXの場合）

DocumentBrokerの実行環境ディレクトリの構成（Linuxの場合）

DocumentBrokerの実行環境の作成

DocumentBrokerの実行環境の作成と削除

DocumentBrokerの終了

DocumentBrokerの終了方法

DocumentBrokerの特長

DocumentBrokerの目的

DocumentBroker用データベース定義文の作成

DocumentSpace構成定義ファイル

DocumentSpace構成定義ファイル

DocumentSpace構成定義ファイル

DocVersionオブジェクト

(Ｅ)

EDMAddMeta

EDMCBuildDocSpace

EDMCDefDocSpace

EDMChangeACL

EDMChangeDBDefName

EDMChangeFileLink

EDMChangeMultiFile

EDMChangeRefFile

EDMChangeVarray

EDMChkMeta

EDMChkTbl

edmClass_Relationshipクラス

EDMCreateIds

EDMCrtSimMeta

EDMCrtSql

EDMDelMeta

EDMGetRas

EDMGetRasCL

EDMInitMeta

EDMLckWatcher

EDMPrintMeta

edmProp_ACLIdプロパティ

edmProp_BindObjectプロパティ

edmProp_ConceptStIndexプロパティ

edmProp_ConceptStIndexプロパティ

edmProp_ConceptTextIndexプロパティ

edmProp_ConceptTextIndexプロパティ

edmProp_ContentIndexStatusプロパティ

edmProp_ContentIndexStatusプロパティ

edmProp_Contentプロパティ

edmProp_DocLengthプロパティ

edmProp_DocLengthプロパティ

edmProp_HeadVTConfigurationHistoryプロパティ

edmProp_OwnerIdプロパティ

edmProp_Parentプロパティ

edmProp_PrimaryGroupIdプロパティ

edmProp_RawScoreプロパティ

edmProp_RawScoreプロパティ

edmProp_ReferenceTypeプロパティ

edmProp_RenditionStatusプロパティ

edmProp_ScoreConceptプロパティ

edmProp_Scoreプロパティ

edmProp_Scoreプロパティ

edmProp_StIndexプロパティ

edmProp_TailVTConfigurationHistoryプロパティ

edmProp_TextIndexプロパティ

edmProp_VTVersionSeriesプロパティ

EDMRefresher

EDMRegEnvId

EDMSetup

edmSQL

edmSQL検索

EDMStart

EDMStop

EDMUsrView

EDMXmlMap

EnbFncFlagOfObjectOperationエントリ

Enumeration型

ErrChkFlagOfObjectOperationエントリ

ErrLogFileCountエントリ

ErrLogFileSizeエントリ

EXTSHM〔AIXの場合〕

(Ｆ)

FAM

FileLinkエントリ

File Link文書

File Link文書

File Link連携機能

File Link連携機能

File Link連携機能を使用するためのデータベース移行

File Link連携機能を使用する場合に必要なプログラム

File Link連携機能を使用する場合に必要なプログラム

File Link連携機能を使用する場合の設定

File Link連携機能を使用する場合のファイルサーバ容量の見積もり

FtpBufferSizeエントリ

FtpOrbBoaOptionエントリ

FtpProcessOrbBoaOptionエントリ

FtpProcessVBPropertyエントリ

FtpSessionMaxエントリ

ftpsv.ini

FtpSvSetup

FtpVBPropertyエントリ

(Ｇ)

getrascustom.ini

getrascustom.ini

getrascustom.iniの格納ディレクトリ（クライアント側）

getrascustom.iniの格納ディレクトリ（サーバ側）

GroupIDMaxLengthエントリ

GUID

GUID

GUIDエントリ

(Ｈ)

HACMPによるクラスタリングシステムでの運用

HAX定義ファイル

HAX定義ファイル

HiRDB

HiRDB/Run Time

HiRDB Adapter for XML

HiRDB File Link

HiRDB File Link

HiRDB Object Option

HiRDB Text Search Plug-in

HiRDB Text Search Plug-in Conceptual Extension

HiRDB Text Search Plug-inでの環境設定

HiRDBサーバ

HiRDBの繰り返し列を使用するためのデータベース移行

HiRDBのユーザ権限の設定

(Ｉ)

IDファイル

IndependentPersistenceオブジェクト

IndexNameエントリ

iniファイルのシンタクスの基本項目

InstanceCountエントリ

IsExceptエントリ

IsUniqueエントリ

(Ｊ)

Java クラスライブラリ

(Ｌ)

LANG〔AIXの場合〕

LANG〔Linuxの場合〕

LD_LIBRARY_PATH〔Linuxの場合〕

LDAP

LdapBindPasswordエントリ

LdapBindUserDNエントリ

LdapClientLibエントリ

LdapGroupCaseエントリ

LdapGroupClassエントリ

LdapGroupFilterLeftエントリ

LdapGroupFilterRightエントリ

LdapGroupFromUserAttrエントリ

LdapGroupFromUserDnエントリ

LdapGroupIdAttrFromUserAttrエントリ

LdapGroupIdFromUserAttrエントリ

LdapGroupIdFromUserDnエントリ

LdapGroupIdエントリ

LdapGroupIsDnFromUserAttrエントリ

LdapGroupMemberエントリ

LdapGroupRootエントリ

LdapGroupScopeエントリ

LdapGroupTimeoutエントリ

LdapGroupエントリ

LdapHostエントリ

LdapPortエントリ

LdapPrefixDnエントリ

LdapUserCaseエントリ

LdapUserClassエントリ

LdapUserFilterLeftエントリ

LdapUserFilterRightエントリ

LdapUserIdエントリ

LdapUserRootエントリ

LdapUserScopeエントリ

LdapUserTimeoutエントリ

LDAP対応のディレクトリサービス

LDAP対応のディレクトリサービスによるユーザ管理機能を使用する場合

LDAP対応のディレクトリサービスのユーザ認証

LIBPATH〔AIXの場合〕

LifeCycleSuiteConnectionエントリ

List型

LogModeTypeエントリ

(Ｍ)

MaxComponentCountエントリ

MaxContentSizeエントリ

MaxElementCountエントリ

MaxLengthエントリ

MaxVersionCountエントリ

MetaIdxNameエントリ

MetaTblNameエントリ

MultiFileMaxCountエントリ

MultiRelationIndexエントリ

(Ｎ)

NgramIdxNameエントリ

NODISCLAIM〔AIXの場合〕

nofile（Linuxの場合）

nofiles（AIXの場合）

NOT検索

NOT条件

(Ｏ)

ObjTypeエントリ

OIID

OIIDPropertyDescriptionプロパティ

OrbBoaOptionエントリ

OrbBoaOptionエントリ

OrbOptionエントリ

OrbOptionエントリ

OrderTypeエントリ

OR検索

OR検索

OS

OS

OS

OS

(Ｐ)

Parent

PctOfRefDocエントリ

PDDIR

PdHostエントリ

PdNamePortエントリ

PdTSPluginOwnerエントリ

PdUserエントリ

Preprocessing Library for Text Search

ProcessOrbBoaOptionエントリ

ProcessVBPropertyエントリ

Processエントリ

PropertyNameエントリ

PSALLOC〔AIXの場合〕

PublicACLCountエントリ

(Ｑ)

QueryOperandクラス定義

QueryOperatorクラス定義

(Ｒ)

RDエリア

RDエリア構成定義ファイル

RDエリア定義情報ファイル

RDエリア定義情報ファイル

ReferenceFileエントリ

RefreshTimingエントリ

Renditionオブジェクト

Reservationオブジェクト

RootCntrCountエントリ

(Ｓ)

Scalar型

Scalar型

SecurityAdminエントリ

SelectServerInMultiServerエントリ

SerialIdエントリ

SessionMaxエントリ

SessionTimeOutエントリ

SgmlTextNameエントリ

SORT

SpPropDefaultValueエントリ

SRefreshGraceTimeエントリ

SRefreshLimitエントリ

StructClassNameエントリ

SuperClassTypeエントリ

SysIdxNameエントリ

SysTblNameエントリ

SystemManagerオブジェクト

Systemオブジェクト

(Ｔ)

TargetTypeエントリ

ThisPropertyDescriptionプロパティ

TPBroker

TPBroker

TPBroker

TPBroker

TPBrokerシステムの構築

TPBrokerでの環境設定

TZ〔AIXの場合〕

TZ〔Linuxの場合〕

(Ｕ)

UNIXのパスワードファイルによるユーザ管理機能を使用

UOC

UOC

UOCLibraryエントリ

UserAuthenticationエントリ

UserIDMaxLengthエントリ

userperm.ini

UserPermDefFileエントリ

UsrIdxNameエントリ

UsrTblNameエントリ

UTF-8の場合に使用できる機能

UTF-8の場合に使用できるコマンド

(Ｖ)

VariableArray型

VariableArray型

VariableArray型のプロパティが使用するメモリ所要量の見積もり

VariableArray型のプロパティの追加方法

VArrayElementCheckエントリ

VBPropertyエントリ

VBPropertyエントリ

VBPropertyエントリ

VBPropertyエントリ

Versionableオブジェクト

VersionDescriptionオブジェクト

VersionSeriesオブジェクト

VersionTracedComponentDocVersionオブジェクト

VersionTracedDocVersionオブジェクト

VTContainee

VTContainee

VTContainee

VTContainer

VTContainer

VTContainer

(Ｗ)

W3C

Web Page Generator Enterprise

WWWサーバ

WWWサーバ

(Ｘ)

XDK_HOME〔AIXの場合〕

XDK_HOME〔Linuxの場合〕

XDK_SHMEM_SIZE〔AIXの場合〕

XDK_SHMEM_SIZE〔Linuxの場合〕

XdkShmemManageエントリ

XdkShmemSizeエントリ

XMLインデクスデータ作成機能

XMLインデクスデータ作成機能

XML定義ファイル

XML定義ファイルのDocumentBrokerクライアント環境への転送

XML定義ファイルの関連

XML定義ファイルの追加／更新／削除

XML定義ファイルの登録

XML定義ファイルを作成する場合の注意事項

XMLファイル

XMLファイルの形式

XMLプロパティマッピング機能

XMLプロパティマッピング機能

XML文書

XML文書管理機能

XML文書管理機能の環境設定

XML文書管理機能を使用するための操作

XML文書管理機能を使用する場合に必要なプログラム

XML文書管理機能を使用する場合の設定

XML文書管理機能を利用したシステム構築の検討

XML文書の管理に必要なオブジェクト

(ア行)

(あ)

アクセス権

アクセス制御エレメント

アクセス制御エレメント

アクセス制御機能

アクセス制御機能

アクセス制御機能付き検索

アクセス制御機能の設定

アクセス制御機能を使用したシステム構築の検討

アクセス制御機能を使用するためのデータベース移行

アクセス制御機能を使用する場合に必要なプログラム

アクセス制御機能を使用する場合の設定

アクセス制御機能を使用する場合のデータベース容量の見積もり

アクセス制御情報

アクセス制御情報の概要

アクセス制御情報変更権

アクセス制御情報変更権

アクセス制御フラグ

アクセス制御フラグ

アクセス制御モデル

アクセス制御リスト

アクセス制御リスト

アクセス制御を使用するための管理者

アクセスログおよびトレースログの統計・解析機能

アクセスログに関する運用

アドレス呼び出し

アプリケーション・サーバ

アンインストール

アンバインド

アンバインド

(い)

移行プロパティ定義ファイル

移行プロパティ定義ファイルの記述形式

移行プロパティ定義ファイルの記述例

異表記展開検索

異表記展開検索〔文書に対する全文検索〕

異表記展開検索〔文字列型プロパティに対する全文検索〕

イメージ文書登録機能を使用する場合に必要なプログラム

イメージ文書の登録機能

インスタンス

インストール

インストールとアンインストール

インデクス情報ファイル

インデクス情報ファイル

インデクス情報ファイル

インデクス情報ファイルの記述例

インデクス情報ファイルのセクションとエントリ

インデクス名をデータベース定義の名称に使用する場合の規則

(え)

永続オブジェクト

永続プロパティ

エラーログに関する運用

エントリ

エントリの文法

(お)

オブジェクト一括登録機能

オブジェクト一括登録機能を使用する場合に必要なプログラム

オブジェクト作成権

オブジェクト作成権限

オブジェクト作成権限

オブジェクト作成権限

オブジェクト操作権限

オブジェクト操作権限

オブジェクト操作権限

オブジェクト定義

オブジェクトとデータベースの関連

オブジェクトリファレンス

オペレーティングシステムでの環境設定

(カ行)

(か)

概念検索

概念検索

概念検索

拡張子－MimeType対応表

仮想メモリ所要量の見積もり

仮のバージョン識別子

環境設定

環境設定の準備

環境設定の流れ

環境変数の設定（AIXの場合）

環境変数の設定（Linuxの場合）

監視スクリプト

関連オブジェクト

(き)

起動プロセス

基本コンテント更新権

基本コンテント参照権

基本削除権

基本単位

基本単位

基本単位

基本バージョン管理権

基本パーミッション

基本パーミッション

基本プロパティ更新権

基本プロパティ参照権

基本リンク権

近傍条件検索

近傍条件検索〔文書に対する全文検索〕

近傍条件検索〔文字列型プロパティに対する全文検索〕

(く)

組み合わせパーミッション

組み合わせパーミッション

クライアントアプリケーション

クライアントアプリケーション

クライアントアプリケーション動作定義機能

クライアントアプリケーション動作定義機能

クライアントアプリケーション動作定義ファイル

クライアントアプリケーション動作定義ファイル

クライアント側で発生した障害情報の取得

クライアント側の障害情報の取得

クライアントの障害情報取得カスタマイズファイル

クラスおよびプロパティの追加例

クラスタリングシステムでの運用

クラス定義

クラス定義情報ファイル

クラス定義情報ファイル

クラス定義情報ファイルの更新

クラス定義情報ファイルの作成

クラス定義情報ファイルの作成

クラスの定義を変更する場合

クラス名やプロパティ名などをデータベース定義の名称に使用するためのデータベース移行

グループ識別子

グループ識別子

グループ識別子

(け)

継承

検索機能

検索ターム〔文書に対する全文検索〕

検索ターム〔文字列型プロパティに対する全文検索〕

(こ)

公開識別子－MimeType対応表

構成管理型のコンテインメント

構成管理型のコンテインメント

構成管理型のコンテインメント

構成管理コンテナ

構成管理コンテナ

構成管理コンテナ

構成管理コンテナの管理に必要なオブジェクト

構造指定検索

構造指定検索

構造指定検索

コマンドで生成する定義ファイル

コマンドの形式

コマンドの文法

コメントの文法

コンテインメント

コンテインメント

コンテナ

コンテナ

コンテナ管理機能

コンテナの管理に必要なオブジェクト

コンテント

コンテント格納先パス

コンテント格納先パス

コンテント格納先ベースパス

コンテント格納先ベースパス

コンテント格納先ベースパス

コンテント種別

コンテントロケーション

コンテントロケーション

(サ行)

(さ)

サーバ側で発生した障害情報の取得

サーバ側の障害情報の取得

サーバ監視プロセス

サーババインド

サービスプロセス

サービスプロセス

サービスプロセス監視プロセス

サービスプロセス定義ファイル

サービスプロセスを使用する場合の設定

削除権

サブクラス

サブクラス

サブクラスの追加

サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則

サブクラス名に対応する表識別子

サブジェクト

サブジェクト

サブジェクト種別

サブジェクトタイプ

サブレンディション

サブレンディション

参照型のコンテインメント

参照型のコンテインメント

参照権

参照更新権

(し)

システム運用コマンド

システム管理者

システム管理者

システム管理者の登録

システムクラスおよびシステムプロパティの名称定義の規則

システムクラスの名称定義の規則

システム識別子－MimeType対応表

システム導入支援機能

システム導入支援機能での設定

システム導入支援コマンド

システムプロパティの名称定義の規則

実行環境識別子

実行環境制御ファイル

始動スクリプト

ジャーナルファイルの運用

出力されるデータベース定義文

障害情報取得カスタマイズファイル

障害対策

状態フラグ

所有者

シングルファイル文書

シングルファイル文書

(す)

スーパークラス

スマートエージェントの設定

(せ)

正規化パラメタファイル

セキュリティACL

セキュリティACL

セキュリティACL

セキュリティ運用者

セキュリティ運用者

セキュリティ管理者

セキュリティ管理者

セキュリティ定義ファイル

セキュリティ定義ファイル

セキュリティ定義ファイル

セキュリティ定義ファイル

セキュリティ定義ファイル

セクションの文法

セッション

全文検索

全文検索インデクス

全文検索インデクス一括登録機能

全文検索インデクス一括登録機能を使用する場合に必要なプログラム

全文検索インデクスにUCS-4 の文字を使用する場合のデータベースの設定

全文検索機能

全文検索機能付き文書クラス

全文検索機能付き文書クラス

全文検索機能付き文書クラスの追加

全文検索機能付き文書クラスを作成する場合に必要なオブジェクト

全文検索機能付き文字列型プロパティ

全文検索機能付き文字列型プロパティ

全文検索機能付き文字列型プロパティの追加方法

全文検索機能を使用する場合に必要なプログラム

(そ)

相対識別名

属性検索機能

(タ行)

(た)

種文章

(ち)

チェックアウト

チェックアウト

チェックイン

チェックイン

直接型のコンテインメント

直接型のコンテインメント

(つ)

追加するクラスおよびプロパティの検討

(て)

定義情報ファイル

定義情報ファイル

定義情報ファイル

定義ファイルのカスタマイズ

定義ファイルの作成・生成の概要

停止スクリプト

停止プロセス

ディレクトリエントリ

ディレクトリ構成（AIXの場合）

ディレクトリ構成（Linuxの場合）

ディレクトリサービス

ディレクトリサービスの情報管理の概念

データ型の対応

データベース移行

データベース運用コマンド

データベース運用上の注意事項

データベースシステムの設定に必要なファイル

データベース定義の名称定義の規則

データベース定義の名称定義の方法

データベースで発生したデッドロック情報およびタイムアウト情報の取得

データベースの運用

データベースのデッドロックおよびタイムアウトの監視

データベースの表・列の確認

データベースの文字コード種別の設定

データベース容量の見積もり

データベース容量の見積もり方法

適用業務の検討

電子署名機能およびタイムスタンプ機能を使用する場合に必要なプログラム

(と)

同義語展開検索

同義語展開検索〔文書に対する全文検索〕

同義語展開検索〔文字列型プロパティに対する全文検索〕

動作環境メタ情報ファイル

動作環境メタ情報ファイル

動作環境メタ情報ファイル

動作環境メタ情報ファイル

匿名バインド

独立データ

独立データ

独立データの管理機能

独立データの管理に必要なオブジェクト

特権

トップオブジェクト

トップオブジェクト

トラブルシュートコマンド

トレースファイル

(ハ行)

(は)

バージョン

バージョン管理権

バージョン付き構成管理コンテナ

バージョン付き構成管理コンテナ

バージョン付き文書

バージョン付き文書

バージョン付き文書の管理に必要なオブジェクト

バージョンなし構成管理コンテナ

バージョンなし構成管理コンテナ

バージョンなしコンテナ

バージョンなし文書

バージョンなし文書

バージョンなし文書の管理に必要なオブジェクト

パーミッション

パーミッション

バインド

バインド

バックアップと回復

バックアップと回復の方法

バックアップの取得

パブリックACL

パブリックACL

パラメタのカスタマイズ

(ひ)

非ナル値制約

(ふ)

ファイルサーバ

ファイルシステムのバックアップ

ファイルシステムのリストア

ファイル転送機能

ファイル転送サービス環境定義ファイル

ファイルの種類

フィルタリング定義ファイル

フィルタリング定義ファイル

フィルタリング定義ファイル（TFD）

複合データ

複合データ

複数の実行環境機能

プライマリグループ

フルコントロール

プレーンテキスト

プロセス構成

プロパティ更新権

プロパティ参照権

プロパティ定義

プロパティの基本単位

プロパティの追加

プロパティマッピング定義ファイル

プロパティマッピング定義ファイル

プロパティマッピング定義ファイル（DPM）

プロパティ名に対応する列名

分散した文書の収集・検索機能

分散した文書の収集・検索機能を使用する場合に必要なプログラム

分散した文書の収集・検索機能を使用する場合に必要なプログラム

文書

文書管理モデルへのアクセス制御の適用

文書間リレーション

文書間リレーション

文書間リレーション管理機能

文書間リレーションの管理に必要なオブジェクト

文書空間

文書空間識別子の定義

文書空間情報ファイル

文書空間で使用する文字コード種別がUTF-8の場合に使用できる機能およびコマンド

文書空間で使用する文字コード種別の検討

文書空間に接続しているユーザ一覧出力

文書空間の構成を変更する

文書空間の構築

文書空間の定義

文書空間の定義

文書空間の文字コード種別の設定

文書空間を定義する前の準備

文書クラス定義ファイル

文書の構成管理機能

文書の属性情報の管理機能

文書の登録機能とバージョン管理機能

文書の分析機能

文書のライフサイクル

文書のライフサイクル管理機能

文書のライフサイクル管理機能を使用する場合に必要なプログラム

文書のライフサイクル管理機能を使用する場合に必要なプログラム

(へ)

変換フラグ

(マ行)

(ま)

マスタレンディション

マスタレンディション

マッピングセット定義ファイル

マッピングセット定義ファイル（XMS）

マッピング定義ファイル

マッピング定義ファイル（XMP）

マッピング元XMLタグ定義ファイル

マッピング元XMLタグ定義ファイル

マッピング元XMLタグ定義ファイル（DCD）

マルチファイル管理機能

マルチファイル管理機能

マルチファイル管理機能を使用するためのデータベース移行

マルチファイル文書

マルチファイル文書

マルチレンディション管理機能

マルチレンディション管理機能を使用する場合の排他資源管理テーブルの見積り

マルチレンディション機能

マルチレンディション文書

マルチレンディション文書

マルチレンディション文書の管理に必要なオブジェクト

(み)

見積もり基礎情報ファイル

(め)

名称定義ファイル

名称定義ファイルの記述形式

名称定義ファイルの記述例

メタ情報

メタ情報管理用に確保する共用メモリセグメントサイズ

メタ情報の記述内容

メタ情報の記述内容の確認

メタ情報の削除

メタ情報の初期設定

メタ情報の追加

メタ情報の追加・削除コマンドの動作

メタ情報ファイル

メタ情報ファイル

メタ情報ファイル

メタ情報ファイル

メタ情報ファイルの出力

メタデータ

メタデータ空間

メモリ所要量とディスク占有量の見積もり

(ヤ行)

(ゆ)

ユーザLOB用RDエリアの容量の見積もり

ユーザ管理機能の設定

ユーザ権限

ユーザ権限

ユーザ権限

ユーザ権限定義ファイル

ユーザ権限定義ファイル

ユーザ作成のアクセスルーチンを使用する場合

ユーザ識別子

ユーザ識別子

ユーザ識別子

ユーザ識別子

ユーザ情報

ユーザ情報

ユーザ情報

ユーザ情報の取得方法

ユーザ定義識別子ファイル

ユーザ定義識別子ファイルの作成

ユーザ定義識別子変数ファイル

ユーザ用RDエリアの容量の見積もり

(ラ行)

(ら)

ランキング検索

ランキング検索

(り)

リストアの方法

リストオブジェクト

リファレンスファイル管理機能

リファレンスファイル管理機能

リファレンスファイル管理機能を使用するためのデータベース移行

リファレンスファイル管理機能を使用する場合の運用

リファレンスファイル管理機能を使用する場合の設定

リファレンスファイル管理機能を使用する場合のファイルシステムのディスク容量の見積もり

リファレンスファイル文書

リファレンスファイル文書

リフレッシュ

リレーション

リレーション先文書

リレーション先文書

リレーション識別子

リレーション元文書

リレーション元文書

リンク

リンク権

リンク識別子

(れ)

列名

レプリケーション

レンディション

レンディション

レンディションタイプ

レンディションのコンテント種別変換機能

レンディションのコンテント種別変換機能

レンディション変換

レンディション変換機能

レンディション変換要求機能

レンディション変換要求機能を使用する場合に必要なプログラム

(ろ)

ローカルACL

ローカルACL

ロケール

■ 商標類

Acrobatは，Adobe Systems Incorporated（アドビシステムズ社）の商標です。
Acrobat Distillerは，Adobe Systems Incorporated（アドビシステムズ社）の商標です｡
Active Directoryは，米国Microsoft Corporationの，米国およびその他の国における登録商標または商標です。
Adobeは，Adobe Systems Incorporated(アドビシステムズ社)の米国ならびに他の国における商標または登録商標です。
AIXは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Borlandのブランド名および製品名はすべて，米国Borland Software Corporationの米国およびその他の国における商標または登録商標です。
CentreWareは，米国ゼロックス・コーポレーションの登録商標です。
CORBAは，Object Management Groupが提唱する分散処理環境アーキテクチャの名称です。
DocuCentreは，富士ゼロックス株式会社の登録商標です。
DocuColorは，富士ゼロックス株式会社の登録商標です。
GIFは，米国CompuServe Inc.が開発したフォーマットの名称です。
imageRUNNERは，キヤノン株式会社の商品名称です。
imagioは，リコーの登録商標です。
IPSiOは，リコーの登録商標です。
iRは，キヤノン株式会社の商品名称です。
Konicaは，コニカ株式会社の登録商標です。
Lotusは，IBM Corporationの登録商標です。
Lotus Notesは，IBM Corporationの登録商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Excelは，米国Microsoft Corporationの商品名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Wordは，米国Microsoft Corporationの商品名称です。
OLEは，米国Microsoft Corporationが開発したソフトウェア名称です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
SecureWayは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Sitiosは，コニカ株式会社の登録商標です。
Tivoliは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
VisualAgeは，米国およびその他の国におけるInternational Business Machines Corporationの商標です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows NTは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。