ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Integration Platform管理者ガイド
11g リリース1(11.1.1)
B65032-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Oracle Human Resourcesとの同期

企業内の従業員データ用のプライマリ・リポジトリとしてOracle Human Resourcesを使用している場合は、Oracle Human ResourcesとOracleバックエンド・ディレクトリの間でデータを同期化する必要があることがあります。同期化には、Oracle Human Resourcesコネクタを使用します。

この章では、Oracle Human Resourcesコネクタを紹介し、そのデプロイ方法を説明します。内容は次のとおりです。

10.1 Oracle Human Resourcesとの同期化の概要

Oracle Human Resourcesコネクタを使用すると、従業員データのサブセットをOracle Human ResourcesからOracleバックエンド・ディレクトリにインポートできます。これには、事前パッケージ済の統合プロファイルおよびOracleバックエンド・ディレクトリとの通信を処理するOracle Human Resourcesエージェントの両方が含まれます。Oracle Enterprise Manager Fusion Middleware Controlを使用して、デプロイの要件を満たすように、事前パッケージ済の統合プロファイルをカスタマイズできます。

Oracle Human Resourcesコネクタは、Oracle Human Resourcesシステムから増分変更を抽出するように構成することによって、いつでも実行できるようにスケジュールできます。また、Oracle Human Resourcesの列名とOracleバックエンド・ディレクトリの属性の間のマッピングを設定および変更できます。

10.2 Oracle Human Resourcesからインポートできるデータ

表10-1は、Oracle Human Resourcesスキーマの表を示しています。選択した場合は、これらの属性のほとんどをOracle Internet Directoryにインポートできます。

表10-1 Oracle Human Resourcesスキーマの表

表名 コネクタ構成情報フィールドで使用される別名

PER_PEOPLE_F

PER

PER_ADDRESSES

PA

PER_PERIODS_OF_SERVICE

PPS

PER_PERSON_TYPES

PPT


Oracle Human Resourcesデータベースにappsアカウントでログインした場合は、これらの表はすべて参照できます。

属性は実行時に構成ファイルから追加または削除できるので、Oracle Human Resourcesコネクタは、必要な属性のみを選択して取得するSQL文を動的に作成します。

表10-2は、Oracle Human Resourcesのユーザー・インタフェースのフィールドの一部を示しています。これらのフィールドは、従業員データを追加または変更するときに表示されます。

表10-2 Oracle Human Resourcesのユーザー・インタフェースのフィールド

属性名 説明 フォーム/キャンバス/フィールド名

LAST_NAME

個人の姓

個人情報/氏名/姓

FIRST_NAME

個人の名

個人情報/氏名/名

TITLE

個人の役職

個人情報/氏名/タイトル

SUFFIX

サフィックス(Jr、Sr、Ph.Dなど)

個人情報/氏名/サフィックス

MIDDLE_NAME

ミドルネーム

個人情報/氏名/ミドルネーム

SEX

性別

性別リスト・ボックス

START_DATE

入社日

個人情報/入社日

DATE_OF_BIRTH

生年月日

個人情報/個人情報/生年月日

MARITAL_STATUS

婚姻区分

個人情報/個人情報/ステータス

NATIONAL_INDENTIFIER

米国居住者用社会保障番号

個人情報/識別情報/社会保障

EMPLOYEE_NUMBER

従業員番号

個人情報/識別情報/従業員

REGISTERD_DISABLED_FLAG

障害の有無のインジケータ

個人情報/個人情報/障害の有無

EMAIL_ADDRESS

電子メール・アドレス

個人情報/個人情報/Eメール

OFFICE_NUMBER

オフィス所在地

個人情報/オフィス所在地情報/オフィス

MAILSTOP

郵便物配達先

個人情報/オフィス所在地情報/郵便宛先

INTERNAL_LOCATION

事務所

個人情報/オフィス所在地情報/事業所

ADDRESS_LINE1

住所1

個人住所情報/住所1

ADDRESS_LINE2

住所2

個人住所情報/住所2

ADDRESS_LINE3

住所3

個人住所情報/住所3

TOWN_OR_CITY

市区町村

個人住所情報/市区

REGION_1

地域1

個人住所情報/郡

REGION_2

地域2

個人住所情報/都道府県

POSTAL_CODE

郵便番号

個人住所情報/郵便番号

COUNTRY

個人住所情報/国

TELEPHONE_NUMBER_1

電話番号1

個人住所情報/電話番号

TELEPHONE_NUMBER_2

電話番号2

個人住所情報/電話番号2


