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

前
 
次
 

2 アダプタの開発

アダプタは、Oracle Identity Managerを他のソフトウェア・ソリューションと統合するためのJavaプログラムです。この章では、「アダプタ・ファクトリ」フォームを使用してアダプタを作成する方法について説明します。これらの項目が含まれます。

2.1 アダプタの概要

効率を高めるには、Oracle Identity Managerなどのアクセス権管理アプリケーションを他のソフトウェア・ソリューションと統合できる必要があります。このことが必要となるのは、数多くのリソースが提供されているものの、これらのリソースに接続するための単一の統合標準がないためです。

この課題に取り組むために、従来の方法ではすべての統合でサポートされる共通機能を使用します。これを行うには、このコードを記述できる開発者が必要です。また、既存のソフトウェア・リソースの変更や新しいソフトウェア・リソースの追加のたびに、さらにコードを記述する必要があります。

アダプタ・ファクトリは、Oracle Identity Managerによって提供されているコード生成ツールです。これは、統合の課題を簡略化するJavaクラス(アダプタと呼ばれます)を作成する場合に役立ちます。


注意:

Oracle Identity Managerは、JDBCおよびLDAPのJava APIを使用してデータベースやディレクトリ・サーバーなどの外部システムに接続できます。また、C、C++、VB、COM/DCOMなど、その他のすべてのAPIについては、Oracle Identity ManagerがAPIと直接通信できるようにJavaラッパーを作成できます。


リソースにはプロビジョニング・プロセスが関連付けられており、プロビジョニング・プロセスには様々なタスクが関連付けられています。各タスクにはアダプタが関連付けられており、アダプタは必要な操作を実行するためにターゲット・リソースに接続できます。

アダプタには次の利点があります。

次に示すような様々なタスク用のアダプタを開発できます。

図2-1に、5つのタイプのアダプタの機能を示します。

図2-1 アダプタの機能

アダプタの機能

2.2 アダプタのタイプ

この項では、5つのアダプタ・タイプについて説明します。

ルール・ジェネレータ・アダプタ

フィールド検証を実行し、Oracle Identity Managerにあらかじめ含まれているフォームまたはOracle Identity Managerユーザーが作成するフォームにデフォルト値を入力するには、特定のビジネス・ルールを適用する必要があります。たとえば、「ユーザー」フォームについて、Oracle Identity Managerでユーザーの名前と姓を連結してユーザーIDを自動的に生成する場合があります。

これを行うには、フォーム内のフィールド値を変更するように設計された特定のタイプのアダプタを作成する必要があります。フォーム・フィールドの値を自動的に生成、変更または検証できるこのタイプのアダプタは、ルール・ジェネレータと呼ばれます。Oracle Identity Managerでは、ルール・ジェネレータは挿入および更新の前にトリガーされます。

このアダプタを作成してフォームにアタッチすると、Oracle Identity Managerによってそのフォームのすべてのレコードのフィールド値が自動的に更新され、この情報がOracle Identity Managerデータベースに保存されます。

アダプタ変数を含むルール・ジェネレータを作成する場合は、これらのアダプタ変数を正しい場所にマップする必要があります。そうしないと、アダプタは機能しません。

このタイプのアダプタをプロビジョニング・プロセスにアタッチすることもできます。プロセスがターゲットのユーザーや組織にプロビジョニングされると、関連付けられたルール・ジェネレータがOracle Identity Managerによってトリガーされます。

プロビジョニング・プロセスに割り当てられているルール・ジェネレータが、プロセスの完了のために必要ではなくなる場合があります。その場合は、ルール・ジェネレータをプロビジョニング・プロセスから削除できます。同様に、ルール・ジェネレータをフォーム・フィールドにアタッチした後で、別のルール・ジェネレータをそのフォーム・フィールドに接続できます。この場合は、最初に、現在フォーム・フィールドにアタッチされているルール・ジェネレータを削除する必要があります。

エンティティ・アダプタ

ルール・ジェネレータ・アダプタと同様に、エンティティ・アダプタは、フォーム・フィールド値の生成、変更または検証を自動化し、この情報をOracle Identity Managerデータベースに保存します。

ルール・ジェネレータとエンティティ・アダプタの違いの一部は、次のとおりです。

タスク割当てアダプタ

手動で完了する必要があるプロセス・タスクについて、特定のユーザーまたは特定のロールに属するユーザーへのタスクの割当てを自動化するようにOracle Identity Managerを構成できます。これは、タスク割当てアダプタを使用して行います。タスク割当てアダプタは、特定のユーザーまたはロールへタスクを割り当てるためにのみ使用します。

特定のプロビジョニング・プロセスに関連付けられたタスクをDesign Consoleの「プロセス定義」フォームの「タスク」タブを使用して作成する場合、実行に対してアダプタが取得されるかどうかを決定するルールを選択できます。このルールはDesign Consoleのルール定義フォームで定義されることに注意してください。ルールの例は、「ターゲット・ユーザーの組織名はXYZです」です。このルールが満たされると、対応するタスク割当てが取得されます。ただし、タスク割当ての決定時に複数のルールを定義して使用することができます。複数のルールがある場合、Oracle Identity Managerではタスク割当て機能に優先度が関連付けられて、ルール決定の順序が決定されます。ルールが決定されると、対応するタスク割当てが実行されます。


注意:

つまり、タスク割当てルールによって、Oracle Identity Managerはプロセス・タスクをユーザーまたはルールに割り当てるかどうかを決定できます。タスク割当てアダプタによって、Oracle Identity Managerはどのユーザーまたはロールがプロセス・タスクの割当先になるかを決定できます。


この例では、Oracle Identity ManagerによってAssociate Adapter with Userルールが最初にトリガーされます(優先度が最も高いため)。このルールの条件がTRUEの場合、ルールは成功です。その結果、Oracle Identity Managerによって、関連するタスク割当てアダプタ(Assign Task to Userアダプタ)がプロセス・タスクに関連付けられます。

一方、ルールの条件がFALSEの場合、ルールは失敗です。Oracle Identity Managerによって、次に優先度が高いルールがトリガーされます。このルールが成功すると、Oracle Identity Managerによって、指定のアダプタがターゲット・プロセス・タスクに割り当てられます。

したがって、この例では、Associate Adapter with Userルールが失敗した場合、Oracle Identity ManagerによってAssociate Adapter with Roleルールがトリガーされます。このルールが成功すると、Oracle Identity Managerによって、関連するタスク割当てアダプタ(Assign Task to Roleアダプタ)がプロセス・タスクに関連付けられます。

ルールをタスク割当てアダプタに割り当てた後、このタイプのアダプタにアダプタ変数が含まれる場合、これらの変数を適切な場所にマップする必要があります。そうしないと、アダプタは機能しません。

最終的に、タスク割当てアダプタが無効になるか、Oracle Identity Managerでプロセス・タスクをユーザーまたはグループに割り当てるために不要になった場合は、アダプタをタスクから削除する必要があります。

事前移入アダプタ

ユーザー作成フォームに、Oracle Identity Managerで移入可能なフィールドと、Oracle Identity Managerユーザーがデータを入力する必要があるフィールドの両方が含まれる場合があります。ユーザーがフィールドに入力する情報が、システム生成フィールドに表示されるデータに依存している場合は、最初にOracle Identity Managerによってこのフィールドに移入される必要があります。フォームが表示されたときに、ユーザーはシステム生成データを確認して適切なフィールドに情報を入力できます。

これを実行するには、事前移入アダプタと呼ばれるタイプのルール・ジェネレータを作成します。それをシステム生成フィールドにアタッチすることによって、Oracle Identity Managerでは、Oracle Identity Managerデータベースに保存しなくても適切な情報をこのフィールドに自動的に移入できます。

事前移入アダプタで生成されたデータは、自動的に表示するか手動で入力できます。プロビジョニング・プロセスについて「自動事前移入」チェック・ボックスを選択した場合、この情報はOracle Identity Managerによって自動的に表示されます。このチェック・ボックスが選択されていない場合、Oracle Identity Managerユーザーは事前移入アダプタで生成されるデータの表示を手動で生成する必要があります。これを行うには、フォームをユーザーにプロビジョニングするときに、Webクライアントの直接プロビジョニング・ウィザードのフォーム・セクションにある事前移入ボタンをクリックします。

同じ事前移入アダプタを異なるフォーム・フィールドに対して使用できます。また、複数の事前移入アダプタを特定のフィールドに関連付けるように指定できます。そのため、フォーム・フィールドに対してどの事前移入アダプタを選択する必要があるかをOracle Identity Managerが認識している必要があります。これには、事前移入ルールを使用する必要があります。これらのルールによって、Oracle Identity Managerで1つの事前移入アダプタを選択でき、この事前移入アダプタがフォーム・フィールドに割り当てられると、事前移入アダプタはそのフィールドに関連付けられます。

それぞれの事前移入アダプタには、事前移入ルールが関連付けられています。また、すべてのルールには優先度値があり、Oracle Identity Managerによってその順序でルールがトリガーされます。

たとえば、Rule for Uppercase User IDルールの優先度が最も高いため、Oracle Identity Managerではこのルールを最初にトリガーできます。このルールの条件がTRUEの場合、ルールは成功です。その結果、Oracle Identity Managerによって、関連する事前移入アダプタ(Display Uppercase Letters for User IDアダプタ)が「ユーザーID」フィールドにアタッチされます。

一方、ルールの条件がFALSEの場合、ルールは失敗です。Oracle Identity Managerによって、次に優先度が高いルールがトリガーされます。このルールが成功すると、Oracle Identity Managerによって、関連付けられたアダプタが指定のフィールドにアタッチされます。

したがって、この例では、Rule for Uppercase User IDルールが失敗した場合、Oracle Identity ManagerによってRule for Lowercase User IDルールがトリガーされます。このルールが成功すると、Oracle Identity Managerによって、関連する事前移入アダプタ(Display Lowercase Letters for User IDアダプタ)が「ユーザーID」フィールドにアタッチされます。

ルールを事前移入アダプタに割り当てた後、このタイプのアダプタにアダプタ変数が含まれる場合は、これらの変数を適切な場所にマップする必要があります。そうしないと、アダプタは機能しません。

最終的に、フィールドに関連付けられた事前移入アダプタが有効ではなくなった場合、アダプタをフィールドから削除する必要があります。

プロセス・タスク・アダプタ

プロセス・タスク・アダプタによって、Oracle Identity Managerではプロビジョニング・プロセスでプロセス・タスクを自動的に実行できます。

