2 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インスタンスにデプロイします。
-
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 { }
-
プラグイン・プロジェクトを作成します。
生成されたプラグインJARファイルには次のファイルが含まれている必要があります。
-
META-INF/MANIFEST.MF
-
oracle/oud/example/ExamplePlugin.class
-
-
プラグインが以降のリリースのOUDプラグインAPIでも引き続き機能できるように、作成されたJARファイルに特定のバージョニング・ファイルを埋め込むことができます。埋め込むファイルの名前は
plugin.properties
です。plugin.properties
ファイルを次のように変更します。-
JARファイルに含まれるすべてのプラグインのターゲット・バージョンを定義する手順は次のとおりです。
plugin.version=11.1.2.1.0
-
ExamplePlugin
プラグインのみのターゲット・バージョンを定義するには次のように指定します。plugin.ExamplePlugin.version=11.1.2.1.0
plugin.properties
ファイルが存在しない場合、現在の実装のプラグインAPIの動作が適用されます。 -
-
Oracle Unified Directoryインスタンスを再起動してJARファイルの変更を有効にします。
-
OUDインスタンスを停止します。
-
プラグインJARファイルを
lib
ディレクトリにコピーします。 -
OUDインスタンスを再起動します。
-
-
プラグインがサーバー処理の一部となるようにサーバー構成を変更します。
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
同じプラグイン実装の複数のインスタンスをそれぞれが一意の名前を持つように作成できます。