10.3 Oracle Human ResourcesとOracleバックエンド・ディレクトリ間の同期の管理

この項の内容は次のとおりです。

10.3.1 タスク1: Oracle Human Resourcesコネクタのディレクトリ統合プロファイルの構成

Oracle Human Resourcesコネクタとともにインストールされる事前パッケージ済の統合プロファイルを構成するには、第7章「ディレクトリ同期プロファイルの管理」を参照してください。

パッケージ済統合プロファイルの一部のパラメータでは、Human Resourcesコネクタとの統合に固有の値を指定する必要があります。Human Resourcesコネクタに固有のパラメータは、表10-3を参照してください。

表10-3 Oracle Human Resourcesコネクタ統合プロファイルに固有の属性

属性 説明

プロファイル名(odip.profile.name)

システム内でコネクタを識別するための一意の名前で、統合プロファイルを識別する識別名のRDNコンポーネントとして使用されます。名前に含めることができるのは、英数字のみです。この属性は必須で、変更できません。デフォルトの名前はOracleHRAgentです。

同期モード(odip.profile.syncmode)

Oracleバックエンド・ディレクトリと接続ディレクトリ間での同期の方向。

  • IMPORTは接続ディレクトリからOracleバックエンド・ディレクトリへの変更のインポートを示します。

  • EXPORTはOracleバックエンド・ディレクトリから接続ディレクトリへの変更のエクスポートを示します。

デフォルトはIMPORTです。

この属性は必須で、変更可能です。

注意: Oracle Internet Directory 11gリリース1(11.1.1)では、Oracle Human Resourcesに対するインポート操作のみがサポートされます。

実行情報


エージェントの実行コマンド
(odip.profile.agentexecommand)

Directory Integration Serverがコネクタの実行に使用する、コネクタ実行可能ファイルの名前と引数のリスト。

この属性は必須で、変更可能です。

デフォルトは次の値です。

odihragent OracleHRAgent  connect=hrdb \
login=%odip.profile.condiraccount \
pass=%odip.profile.condirpassword \
date=%orclODIPLastSuccessfulExecutionTime \

引数connect=hrdbの値は、Oracle Human Resourcesシステム・データベースの接続文字列に設定する必要があります。

接続されたディレクトリ・アカウント(odip.profile.condiraccount)

コネクタが同期で使用する、接続ディレクトリ内の有効なユーザー・アカウント。Human Resources Agentの場合のユーザー・アカウントは、Oracle Human Resourcesデータベース内の有効なユーザー識別子です。

関連項目: コマンドラインで引数を渡す一般的な使用方法は、第10章「Oracle Human Resourcesとの同期」を参照してください。

拡張構成情報(odip.profile.configfile)

コネクタをOracleバックエンド・ディレクトリに格納する構成情報。コネクタの起動時に、Directory Integration Serverによってコネクタに渡されます。この情報は属性として格納され、Directory Integration Serverはその内容を認識しません。

この属性に格納される値は、Oracle Human Resourcesからの同期が必要な(Oracle Human Resourcesコネクタについて)すべての属性を表します。

関連項目: 「タスク2: Oracleバックエンド・ディレクトリと同期化される属性のリストの構成」

Oracle Human Resourcesコネクタの場合、この属性は必須です。

接続されたディレクトリURL(odip.profile.condirurl)

接続ディレクトリのホストとポートの詳細情報です。host:port:sidの書式で入力する必要があります。

インタフェース・タイプ
(odip.profile.interface)

データ転送に使用するインタフェース。このインタフェースはタグ付きファイルの形式であるため、TAGGEDに設定されます。

注意: Oracle Human Resourcesプロファイルの場合、この属性は変更しないでください。

マッピング情報


マッピング・ルール
(odip.profile.mapfile)

マッピング・ルールを格納するための属性。Oracle Enterprise Manager Fusion Middleware Controlを使用して、ファイルにマッピング・ルールを格納します。Oracle Enterprise Manager Fusion Middleware Controlの使用方法は、第7章「ディレクトリ同期プロファイルの管理」を参照してください。

Oracle Human Resourcesの場合、この属性は必須で、変更可能です。

関連項目:

接続されたディレクトリ一致フィルタ
(odip.profile.condirfilter)

Oracle Human Resources接続には使用されません。

OID一致フィルタ

(odip.profile.oidfilter)

この属性は、Oracleバックエンド・ディレクトリでのターゲット・エントリの検索に使用されるLDAPフィルタを指定します。Oracle Directory Integration Platformはこのフィルタを使用して、同期に必要なLDAP操作の種類を検出します。