それぞれのプロセスおよびプロセス・タスクにはステータスがあり、完了の段階を示します。次の表に、プロセスまたはプロセス・タスクのステータスを重要性の高いものから順に示します。

タスク・ステータス 説明

C

完了: このプロセスまたはプロセス・タスクは正常に完了しました。

MC

手動で完了: このプロセス・タスクは、Oracle Identity Managerユーザーによって(つまり、手動で)正常に完了しました。

P

保留: このプロセスまたはプロセス・タスクは完了処理中です。先行するそれぞれのタスクおよびプロセスはすべて完了しています。

PX

取消し保留: このプロセス・タスクは取り消されますが、取り消される前に完了される必要があります。

R

却下: このプロセスまたはプロセス・タスクは、正常に完了していないか承認されていません。却下されたプロセス・タスクのステータスは、「取消」または完了に失敗にのみ変更できます。

S

一時停止: このプロセスまたはプロセス・タスクは一時的に停止しています。

UC

完了に失敗: このプロセス・タスクは、「完了」に設定されています。ただし、以前に却下されたことがあります。

W

待機中: このプロセスまたはプロセス・タスクは、先行するすべてのプロセス・タスクまたはプロセスが完了するまで、完了しません。

X

このプロセスまたはプロセス・タスクは停止しています。ステータスは変更できません。


プロセスのステータス・レベルはそのプロセス・タスクの最も重要なステータス・レベルを表しており、プロセス・タスクが完了しないとプロセスは完了しません。プロセスに3つのプロセス・タスクがあり、各プロセス・タスクのステータス・レベルが異なる場合(「完了」「待機中」および「却下」)、プロセスが完了するには、3つのプロセス・タスクすべてが完了する必要があります。最高のタスク・ステータス・レベルは「却下」であるため、プロセスのステータス・レベルも「却下」です。

プロセス・タスクは次の方法で管理できます。

2.3 アダプタ環境とツール

この項は次のトピックで構成されています。

2.3.1 アダプタ環境の構成

アダプタ・タスクを構成するには、Oracle Identity ManagerがターゲットAPIのJARファイルおよび接続するサード・パーティ・アプリケーションにアクセスできることを確認してください。

アダプタでJavaタスクを使用する場合、適切なJava APIを検索するようにOracle Identity Managerを構成する必要があります。これを行うには、これらのAPIが含まれている.jarファイルをメタデータ・ストア(MDS)に置く必要があります。


関連項目:

Oracle Identity Managerメタデータを変更するユーティリティの詳細は、第33章「MDSユーティリティとユーザーが修正可能なメタデータ・ファイル」を参照してください。


これにより、これらのJava APIに関連付けられたJavaクラスにアクセスして、作成したJavaタスクで使用できるようになります。

Oracle Identity ManagerをJARおよびクラス・ファイルを参照するように構成する手順は、次のとおりです。

  1. OIM_HOME/ディレクトリ・パスにあるJavaTasksサブディレクトリを開きます。たとえば、C:\oracle\Xellerate\JavaTasksです。

  2. JARファイルをこのサブディレクトリに置きます。このファイルを使用して、サーバーを再起動せずにアダプタ内にJavaタスクを作成できます。

2.3.2 Remote Manager

サード・パーティ・システムと直接通信せずに、プロキシのように動作するOracle Identity Managerコンポーネントを使用する必要がある場合があります。このコンポーネントは、リモート・マネージャと呼ばれます。

リモート・マネージャは、次の目的で使用します。

  • Oracle Identity Managerを通じた非リモートAPIの呼出し

  • セキュアな接続でのSecure Sockets Layer (SSL)をサポートしないAPIの呼出し

Remote Managerを構成するには、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』の説明に従ってください。

2.3.3 アダプタ・ファクトリ

すでに説明したように、アダプタはOracle Identity Managerユーザーがアダプタ・ファクトリで作成するJavaクラスであり、アダプタ・ファクトリにはDesign Consoleからアクセスします。

アダプタによって、Oracle Identity Managerの内部論理および機能が拡張されます。また、任意のITリソースのAPIに接続することで、そのリソースとの対話が行われます。

アダプタ・ファクトリはOracle Identity Managerで提供されるコード生成ツールであり、これを使用してユーザーはアダプタと呼ばれるJavaクラスを作成できます。図2-2に、Design Consoleの「アダプタ・ファクトリ」フォームを示します。

図2-2 「アダプタ・ファクトリ」フォーム

図2-2については周囲のテキストで説明しています。

2.3.4 アダプタのコンパイル

Oracle Identity Managerには、次に示すような様々なコンパイル・オプションがあります。

  • 個別のアダプタを1つずつコンパイル

  • 一連のアダプタを一度にコンパイル

  • Oracle Identity Managerデータベース内のすべてのアダプタを1クリックでコンパイル

2.3.4.1 アダプタの自動コンパイル

デプロイメント・マネージャを使用してコネクタ・ファイルをインポートすると、アダプタが自動的にコンパイルされます。コンパイルされたアダプタのクラス・ファイルは、ファイル・システムではなくOracle Identity Managerデータベースに格納され、そこから実行時にロードされます。次の2つのAPIを使用して、アダプタをプログラムでコンパイルできます。

  • public void compileAdapter (String adapterName): このAPIは、1つのアダプタをコンパイルし、コンパイルしたクラス・ファイルをデータベースに格納します。アダプタの名前をパラメータとして使用します。アダプタが見つからない場合、またはエラーが発生した場合は、APIで適切な例外がスローされます。

  • public void compileAll: このAPIは、システムのすべてのアダプタをコンパイルします。コンパイル時にエラーが発生した場合は、タイプtcBulkExceptionの例外がスローされます。この例外は、コンパイル時にAPIで発生した個別のすべてのエラーで構成されます。

変更する場合は、アダプタを手動で変更できます。


注意:

XL.CompilerPathシステム・プロパティのJDKディレクトリのパスを設定する必要があります。これを行わないと、デプロイメント・マネージャを使用してXMLファイルをインポートするときに、アダプタ・コンパイル・ステージでエラーが発生します。

システム・プロパティの値の設定の詳細は、Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイドのOracle Identity Managerのシステム・プロパティに関する説明を参照してください。


2.3.4.2 アダプタの手動コンパイル

「開発ツール」フォルダに「アダプタ・マネージャ」フォームがあります。これを使用して、複数のアダプタを同時にコンパイルします。

複数のアダプタを手動でコンパイルするには、次の手順を実行します。

  1. 「アダプタ・マネージャ」フォームを開きます。

    「アダプタ・マネージャ」フォームは、「開発ツール」フォルダにあります。図2-3に示すように、複数のアダプタを同時にコンパイルするために使用します。

    図2-3 「アダプタ・マネージャ」フォーム

    「アダプタ・マネージャ」フォーム
  2. Oracle Identity Managerデータベース内のすべてのアダプタをコンパイルするには、すべてをコンパイル・オプションを選択します。

    複数のアダプタをコンパイルするには、コンパイルするアダプタを選択します。次に、選択分をコンパイル・オプションを選択します。

    ステータスがOKではないすべてのアダプタをコンパイルするには、以前の失敗分をコンパイル・オプションを選択します。

  3. 起動」ボタンをクリックします。

    Oracle Identity Managerにより、手順2で指定した条件に一致するアダプタがコンパイルされます。


ヒント:

Oracle Identity Managerでは、「アダプタ・マネージャ」フォームに表示されるアダプタのレコードを確認し、アダプタの詳細を参照できます。

アダプタのレコードを表示するには、該当するアダプタを選択し、行ヘッダーをダブルクリックするかアダプタを右クリックして、表示されるメニューからアダプタの起動コマンドを選択します。


2.4 アダプタの定義

アダプタを定義するには、次の手順を実行します。

  1. Oracle Identity Manager Design Consoleにログインします。

  2. 「アダプタ・ファクトリ」フォームを開きます。このフォームは、Design Consoleの「開発ツール」フォルダ内にあります。

  3. 「アダプタ名」フィールドに、アダプタの名前(Create Solaris Userなど)を入力します。


    注意:

    アダプタ名には特殊文字を使用できますが、実行時エラーが発生する場合があるため、特殊文字は使用しないことをお薦めします。


  4. アダプタ・タイプ参照フィールドをダブルクリックします。

    参照ウィンドウが表示され、5つのタイプのOracle Identity Managerアダプタが表示されます。それらは次のとおりです。

    • プロセス・タスク

    • ルール・ジェネレータ

    • 事前移入ルール・ジェネレータ

    • エンティティ

    • タスク割当て

  5. プロセス・タスクを自動化するアダプタを有効にするには、プロセス・タスク(T)を選択します。

    ビジネス・ルールをOracle Identity Managerまたはユーザー定義フォーム・フィールドに組み込むには、ルール・ジェネレータ(R)を選択します。たとえば、フォームの「ユーザーID」フィールドについて、ユーザーの名前と姓の頭文字を連結するようにOracle Identity Managerを構成できます。

    ユーザーが作成したフォーム・フィールドに、ルール・ジェネレータ・タイプのアダプタをアタッチして、次のことを実行できます。

    • アダプタによって生成されたデータを自動または手動で表示します。

    • 指定のフォーム・フィールドにどのアダプタを適用するかをOracle Identity Managerで決定できるようにする条件を使用します。

    Oracle Identity Managerまたはユーザー定義フォーム・フィールドにアダプタをアタッチし、挿入、更新および削除の前後にOracle Identity Managerでアダプタをトリガーするには、エンティティ(E)を選択します。

    プロセス・タスクのユーザーまたはグループへの割当てをアダプタで自動化できるようにするには、タスクの割当て(A)を選択します。


    ヒント:

    エンティティ・アダプタを作成する場合、ファイル制限が小さいコンピュータ上でアダプタをコンパイルするときに、エラーが生成されることがあります。この問題を回避するには、/etc/security/limits.confファイルでファイル制限を次のように変更します。

    soft nofile 4096

    hard nofile 4096

    その後、Oracle Identity Managerを再起動します。


  6. アダプタのタイプ(プロセス・タスク(T)など)を選択します。次に、「OK」をクリックします。


    関連項目:

    「フォーム・デザイナ」フォームの詳細は、「「フォーム・デザイナ」フォーム」を参照してください。


  7. 「説明」フィールドに、アダプタの説明(「このアダプタは、Solaris環境で新規ユーザーを作成するために使用します」など)を入力します。

  8. ツールバーで、「保存」をクリックします。

    アダプタはOracle Identity Managerデータベースに格納されます。

