ループバックサービスドライバ: 移動プロキシサービスによるオブジェクトの移動

DirXMLドライバは、同じサーバ上のマスタレプリカまたは読み書き可能レプリカのどちらかに複製されたオブジェクトを同期化できます。ドライバが実行できる処理の1つは、コンテナ間でのオブジェクトの移動です。たとえば、人事アプリケーションで割り当てられている組織に基づき、Novell(R) eDirectoryTMにユーザを配置するようドライバを設定できます。人事アプリケーションでユーザの組織が変更された場合には、ドライバは、対応するコンテナにeDirectoryユーザオブジェクトを移動できます。

コンテナ間でオブジェクトを移動できるようドライバを設定するには、次のいずれかを実行する必要があります。

移動プロキシサービスは、ループバックサービスドライバシムで実行できる特別な設定です。この節では、移動プロキシサービスと設定方法、および他の接続システムのドライバがこのサービスを使用できるようにするための設定について説明します。

この節では、次の項目について説明します。


移動プロキシサービスの概要

NsureTM Identity ManagerおよびeDirectoryでは、特に同時に他の変更がオブジェクトに対して行われている場合、オブジェクトの移動はマスタレプリカで行うのが最適です。

コンテナ間でオブジェクトを移動できるようドライバを設定するには、次のいずれかを実行する必要があります。

移動プロキシサービスは、マスタレプリカのあるサーバ上で実行する特別な設定を持つドライバオブジェクトです。移動プロキシサービスの目的は、読み書き可能レプリカを保存するサーバで実行されているDirXMLドライバの代わりにオブジェクトを移動することです。移動の委任により、委任元のドライバによって実行されたオブジェクトの変更を、移動前にマスタサーバに複製できます。

ドライバから移動プロキシサービスに移動を委任した場合の処理手順は次のとおりです。

  1. 移動する必要があるオブジェクトのmoveProxyTrigger属性の値を設定することにより、ドライバは移動を委任します。ドライバは、moveProxyTrigger属性を、オブジェクトの移動先のコンテナのDNに設定します。
  2. 移動プロキシサービスは、moveProxyTrigger属性の「値の追加」イベントを監視し、移動するオブジェクトの移動元のDNおよび移動先のコンテナのDNを指定するカスタムコマンドに、イベントを変換します。

    カスタムコマンドは、移動プロキシサービスドライバのSubscriber Event Transformation Rule (加入者イベント変換ルール)により作成されます。

  3. 移動プロキシサービスドライバは、発行者チャネルで実際のオブジェクトの移動を開始します。次に、移動プロキシサービスドライバは、移動先DNの値をオブジェクトのmoveProxyTrigger属性から削除します。

    移動が「再実行」ステータスとなり失敗した場合は(通常は、同じオブジェクトの前の移動がまだ完了していないためです)、加入者チャネルを通じてステータスがIdentity Managerに返されます。Identity Managerは、移動が成功するか、他の理由で失敗するまで、元のイベントを30秒ごとに再送信します。


移動プロキシサービスの設定

移動プロキシサービスの設定は、マスタレプリカを保存するサーバ上で実行します。このサービスが必要になる状況の概要については、移動プロキシサービスの概要を参照してください。

