ディレクトリサービスの要件に次のいずれかが含まれる場合に、仮想ディレクトリの機能を配備できます。
複数のデータリポジトリ上に分散するエントリの集約されたビューを、クライアントアプリケーションが必要としている
たとえば、いくつかのディレクトリサーバーが存在しており、それらのサーバーには同じユーザーが含まれているが、それらがすべて異なるデータであるとします。仮想ディレクトリを使えば、あるユーザーのすべてのディレクトリにわたるエントリの単一ビューを作成できます。さらに、仮想ディレクトリは、個々のすべてのディレクトリを管理するための単一点として機能します。
サポートされるデータリポジトリの種類としては、LDAP ディレクトリ、MySQL などの Java Database Connectivity ( JDBCTM) に準拠したソース、LDIF フラットファイルなどが挙げられます。
ユーザー資格情報とアプリケーション固有データにそれぞれ異なるデータストアが必要である。
たとえば、アプリケーションによっては、企業ディレクトリ内に格納したくない固有データが存在する可能性があります。仮想ディレクトリを使えば、そうしたデータを分離しても、それがアプリケーションのソースの 1 つとして見えるようにすることができます。これにより、アプリケーション開発やデータ管理が単純化されます。なぜなら、アプリケーションがデータインフラストラクチャーの詳細を知る必要がなくなるからです。さらに、バックエンドデータソースに対する変更をアプリケーションから抽象化できます。
ユーザーの企業が別の企業を買収したか、別の企業と合併した。
仮想ディレクトリを使えば、2 つの企業のディレクトリをマージし、それらが単一のディレクトリとして表示されるようにすることができます。たとえば、2 つのディレクトリ dc=example,dc=com および dc=acquisition,dc=com があるとします。どちらのディレクトリも dc=example,dc=com のように見えることを要求するクライアントアプリケーションも存在します。
データベースのテーブルが DIT 階層の形式で表示されることを、クライアントアプリケーションが要求する。
複数のデータリポジトリに対する読み取りおよび書き込み操作が必要である。
類似点のない属性名に基づいて複数のフィールドを結合する条件が必要となる。
複数の LDAP または JDBC バックエンドのディレクトリやデータベース上に分散する複数値属性のサポートを、クライアントアプリケーションが要求する。
属性の名前変更、DN の書き換え、および DN 構文属性の属性値の書き換えが必要となる。
クライアントアプリケーションごとに、ある単一データリポジトリの異なるビューが必要となる。