2.5 「アダプタ・ファクトリ」フォームのタブ

Design Consoleの「アダプタ・ファクトリ」フォームには、次のタブがあります。

2.5.1 アダプタ・タスク

アダプタ・タスク・タブでは、アダプタのアトミック・ファンクション・コールを作成および管理できます。これらのファンクション・コールは、アダプタ・タスクと呼ばれます。

これらのコールはJava文に変換されるため、コールの順序は重要です。つまり、Ifコールの前にElseコールを置いた場合、アダプタはコンパイルされません。また、アダプタを作成するときは、Javaプログラムの論理フローを理解する必要があります。これは、Java構文を使用するプログラムではなくアルゴリズムを記述することに似ています。

2.5.2 実行スケジュール

実行スケジュール・タブでは、Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタをトリガーするタイミングを指定できます。挿入前または更新前(あるいはその両方)にルール・ジェネレータ(アダプタ・タイプR)を実行するように、Oracle Identity Managerをスケジュールできます。エンティティ・アダプタ(アダプタ・タイプE)を挿入、更新および削除の前後に実行するように、Oracle Identity Managerを構成することもできます。


注意:

プロセス・タスクにアタッチされたプロセス・タスク・アダプタとタスク割当てアダプタは、プロセス・タスクのステータスが「保留」になるとトリガーされます。そのため、Oracle Identity Managerでこれらのタイプのアダプタをトリガーするタイミングは指定せず、Oracle Identity Managerではこれらのアダプタの実行スケジュール・タブが無効になります。

また、Oracle Identity Managerでは挿入前に常に事前移入アダプタがトリガーされるため、事前移入アダプタについてはこのタブのチェック・ボックスは無効になります。


2.5.3 リソース

「リソース」タブでは、次のことを実行できます。

  • Java APIサブタブをクリックして、アダプタで使用中のJava APIを確認します。

  • 「その他」サブタブをクリックして、必要に応じて、Java APIではないファイルをアダプタに記録できます。


注意:

この「リソース」タブにはリソース・オブジェクトは表示されません。


2.5.4 変数リスト

事前移入アダプタの場合、データはアダプタ入力変数に渡され、アダプタ論理を使用して処理されます。アダプタによって出力変数が返され、プロセス・フォーム・フィールドに割り当てられます。

変数リスト・タブでは、次のことを実行できます。

  • アダプタ変数を作成、変更および削除します。

  • 各変数のデータ型を設定し、説明を付けます。

  • アダプタ変数をリテラル参照またはアダプタ参照にマップします。また、プロセス・タスクまたはフォーム・フィールドにアタッチされるまで、マッピングを延期することもできます。

アダプタ変数がプロセス・タスクにアタッチされてプロセス・タスクが実行される場合、実行時にアダプタ変数の値を解決することもできます。その結果、プロセス固有のデータをこの変数にマップできます。

2.5.5 使用状況参照

プロセス・タスク・アダプタまたはタスク割当てアダプタの場合、使用状況参照タブには、アダプタがアタッチされたプロセス・タスクおよびそのプロセス・タスクをメンバーに持つプロセスが表示されます。

ルール・ジェネレータ・アダプタまたはエンティティ・アダプタの場合、このタブには、Oracle Identity Managerフォームおよびアダプタがアタッチされた関連データ・オブジェクトが表示されます。また、アダプタの実行スケジュールが、Oracle Identity Managerによってアダプタがトリガーされる順序を表す順序番号とともに表示されます。

事前移入アダプタの場合、このタブには、ユーザー定義フォームとアダプタがアタッチされたフォーム・フィールドが表示されます。また、アダプタに関連付けられた事前移入ルールも表示されます。

2.5.6 レスポンス

「レスポンス」タブは、プロセス・タスクに対する有効なレスポンスを定義するために使用されます。これらのレスポンスは、アダプタの実行結果に基づきます。外部システムによって返される様々なエラー・メッセージは、プロセス・タスクのコンテキストにおいて意味を持つような方法でこれらのレスポンスにマップできます。プロセス・タスクにアダプタをアタッチするときに、アダプタ・レスポンス・コードに基づいて、プロセス・タスク(およびそれに続くオブジェクト・ステータス)のステータス・バケット(「保留」、「完了」および「却下」で構成されます)を設定できます。


ヒント:

Oracle Identity Managerでは、プロセス・タスク・アダプタに対してのみ「レスポンス」タブが有効になります。タスク割当てアダプタ、ルール・ジェネレータ・アダプタ、事前移入アダプタまたはエンティティ・アダプタの場合、このタブは無効です。


2.6 アダプタの無効化と再有効化

アダプタを無効化してプロセス・タスクまたはフォーム・フィールドで使用できないようにするには、アダプタの無効化オプションを選択し、アダプタを保存します。

再度有効化するには、アダプタの無効化オプションの選択を解除し、アダプタを保存します。

2.7 アダプタ変数について

新たに作成したアダプタを機能させるために、アダプタ・タスクのパラメータにデータをマップできます。その場合は、プレースホルダ(アダプタ変数とも呼ばれる)を作成して、実行時にデータがマップされるようにします。


注意:

アダプタ変数は、すべてのアダプタ・タスクで再利用できます。


アダプタの実行にアダプタ変数が不必要になった場合は、アダプタからアダプタ変数を削除できます。アダプタ変数を削除した後、アダプタを再コンパイルしてください。

2.7.1 アダプタ変数の作成

アダプタ変数を作成するには、次の手順を実行します。

  1. アダプタ変数を追加するアダプタ(Create Solaris Userアダプタなど)を選択します。

  2. 変数リスト・タブを選択します。

  3. 「追加」をクリックします。

    変数の追加ウィンドウが表示されます。

  4. アダプタ変数値をアクティブ化した後にOracle Identity Managerで変更できないようにするには、最終を選択します。

  5. 「変数名」フィールドに、アダプタ変数の名前(SolarisUserIDなど)を入力します。


    注意:

    アダプタ変数名に空白は使用できません。


  6. 「タイプ」メニューから、アダプタ変数の分類タイプ(Stringなど)を選択します。使用可能な項目は次のとおりです。

    • オブジェクト

    • ITリソース

    • String

    • ブール

    • Character

    • Byte

    • 日付

    • Integer

    • Float

    • Long

    • Short

    • Double

  7. 「説明」テキスト領域には、アダプタ変数の説明を入力できます。

  8. 「マップ先」メニューから、アダプタ変数を表2-1の項目のいずれかにマップできます。

    表2-1 「マップ先」メニューの項目

    名前 説明

    リテラル

    このアダプタ変数は、定数(リテラル)にマップされます。

    実行時に解決

    このアダプタ変数のマッピングは、後から実行時に行われます。このオプションを選択すると、アダプタの再利用性が向上します。

    アダプタ参照

    このアダプタ変数によって、Oracle Identity Managerデータベース参照またはOracle Identity Managerデータ・オブジェクト参照にアクセスできます。

    システム日付

    このアダプタ変数がOracle Identity Managerによってトリガーされると、サーバーの現在の日付と時刻にマップされます。

    注意: このオプションは「日付」タイプを選択した場合にのみ表示されます。



    注意:

    「オブジェクト」タイプを選択すると、「修飾子」メニューが変数の追加ウィンドウに表示されます。このメニューから、次のいずれかを選択できます。

    • データベース参照。この項目を選択すると、アダプタ変数は、Oracle Identity Managerが現在実行されている対象のデータベースの参照にマップされます。

    • データ・オブジェクト参照。この項目を選択すると、アダプタ変数は、Oracle Identity Managerデータ・オブジェクトにマップされます。



    注意:

    「ITリソース」タイプを選択すると、「リソース・タイプ」メニューが変数の追加ウィンドウに表示されます。このメニューから、ITリソース・タイプの定義フォームを使用して作成されたITリソース・タイプのいずれかを選択できます。そうすることで、このITリソース・タイプのパラメータにアダプタ変数をマップできます。


  9. 変数の追加ウィンドウのツールバーで、「保存」をクリックします。アダプタ変数の情報が、Oracle Identity Managerデータベースに格納されます。

    変数の追加ウィンドウを閉じてメイン画面をアクティブにします。作成したアダプタ変数の名前、分類タイプ、マッピング選択および説明が、変数リスト・タブの子表に表示されます。

これで、このアダプタ変数が「アダプタ・ファクトリ」フォームのアダプタに加わりました。Oracle Identity Managerデータベースに保存され、アダプタ変数が使用可能になります。

2.7.2 アダプタ変数の変更

アダプタ変数を変更するには、次の手順を実行します。

  1. 編集するアダプタ変数を含むアダプタ(Create Solaris Userアダプタなど)を選択します。

  2. 変数リスト・タブをクリックし、変更するアダプタ変数の行ヘッダーをダブルクリックします。変数の編集ウィンドウが表示され、アダプタ変数の情報が表示されます。

  3. アダプタ変数のデータ型をStringからCharacterに変更するなど、必要な編集を行います。

  4. 変数の編集ツールバーで、「保存」をクリックします。アダプタ変数に関して変更された情報が、Oracle Identity Managerデータベースに格納されます。

  5. 変数の編集ウィンドウを閉じてメイン画面をアクティブにします。変更したアダプタ変数が、「アダプタ・ファクトリ」フォームの子表に表示されます。


    注意:

    アダプタ変数のデータ型を変更した場合は特に、データ・マッピングを確認し、アダプタを再コンパイルしてください。


2.7.3 アダプタ変数の削除

アダプタの実行にアダプタ変数が不要になった場合は、アダプタからアダプタ変数を削除できます。これを行うには、次の手順を実行します。

  1. 削除するアダプタ変数を含むアダプタ(Create Solaris Userアダプタなど)を選択します。

  2. 変数リスト・タブを選択します。

  3. このタブのリストから、削除するアダプタ変数を選択します。

  4. 「削除」をクリックします。

  5. 変数を削除した後、アダプタを再コンパイルします。

アダプタ変数が子表に表示されなくなります。アダプタ変数は削除されました。

2.8 アダプタ・タスクの作成

アダプタの構成と変数の作成が終了すると、アダプタのアトミック・ファンクション・コールを作成できます。これらのファンクション・コールは、アダプタ・タスクと呼ばれます。

この項では、アダプタ・タスクとタスクの作成方法について説明します。

2.8.1 アダプタ・タスクのタイプ