この手順を終了後、サーバ上で実行されているドライバを、移動プロキシドライバに移動を委任するよう設定し、マスタレプリカで移動を実行できるようにします。

  1. マスタレプリカのあるサーバにIdentity Managerがまだインストールされていない場合は、インストールします。

  2. 移動プロキシサービスの次のファイルがIdentity Managerとともにインストールされていることを確認します。インストールされていない場合は、製品のディストリビューションまたはNovellサポートから入手します。

    • loopback.jar

      これは、移動プロキシサービスを実行するために必要なループバックシムファイルです。このドライバシムファイルは、各OSの/libディレクトリに配置する必要があります。

    • moveproxy.xml

      これは、ドライバ設定ファイルです。他のドライバ設定ファイルが保存されているデフォルトの場所に配置されていない場合は、ステップ 4でドライバオブジェクトを作成する際に、その場所を参照する必要があります。

    • moveproxy.xlf

      このファイルは、ドライバ設定moveproxy.xmlをインポートする場合に表示されるプロンプトを作成します。

    • mvproxy_client_publisher_command_transformation.xsl

      このファイルは、移動プロキシサービスに移動を委任する各ドライバに追加するCommand Transformation (コマンド変換)スタイルシートを提供します。移動プロキシサーバに移動を委任するための他のドライバの設定を参照してください。

  3. eDirectoryのスキーマにDirXML-moveProxyTriggerという名前の属性が含まれていることを確認します。含まれていない場合は、mvproxy.schファイルおよびプラットフォームに適したユーティリティ(NetWareではnwconfig、Win32ではinstall.dlm、およびUNIXではndssch)を使用し、eDirectoryスキーマを拡張します。

    Novellサポートにアクセスし、mvproxy.schファイルを入手します。

    注:  すでにスキーマにDirXML-moveProxyTrigger属性が含まれている場合は、ステップ 2のリストに表示されているファイルも製品のディストリビューションに含まれています。スキーマにこの属性が含まれておらず、mvproxy.schスキーマ拡張ファイル、およびステップ 2のリストに表示されているその他のファイルをNovellサポートから入手する場合、Novellサポートから入手したファイルでは、DirXML-moveProxyTriggerではなくmoveProxyTriggerという名前の属性が使用されていることに注意してください。設定方法は同じですが、属性の名前が多少異なります。

  4. マスタレプリカを保存するサーバの新しいDirXMLドライバオブジェクトを作成し、moveproxy.xmlをインポートしてドライバ設定を作成します。

    DirXMLエンジンは、ループバックドライバシムを使用し、ドライバオブジェクトを実行します。

  5. 作成した新しいドライバオブジェクトについて、加入者および発行者のフィルタを編集し、移動を代わりに実行するオブジェクトクラスが含まれるようにします。これらの各クラスのフィルタにDirXML-moveProxyTrigger (またはmoveProxyTrigger)属性を追加します。

    フィルタに含まれるクラスの他の属性は追加しないでください。

  6. 目的の[Driver Startup]オプションを[Driver object]に設定し、ドライバを再起動します。

    ドライバの設定が完了し、正しく動作した後は、[Driver Startup]オプションは[Automatic]にすることをお勧めします。

  7. 移動プロキシサーバに移動を委任するための他のドライバの設定に説明されているとおり、他のサーバのドライバが移動プロキシサービスを使用するよう設定されていることを確認します。


移動プロキシサーバに移動を委任するための他のドライバの設定

このサービスが必要になる状況の概要については、移動プロキシサービスの概要を参照してください。

  1. 移動プロキシサービスの設定の作業を完了していることを確認します。

  2. ドライバのDirXML-Publisherオブジェクトに、DirXML-Stylesheetオブジェクトを作成します。

  3. mvproxy_client_publisher_command_transformation.xslという名前のファイルがIdentity Managerにインストールされていることを確認します。

    このスタイルシートは、ステップ 2で確認した移動プロキシのファイルの1つです。インストールされていない場合は、製品のディストリビューションまたはNovellサポートから入手します。

  4. 作成した新しいスタイルシートオブジェクトで、[Edit XML property]ページに移動し、mvproxy_client_publisher_command_transformation.xslという名前のファイルの内容を貼り付けます。

  5. 次のいずれかを実行し、スタイルシートがCommand Transformation Rule (コマンド変換ルール)の一部となるようにします。

    • DirXML-PublisherオブジェクトにCommand Transformation Rule (コマンド変換ルール)が含まれていない場合は、新しいスタイルシートをコマンド変換ルールにします。
    • DirXML-PublisherオブジェクトにCommand Transformation Rule (コマンド変換ルール)がすでに含まれている場合は、ルールチェーンを使用し、既存のコマンド変換ルールの次の情報を新しいスタイルシートに設定します。
  6. 加入者または発行者のどちらかのチャネルで使用されるスタイルシートがsrcCommandProcessorまたはdestCommandProcessorを通じてeDirectoryに移動を生成および送信している場合は、ステップ 5で作成した新しいCommand Transformation Rule (コマンド変換ルール)で生成されるものと同様の変更イベントを送信するように、スタイルシートを変更します。