2 OUDプラグインの作成とデプロイ

アクションを実行しないOracle Unified Directory (OUD)プラグインを作成およびデプロイできます。

次のトピックでは、OUDプラグインの作成およびデプロイについて説明します。

2.1 OUDプラグインのデプロイを開始する前に

OUDプラグインをデプロイする前に、OUDおよびJDKのインストールなどの開発環境を準備する必要があります。

次のタスクを実行します。

  • Oracle Unified Directoryをインストールし、生成された50個のエントリを持つ新しいインスタンスを作成します。

  • Oracle Unified Directoryインスタンスで稼働しているまったく同じバージョンのJava Runtime Environmentを持つJava Development Kitをインストールします。

  • 好みの統合開発環境(IDE)を使用してプラグイン開発用の新しいプロジェクトを作成し、install-dir/oud/lib/oud-sdk.jarにあるJARファイルoud-sdk.jar を参照します

2.2 OUDインスタンスへのプラグインのデプロイ

Oracle Unified Directory (OUD)プラグインAPIは、既存のディレクトリ・サーバー機能を拡張する手段を提供しています。

次のステップを実行して、プラグインをOUDインスタンスにデプロイします。

  1. oracle.oud.plugin.AbstractPluginクラスを拡張するクラスを新規作成します。このクラスは何もアクションを実行しませんが、処理の一部になります。次に例を示します。

    package oracle.oud.example;
    import oracle.oud.plugin.AbstractPlugin;
    /**
    * A plug-in that does not perform any action.
    */
    public class ExamplePlugin
    extends AbstractPlugin
    {
     
    }
    
  2. プラグイン・プロジェクトを作成します。

    生成されたプラグインJARファイルには次のファイルが含まれている必要があります。

    • META-INF/MANIFEST.MF

    • oracle/oud/example/ExamplePlugin.class

  3. プラグインが以降のリリースのOUDプラグインAPIでも引き続き機能できるように、作成されたJARファイルに特定のバージョニング・ファイルを埋め込むことができます。埋め込むファイルの名前はplugin.propertiesです。

    plugin.propertiesファイルを次のように変更します。

    1. JARファイルに含まれるすべてのプラグインのターゲット・バージョンを定義する手順は次のとおりです。

      plugin.version=11.1.2.1.0

    2. ExamplePluginプラグインのみのターゲット・バージョンを定義するには次のように指定します。

      plugin.ExamplePlugin.version=11.1.2.1.0

    plugin.propertiesファイルが存在しない場合、現在の実装のプラグインAPIの動作が適用されます。

  4. Oracle Unified Directoryインスタンスを再起動してJARファイルの変更を有効にします。

    1. OUDインスタンスを停止します。

      UNIX、Linuxの場合
      $ cd instance-directory/OUD/bin
      $ stop-ds
      Windowsの場合
      C:\> cd instance-directory\OUD\bat
      C:\> stop-ds
      
    2. プラグインJARファイルをlibディレクトリにコピーします。

      UNIX、Linuxの場合
      # cp plugin.jar lib
      Windowsの場合
      C:\> copy plugin.jar lib
      
    3. OUDインスタンスを再起動します。

      UNIX、Linuxの場合
      # start-ds
      Windowsの場合
      C:\> start-ds
      
  5. プラグインがサーバー処理の一部となるようにサーバー構成を変更します。

    dsconfigコマンドを使用してプラグインをOUDサーバーのワークフロー要素として宣言します。次の情報を指定する必要があります。

    • このプラグイン・インスタンスを一意に識別するプラグイン名(サンプル中のExamplePlugin)

    • oracle.oud.plugin.ManagedPlugin Javaインタフェースを実装するJavaクラスの名前

    • プラグインを有効にするか無効にするか

    • 挿入するプラグインの後にあるワークフロー要素の名前。

      プラグインには、実装するユース・ケースにより0、1個またはそれよりも多くのワークフロー要素が続く場合があります。次に例を示します。

    # dsconfig create-workflow-element \
        --set enabled:true \ 
        --set plugin-class:oracle.oud.example.ExamplePlugin \ 
        --set next-workflow-elements:userRoot \ 
        --type plugin \
        --element-name ExamplePlugin
    

プラグインを作成した後、プラグイン・ワークフロー要素をワークフロー内に挿入します。プラグイン・ワークフロー要素は、ワークフローの次の要素、または既存のワークフロー要素の次の要素としてプラグイン・クラスを指定する必要があります。次のコマンドは、ワークフローuserRoot0の構成を、LDAPリクエストが以前に追加されたサンプル・プラグインに転送されるように変更します。

# dsconfig set-workflow-prop \ 
    --workflow-name userRoot0 \ 
    --set workflow-element:ExamplePlugin

同じプラグイン実装の複数のインスタンスをそれぞれが一意の名前を持つように作成できます。