employeenumber=%の形式で指定します。

これはオプションで、変更可能です。

ステータス情報


OID前回適用された変更番号(odip.profile.lastchgnum)

この属性は、すべてのエクスポート・プロファイルの基準で、Oracle Human Resourcesの同期には適用されません。


10.3.2 タスク2: Oracleバックエンド・ディレクトリと同期化される属性のリストの構成

デフォルトのOracle Human Resourcesプロファイルは、Oracle Human ResourcesからOracleバックエンド・ディレクトリに同期化される属性のデフォルト・リストを提供します。このリストはカスタマイズ可能で、属性を追加または削除できます。

デフォルトの属性リストは、統合プロファイルの一部としてorclodipAgentConfigInfo属性に格納されます。構成情報も、$ORACLE_HOME/ldap/odi/confディレクトリにあるoraclehragent.cfg.masterファイルに用意されています。


注意:

oraclehragent.cfg.masterファイルはバックアップとして機能するため、変更できません。

表10-4に、Oracle Human Resourcesの属性のデフォルト・リストの列を示します。

表10-4 デフォルトでOracleバックエンド・ディレクトリと同期化されるOracle Human Resourcesの属性

説明

ATTRNAME

出力データ・ファイルに生成される出力タグ。

COLUMN_NAME

この値の取得元になるデータベース列名。

TABLE_NAME

この値の取得元になるデータベース表名。

FORMAT

この属性の列データ型(ASCII、NUMBER、DATE)。

MAP

この属性をOracle Human Resourcesから抽出するかどうかのインジケータ。値Yは抽出されることを示し、値Nは抽出されないことを示します。


oraclehragent.cfg.masterファイルの内容は、次のとおりです。

ATTRNAME:COLUMN_NAME:TABLE_NAME:FORMAT:MAP
PersonId:person_id:PER:NUMBER:Y
PersonType:person_type_id:PER:NUMBER:Y
PersonTypeName:system_person_type:PPT:ASCII:Y
LastName:last_name:PER:ASCII:Y
StartDate:start_date:PER:DATE:Y
BirthDate:date_of_birth:PER:DATE:Y
EMail:email_address:PER:ASCII:Y
EmployeeNumber:employee_number:PER:NUMBER:Y
FirstName:first_name:PER:ASCII:Y
FullName:full_name:PER:ASCII:Y
knownas:known_as:PER:ASCII:Y
MaritalStatus:marital_status:PER:ASCII:Y
middleName:middle_names:PER:ASCII:Y
country:country:PA:ASCII:Y
socialsecurity:national_identifier:PER:ASCII:Y
Sex:sex:PER:ASCII:Y
Title:title:PER:ASCII:Y
suffix:suffix:PER:ASCII:Y
street1:address_line1:PA:ASCII:Y
zip:postal_code:PA:ASCII:Y
Address1:address_line1:PA:ASCII:Y
Address2:address_line2:PA:ASCII:Y
Address3:address_line3:PA:ASCII:Y
TelephoneNumber1:telephone_number_1:PA:ASCII:Y
TelephoneNumber2:telephone_number_2:PA:ASCII:Y
TelephoneNumber3:telephone_number_3:PA:ASCII:Y
town_or_city:town_or_city:PA:ASCII:Y
state:region_2:PA:ASCII:Y
Start_date:effective_start_date:PER:DATE:Y
End_date:effective_end_date:PER:DATE:Y
per_updateTime:last_update_date:PER:DATE:Y
pa_updateTime:last_update_date:PA:DATE:Y

10.3.2.1 同期化されるOracle Human Resourcesの追加属性の変更

同期化されるOracle Human Resourcesの属性を追加する手順は、次のとおりです。

  1. oraclehragent.cfg.masterファイルをコピーし、Agent_Name.cfg以外の名前を付けます。これは、Oracle Directory Integration Platformがこの名前の構成ファイルを生成し、実行時に構成情報をOracle Human Resourcesエージェントに渡すのに使用するためです。

  2. このファイルにレコードを追加することにより、Oracle Human Resourcesの同期化される属性を追加します。

    これには、次の情報が必要です。

    • 属性値の抽出元になるデータベース内の表名。これらの表は、表10-1に示されています。このファイルでは、同期に使用される4つの表に、省略された名前が使用されます。

    • 表の列名。

    • 列のデータ型。有効な値は、ASCIINUMBERおよびDATEです。

    また、列名に属性名を割り当てる必要もあります。これは、出力ファイル内でこの属性を識別するための出力タグとして動作します。このタグは、マッピング・ルール内でOracle Human Resourcesの属性とOracleバックエンド・ディレクトリの属性の間のルールを確立するために使用されます。

    map列(レコード内の最後の列)が値Yに設定されていることを確認する必要もあります。


    注意:

    属性リストに新規属性を追加する場合は、orclodipAttributeMappingRules属性内に対応するルールを定義する必要があります。定義しない場合、Oracle Human Resourcesの属性は、Oracle Human Resourcesコネクタに抽出されてもOracleバックエンド・ディレクトリと同期化されません。