Oracle Identity Managerでは、次のアダプタ・タスクを作成できます。

  • Javaタスク: Java APIを起動することで、アダプタと外部ソースとの通信を可能にします。

  • リモート・タスク: アダプタによるAPIのメソッドの呼出しを可能にします。このAPIは、Oracle Identity Managerの外部にあるコンピュータに常駐します。

    このタイプのタスクは、ほとんどの場合、ネットワーク対応ではないサード・パーティAPIの統合で使用されます。Remote Managerによって、リモート・コンピュータに配置されているリモートAPIメソッドが実行されます。また、サード・パーティAPIがSSLを使用しない場合、Remote Managerを使用して、SSLで保護された通信でサード・パーティAPIを起動できます。リモート・タスクは、ネットワーク対応だがスケーラビリティ目的でOracle Identity Managerサーバーに置かれていない、サード・パーティAPIの統合でも使用できます。リモートAPIメソッドは、Remote Managerによって実行されます。ただし、サード・パーティAPIがネットワーク対応しているため、Remote Managerがターゲット・システムに存在する必要はありません。

  • ストアド・プロシージャ・タスク: Oracle Identity Managerで特定のデータベース・スキーマ内にあるSQLプログラムにマップして実行できます。これらのプログラムはストアド・プロシージャと呼ばれます。効率を高めるために事前にコンパイルされたSQL文などの情報が含まれています。

    ストアド・プロシージャ・タスクをアダプタに組み込み、このアダプタをプロセス・タスクにアタッチすることで、Oracle Identity Managerでは、ネットワーク上でアクセス可能なOracle DatabaseまたはMicrosoft SQL Serverデータベースにストアド・プロシージャを組み込むことができます。これには、ストアド・プロシージャからのプリミティブ値の取得が含まれます。

  • ユーティリティ・タスク: Oracle Identity ManagerにパッケージされたメソッドおよびAPIをアダプタに移入できます。また、このタイプのタスクを使用すると、Java標準ライブラリAPIにアクセスできます。

  • Oracle Identity Manager APIタスク: アダプタ・タスクからOracle Identity Managerで公開されたAPIにアクセスできます。これにより、アダプタ・コードの移植性が高まります。

  • 変数設定タスク: アダプタ内に変数を設定できます。

  • エラー・ハンドラ・タスク: 実行時に発生したアダプタ関連のエラーを表示できます。また、エラーの理由および考えられる解決策を表示できます。

  • ロジック・タスク: アダプタ内に条件文を構築できます。

次のタイプのロジック・タスクを作成できます。

  • FORループ

  • WHILEループ

  • IF文

  • ELSE文

  • ELSE IF文

  • BREAK文

  • RETURN文

  • CONTINUE文

  • SET VARIABLE文

  • Handle Error文


関連項目:

構築できるロジック・タスクのタイプの詳細は、第2.8.9項「ロジック・タスクの作成」を参照してください。


区別しやすくするために、Oracle Identity Managerでは、アダプタ・タスクのタイプがそれぞれアイコンで表示されます。タスク名の先頭にあるアイコンは、タスクのタイプを視覚的に示しています。たとえば、JはJavaタスクを表し、LTはロジック・タスクを表します。

アイコンのリストを表示するには、アダプタ・タスク・タブを選択し、「凡例」をクリックします。「凡例」ウィンドウが表示され、次のアイコンのリストが表示されます。

  • 関数タスク

    • Java

    • リモート

    • ストアド・プロシージャ

  • ユーティリティ・タスク

    • ユーティリティ

    • Oracle Identity Manager API

  • 論理タスク

2.8.2 Javaタスクの作成

Oracle Identity Managerでは、Java APIを使用して外部ソースとハンドシェイクできます。このためには、Oracle Identity Managerによってトリガーされた場合に外部ソースとの通信を開始するタスクを、アダプタに追加する必要があります。このタイプのタスクはJavaタスクと呼ばれます。

Javaタスクを作成するには、次の手順を実行します。

  1. Javaタスクを追加するアダプタ(Update Solaris Passwordアダプタなど)を選択します。

  2. アダプタ・タスク・タブを選択します。

  3. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されたら、関数タスク・オプションを選択します。

  4. このオプションの右側の表示領域からJava項目を選択し、「続行」をクリックします。

    オブジェクト・インスタンスの選択ウィンドウが表示されます。

    表2-2に、オブジェクト・インスタンスの選択ウィンドウのオプションを示します。

    表2-2 オブジェクト・インスタンスの選択ウィンドウのオプション

    オプション 説明

    新規オブジェクト・インスタンス

    このオプションをクリックして、新規Javaオブジェクト・インスタンスを作成します。

    永続インスタンス

    このオプションをクリックし、隣接するコンボ・ボックスをクリックして、ドロップダウン・メニューからオブジェクト・インスタンスを選択すると、永続オブジェクトにメソッドをコールできます。

    タスク戻り値インスタンス

    このオプションをクリックし、コンボ・ボックスをクリックして、ドロップダウン・メニューからアダプタ・タスクを選択すると、先に定義したアダプタ・タスクによって返されたオブジェクトにこのメソッドをコールできます。



    注意:

    永続インスタンス・オプションがグレー表示されている場合は、アダプタに永続オブジェクトが定義されていません。同様に、タスク戻り値インスタンス・オプションがグレー表示されている場合は、タスクに関連付けられたJavaオブジェクトの戻り値がありません。


  5. オプション(新規オブジェクト・インスタンスなど)をクリックして、「続行」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

    表2-3に、アダプタ・ファクトリ・タスクの追加ウィンドウの様々なリージョンを示します。

    表2-3 アダプタ・ファクトリ・タスクの追加ウィンドウのリージョン

    名前 説明

    タスク名

    このフィールドにはJavaタスクの名前が表示されます。

    永続インスタンス

    このJavaオブジェクトが再利用される場合は、チェック・ボックスが選択され、タスク・インスタンスの名前が隣のフィールドに入力されます。

    APIソース

    このコンボ・ボックスには、アクセス可能なすべてのJARファイルおよびクラス・ファイルのリストが表示されます。

    アプリケーションAPI

    このコンボ・ボックスには、アクセス可能であり、APIソース・リストで選択したJARファイルに属するすべてのクラス・ファイルのリストが表示されます。

    コンストラクタ

    このテキスト領域には、Javaオブジェクトで使用可能なすべてのコンストラクタが表示されます。

    メソッド

    このテキスト領域には、Javaオブジェクトで使用可能なすべてのメソッドのリストが表示されます。

    アプリケーション・メソッド・パラメータ

    この領域には、選択したコンストラクタおよびメソッドのパラメータが表示されます。これらのパラメータは、アダプタ変数とOracle Identity Managerコンポーネントにマップされます。


  6. 「タスク名」フィールドに、作成するタスクの名前(Update Passwordなど)を入力します。

  7. (オプション。)Javaオブジェクトを再利用可能にするには、永続インスタンスを選択し、チェック・ボックスの右側にあるテキスト・フィールドに、このタスクのインスタンスの名前を入力します。


    注意:

    インスタンス名に空白が含まれていないことを確認してください。



    注意:

    ターゲット・リソースとのセッションを、アダプタの使用中に1回のみではなく複数回参照するには、永続インスタンスを選択します。



    ヒント:

    Javaオブジェクトを永続するように設定すると、Javaオブジェクトを次に作成するときに、オブジェクト・インスタンスの選択ウィンドウの永続インスタンス・リストに表示されます。また、同一Javaオブジェクトのすべてのアダプタ・タスクにコンストラクタをマップする必要はありません。


  8. APIソースを選択します。Oracle Identity ManagerがOIM_HOME/ディレクトリ・パスのJavaTasksサブディレクトリ(C:\oracle\Xellerate\JavaTasksなど)から参照するJARファイルが表示されます。


    関連項目:

    Oracle Identity Managerでサード・パーティJARファイルをJavaタスクとともに使用する方法については、第2.3.1項「アダプタ環境の構成」を参照してください。


  9. アプリケーションAPIを選択します。APIソースで選択したJARファイルに属するクラス・ファイルが表示されます。

  10. コンストラクタ領域から、選択したJavaクラスの初期化に使用するメソッドを選択します。

  11. メソッド領域から、Javaタスクで使用するメソッドを選択します。

  12. ツールバーで、「保存」をクリックします。

    Javaタスクに関する情報が、Oracle Identity Managerデータベースに格納されます。Javaタスクのコンストラクタおよびメソッドのパラメータにアクセスできるようになります。これらのパラメータは、アダプタ・ファクトリ・タスクの追加ウィンドウのアプリケーション・メソッド・パラメータ・リージョンに表示されます。

  13. マッピングを設定する必要があるJavaクラスのコンストラクタおよびメソッドを表示するには、コンストラクタおよびメソッド・アイコンの左側にある「+」アイコンをクリックします。

  14. マッピングを設定する必要があるコンストラクタまたはメソッドのパラメータを選択します。

  15. 「説明」テキスト領域に、このマッピングの説明を入力できます。

  16. 「マップ先」コンボ・ボックスをクリックし、コンストラクタまたはメソッドのパラメータにマップできる項目(「アダプタ変数」など)を選択します。

  17. 適切なマッピングを設定します。


    関連項目:

    設定するマッピングの詳細は、「アダプタ・マッピング情報」を参照してください。


  18. 設定をクリックします。

    選択したコンストラクタまたはメソッドのパラメータが青で表示されます。これはマップ済であることを表します。


    ヒント:

    パラメータのマッピングを削除するには、そのパラメータを右クリックし、表示されるポップアップ・メニューからパラメータのマッピング解除を選択します。


  19. アプリケーション・メソッド・パラメータ・リージョンに表示されるコンストラクタおよびメソッドのすべてのパラメータに対して、手順15から18を繰り返します。

  20. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。Javaタスクに関する情報が、Oracle Identity Managerデータベースに格納されます。

  21. ツールバーで「閉じる」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成したJavaタスク(Update Passwordなど)が、「アダプタ・ファクトリ」フォームに表示されます。

  22. (オプション。)アダプタに対して追加のJavaタスクを作成するには、手順3から21を繰り返します。


    ヒント:

    様々なタイプのアダプタ・タスクを作成してアダプタに追加できます。


    アダプタが論理的に完全で、アダプタ・タスクのすべての変数がマップ済の場合、アダプタをコンパイルして、プロセス・タスクまたはフォーム・フィールドで使用できます。

  23. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。

  24. (オプション。)Oracle Identity Managerで生成されたコードを表示するには、ツールバーの「注意」をクリックします。

    Oracle Identity Managerで生成されたコードを含む「注意」ウィンドウが表示されます。


    注意:

    「ビルド」をクリックした後に、コンパイルのステータス・フィールドにCODE GEN ERRORが表示される場合は、アダプタの検証およびコンパイル中に、Oracle Identity Managerで次の2つのタイプのエラーのいずれかが発生しています。

    • 検証エラー

      Oracle Identity Managerでアダプタをチェックし、有効であることを検証しているときに、エラーが検出されました。このエラーは、アダプタ・タスクのパラメータがマップされていない場合、パラメータが正しくマップされていない場合、または配置されたアダプタ・タスクが使用できない場合に発生します。

      Oracle Identity Managerでは、アダプタの検証が終了してからアダプタのコードが生成されるため、Oracle Identity Managerで検証エラーが発生すると、コードは作成されません。

    • Javaコンパイル・エラー

      Oracle Identity Managerによって、アダプタは有効であることが検証されました。ただし、Oracle Identity Managerでアダプタのコンパイル中に、エラーが検出されました。このエラーは、アダプタ・タスク・パラメータに割り当てられたデータ型が正しくない場合に発生します。

      Oracle Identity Managerでアダプタが検証されているため、コードが生成されます。ただし、コンパイル中にOracle Identity Managerでエラーが発生した時点で、コードの生成は停止されます。



    ヒント:

    Javaタスクを作成してアダプタに追加すると、「アダプタ・ファクトリ」フォームの「リソース」タブにアクセスして、次の情報を確認できます。

    • Javaタスクの作成に使用されたJARファイルおよびクラス・ファイル

    • これらのJARファイルおよびクラス・ファイルを含むディレクトリ・パスを表す名前


