ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Identity Manager開発者ガイド
11g リリース1(11.1.1)
B66705-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 スケジュール済タスクの開発

Oracle Identity Managerには、ジョブ実行としてスケジュールできる一連のスケジュール済タスクが含まれています。例として、パスワードの期限切れをユーザーに電子メールで送信するパスワード警告タスクをあげることができます。

Oracle Identity Managerには、独自のスケジュール済タスクを作成する機能もあります。事前定義されたスケジュール済タスクがニーズに合わない場合は、要件に合わせてスケジュール済タスクを作成できます。

たとえば、ターゲット・システムで定期的に新しい情報をチェックしてOracle Identity Managerに同じデータを複製するスケジュール済タスクを使用して、リコンシリエーション実行を構成できます。

この章では、カスタム・スケジュール済タスクを作成および実装する方法について説明します。内容は次のとおりです。

6.1 タスク作成の概要

この項では、スケジュール済タスクの作成における重要な手順を概説し、プロセスを示す例を紹介します。この後の項では、各手順について詳しく説明します。

6.1.1 タスク作成の手順

新しいスケジュール済タスクを作成する基本手順は、次のとおりです。

  1. Oracle Identity Managerの事前定義されたスケジュール済タスクを確認して、カスタム・タスクが必要かどうかを決定します。

    事前定義されたタスクの詳細は、Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイドのスケジュール済タスクの管理に関する説明を参照してください。

  2. タスク名、タスクが実行するアクションを制御するパラメータなど、スケジュール済タスクの主要な機能を決定します。

    詳細は、第6.2項「スケジュール済タスクのメタデータの定義」を参照してください。

  3. タスク・メタデータをスケジュール済タスクXMLファイルに追加します。

    詳細は、第6.3項「スケジュール済タスクXMLファイルの構成」を参照してください。

  4. スケジュール済タスクJavaクラスを開発します。

    詳細は、第6.4項「スケジュール済タスク・クラスの開発」を参照してください。

  5. 新しいスケジュール済タスクをプラグインとして宣言します。

    詳細は、第6.5項「プラグインXMLファイルの構成」を参照してください。

  6. Oracle Identity Managerがファイルを検出し、タスクをジョブで使用できるようにするために、タスク・ファイルをパッケージ化します。

    詳細は、第6.6項「スケジュール済タスクのディレクトリ構造の作成」を参照してください。

6.1.2 スケジュール済タスクの例

スケジュール済タスクの開発の手順を示すために、特定のITリソースの特定の部門に属する従業員レコードを取得するスケジュール済タスク例を使用します。

また、このスケジュール済タスクでは、ユーザーが取得するレコード数や、無効なレコードを取得に含めるかどうかを指定できる必要があります。

6.2 スケジュール済タスクのメタデータの定義

各スケジュール済タスクは、次のメタデータ情報を含みます。

6.3 スケジュール済タスクXMLファイルの構成

スケジュール済タスクXMLファイルの構成では、カスタム・スケジュール済タスクの定義が含まれたXMLファイルの更新が伴います。この項では、新しいカスタム・スケジュール済タスクの詳細を使用してタスクXMLファイルを更新する方法について説明します。

Oracle Identity Manager MDSスキーマの/dbネームスペースにあるtask.xmlファイルを変更するか、またはカスタム・スケジュール済タスク・ファイルを作成できます。カスタム・ファイルを作成する場合、そのファイル名はスケジュール済タスク名と同じで、拡張子が.xmlである必要があります。Oracle Identity Manager MDSスキーマの/dbネームスペースに、カスタム・スケジュール済タスク・ファイルをインポートする必要があります。


関連項目:

プラグインの例は、第7章「プラグインの開発」を参照してください。



注意:

スケジュール済タスクXMLファイルは、Oracle WebLogic Serverのインポート・ユーティリティを使用してMDSにインポートできます。クラスタ環境では、MDSにファイルを含めることで、クラスタの各ノード上のファイルをコピーする必要がなくなります。

MDSへのファイルのインポートの詳細は、第33章「MDSユーティリティとユーザーが修正可能なメタデータ・ファイル」を参照してください。


XMLファイル内の要素は、第6.2項「スケジュール済タスクのメタデータの定義」で説明したタスク・パラメータを反映します。

例6-1に、前述の段落で説明したスケジュール済タスクのサンプルXMLコードを示します。この例では、すべてのパラメータが必須パラメータとして宣言されていることに注意してください。

例6-1 スケジュール済タスクのサンプルXML

<scheduledTasks xmlns="http://xmlns.oracle.com/oim/scheduler">
    <task>
        <name>Test_scheduled_task</name>
        <class>oracle.iam.scheduler.TestScheduler</class>
        <description>Retrieve Employee Records For Given Department</description>
        <retry>5</retry>
        <parameters>
            <string-param required="true" helpText="Name of the department">Department Name</string-param>
            <string-param required="true" encrypted="false" helpText="Name of the department">Department Name</string-param>
            <number-param required="true" helpText="Number of Records to Be Retrieved">Number of Records</number-param>
            <boolean-param required="false" helpText="Retrieve disabled employee records?">Get Disabled Employees</boolean-param>
        </parameters>
    </task>
