この章では、アクションを実行しないOracle Unified Directory (OUD)プラグインを作成およびデプロイする方法について説明します。この章では、次の内容を説明します。
次のタスクを完了して開発環境を準備します。
Oracle Unified Directoryをインストールし、生成された50個のエントリを持つ新しいインスタンスを作成します。
Oracle Unified Directoryインスタンスで稼働しているまったく同じバージョンのJava Runtime Environmentを持つJava Development Kitをインストールします。
好みの統合開発環境(IDE)を使用してプラグイン開発用の新しいプロジェクトを作成し、install-dir/OracleUnifiedDirectory/lib/oud.jarにあるJARファイルoud.jarを参照します
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インスタンスを停止します。
$ cd instance-directory/OUD/bin
$ stop-ds
C:\> cd instance-directory\OUD\bat
C:\> stop-ds
プラグインJARファイルをlibディレクトリにコピーします。
# cp plugin.jar lib
C:\> copy plugin.jar lib
OUDインスタンスを再起動します。
# start-ds
C:\> start-ds
プラグインがサーバー処理の一部となるようにサーバー構成を変更します。
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
同じプラグイン実装の複数のインスタンスをそれぞれが一意の名前を持つように作成できます。