この章では、次のオプションの手順について説明します。
ノート:
Oracle Identity Managerリリース11.1.2以降では、問合せ参照はサポートされません。Oracle Identity Managerシステム管理コンソールでの「フォーム・デザイナ」を使用した参照の管理の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理を参照してください。
この項では、次の項目について説明します。
Oracle Identity ManagerとPeopleSoftターゲット・システム間のデフォルトのフィールド・マッピングは変更できます。たとえば、PERSON_BASIC_FULLSYNCメッセージ用のLookup.PSFT.HRMS.PersonBasicSync.AttributeMapping参照定義には、デフォルトの属性マッピングが含まれています。必要に応じて、この事前定義済の属性マッピング・セットに追加できます。
デフォルトでは、ターゲット・システムのEmployee IDフィールドはOracle Identity ManagerのUser Loginフィールドにマップされています。このマッピングを、たとえばEmployee IDがPS_EMPLIDにマップされるように変更するとします。このフィールドに基づいてプロファイルを照合するために、新しいリコンシリエーション・プロファイルを作成する前にリコンシリエーション・ルールを変更する必要もあります。これを説明している例は、サンプル・リコンシリエーションの次のスクリーンショットを参照してください。
完全リコンシリエーション用の新規属性を追加するには、次のようにします。
ノート:
完全リコンシリエーション用の新規属性を追加しない場合は、この手順を実行する必要はありません。
Oracle Identity Manager Design Consoleで、必要な変更を次の手順で行います。
関連項目:
次のステップの詳細な実行方法は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのターゲット・リコンシリエーションのターゲット・システム属性の追加を参照してください。
新しいユーザー定義フィールドを作成します。ユーザー定義フィールドを作成する手順は、「増分リコンシリエーション用の新規属性の追加」のステップ5を参照してください。
新規属性に対応するリコンシリエーション・フィールドをPeoplesoft HRMSリソース・オブジェクトに追加します。たとえば、Employee ID
リコンシリエーション・フィールドを追加できます。
PeopleSoft HRMS Personプロセス定義を変更して、新しく追加したフィールドとそれに対応するリコンシリエーション・フィールドとの間のマッピングを指定します。前述の例では、マッピングは次のようになります。
Employee ID = Employee ID
「Object Reconciliation」タブで、「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
メッセージ固有の属性マッピング参照定義に新しい属性を追加します。たとえば、PERSON_BASIC_FULLSYNCメッセージの場合はLookup.PSFT.HRMS.PersonBasicSync.AttributeMapping参照定義に追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
AttributeName |
|
次に例を示します:
コード・キー: Empl ID
デコード: EMPLID~PERSON
この例では、Empl ID
がリコンシリエーション・フィールドであり、対応するターゲット・システム・フィールドはEMPLID
です。
次のスクリーンショットに、このマッピングを示します。
リソース・オブジェクト属性リコンシリエーション参照定義に新しい属性を追加します。たとえば、PERSON_BASIC_FULLSYNCメッセージの場合はLookup.PSFT.HRMS.PersonBasicSync.Recon参照に追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
RO Attribute |
|
次に例を示します:
コード・キー: Employee ID
デコード: Empl ID
次のスクリーンショットは、このマッピングを示しています。
この例では、RO属性は、前のステップで追加したリソース・オブジェクト属性名です。デコード値は、メッセージ固有の属性マッピング参照定義内のコード・キー値です。
カスタム問合せ参照定義に新しい属性を追加します。詳細は、「Lookup.PSFT.HRMS.CustomQuery参照定義の設定」を参照してください。
標準的な増分リコンシリエーションでは、事前定義済属性のリコンシリエーションが行われます。必要に応じて、リコンサイルされる属性のリストに新しい属性を追加できます。
ノート:
増分リコンシリエーション用の新しい属性を追加しない場合は、この項を省略できます。
増分リコンシリエーション用の新しい属性を追加するには、次のようにします。
Oracle Identity Manager Design Consoleで、必要な変更を次の手順で行います。
関連項目:
次のステップの詳細な実行方法は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドのターゲット・リコンシリエーションのターゲット・システム属性の追加を参照してください。
新しいユーザー定義フィールドを作成します。ユーザー定義フィールドを作成する手順は、この手順のステップ5を参照してください。
新規属性に対応するリコンシリエーション・フィールドをPeoplesoft HRMSリソース・オブジェクトに追加します。前述の例では、Employee IDというリコンシリエーション・フィールドを追加できます。
PeopleSoft HRMS Personプロセス定義を変更して、新しく追加したフィールドとそれに対応するリコンシリエーション・フィールドとの間のマッピングを指定します。前述の例では、マッピングは次のようになります。
Employee ID = Employee ID
「Object Reconciliation」タブで、「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
メッセージ固有の属性マッピング参照定義(PERSON_BASIC_SYNCメッセージ用のLookup.PSFT.HRMS.PersonBasicSync.AttributeMapping参照定義など)に新しい属性を追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
AttributeName |
|
次に例を示します:
コード・キー: Empl ID
デコード: EMPLID~PERSON
この例では、Empl ID
がリコンシリエーション・フィールドであり、対応するターゲット・システム・フィールドはEMPLIDです。
リソース・オブジェクト属性リコンシリエーションの参照定義(PERSON_BASIC_SYNCメッセージ用のLookup.PSFT.HRMS.PersonBasicSync.Recon参照定義など)に新しい属性を追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
RO Attribute |
|
次に例を示します:
コード・キー: Employee ID
デコード: Empl ID
この例では、RO属性は、前のステップで追加したリソース・オブジェクト属性名です。デコード値は、メッセージ固有の属性マッピング参照定義内で定義されているコード・キー値です。
カスタム問合せ参照定義に新しい属性を追加します。詳細は、「Lookup.PSFT.HRMS.CustomQuery参照定義の設定」を参照してください。
Oracle Identity Managerでユーザー定義フィールド(UDF)を作成するには:
Oracle Identity Management管理コンソールにログインします。
「拡張」をクリックします。
「構成」タブで、「ユーザー構成」をクリックします。
「アクション」メニューから、「ユーザー属性」を選択します。
「属性の作成」をクリックします。
作成する属性(UDF)の詳細を入力します。「カテゴリ」リストから「カスタム属性」を選択します。
属性プロパティに値を設定します。
入力したデータを確認し、属性を保存します。
場合によっては、OIMユーザー・フォームのフィールド(属性)の長さを変更する必要があります。たとえば、Japaneseロケールを使用する場合は、ターゲット・システムのマルチバイト・データを格納するためにOIMユーザー・フォームのフィールド長を増やす場合があります。
OIMユーザー・フォームのフィールド長を変更する場合は、次のようにします。
要件に応じて、リコンサイルされる単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、リコンシリエーション操作中にOracle Identity Managerに番号記号(#)が送信されないように、ユーザー・フォームの「名」フィールドに入力したデータを検証できます。
検証チェックに合格しなかったデータについては、ログ・ファイル内に次のメッセージが表示または記録されます。
フィールド
FIELD_NAME
に返された値はfalseです。
データの検証を構成するには:
Javaクラスで必要な検証ロジックを実装するコードを記述します。
関連項目:
このインタフェースの詳細は、コネクタに付属のJavadocを参照してください。
次の署名を使用してクラスを作成する必要があります。
public boolean validate (HashMap arg0, HashMap arg1, String arg2)
この署名コードの説明は次のとおりです。
arg0
には、プライマリ表のフィールド値が含まれます。
arg1
には、子表のフィールド値が含まれます。
arg2
は、検証を実行する必要があるフィールドです。
次のサンプル検証クラスは、「名」属性の値に番号記号(#)が含まれるかどうかを確認します。
package com.validate; import java.util.*; public class MyValidation { public boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String field) { /* * You must write code to validate attributes. Parent * data values can be fetched by using hmUserDetails.get(field) * For child data values, loop through the * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table") * Depending on the outcome of the validation operation, * the code must return true or false. */ /* * In this sample code, the value "false" is returned if the field * contains the number sign (#). Otherwise, the value "true" is * returned. */ boolean valid=true; String sFirstName=(String) hmUserDetails.get(field); for(int i=0;i<sFirstName.length();i++){ if (sFirstName.charAt(i) == '#'){ valid=false; break; } } return valid; } } /* End */
Javaクラスを格納するJARファイルを作成します。
Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。
ノート:
このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME
環境変数が設定されていることを確認してください。
Microsoft Windowsの場合:
OIM_HOME/server/bin/UploadJars.bat
UNIXの場合:
OIM_HOME/server/bin/UploadJars.sh
ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。
リコンシリエーション用のプロセス・フォーム・フィールドを検証するためのJavaクラスを作成した場合は、次のようにします。
Design Consoleにログインします。
メッセージ固有構成の参照定義を検索して開きます。
たとえば、WORKFORCE_SYNC用のLookup.PSFT.Message.WorkForceSync.Configuration参照定義を見つけます。この参照定義の詳細は、Lookup.PSFT.Message.WorkForceSync.Configurationを参照してください。この参照定義内に「Validation Lookup Definition」パラメータがあるか確認します。デコード値は、検証参照の名前を指定します。この例では、デコード値はLookup.PSFT.HRMS.WorkForceSync.Validationです。
Lookup.PSFT.HRMS.WorkForceSync.Validation参照定義を検索して開きます。
「Code Key」列に、First Name
と入力します。「Decode」列に、com.validate.MyValidation
と入力します。
ここで、「Code Key」列には、検証するフィールドの列値を指定します。デコード値は、検証ロジックを含むJavaクラスの完全パッケージ名です。
参照定義に変更を保存します。
メッセージ固有構成の参照定義(この例ではLookup.PSFT.Message.WorkForceSync.Configuration参照定義)を検索して開きます。
「Use Validation」エントリの値をyes
に設定します。
参照定義に変更を保存します。
アプリケーション・サーバーからPeopleSoftOIMListener.earファイルを削除します。
ステップ2で作成した検証JARファイルを次のディレクトリにコピーします。
CONN_HOME/listener/deployable-archive/PeoplSoftOIMListener.ear/PeoplSoftOIMListener.war/WEB-INF/lib
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーに再デプロイします。次のコマンドを実行します。
ant redeploy
デプロイメント・ツールの詳細は、「PeopleSoftリスナーのデプロイ」を参照してください。
要件に応じて、リコンサイルされる単一値データの変換を構成できます。たとえば、Currency Code値を使用して、Oracle Identity ManagerでのCurrency Codeフィールドの値を作成します。
データ変換を構成するには、次のようにします。
Javaクラスで必要な変換ロジックを実装するコードを記述します。
関連項目:
このインタフェースの詳細は、コネクタに付属のJavadocを参照してください。
次のサンプル変換クラスは、ターゲット・システムから受信したCurrency Code値の前にドル記号($)を付加することにより、Currency Code属性の値を変更しています。
package com.transform; import java.util.*; public class MyTransform { /* Description:Abstract method for transforming the attributes param hmUserDetails<String,Object> HashMap containing parent data details param hmEntitlementDetails <String,Object> HashMap containing child data details */ public Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails,String sField) { /* * You must write code to transform the attributes. Parent data attribute values can be fetched by using hmUserDetails.get("Field Name"). *To fetch child data values, loop through the * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table") * Return the transformed attribute. */ System.out.println("sfield =" + sField); String sCurrencyCode= (String)hmUserDetails.get(sField); sCurrencyCode = "$"+sCurrencyCode; return sCurrencyCode; } } /* End */
Javaクラスを格納するJARファイルを作成します。
Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。
ノート:
このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME
環境変数が設定されていることを確認してください。
Microsoft Windowsの場合:
OIM_HOME/server/bin/UploadJars.bat
UNIXの場合:
OIM_HOME/server/bin/UploadJars.sh
ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。
リコンシリエーション用のプロセス・フォーム・フィールドを検証するためのJavaクラスを作成した場合は、次のようにします。
Design Consoleにログインします。
メッセージ固有構成の参照定義(この例では、WORKFORCE_SYNCメッセージ用のLookup.PSFT.Message.WorkForceSync.Configuration参照定義)を検索して開きます。
この参照定義の詳細は、Lookup.PSFT.Message.WorkForceSync.Configurationを参照してください。この参照定義内に「Transformation Lookup Definition」パラメータがあるか確認します。デコード値は、変換参照の名前を指定します。この例では、デコード値はLookup.PSFT.HRMS.WorkForceSync.Transformationです。
Lookup.PSFT.HRMS.WorkForceSync.Transformation参照定義を検索して開きます。
「Code Key」列にCurrency Code
と入力します。「Decode」列にcom.transform.MyTransform
と入力します。
ここで、「Code Key」列には、検証するフィールドの列値を指定します。デコード値は、変換ロジックを含むJavaクラスの完全パッケージ名です。
参照定義に変更を保存します。
メッセージ固有構成の参照定義(この例ではLookup.PSFT.Message.WorkForceSync.Configuration参照定義)を検索して開きます。
「Use Transformation」エントリの値をyes
に設定します。
参照定義に変更を保存します。
アプリケーション・サーバーからPeopleSoftOIMListener.earファイルを削除します。
ステップ2で作成した変換JARファイルを次のディレクトリにコピーします。
CONN_HOME/listener/deployable-archive/PeoplSoftOIMListener.ear/PeoplSoftOIMListener.war/WEB-INF/lib
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーに再デプロイします。次のコマンドを実行します。
ant redeploy
デプロイメント・ツールの詳細は、「PeopleSoftリスナーのデプロイ」を参照してください。
メッセージ固有構成の参照内のカスタム問合せ属性の値として問合せ条件を指定することにより、制限付きのリコンシリエーションを構成します。この参照定義の詳細は、「Lookup.PSFT.HRMS.CustomQuery」を参照してください。
問合せで使用するOIMユーザー属性がLookup.PSFT.HRMS.CustomQuery参照定義内に存在していることを確認する必要があります。ユーザー・フォームでUDFを追加するたびに、この参照定義に行を追加する必要があります。
新しいUDFをこの参照定義に追加するには、次のようにします。
Lookup.PSFT.HRMS.WorkForceSync.EmpStatus参照定義では、WORKFORCE_SYNCメッセージXML内のACTIONノードから取得された値が、Oracle Identity Managerに表示される従業員のステータスとマップされています。この参照定義の詳細は、「Lookup.PSFT.HRMS.WorkForceSync.EmpStatus」を参照してください。
次の項では、この参照定義にアクション(一時停止など)を追加する方法について説明します。
Lookup.PSFT.HRMS.WorkForceSync.EmpStats参照定義にアクションを追加するには、次のようにします。
この項では、次の項目について説明します。
ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。次の例でこの要件について説明します。
Example Multinational Inc.のロンドンおよびニューヨークの事業所には、それぞれ独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。
このような例で示される要件に対応するには、ITリソースやリソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成できます。
コネクタ・オブジェクトのコピーを作成するかどうかは、要件に基づいて決定できます。たとえば、ITリソースに1つのターゲット・システム・インストールの接続情報を格納できます。したがって、ターゲット・システム・インストールごとにITリソースのコピーを作成する必要があります。
これ以外のコネクタ・オブジェクトの一部については、コピーを作成する必要はありません。たとえば、ターゲット・システムのすべてのインストールに対して単一の属性マッピング参照定義を使用できます。
ノート:
1つのリスナーをターゲット・システムの複数のインストールに対して使用できます。異なるITリソース名で同じリスナーを指し示すようにノードを構成できます。
すべてのコネクタ・オブジェクトはリンクされています。たとえば、スケジュール済ジョブにITリソースの名前を格納します。同様に、ITリソースに共通構成参照定義の名前(Lookup.PSFT.HRMS.Configuration)を格納します。オブジェクトのコピーを作成する場合、他のコネクタ・オブジェクト内にコピーの名前を指定する必要があります。表4-1に、コピーを作成可能なコネクタ・オブジェクトと、それらのオブジェクトを参照する他方のオブジェクトの間の関連付けを示します。オブジェクトのコピーを作成する場合、この情報を使用して、そのオブジェクトと他方のオブジェクトの関連付けを変更します。
表4-1 コネクタ・オブジェクトおよびそれらの関連付け
コネクタ・オブジェクト | 名前 | 参照元 | 説明 |
---|---|---|---|
ITリソース |
PSFT HRMS |
|
ITリソースのコピーは別の名前で作成する必要があります。 |
リソース・オブジェクト |
Peoplesoft HRMS |
メッセージ固有構成の参照定義:
|
リソース・オブジェクトのコピーの作成は、オプションです。他のターゲット・システムから同じ属性セットをリコンサイルする場合、新しいリソース・オブジェクトを作成する必要はありません。 ノート: このリソース・オブジェクトのコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみにしてください。 |
共通構成参照定義 |
Lookup.PSFT.HRMS.Configuration |
メッセージ固有構成の参照定義:
|
共通構成参照定義のコピーの作成は、オプションです。 ノート: この参照定義のコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみにしてください。 |
メッセージ固有構成の参照定義 |
|
属性マッピングの参照定義:
|
メッセージ固有の参照定義のコピーの作成は、オプションです。 ノート: この参照定義のコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみにしてください。 |
属性マッピングの参照定義 |
|
N/A |
この参照定義には、ターゲット・システムからのXMLメッセージ・ファイルからリコンサイルされた属性の情報が含まれます。 ノート: この参照定義のコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみにしてください。 |
リコンシリエーション・マッピング参照定義 |
|
N/A |
この参照定義では、リソース・オブジェクト・フィールドがメッセージからリコンサイルされたデータとマップされています。 ノート: この参照定義のコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみにしてください。 |
コネクタ・オブジェクトのコピーを作成するには、次のようにします。
ノート:
この手順のステップの詳細情報は、Oracle Fusion Middleware Oracle Identity Managerの管理のコネクタのクローニングを参照してください。
特定のターゲット・システムのインストールからデータをリコンサイルするには、そのターゲット・システムのインストールのITリソース名を、スケジュール済タスク属性ITResource
の値として指定します。