2.8.3 リモート・タスクの作成

リモート・タスクを使用すると、アダプタでRemote Managerを使用してAPIメソッドを起動できます。このAPIは、Oracle Identity Managerの外部にあるコンピュータに常駐します。この項では、リモート・タスクの作成方法について説明します。


注意:

リモート・タスクを作成する前に、分類タイプが「ITリソース」のアダプタ変数を定義し、ITリソース・タイプの定義フォームを使用して作成したITリソースのいずれかを選択してください。


  1. リモート・タスクを追加するアダプタを選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されます。

  4. 関数タスク・オプションを選択します。

  5. ボタンの右側の表示領域から、リモート・タスクを作成するリモート項目を選択します。次に、「続行」をクリックします。

    オブジェクト・インスタンスの選択ウィンドウが表示されます。


    注意:

    このウィンドウの選択肢の詳細は、第2.8.2項「Javaタスクの作成」を参照してください。


  6. 「続行」をクリックします。

    アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

  7. 「タスク名」フィールドに、作成するリモート・タスクの名前を入力します。

  8. (オプション。)リモート・タスクを再利用可能にする場合は、永続インスタンス・オプションを選択します。次に、チェック・ボックスの右側にあるテキスト・フィールドに、このタスクのインスタンスの名前を入力します。


    注意:

    インスタンス名に空白が含まれていないことを確認してください。



    関連項目:


    アダプタ・ファクトリ・タスクの追加ウィンドウのリージョンの詳細は、第2.8.2項「Javaタスクの作成」を参照してください。

    Oracle Identity Managerでサード・パーティJARファイルをJavaタスクとともに使用できるようにする方法の詳細は、第2.3.1項「アダプタ環境の構成」を参照してください。

  9. アダプタ・ファクトリ・タスクの追加ウィンドウから、JARファイル、クラス・ファイル、コンストラクタおよびメソッドを選択します。次に、コンストラクタおよびメソッドのパラメータのマッピングを設定します。


    注意:

    入力パラメータの1つに、分類タイプ「ITリソース」が含まれています。このパラメータを、タイプ「ITリソース」のアダプタ変数と関連付ける必要があります。



    関連項目:

    選択するマッピングの詳細は、「アダプタ・マッピング情報」を参照してください。


  10. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。

    リモート・タスクに関する情報が、Oracle Identity Managerデータベースに格納されます。

  11. このウィンドウのツールバーで、「閉じる」をクリックします。

    アダプタ・ファクトリ・タスクの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成したリモート・タスクが「アダプタ・ファクトリ」フォームに表示されます。

  12. (オプション。)アダプタに対して追加のリモート・タスクを作成するには、手順3から11を繰り返します。

    これで、アダプタをコンパイルし、プロセス・タスクまたはフォーム・フィールドで使用できます。

  13. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチして、Oracle Identity Managerが外部APIと通信できるようになります。

2.8.4 ストアド・プロシージャ・タスクの作成

Oracle Identity Managerでは、特定のデータベース・スキーマ内にあるSQLプログラムにマップして、そのSQLプログラムを実行できます。これらのSQLプログラムは、ストアド・プロシージャと呼ばれます。ストアド・プロシージャには、効率を高めるために事前にコンパイルされたSQL文などの情報が含まれています。

そのためには、ストアド・プロシージャ・タスクをアダプタに追加する必要があります。Oracle Identity Managerでトリガーされると、このタスクによって、ネットワーク上でアクセス可能なOracle DatabaseまたはMicrosoft SQL Serverデータベースにストアド・プロシージャが組み込まれます。これには、ストアド・プロシージャからのプリミティブ値の取得が含まれます。

ストアド・プロシージャ・タスクを作成するには、次の手順を実行します。


注意:

データベース・スキーマのパラメータ値とサーバー・タイプは、「ITリソース」フォームで設定します。

スキーマのサーバー・タイプは、「データベース」に設定する必要があります。それ以外では、ストアド・プロシージャ・タスクの作成または実行(あるいはその両方)の際に、Oracle Identity Managerでデータベース・スキーマを参照できません。

また、Oracle Identity Managerでは、パラメータで表される値(データベース名やURLなど)を使用してスキーマに接続します。その結果、スキーマに含まれるストアド・プロシージャを実行できます。


  1. Oracle Databaseを使用するOracle Identity Managerインストールの場合、ojdbc14.jarファイルをOIM_HOME/ext/ディレクトリからOIM_DC_HOME/xlclient/extディレクトリにコピーします。

    Microsoft SQL Serverを使用するOracle Identity Managerインストールの場合、次のファイルをMicrosoftから入手し、OIM_DC_HOME/xlclient/extディレクトリにコピーする必要があります。

    • msbase.jar

    • mssqlserver.jar

    • msutil.jar

  2. ストアド・プロシージャ・タスクを追加するアダプタ(Update User IDアダプタなど)を選択します。

  3. アダプタ・タスク・タブをクリックします。

  4. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されます。

  5. 関数タスク・オプションを選択します。

  6. オプションの右側の表示領域からストアド・プロシージャを選択し、「続行」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

    次の表に、アダプタ・ファクトリ・タスクの追加ウィンドウのリージョンを示します。

    表2-4 アダプタ・ファクトリ・タスクの追加ウィンドウのリージョン

    名前 説明

    タスク名

    ストアド・プロシージャ・タスクの名前が表示されます。

    説明

    ストアド・プロシージャ・タスクに関する説明が表示されます。

    データベース

    「ITリソース」フォームで定義されたデータベースがリストされます。

    重要: サーバー・タイプが「データベース」であるITリソースのみが「データベース」リストに表示されます。

    スキーマ

    「データベース」リストに表示されるデータベースに関連付けられたスキーマがリストされます。

    プロシージャ

    スキーマ・リストに表示されるデータベース・スキーマに常駐するストアド・プロシージャがリストされます。

    接続ステータス

    Oracle Identity Managerとターゲット・ストアド・プロシージャを含むデータベース間の接続のステータスが表示されます。

    Oracle Identity Managerがデータベースに接続可能な場合は、接続ステータス・リージョンに接続が確立されましたと表示されます。

    注意: Oracle Identity Managerが接続できない場合は、表示領域に接続に失敗しましたと表示されます。また、アダプタ・ファクトリ・タスクの追加ウィンドウの「注意」ボタンが有効になります。このボタンをクリックすると、次の例に示すように、接続を確立できなかった理由が表示されます。

    例外タイプ:

    java.lang.ClassNotFoundExceptionMessage:

    java.lang.ClassNotFoundException:

    oracle.jdbc.driver.OracleDriver

    この例では、特定のJavaクラスが見つからなかったため、Oracle Identity Managerは指定されたデータベースに接続できませんでした。

    パラメータ

    ストアド・プロシージャにマップできるパラメータが表示されます。これらのパラメータは、データベース、スキーマおよびストアド・プロシージャを選択し、この情報をOracle Identity Managerデータベースに保存した後で表示されます。


  7. 「タスク名」フィールドに、作成するストアド・プロシージャ・タスクの名前(Update IDなど)を入力します。

  8. 「説明」テキスト領域に、このストアド・プロシージャ・タスクの説明を入力できます。

  9. 「データベース」リストをクリックします。「ITリソース」フォームで定義されたデータベースが表示されます。


    注意:

    選択したデータベースにOracle Identity Managerが接続できない場合は、表示領域に接続に失敗しましたと表示されます。また、アダプタ・ファクトリ・タスクの追加ウィンドウの「注意」ボタンが有効になります。このボタンをクリックすると、接続を確立できなかった理由が表示されます。



    ヒント:

    スキーマおよびストアド・プロシージャは、Oracle Identity Managerで接続できるデータベースを選択した後にのみ表示されます。この選択に基づいて、関連するスキーマおよびプロシージャが、対応するコンボ・ボックスに表示されます。


  10. スキーマ・リストをクリックします。選択したデータベースに関連付けられたスキーマが表示されます。

  11. プロシージャ・リストをクリックします。スキーマ・コンボ・ボックスから選択したデータベース・スキーマに常駐するストアド・プロシージャが表示されます。

  12. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。ストアド・プロシージャ・タスクに関する情報が、Oracle Identity Managerデータベースに保存されます。

    これで、ストアド・プロシージャのパラメータにマッピングを設定できます。これらのパラメータは、アダプタ・ファクトリ・タスクの追加ウィンドウの「パラメータ」リージョンに表示されます。


    注意:

    選択したストアド・プロシージャのデータベースおよびスキーマは、Oracle Identity Managerによって自動的にマップされます。ただし、Oracle Identity Managerでこれらのマッピングを上書きできます。



    関連項目:

    選択するマッピングの詳細は、「アダプタ・マッピング情報」を参照してください。


  13. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。ストアド・プロシージャ・タスクのパラメータに設定したマッピングが、Oracle Identity Managerデータベースに格納されます。

  14. このウィンドウのツールバーで、「閉じる」をクリックします。

    アダプタ・ファクトリ・タスクの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成したストアド・プロシージャ・タスク(Update IDなど)が、「アダプタ・ファクトリ」フォームに表示されます。

  15. (オプション。)アダプタに追加のストアド・プロシージャ・タスクを作成するには、手順3から13を繰り返します。

  16. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチでき、選択したストアド・プロシージャをOracle Identity Managerでマップおよび実行できます。