10.3.2.2 Oracle Human Resourcesの同期化される属性の除外

現在Oracle Internet Directoryと同期化されているOracle Human Resourcesの属性を除外するには、次の手順を実行します。

  1. oraclehragent.cfg.masterファイルをコピーし、Agent_Name.cfg以外の名前を付けます。これは、Directory Integration Serverがこの名前の構成ファイルを生成し、実行時に構成情報をOracle Human Resourcesコネクタに渡すのに使用するためです。

  2. 次のいずれか1つを行います。

    • 属性リスト内の対応するレコードの前に番号記号(#)を付けてコメント化する。

    • mapの値をNに設定する。

10.3.2.3 構成ファイルでのSQL SELECT文の構成による複雑な選択基準のサポート

前述のサポートされている属性の構成が、Oracle Human Resourcesデータベースからデータを抽出するには不十分な場合、Oracle Human Resourcesエージェントは、構成ファイル内にある事前構成済のSQL SELECT文を実行することもできます。構成ファイルには、このサポートを示すタグ(構成ファイル内の[SELECT])があります。

次の例は、Oracle Human Resourcesデータベースから情報の一部を取得するサンプルのSELECT文を示しています。SQL文を配置できるのは、[SELECT]タグの下のみです。BINDVARバインド変数は、増分変更を取得するために必要です。代入値によって、この変数の値(タイムスタンプ)がOracle Human Resourcesコネクタに渡されます。

SELECT文で取得されるすべての列式には列名を指定する必要であり、たとえば、REPLACE(ppx.email_address),'@ORACLE.COM','')EMAILADDRESSとして取得されます。Oracle Human Resourcesコネクタは、REPLACE(ppx.email_address),'@ORACLE.COM'''式の結果としての属性値とともに、EMAILADDRESSを属性名として出力ファイルに書き出します。

次に構成ファイル内のSELECT文の例を示します。

[SELECT]

SELECT
     REPLACE(ppx.email_address,'@ORACLE.COM','') EMAILADDRESS ,
     UPPER(ppx.attribute26) GUID,
     UPPER(ppx.last_name) LASTNAME,
     UPPER(ppx.first_name) FIRSTNAME,
     UPPER(ppx.middle_names) MIDDLENAME,
     UPPER(ppx.known_as) NICKNAME,
     UPPER(SUBSTR(ppx.date_of_birth,1,6)) BIRTHDAY,
     UPPER(ppx.employee_number) EMPLOYEEID,
     UPPER(ppos.date_start)  HIREDATE
FROM
   hr_organization_units hou,
   per_people_x ppx,
   per_people_x mppx,
   per_periods_of_service ppos
  WHERE
      pax.supervisor_id  = mppx.person_id(+)
  AND pax.organization_id = hou.organization_id(+)
  AND ppx.person_id = ppos.person_id
  AND ppx.person_id = pax.person_id
  AND ppos.actual_termination_date IS NULL
  AND UPPER(ppx.current_employee_flag) = 'Y'
  AND ppx.last_update_date >= (:BINDVAR,'YYYYMMDDHH24MISS')

10.3.3 タスク3: Oracle Human Resourcesコネクタに関するマッピング・ルールの設定

属性マッピング・ルールは、Oracle Directory Integration PlatformがOracle Human ResourcesとOracle Internet Directoryの間で属性を変換する方法を制御します。Oracle Directory Integration Platformが使用するマッピング・ルールはカスタマイズできます。

Oracle Human Resourcesエージェント・プロファイルにはデフォルトのマッピング・ファイルがあり、一連のマッピング・ルールはorclodipAttributeMappingRules属性に含まれます。この情報は、$ORACLE_HOME/ldap/odi/confディレクトリの下にあるoraclehragent.map.masterという名前のファイルにも格納されています。


注意:

oraclehragent.map.masterファイルは変更しないでください。これは、バックアップとして機能しているためです。


関連項目:

oraclehragent.map.masterファイルの内容およびマッピング・ルール・レコードの形式の説明は、「マッピング・ルールとその形式」を参照してください。

