企業内の従業員データ用のプライマリ・リポジトリとしてOracle Human Resourcesを使用している場合は、Oracle Human ResourcesとOracle Internet Directoryの間でデータを同期化する必要があることがあります。同期化には、Oracle Human Resourcesコネクタを使用します。
この章では、Oracle Human Resourcesコネクタを紹介し、そのデプロイ方法を説明します。内容は次のとおりです。
Oracle Human ResourcesからのOracle Internet Directoryのブートストラップ
注意: Oracle E-Business Suiteを含むOracle Human Resources環境と同期する場合、Oracle Directory Integration PlatformがサポートするOracle E-Business Suite統合ソリューションの使用をお薦めします。詳細は、第15章「Oracle E-Business Suiteとのプロビジョニング・データの統合」を参照してください。 |
関連項目: このリリースのOracle Internet Directoryと同期化できるOracle Human Resourcesのリリースを確認する場合は、Oracle Internet Directoryのリリース・ノートを参照してください。 |
Oracle Human Resourcesコネクタによって、従業員データのサブセットを、Oracle Human ResourcesからOracle Internet Directoryにインポートできます。このコネクタには、あらかじめパッケージされた統合プロファイルと、Oracle Internet Directoryとの通信を処理するOracle Human Resourcesエージェントの両方が含まれます。あらかじめパッケージされた統合プロファイルは、Oracle Enterprise Manager Fusion Middleware Controlを使用して、デプロイ要件に応じてカスタマイズできます。
Oracle Human Resourcesコネクタは、Oracle Human Resourcesシステムから増分変更を抽出するように構成することによって、いつでも実行できるようにスケジュールできます。また、Oracle Human Resourcesの列名とOracle Internet Directoryの属性の間のマッピングを設定および変更できます。
表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のユーザー・インタフェースのフィールド
属性名 | 説明 | フォーム/キャンバス/フィールド名 |
---|---|---|
|
個人の姓 |
個人情報/氏名/姓 |
|
個人の名 |
個人情報/氏名/名 |
|
個人の役職 |
個人情報/氏名/タイトル |
|
サフィックス(Jr、Sr、Ph.Dなど) |
個人情報/氏名/サフィックス |
|
ミドルネーム |
個人情報/氏名/ミドルネーム |
|
性別 |
性別リスト・ボックス |
|
入社日 |
個人情報/入社日 |
|
生年月日 |
個人情報/個人情報/生年月日 |
|
婚姻区分 |
個人情報/個人情報/ステータス |
|
米国居住者用社会保障番号 |
個人情報/識別情報/社会保障 |
|
従業員番号 |
個人情報/識別情報/従業員 |
|
障害の有無のインジケータ |
個人情報/個人情報/障害の有無 |
|
電子メール・アドレス |
個人情報/個人情報/Eメール |
|
オフィス所在地 |
個人情報/オフィス所在地情報/オフィス |
|
郵便物配達先 |
個人情報/オフィス所在地情報/郵便宛先 |
|
事務所 |
個人情報/オフィス所在地情報/事業所 |
|
住所1 |
個人住所情報/住所1 |
|
住所2 |
個人住所情報/住所2 |
|
住所3 |
個人住所情報/住所3 |
|
市区町村 |
個人住所情報/市区 |
|
地域1 |
個人住所情報/郡 |
|
地域2 |
個人住所情報/都道府県 |
|
郵便番号 |
個人住所情報/郵便番号 |
|
国 |
個人住所情報/国 |
|
電話番号1 |
個人住所情報/電話番号 |
|
電話番号2 |
個人住所情報/電話番号2 |
この項の内容は次のとおりです。
Oracle Human Resourcesコネクタとともにインストールされる事前パッケージ済の統合プロファイルを構成するには、第7章「ディレクトリ同期プロファイルの管理」を参照してください。
パッケージ済統合プロファイルの一部のパラメータでは、Human Resourcesコネクタとの統合に固有の値を指定する必要があります。Human Resourcesコネクタに固有のパラメータは、表10-3を参照してください。
表10-3 Oracle Human Resourcesコネクタ統合プロファイルに固有の属性
属性 | 説明 |
---|---|
プロファイル名( |
システム内でコネクタを識別するための一意名。統合プロファイルを識別する識別名の相対識別名コンポーネントとして使用されます。この名前には英数字のみを使用できます。この属性は必須で、変更不可です。デフォルトの名前は |
同期モード( |
Oracle Internet Directoryと接続ディレクトリ間での同期の方向。
デフォルトは この属性は必須で、変更可能です。 注意: Oracle Internet Directory 11gリリース1(11.1.1)では、Oracle Human Resourcesに対するインポート操作のみがサポートされます。 |
実行情報 |
|
エージェントの実行コマンド( |
Directory Integration Serverがコネクタの実行に使用する、コネクタ実行可能ファイルの名前と引数のリスト。 この属性は必須で、変更可能です。 デフォルトは次の値です。 odihragent OracleHRAgent connect=hrdb \ login=%odip.profile.condiraccount \ pass=%odip.profile.condirpassword \ date=%orclODIPLastSuccessfulExecutionTime \ 引数 |
接続されたディレクトリ・アカウント( |
コネクタが同期で使用する、接続ディレクトリ内の有効なユーザー・アカウント。Human Resources Agentの場合のユーザー・アカウントは、Oracle Human Resourcesデータベース内の有効なユーザー識別子です。 関連項目: コマンドラインで引数を渡す一般的な使用方法は、第10章「Oracle Human Resourcesとの同期」を参照してください。 |
拡張構成情報( |
コネクタがOracle Internet Directoryに格納する構成情報。この構成情報は、コネクタの起動時に、Directory Integration Serverによってコネクタに渡されます。この情報は属性として格納され、Directory Integration Serverはその内容を認識しません。 この属性に格納される値は、Oracle Human Resourcesからの同期が必要な(Oracle Human Resourcesコネクタについて)すべての属性を表します。 関連項目: 「タスク2: Oracle Internet Directoryと同期化される属性のリストの構成」 Oracle Human Resourcesコネクタの場合、この属性は必須です。 |
接続されたディレクトリURL( |
接続ディレクトリのホストとポートの詳細情報です。 |
インタフェース・タイプ( |
データ転送に使用するインタフェース。このインタフェースはタグ付きファイルの形式であるため、 注意: Oracle Human Resourcesプロファイルの場合、この属性は変更しないでください。 |
マッピング情報 |
|
マッピング・ルール( |
マッピング・ルールを格納するための属性。Oracle Enterprise Manager Fusion Middleware Controlを使用して、ファイルにマッピング・ルールを格納します。Oracle Enterprise Manager Fusion Middleware Controlの使用方法は、第7章「ディレクトリ同期プロファイルの管理」を参照してください。 Oracle Human Resourcesの場合、この属性は必須で、変更可能です。 関連項目: |
接続されたディレクトリ一致フィルタ( |
Oracle Human Resources接続には使用されません。 |
OID一致フィルタ ( |
この属性は、Oracle Internet Directoryでのターゲット・エントリの検索に使用されるLDAPフィルタを指定します。Oracle Directory Integration Platformはこのフィルタを使用して、同期に必要なLDAP操作の種類を検出します。
この属性はオプションで、変更可能です。 |
ステータス情報 |
|
OID前回適用された変更番号( |
この属性は、すべてのエクスポート・プロファイルの基準で、Oracle Human Resourcesの同期には適用されません。 |
デフォルトのOracle Human Resourcesプロファイルは、Oracle Human ResourcesからOracle Internet Directoryに同期化される属性のデフォルト・リストを提供します。このリストはカスタマイズ可能で、属性を追加または削除できます。
デフォルトの属性リストは、統合プロファイルの一部としてorclodipAgentConfigInfo
属性に格納されます。構成情報も、$ORACLE_HOME/ldap/odi/confディレクトリにあるoraclehragent.cfg.masterファイルに用意されています。
注意: oraclehragent.cfg.masterファイルはバックアップとして機能するため、変更できません。 |
表10-4に、Oracle Human Resourcesの属性のデフォルト・リストの列を示します。
表10-4 デフォルトでOracle Internet Directoryと同期化されるOracle Human Resourcesの属性
列 | 説明 |
---|---|
ATTRNAME |
出力データ・ファイルに生成される出力タグ。 |
COLUMN_NAME |
この値の取得元になるデータベース列名。 |
TABLE_NAME |
この値の取得元になるデータベース表名。 |
FORMAT |
この属性の列データ型(ASCII、NUMBER、DATE)。 |
MAP |
この属性をOracle Human Resourcesから抽出するかどうかのインジケータ。値 |
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
同期化されるOracle Human Resourcesの属性を追加する手順は、次のとおりです。
oraclehragent.cfg.masterファイルをコピーし、Agent_Name.cfg以外の名前を付けます。これは、Oracle Directory Integration Platformがこの名前の構成ファイルを生成し、実行時に構成情報をOracle Human Resourcesエージェントに渡すのに使用するためです。
このファイルにレコードを追加することにより、Oracle Human Resourcesの同期化される属性を追加します。これには、次の情報が必要です。
属性値の抽出元になるデータベース内の表名。これらの表は、表10-1に示されています。このファイルでは、同期に使用される4つの表に、省略された名前が使用されます。
表の列名。
列のデータ型。有効な値は、ASCII
、NUMBER
およびDATE
です。
また、列名に属性名を割り当てる必要もあります。これは、出力ファイル内でこの属性を識別するための出力タグとして動作します。このタグは、マッピング・ルール内でOracle Human Resourcesの属性とOracle Internet Directoryの属性の間のルールを確立するために使用されます。
map
列(レコード内の最後の列)が値Y
に設定されていることを確認する必要もあります。
注意: 属性リストに新規属性を追加する場合は、orclodipAttributeMappingRules 属性内に対応するルールを定義する必要があります。定義しない場合、Oracle Human Resourcesの属性は、Oracle Human Resourcesコネクタに抽出されてもOracle Internet Directoryと同期化されません。 |
現在Oracle Internet Directoryと同期化されているOracle Human Resourcesの属性を除外する手順は、次のとおりです。
oraclehragent.cfg.masterファイルをコピーし、Agent_Name.cfg以外の名前を付けます。これは、Directory Integration Serverがこの名前の構成ファイルを生成し、実行時に構成情報をOracle Human Resourcesコネクタに渡すのに使用するためです。
次のいずれか1つを行います。
属性リスト内の対応するレコードの前に番号記号(#)を付けてコメント化する。
列map
の値をN
に設定する。
前述のサポートされている属性の構成が、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')
属性マッピング・ルールは、Oracle Directory Integration PlatformがOracle Human ResourcesとOracle Internet Directoryの間で属性を変換する方法を制御します。Oracle Directory Integration Platformが使用するマッピング・ルールはカスタマイズできます。
Oracle Human Resourcesエージェント・プロファイルには、デフォルトのマッピング・ファイルがあります。一連のマッピング・ルールはこのマッピング・ファイルのorclodipAttributeMappingRules
属性に格納されています。この情報は、oraclehragent.map.masterというファイルにも格納されています。このファイルは、$ORACLE_HOME/ldap/odi/confディレクトリの下にあります。
注意: oraclehragent.map.masterファイルは変更しないでください。バックアップとして機能しているためです。 |
この項では、Oracle Human ResourcesからOracle Internet Directoryへの同期の設定方法を説明します。
Oracle Human ResourcesとOracle Internet Directory間の同期を準備するには、次の手順に従います。
Oracle Human ResourcesコネクタとDirectory Integration Serverが、Oracle Human Resourcesコネクタの実行元であるホストにインストールされていることを確認します。
Oracle Human Resourcesシステムにアクセスするための情報を持っていることを確認します。これには次の情報があります。
Oracle Human Resourcesシステムのデータベースへの接続文字列
アクセス・アカウント
パスワード
「タスク1: Oracle Human Resourcesコネクタのディレクトリ統合プロファイルの構成」の説明に従って、Oracle Human Resourcesコネクタの統合プロファイルを構成します。統合プロファイルのすべての値が適切に設定されていることを確認します。これには次の値があります。
Oracle Human Resourcesの属性リスト
Oracle Human Resourcesの属性マッピング・ルール
スケジューリング間隔
すべてを適切に設定した後、プロファイルのステータス属性をENABLE
に設定します。この設定によって、Oracle Human Resourcesコネクタを実行する準備が完了していることを示します。
それぞれのホストでOracleディレクトリ・サーバーとOracle Human Resourcesが実行されていない場合、これらを起動します。
準備が完了した後、まだこのホストでDirectory Integration Serverが実行されていない場合は、これを起動します。
Oracle Human Resourcesシステム、Oracle Internet DirectoryおよびOracle Directory Integration Platformが実行され、Oracle Human Resourcesコネクタが有効になると、Oracle Directory Integration PlatformはOracle Human ResourcesシステムからOracle Internet Directoryへの変更の同期を自動的に開始します。そのプロセスは、次のとおりです。
「最終実行時間」(orclodipLastExecutionTime
)と「スケジューリングの間隔」(orclodipschedulinginterval
)に指定されている値に従って、Oracle Directory Integration Platformは、Oracle Human Resourcesコネクタを起動します。
Human Resourcesエージェントは次のものを抽出します。
統合プロファイル内のorclodipLastSuccessfulExecutionTime
属性に指定されている時間に基づいたOracle Human Resourcesシステムからのすべての変更
プロファイル内のorclodipAgentConfigInfo
属性に指定されている属性のみ
変更は、Oracle Human Resourcesのインポート・ファイルである$ORACLE_HOME/ldap/odi/import/HR_Agent_Name.datに書き込まれます。
エージェントは、実行を完了した後、次のようなデータ・ファイルを作成します。
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
Oracle Directory Integration Platformは、次の動作により変更をOracle Internet Directoryへインポートします。
インポート・ファイルからの各変更レコードの読取り。
統合プロファイルの「マッピング・ルール」(orclodipAttributeMappingRules
)に指定されているルールに基づいた、各変更レコードのLDAP変更エントリへの変換。
すべての変更内容がOracle Internet Directoryにインポートされると、Oracle Human Resourcesコネクタは、インポート・ファイルをアーカイブ・ディレクトリ($ORACLE_HOME/ldap/odi/import/archive)に移動します。ステータスの属性である「最終実行時間」(orclodipLastExecutionTime
)と「最終正常実行時間」(orclodipLastSuccessfulExecutionTime
)を現在の時間に更新します。
インポート操作が失敗した場合は、「最終実行時間」(orclodipLastExecutionTime
)属性のみが更新され、コネクタは「最終正常実行時間」(orclodipLastSuccessfulExecutionTime
)属性に基づいてHuman Resourcesシステムからの変更の抽出を試行します。失敗の理由は、$ORACLE_HOME/ldap/odi/HR_Agent_Name.trcのトレース・ファイルに記録されます。
Oracle Human ResourcesからOracle Internet Directoryをブートストラップする方法は2つあります。
Oracle Human Resourcesコネクタを使用する。統合プロファイルで、orclodipLastSuccessfulExecutionTime
属性をOracle Human Resourcesがインストールされた時間よりも前に設定する。
外部ツールを使用して、Oracle Human ResourcesからOracle Internet Directoryにデータを移行する。