2.8.5 ユーティリティ・タスクの作成

アダプタ・ファクトリは、アダプタ開発の効率を高めるユーティリティ・クラスおよびメソッドのライブラリとともに出荷されています。

これらのユーティリティ・クラスとメソッドは、xlUtils.jarxlIntegration.jarおよびrt.jarファイル内にあります。これらのJARファイルのいずれかのクラスまたはメソッドを使用して作成したJavaタスクは、ユーティリティ・タスクと呼ばれます。


関連項目:

xlUtils.jar、xlAPI.jar、xlIntegration.jarおよびrt.jarファイルを含むクラス・ファイルの詳細は、Oracle Fusion Middleware Oracle Identity Manager Java APIリファレンスを参照してください。


  1. ユーティリティ・タスクを追加するアダプタ(Update Solaris User Groupアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されます。

  4. ユーティリティ・タスク・オプションを選択します。

  5. オプションの右側の表示領域からユーティリティを選択し、「続行」をクリックします。オブジェクト・インスタンスの選択ウィンドウが表示されます。


    関連項目:

    このウィンドウの選択肢の詳細は、「Javaタスクの作成」を参照してください。


  6. 「続行」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

  7. 「タスク名」フィールドに、作成するユーティリティ・タスクの名前(Update User Groupなど)を入力します

  8. (オプション。)ユーティリティ・タスクを再利用可能にする場合は、永続インスタンスを選択し、チェック・ボックスの右側にあるテキスト・フィールドに、このタスクのインスタンスの名前を入力します。


    注意:

    インスタンス名に空白が含まれていないことを確認してください。



    関連項目:


    アダプタ・ファクトリ・タスクの追加ウィンドウのリージョンの詳細は、「Javaタスクの作成」を参照してください。

    「アダプタ環境の構成」を参照してください。

  9. アプリケーションAPIリストをクリックします。xlUtils.jarxlIntegration.jarおよびrt.jarファイルに属するクラス・ファイルが表示されます。


    注意:

    xlUtils.jar、xlIntegration.jarおよびrt.jarファイルには、ユーティリティ・タスクで使用できるすべてのクラス・ファイルが含まれています。したがって、APIソース・リストにアクセスする必要はありません。


  10. アダプタ・ファクトリ・タスクの追加ウィンドウから、コンストラクタおよびメソッドを選択します。次に、コンストラクタおよびメソッドのパラメータのマッピングを設定します。


    関連項目:

    選択するマッピングの詳細は、「アダプタ・マッピング情報」を参照してください。


  11. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。ユーティリティ・タスクに関する情報が、Oracle Identity Managerデータベースに格納されます。

  12. このウィンドウのツールバーで、「閉じる」をクリックします。

    アダプタ・ファクトリ・タスクの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成したユーティリティ・タスク(Update User Groupなど)が、「アダプタ・ファクトリ」フォームに表示されます。

  13. (オプション。)アダプタに追加のユーティリティ・タスクを作成するには、手順3から12を繰り返します。

    これで、アダプタをコンパイルし、プロセス・タスクまたはフォーム・フィールドで使用できます。

  14. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。

2.8.6 Oracle Identity Manager APIタスクの作成

アダプタ・コードの移植性を高めるために、Oracle Identity Manager APIタスクでは、Oracle Identity Managerによって公開されたAPIをアダプタ・タスクで呼び出すことができます。これは、ハードコードされたSQL文を介してOracle Identity Managerデータに直接アクセスするよりもよい方法です。

アダプタ・ファクトリは、Oracle Identity Manager APIタスクを含むアダプタの開発の効率を高めるユーティリティ・クラスおよびメソッドのライブラリとともに出荷されています。これらのユーティリティ・クラスとメソッドは、xlAPI.jarファイル内にあります。


関連項目:

xlUtils.jar、xlAPI.jar、xlIntegration.jarおよびrt.jarファイルを含むクラス・ファイルの詳細は、Oracle Fusion Middleware Oracle Identity Manager Java APIリファレンスを参照してください。


このタイプのアダプタ・タスクを作成するには、次の手順を実行します。

  1. Oracle Identity Manager APIタスクを追加するアダプタ(Get User's Passwordアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されます。

  4. ユーティリティ・タスク・オプションを選択します。

  5. オプションの右側の表示領域からXellerate APIを選択し、「続行」をクリックします。オブジェクト・インスタンスの選択ウィンドウが表示されます。


    関連項目:

    このウィンドウの詳細は、「Javaタスクの作成」を参照してください。


  6. 「続行」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

  7. 「タスク名」フィールドに、作成するOracle Identity Manager APIタスクの名前(Retrieve Passwordなど)を入力します。

  8. (オプション。)Oracle Identity Manager APIタスクを再利用可能にする場合は、永続インスタンスを選択します。次に、チェック・ボックスの右側にあるテキスト・フィールドに、このタスクのインスタンスの名前を入力します。


    ヒント:

    インスタンス名に空白が含まれていないことを確認してください。



    関連項目:


    アダプタ・ファクトリ・タスクの追加ウィンドウのリージョンの詳細は、「Javaタスクの作成」を参照してください。

    Oracle Identity Managerでサード・パーティJARファイルをJavaタスクとともに使用できるようにする方法の詳細は、「アダプタ環境の構成」を参照してください。

  9. アプリケーションAPIリストをクリックします。xlAPI.jarファイルに属するクラス・ファイルが表示されます。


    注意:

    xlAPI.jarファイルには、Oracle Identity Manager APIタスクで使用できるすべてのクラス・ファイルが含まれています。したがって、APIソース・リストにアクセスする必要はありません。


  10. アダプタ・ファクトリ・タスクの追加ウィンドウから、クラス・ファイル、コンストラクタおよびメソッドを選択します。次に、コンストラクタおよびメソッドのパラメータのマッピングを設定します。


    関連項目:

    選択するマッピングの詳細は、「アダプタ・マッピング情報」を参照してください。


  11. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。Oracle Identity Manager APIタスクに関する情報が、Oracle Identity Managerデータベースに格納されます。

  12. アダプタ・ファクトリの追加ウィンドウを閉じてメイン画面をアクティブにします。作成したOracle Identity Manager APIタスク(Retrieve Passwordなど)が、「アダプタ・ファクトリ」フォームに表示されます。

  13. (オプション。)アダプタに追加のOracle Identity Manager APIタスクを作成するには、手順3から12を繰り返します。

    これで、アダプタをコンパイルし、プロセス・タスクまたはフォーム・フィールドで使用できます。

  14. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチして、Oracle Identity Managerがサード・パーティ・アプリケーションと通信できるようになります。

2.8.7 アダプタ変数の値の再割当て

アダプタが必要な目的を完了できるように、アダプタ変数の値を、別のアダプタ変数、異なるタイプのアダプタ・タスクまたは定数(リテラル)に再割当てする必要がある場合があります。アダプタ変数値の再割当てを可能にするタスクは、変数設定タスクと呼ばれます。


関連項目:

アダプタ変数の詳細は、「アダプタ変数について」を参照してください。


たとえば、ユーザーIDの長さが11文字未満の場合に、アダプタ変数の戻り値をアダプタ・タスク(UserName)の出力と等しくなるように設定する変数設定タスクを作成できます。

変数設定タスクを作成するには、次の手順を実行します。

  1. 変数設定タスクを追加するアダプタ(Check the Solaris User IDアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 「追加」をクリックします。アダプタ・タスクの選択ウィンドウが表示されます。

  4. ロジック・タスク・オプションを選択します。

  5. 表示領域からSET VARIABLEを選択し、「続行」をクリックします。変数設定タスク・パラメータの追加ウィンドウが表示されます。

  6. 「変数名」リストから、再割当てする値(アダプタ戻り値など)を持つアダプタ変数を選択します。

  7. オペランド・タイプ・リストから、変数に値を提供するオペランドのタイプを選択します。


    ヒント:

    アダプタ変数の値を、別のアダプタ変数、異なるタイプのアダプタ・タスクまたはリテラルに再割当てできます。


    表2-5を使用して、様々なオペランドのタイプについて理解してください。

    表2-5 オペランドのタイプ

    オペランド名 説明

    変数

    このオペランド・タイプを選択すると、アダプタ変数がオペランド修飾子リストに表示されます。このリストから、再割当て値を提供する特定のアダプタ変数を選択します。

    注意: オペランド修飾子コンボ・ボックスには、「変数名」コンボ・ボックスに表示されるアダプタ変数と同じデータ型のアダプタ変数のみが表示されます。

    アダプタ・タスク

    このオペランド・タイプを選択すると、アダプタ・タスクがオペランド修飾子コンボ・ボックスに表示されます。このコンボ・ボックスから、再割当て値を提供する特定のアダプタ・タスクを選択します。

    注意: オペランド修飾子コンボ・ボックスには、「変数名」コンボ・ボックスに表示されるアダプタ・タスクと同じデータ型のアダプタ・タスクのみが表示されます。

    リテラル

    このオペランド・タイプを選択すると、リテラルのタイプがオペランド修飾子コンボ・ボックスに表示されます。このコンボ・ボックスから、再割当て値を提供するリテラルのタイプを選択します。次に、コンボ・ボックスの下に表示されるフィールドに特定のリテラルを入力します。


次のタスクでは、アダプタ変数の戻り値をUserNameアダプタ変数と等しくなるように設定します。

  1. 変数設定タスク・パラメータの追加ウィンドウのツールバーで、「保存」をクリックします。作成した変数設定タスクが、Oracle Identity Managerデータベースに格納されます。

  2. 変数設定タスク・パラメータの追加ウィンドウのツールバーで、「閉じる」をクリックします。変数設定タスク・パラメータの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成した変数設定タスク(Set Adapter return value = UserNameなど)が、「アダプタ・ファクトリ」フォームに表示されます。

  3. (オプション。)アダプタに追加の変数設定タスクを作成するには、手順3から9を繰り返します。

    これで、アダプタをコンパイルし、プロセス・タスクまたはフォーム・フィールドで使用できます。

  4. アダプタをコンパイルするには、「ビルド」をクリックします。コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。Oracle Identity Managerによってアダプタがコンパイルされ、エラーは検出されませんでした。アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。

2.8.8 エラー・ハンドラ・タスクの追加

エラー・ハンドラ・タスクを追加するには、次の手順を実行します。

  1. アダプタ・タスクからエラーが返される場合があります。これが発生すると、アダプタがアタッチされたプロセス・タスクまたはフォーム・フィールドは拒否されます。

    独自のカスタマイズ可能なエラー・メッセージをアタッチして、ユーザーに表示することができます。これらのメッセージはエラー・ハンドラ・タスクと呼ばれます。

    たとえば、ユーザーIDの長さが10文字を超える場合にエラー・メッセージを表示するエラー・ハンドラ・タスクをアダプタにアタッチできます。

  2. エラー・ハンドラ・タスクを追加するアダプタ(Check the Solaris User IDアダプタなど)を選択します。

  3. アダプタ・タスク・タブをクリックします。

  4. 「追加」をクリックします。

    アダプタ・タスクの選択ウィンドウが表示されます。

  5. ロジック・タスク・オプションを選択します。

  6. 表示領域からエラー処理を選択し、「続行」をクリックします。アダプタ・ファクトリ・タスクの追加ウィンドウが表示されます。

  7. このウィンドウの参照フィールドをダブルクリックします。アダプタに追加できるエラー・ハンドラ・タスクが表示された「参照」ウィンドウが表示されます。


    注意:

    この「参照」ウィンドウには、ADAPTERで始まるエラー・ハンドラ・タスク(ADAPTER.USERIDLENERRなど)のみが表示されます。

    アダプタに組み込むエラー・ハンドラ・タスクがない場合は、「エラー・メッセージ定義」フォームにアクセスして作成できます。「エラー・メッセージの作成」を参照してください。


  8. 使用するエラー・ハンドラ・タスク(ADAPTER.USERIDLENERRなど)を選択します。

  9. 「OK」をクリックします。「参照」ウィンドウが閉じ、アダプタ・ファクトリ・タスクの追加ウィンドウがアクティブになります。また、選択したエラー・ハンドラ・タスクが、このウィンドウのフィールドに表示されます。

  10. アダプタ・ファクトリ・タスクの追加ウィンドウのツールバーで、「保存」をクリックします。アダプタに組み込んだエラー・ハンドラ・タスクが、Oracle Identity Managerデータベースに格納されます。

  11. このウィンドウのツールバーで、「閉じる」をクリックします。

    アダプタ・ファクトリ・タスクの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。追加したエラー・ハンドラ・タスク(Handle Error.ADAPTER.USERIDLENERRなど)が、「アダプタ・ファクトリ」フォームの子表に表示されます。

  12. (オプション。)アダプタに追加のエラー・ハンドラ・タスクを作成するには、手順3から10を繰り返します。

    アダプタが論理的に完全で、アダプタ・タスクのすべての変数がマップ済の場合、アダプタをコンパイルして、プロセス・タスクまたはフォーム・フィールドで使用できます。

  13. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。


関連項目:

「エラー・メッセージ定義」フォームを使用したエラー・メッセージの作成の詳細は、「エラー・メッセージの作成」を参照してください。


2.8.9 ロジック・タスクの作成

アダプタを定義するときに、アダプタに条件文を追加して論理フローを管理できます。これらの条件文は、ロジック・タスクと呼ばれます。たとえば、ユーザーIDの長さが10文字を超える場合にアクションをトリガーするロジック・タスクを作成できます。

ロジック・タスクを作成するには、次の手順を実行します。

  1. ロジック・タスクを追加するアダプタ(Check the Solaris User IDアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 「追加」をクリックします。アダプタ・タスクの選択ウィンドウが表示されます。

  4. ロジック・タスク・オプションを選択します。

  5. 表示領域から、作成するロジック・タスクのタイプを選択します。次に、「続行」をクリックします。


    注意:

    条件式を選択して「続行」をクリックすると、次のいずれかのアクションが発生します。

    Oracle Identity Managerによって、条件文がアダプタに直接追加されます。

    構成できる条件式に関するフィールドを含むセカンダリ・ウィンドウが表示されます。


    特定の条件文を選択した場合に発生する内容については、表2-6を参照してください。

    表2-6 特定の条件文から発生するアクション

    条件文 文がアダプタに直接追加される セカンダリ・ウィンドウが表示される

    FOR


    X

    WHILE


    X

    IF


    X

    ELSE

    X


    ELSE IF


    X

    BREAK

    X


    RETURN

    X


    CONTINUE

    X



    表2-7に、アダプタ・ファクトリ・ロジック・タスク・パラメータの追加ウィンドウの様々なリージョンを示します。

    表2-7 アダプタ・ファクトリ・ロジック・タスクの追加ウィンドウのリージョン

    名前 説明

    オペランド・タイプ

    これらのコンボ・ボックスには、アダプタ・タスクやアダプタ変数など、オペランドのタイプが表示されます。

    コンパレータ・コンボ・ボックス

    このコンボ・ボックスから、2つのオペランドの関係(<、=、>など)を設定できます。

    オペランド修飾子

    これらのコンボ・ボックスには、オペランドの修飾子が表示されます。

    リテラル・テキスト・ボックス

    「リテラル」オペランド・タイプを選択した場合は、このフィールドに特定のリテラルを入力します。



    注意:

    FOR条件文を選択すると、アダプタ・ファクトリ・ロジック・タスク・パラメータの追加ウィンドウが表示されます。ただし、異なるテキスト・ボックスとコンボ・ボックスが表示されます。


    FOR条件式の場合は、表2-8を使用して、このアダプタ・ファクトリ・ロジック・タスク・パラメータの追加ウィンドウの様々なリージョンについて理解してください。

    表2-8 FOR条件文の場合のアダプタ・ファクトリ・ロジック・タスク・パラメータの追加

    名前 説明

    オペランド・タイプ

    これらのコンボ・ボックスには、アダプタ・タスクやアダプタ変数など、オペランドのタイプが表示されます。

    コンパレータ・コンボ・ボックス

    このコンボ・ボックスから、2つのオペランドの関係(<、=、>など)を設定できます。

    オペランド修飾子

    これらのコンボ・ボックスには、オペランドの修飾子が表示されます。

    増分コンボ・ボックス

    この領域で、初期値の増減とその量を設定できます。



    注意:

    ELSE、BREAK、RETURNまたはCONTINUE条件式を選択した場合は、手順8に進んでください。


  6. 条件式にパラメータを設定します。

    このロジック・タスクでは、ユーザーIDの長さが10文字を超えているかどうかが確認されます。

  7. アダプタ・ファクトリ・ロジック・タスク・パラメータの追加ウィンドウのツールバーで、「保存」をクリックします。

    作成したロジック・タスクが、Oracle Identity Managerデータベースに格納されます。

  8. このウィンドウのツールバーで、「閉じる」をクリックします。アダプタ・ファクトリ・ロジック・タスク・パラメータの追加ウィンドウが閉じ、メイン画面が再びアクティブになります。作成したロジック・タスク(If (Check ID Length > 10)など)が、「アダプタ・ファクトリ」フォームに表示されます。

  9. (オプション。)アダプタに追加のロジック・タスクを作成するには、手順3から8を繰り返します。


    注意:

    ロジック・タスクの条件で実行されるすべてのアダプタ・タスクは、そのロジック・タスクの下に正しくネストされている必要があります。



    関連項目:

    タスクのネストの詳細は、第2.10項「タスクの順序とネストの変更」を参照してください。


    これで、アダプタをコンパイルし、プロセス・タスクまたはフォーム・フィールドで使用できます。

  10. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。

2.9 アダプタ・タスクの変更

次の手順では、変更が必要になった場合のアダプタ・タスクの編集方法について説明します。アダプタ・タスクを変更するには、次の手順を実行します。

  1. 編集するアダプタ・タスクを含むアダプタ(Update Solaris User Groupアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 変更するアダプタ・タスクをダブルクリックします。

    選択したアダプタ・タスクに関する情報を示すアダプタ・ファクトリ・タスク・パラメータの編集ウィンドウが表示されます。このウィンドウで、必要な変更を行います。

  4. アダプタ・ファクトリ・タスク・パラメータの編集ウィンドウのツールバーで、「保存」をクリックします。

    変更した情報が、Oracle Identity Managerデータベースに格納されます。

  5. ツールバーで「閉じる」をクリックします。

    アダプタ・ファクトリ・タスク・パラメータの編集ウィンドウが閉じます。メイン画面が再びアクティブになります。変更したタスクが、「アダプタ・ファクトリ」フォームの子表に表示されます。プロセス・タスクまたはフォーム・フィールドで使用できるように、アダプタを再コンパイルする必要があります。

  6. アダプタを再コンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。


注意:

Java、Xellerate APIまたはユーティリティ・タスク内のAPIコールは変更できません。アダプタ・タスクを削除し、再作成する必要があります。また、コンパイルのステータス・フィールドにCODE GEN ERRORが表示される場合は、アダプタのコンパイル中にOracle Identity Managerでエラーが発生しました。エラーを修正し、必要に応じてアダプタ・タスクを再度変更し、アダプタを再コンパイルしてください。


2.10 タスクの順序とネストの変更

複数のタスクをアダプタに追加する場合、アダプタが機能するように、タスクの実行順序を変更するか、あるタスクを別のタスク内に入れることができます。

次の手順では、タスクの順序とネストを変更する方法について説明します。


注意:

アダプタ・タスクのマッピングの依存性を理解したうえで、アダプタ・タスクの順序とネストを変更してください。


タスクの順序とネストを変更するには、次の手順を実行します。

  1. 順序またはネスト(あるいはその両方)を変更するタスクを含むアダプタ(Check the Solaris User IDアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

    現在のアダプタに属するタスクが表示されます。

    この例では、次のように変更する必要があります。

    • エラー・ハンドラ・タスクをIF (Check ID Length > 10)ロジック・タスク内にネストする必要があります。

    • 変数設定タスクをELSEロジック・タスク内にネストする必要があります。

    • IFロジック・タスクをELSEロジック・タスクより前にします。

    そのため、最初にロジック・タスクを再編成する必要があります。次に、エラー・ハンドラ・タスクと変数設定タスクをIFおよびELSEロジック・タスク内にそれぞれネストする必要があります。タスクを再編成するには、次の手順を実行します。

  3. 別のタスクの前に実行する必要があるタスクを選択し、上へ矢印ボタンをクリックします。選択したタスクの位置が、その前のタスクと入れ替わります。

    または

    別のタスクの後に実行する必要があるタスクを選択し、下へ矢印ボタンをクリックします。強調表示されたタスクが、下にあったタスクの下に表示されます。

    タスクをネストするか、またはタスクのネストを削除するには、次の手順を実行します。

  4. 別のタスク内に置く必要があるタスクを選択し、矢印ボタンをクリックします。選択したタスクが、その上に表示されるタスク内にネストされます。

    または

    別のタスク内にネストしないようにするタスクを選択し、矢印ボタンをクリックします。強調表示されたタスクが、その上に表示されるタスク内にネストされなくなります。

  5. ツールバーで「保存」をクリックします。

    アダプタのタスクの順序とネストが、Oracle Identity Managerデータベースに格納されます。アダプタが論理的に完全で、アダプタ・タスクのすべての変数がマップ済の場合、アダプタをコンパイルして、プロセス・タスクまたはフォーム・フィールドで使用できます。

  6. アダプタをコンパイルするには、「ビルド」をクリックします。

    コンパイルのステータス・フィールドのテキストが、再コンパイルから「OK」に変わります。これは、Oracle Identity Managerによってアダプタがコンパイルされ、エラーが検出されなかったことを示します。これで、アダプタをプロセス・タスクまたはフォーム・フィールドにアタッチできます。


    注意:

    コンパイルのステータス・フィールドにCODE GEN ERRORが表示される場合は、アダプタのコンパイル中にOracle Identity Managerでエラーが検出されました。エラーを修正し、必要に応じてアダプタ・タスクを再度変更し、アダプタを再コンパイルしてください。


2.11 アダプタ・タスクの削除

アダプタの実行にアダプタ・タスクが不要になった場合は、アダプタからアダプタ・タスクを削除する必要があります。アダプタ・タスクを削除するには、次の手順を実行します。

  1. 削除するタスクを含むアダプタ(Update Solaris User Groupアダプタなど)を選択します。

  2. アダプタ・タスク・タブをクリックします。

  3. 削除するタスク(CONTINUEロジック・タスクなど)を選択します。

  4. 「削除」をクリックします。

    選択したタスクが削除され、子表に表示されなくなります。

  5. ツールバーで「保存」をクリックします。

  6. アダプタを再コンパイルします。


注意:

アダプタ・タスクを削除する場合は、アダプタのロジックが矛盾なく維持されていることを確認してください。


2.12 レスポンスの使用

アダプタには様々な結果があり、レスポンスと呼ばれます。これらのレスポンスに基づいて、アダプタで他のプロセス・タスクをトリガーできます。

たとえば、アダプタからTrueレスポンスが返された場合、プロセス・タスクのステータスを自動的に「完了」に設定できます。ただし、アダプタからFalseレスポンスが返された場合は、プロセス・タスクのステータスを自動的に却下に設定し、別のプロセス・タスクをトリガーできます。

これらのレスポンスは、「アダプタ・ファクトリ」フォームの「レスポンス」タブで追加、変更または削除できます。

次の手順では、レスポンスを作成、変更および削除する方法について説明します。


注意:

プロセス・タスク・アダプタはプロセス・タスクにアタッチされているため、レスポンスはこれらのアダプタでのみ使用されます。ルール・ジェネレータ、事前移入アダプタおよびエンティティ・アダプタは、プロセスに関連付けられません。また、タスク割当てアダプタはレスポンスに関連付けられません。そのため、アクティブなアダプタがタスク割当てアダプタ、ルール・ジェネレータ、事前移入アダプタまたはエンティティ・アダプタである場合、Oracle Identity Managerで「レスポンス」タブは無効になります。


2.12.1 レスポンスの作成

  1. レスポンスを追加するアダプタ(Create Solaris Userアダプタなど)を選択します。

  2. 「レスポンス」タブをクリックします。

  3. 「追加」をクリックします。

    「レスポンス」タブに空の行が挿入されます。

  4. コード名列内に表示されるフィールドをクリックします。

  5. 生成可能なレスポンス・タイプを表すコード(Trueなど)を入力します。

  6. 「説明」列内に表示されるフィールドをクリックします。

  7. このレスポンスの説明(「ユーザーは正常に作成されました。」など)を入力します。

  8. 「ステータス」列内に表示されるフィールドをダブルクリックします。

    レスポンスに関連付け可能な様々なステータス・レベルを示す「参照」ポップアップ・ウィンドウが表示されます。


    注意:

    Oracle Identity Managerのステータス・レベルの詳細は、4-1ページの第4章「プロセス・タスク・アダプタについて」を参照してください。


  9. 目的のステータス・レベル(完了(C)など)をクリックします。次に、「OK」をクリックします。

    「参照」ウィンドウが閉じ、「レスポンス」タブが再びアクティブになります。

  10. 「追加」ボタンをクリックし、コード名フィールドおよび「説明」フィールドにそれぞれFalseおよび「ユーザーは正常に作成されませんでした。」と入力して、別のレスポンスを作成します。次に、「参照」ウィンドウにアクセスし、却下(R)ステータス・レベルをこのレスポンスに割り当てます。

  11. ツールバーで「保存」をクリックします。

    このアダプタに対して作成したレスポンスが、Oracle Identity Managerデータベースに格納されました。このアダプタをプロセス・タスクにアタッチすると、これらのレスポンスは「プロセス定義」フォームのタスクの編集ウィンドウの「レスポンス」タブに表示されます

2.12.2 レスポンスの変更

次の手順では、レスポンスを編集する方法について説明します。

  1. 編集するレスポンスを含むアダプタ(Create Solaris Userアダプタなど)を選択します。

  2. 「レスポンス」タブをクリックします。

  3. 変更する情報を含むレスポンスのフィールドをダブルクリックします。

    1. フィールドがテキスト・フィールドの場合、Oracle Identity Managerでフィールドが有効になります。これで、このフィールドの内容を編集できます。

    2. フィールドが参照フィールドの場合、レスポンスに関連付け可能な様々なステータス・レベルを示す「参照」ポップアップ・ウィンドウが表示されます。目的のステータス・レベルをクリックし、「OK」をクリックします。

    たとえば、Falseレスポンスの「ステータス」列をダブルクリックし、一時停止(S)ステータス・レベルを選択して「OK」をクリックします。

  4. ツールバーで「保存」をクリックします。

    レスポンスに対して変更した情報が、Oracle Identity Managerデータベースに格納されます。

2.12.3 レスポンスの削除

レスポンスが不要になった場合は、アダプタから削除できます。

  1. 削除するレスポンスを含むアダプタを選択します。

  2. 「レスポンス」タブをクリックします。

  3. 削除するレスポンスを選択します。

  4. 「削除」をクリックします。

レスポンスが表示されなくなります。これは、Oracle Identity Managerによってレスポンスが削除されたことを示します。

2.13 ルール・ジェネレータおよびエンティティ・アダプタのスケジューリング

Oracle Identity Managerでは、プロセス・タスク・アダプタまたはタスク割当てアダプタがプロセス・タスクにアタッチされ、プロセス・タスクのステータスが保留である場合、これらは自動的にトリガーされます。また、Oracle Identity Managerでは、挿入前に常に事前移入アダプタがトリガーされます。そのため、プロセス・タスク・アダプタ、タスク割当てアダプタまたは事前移入アダプタがいつ実行されるかは、スケジュールしません。

一方、ルール・ジェネレータおよびエンティティ・アダプタは、フォーム・フィールドにアタッチされます。Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタを実行するには、これらがいつトリガーされるかを指定する必要があります。これは、実行スケジュール・タブで実行します。


注意:

エンティティ・アダプタがフィールド値の検証用にプロセス・フォームまたはオブジェクト・フォームにアタッチされている場合、ダイレクト・プロビジョニングまたはリクエスト・プロビジョニングの完了後にこれらのフォームのデータを編集すると、これらのアダプタがトリガーされます。


このタブを使用して、挿入前または更新前にOracle Identity Managerによってルール・ジェネレータまたはエンティティ・アダプタがトリガーされるように設定できます。また、削除前、挿入後、更新後および削除後にエンティティ・アダプタが実行されるようにスケジュールすることもできます。

この手順では、ルール・ジェネレータまたはエンティティ・アダプタをトリガーするようにOracle Identity Managerを構成する方法について説明します。

2.13.1 ルール・ジェネレータおよびエンティティ・アダプタのスケジューリング

ルール・ジェネレータおよびエンティティ・アダプタをスケジュールするには、次の手順を実行します。

  1. Oracle Identity Managerでトリガーするルール・ジェネレータまたはエンティティ・アダプタ(Solaris User ID Generatorなど)を選択します。


    注意:

    プロセス・タスク・アダプタまたは事前移入アダプタを使用する場合、実行スケジュール・タブは使用しません。したがって、このタブとその内容はグレー表示されています。


  2. 実行スケジュール・タブをクリックします

    実行スケジュール・タブの内容が表示されます。

    次の表は、実行スケジュール・タブの様々なチェック・ボックスを理解するのに役立ちます。

    名前 説明

    挿入前

    このチェック・ボックスをクリックすると、レコードがデータベースに挿入される前に、Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタをトリガーできます。

    更新前

    このチェック・ボックスをクリックすると、レコードがデータベースで更新される前に、Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタをトリガーできます。

    削除前

    このチェック・ボックスをクリックすると、レコードがデータベースから削除される前に、Oracle Identity Managerでエンティティ・アダプタをトリガーできます。

    挿入後

    このチェック・ボックスをクリックすると、レコードがデータベースに挿入された後に、Oracle Identity Managerでエンティティ・アダプタをトリガーできます。

    更新後

    このチェック・ボックスをクリックすると、レコードがデータベースで更新された後に、Oracle Identity Managerでエンティティ・アダプタをトリガーできます。

    削除後

    このチェック・ボックスをクリックすると、レコードがデータベースから削除された後に、Oracle Identity Managerでエンティティ・アダプタをトリガーできます。



    注意:

    実行スケジュール・タブのチェック・ボックスをクリックして、Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタをいつトリガーできるかを定義します。「データ・オブジェクト・マネージャ」フォームでは、Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタがいつトリガーされるかを指定できます。

    「データ・オブジェクト・マネージャ」フォームの詳細は、「ルール・ジェネレータ・アダプタ変数のマッピング」を参照してください。


  3. 目的のチェック・ボックスを有効にします。次に、ツールバーで、「保存」をクリックします。

    Oracle Identity Managerでルール・ジェネレータまたはエンティティ・アダプタを実行するように設定した条件が、Oracle Identity Managerデータベースに格納されます。