10.3.4 タスク4: Oracle Human ResourcesからOracleバックエンド・ディレクトリへの同期の準備

この項では、Oracle Human ResourcesからOracleバックエンド・ディレクトリへの同期の設定方法について説明します。

10.3.4.1 同期の準備

Oracle Human ResourcesとOracle Internet Directory間の同期を準備するには、次の手順に従います。

  1. Oracle Human ResourcesコネクタとDirectory Integration Serverが、Oracle Human Resourcesコネクタの実行元であるホストにインストールされていることを確認します。

  2. Oracle Human Resourcesシステムにアクセスするための情報を持っていることを確認します。これには次の情報があります。

    • Oracle Human Resourcesシステムのデータベースへの接続文字列

    • アクセス・アカウント

    • パスワード

  3. 「タスク1: Oracle Human Resourcesコネクタのディレクトリ統合プロファイルの構成」の説明に従って、Oracle Human Resourcesコネクタの統合プロファイルを構成します。次のような、統合プロファイルのすべての値が適切に設定されていることを確認します。

    • Oracle Human Resourcesの属性リスト

    • Oracle Human Resourcesの属性マッピング・ルール

    • スケジューリング間隔

  4. すべてを適切に設定した後、プロファイルのステータス属性をENABLEに設定します。この設定によって、Oracle Human Resourcesコネクタを実行する準備が完了していることを示します。

  5. それぞれのホストでOracleディレクトリ・サーバーとOracle Human Resourcesが実行されていない場合、これらを起動します。

  6. 準備が完了した後、まだこのホストでDirectory Integration Serverが実行されていない場合は、これを起動します。

10.4 同期プロセス

Oracle Human Resourcesシステム、Oracle Internet DirectoryおよびOracle Directory Integration Platformが実行され、Oracle Human Resourcesコネクタが有効になると、Oracle Directory Integration PlatformはOracle Human ResourcesシステムからOracle Internet Directoryへの変更の同期を自動的に開始します。そのプロセスは、次のとおりです。

  1. 「最終実行時間」(orclodipLastExecutionTime)と「スケジューリングの間隔」(orclodipschedulinginterval)に指定されている値に従って、Oracle Directory Integration Platformは、Oracle Human Resourcesコネクタを起動します。

  2. Human Resourcesエージェントは次のものを抽出します。

    • 統合プロファイル内のorclodipLastSuccessfulExecutionTime属性に指定されている時間に基づいたOracle Human Resourcesシステムからのすべての変更

    • プロファイル内のorclodipAgentConfigInfo属性に指定されている属性のみ

    変更は、Oracle Human Resourcesのインポート・ファイル($ORACLE_HOME/ldap/odi/import/HR_Agent_Name.dat)に書き込まれます。

  3. エージェントは、実行を完了した後、次のようなデータ・ファイルを作成します。

    FirstName: John
    LastName: Liu
    EmployeeNumber: 12345
    Title: Mr.
    Sex: M
    MaritalStatus: Married
    TelephoneNumber: 123-456-7891
    Mail: Jliu@my_company.com
    Address: 100 Jones Parkway
    City: MyTown
    
  4. Oracle Directory Integration Platformは、次の動作により変更をOracleバックエンド・ディレクトリへインポートします。

    • インポート・ファイルからの各変更レコードの読取り。

    • 統合プロファイルの「マッピング・ルール」(orclodipAttributeMappingRules)に指定されているルールに基づいた、各変更レコードのLDAP変更エントリへの変換。

  5. すべての変更内容がOracleバックエンド・ディレクトリにインポートされると、Oracle Human Resourcesコネクタは、インポート・ファイルをアーカイブ・ディレクトリ($ORACLE_HOME/ldap/odi/import/archive)に移動します。ステータスの属性である「最終実行時間」(orclodipLastExecutionTime)と「最終正常実行時間」(orclodipLastSuccessfulExecutionTime)を現在の時間に更新します。

    インポート操作が失敗した場合は、「最終実行時間」(orclodipLastExecutionTime)属性のみが更新され、コネクタは「最終正常実行時間」(orclodipLastSuccessfulExecutionTime)属性に基づいてHuman Resourcesシステムからの変更の抽出を試行します。失敗の理由は、$ORACLE_HOME/ldap/odi/HR_Agent_Name.trcのトレース・ファイルに記録されます。

10.5 Oracle Human ResourcesからのOracleバックエンド・ディレクトリのブートストラップ

Oracle Human ResourcesからOracle Internet Directoryをブートストラップする方法は2つあります。