</scheduledTasks>

関連項目:

スケジュール済タスクの構成ファイル内の要素の詳細は、付録A「スケジュール済タスクの構成ファイル」を参照してください。


これは、基本的に、MDSからtask.xmlをエクスポートし、それに必須タグを追加して、MDSにインポートして戻す作業となります。

MDSからtask.xmlファイルをエクスポートし、このファイルに必須タグを追加した後、MDSにインポートして戻す必要があります。MDSファイルのエクスポートおよびインポートの詳細は、第33章「MDSユーティリティとユーザーが修正可能なメタデータ・ファイル」を参照してください。

6.4 スケジュール済タスク・クラスの開発

次の手順では、Javaクラスを作成して、メタデータがXMLファイルで定義されたタスクを実行します。スケジュール済タスクを実装するJavaクラスは、スケジュール済タスク・クラスと呼ばれます。

スケジュール済タスクのJavaクラスを開発するには、次の手順を実行します。

  1. oracle.iam.scheduler.vo.TaskSupportクラスを拡張したJavaクラス・ファイルを作成し、要件に基づいた処理ロジックでexecute()メソッドをオーバーライドします。

  2. 作成したJavaクラスのJARファイルを作成します。JARをカスタム・スケジュール済タスクに簡単に関連付けできる名前をJARに付けます。

    JARファイルには、Javaクラスの依存クラスを含めることができます。依存クラスに対して個別のJARファイルを作成し、それをlib/ディレクトリに配置することもできます。

  3. JARファイルをlib/ディレクトリにコピーします。

  4. 作成する各Javaクラスに対して手順1から3を繰り返します。

6.5 プラグインXMLファイルの構成

スケジュール済タスクをプラグインとして宣言するには、plugin.xmlファイルを構成する必要があります。プラグインの詳細は、第7章「プラグインの開発」を参照してください。


注意:

1つのスケジュール済タスクに対して1つのplugin.xmlファイルを作成することをお薦めします。これは、プラグインが登録解除されると、対応するパッケージが削除されるためです。


plugin.xmlファイルを構成するには、次の手順を実行します。

  1. 任意のテキスト・エディタを使用して、plugin.xmlファイルを作成します。


    注意:

    plugin.xmlファイルは、そのようなファイルがない場合にのみ作成します。既存のプラグインがある場合は、新しいプラグイン用の新しいプラグイン要素を追加します。


  2. プラグイン要素のpluginpoint属性の値をoracle.iam.scheduler.vo.TaskSupportに変更して、スケジュール済タスクのプラグイン・ポイントを指定します。

    plugin.xmlファイルの次のXMLコード・ブロックは、プラグイン要素内に入力された値を示しています。

    <plugins pluginpoint="oracle.iam.scheduler.vo.TaskSupport">
    

    注意:

    スケジュール済タスクの場合、<plugins>要素は、すべてのスケジュール済タスクで同じままです。


  3. <plugin>要素を、追加する各スケジュール済タスクに追加します。

    プラグイン(この場合はスケジュール済タスク)を実装するクラスを指定するには、プラグイン要素のpluginclass属性の値を、スケジュール済タスクを実装するJavaクラスの名前に変更します。plugin.xmlファイルの次のXMLコード・ブロックは、プラグイン要素内に入力されたサンプル値を示しています。

    <plugin pluginclass= "oracle.iam.scheduler.TestScheduler" version="1.0.1" name="scheduler element"/>
    

    変更後、plugin.xmlファイルは次のようになります。

    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <plugins pluginpoint="oracle.iam.scheduler.vo.TaskSupport">
    <plugin pluginclass= "oracle.iam.scheduler.TestScheduler"
    version="1.0.1" name="scheduler element">
    </plugin>
    </plugins>
    </oimplugins>
    
  4. plugin.xmlファイルを保存して閉じます。

6.6 スケジュール済タスクのディレクトリ構造の作成

スケジュール済タスクの構成の最後の手順は、例6-2で指定したディレクトリ構造のplugin.zipファイルを作成することです。この例では単一のプラグインが追加されますが、複数のプラグインをplugin.zipファイルに含めることができます。スケジューラでは、ファイルが、特定の構造で圧縮され、特定のネーミング規則に従って命名されている必要があります。これにより、Oracle Identity Managerでカスタム・スケジュール済タスクが識別され、ジョブ作成時にそのタスクをOracle Identity Manager管理およびユーザー・コンソールで使用できるようにになります。

例6-2 スケジュール済タスクのディレクトリ構造

plugin/
      plugin.xml
      lib/
            CLASS_NAME1.jar

次のことに注意してください。

前述の例では、CLASS_NAME.JARが、第6.4項「スケジュール済タスク・クラスの開発」で作成したJARファイルです。

plugin.zipファイルを作成した後でクラスタ環境にデプロイする場合は、適切なAPIを使用して、そのプラグインをデータベースに登録します。APIを使用してOracle Identity Managerにプラグインを登録する方法の詳細は、APIを使用したプラグインの登録および登録解除に関する説明を参照してください。


注意:

プラグインのXMLは、plugin.xmlという名前である必要があります。libディレクトリにJARファイルのみが含まれていることを確認してください。