Вы находитесь на странице: 1из 117

OIG 11G R2 PS3 Enablement

Lab 18: OIM Metadata for flat file Connector

Disclaimer: The Virtual Machine Image and other software are provided for use only during the
workshop. Please note that you are responsible for deleting them from your computers before you
leave. If you would like to try out any of the Oracle products, you may download them from the
Oracle Technology Network (http://www.oracle.com/technology/index.html) or the Oracle E-Delivery
WebSite (http://edelivery.oracle.com)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 1|Page
OIG 11G R2 PS3 Enablement

1. Introduction

2. Contents

2.1. Creating common Metadata for provisioning and reconciliation

2.1.1. IT resource type definition

2.1.2. Resource object

2.1.3. Configuration lookup

2.1.4. Object configuration lookup

2.1.5. Process form

2.1.5.1. Child form

2.1.5.2. Parent form

2.1.6. Adapters – Parent form

2.1.6.1. Create adapter

2.1.6.2. Delete adapter

2.1.6.3. Enable adapter

2.1.6.4. Disable adapter

2.1.6.5. Update adapter

2.1.7. Process definition and process tasks – Parent form

2.1.7.1. Flat File process definition

2.1.7.2. Create process task

2.1.7.3. Delete process task

2.1.7.4. Enable process task

2.1.7.5. Disable process task

2.1.7.6. Update Process task

2.2. Creating Provisioning meta data

2.2.1. Provisioning attribute map lookup

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 2|Page
OIG 11G R2 PS3 Enablement

2.2.2. IT resource of type connector server

2.2.3. Flat file IT resource

2.2.4. Application Instance

2.3. Setup lookup recon for provisioning

2.3.1. Create a new xml with name FFLookupRecon.xml and update MDS

2.3.2. Create a new lookup

2.3.3. Create Child form

2.3.4. Update Parent form created in 2.1.5.2

2.4. Adapters – Child form

2.4.1. Create adapter for child table.

2.5. Process tasks – Child table

2.5.1. Create Process Task for child table.

2.5.2. Update Process Task for child table

2.5.3. Delete Process Task for child table

2.6. Scheduled job for lookup recon

2.6.1. Create a scheduled job

2.6.2. Update Provisioning attribute map lookup to include child form field label

2.7. Setup remote connector server

2.8. Test provisioning

2.8.1. Create user (with child table data)

2.8.2. Update user details

2.8.2.1. Primary for data

2.8.2.2. Child table data

2.8.3. Disable user

2.8.4. Enable user

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 3|Page
OIG 11G R2 PS3 Enablement

2.8.5. Revoke user

2.9. Creating Reconciliation meta data

2.9.1. Full/Incremental reconciliation

2.9.1.1. Reconciliation attribute map

2.9.1.2. Reconciliation profile

2.9.1.3. Reconciliation mapping

2.9.1.4. Reconciliation rule

2.9.1.5. Create a task xml and update MDS

2.9.1.6. Create a scheduled job

2.9.2. Lookup recon

2.9.3. Role recon

2.9.4. Org recon

2.10. Test reconciliation

2.10.1. Full/Incremental reconciliation

2.11. Run scheduled job as created in section 2.4.1.6

2.12. Propagating password Reset to target

2.13. Extending the functionality of connector

2.13.1. Provisioning validation and reconciliation transformation

2.13.1.1. Testing the provisioning validation

2.13.1.2. Testing the reconciliation transformation

2.13.2. CLASSPATH isolation

2.14. Packaging the flat file connector

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 4|Page
OIG 11G R2 PS3 Enablement

1. Introduction
Lab stories

As part of Phase 1 development of Connector developers at ACME Capital have created


Connector Bundle and tested all ICF Contracts like Create User, Modify User, Enable User,
Disable user, Delete User etc independently.

As part of Phase 2 objectives to achieve an end to end solution objective they need to invoke
user life cycle operations on this connector bundle from OIM. For that they need to develop
OIM Metadata which will capture user lifecycle inputs generated in OIM and invoke appropriate
operations on Connector Bundle.

In this lab, we would be creating necessary OIM artifacts for the flat file connector developed in
lab1.

Remark: In order to speed up the system, you can stop the WebLogic Admin and SOA servers

2. Contents
2.1. Creating common Metadata for provisioning and reconciliation

2.1.1. IT Resource type definition

Purpose

This step includes creating an IT resource type definition of type ‘Flat File’.

Steps

 Login to OIM design console

 Click on IT Resource type definition under Resource management.

 Enter ‘Flat File’ as server type and click Save

 Under IT Resource Type Parameter, click Add

 Add the following:

o Field Name = Configuration Lookup and Default Field value =


Lookup.FF.Configuration. Main configuration lookup (see section 2.1.3)
containing the ICF bundle information.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 5|Page
OIG 11G R2 PS3 Enablement

o Field Name = hostName. Target host name.

o Field Name = userName. User name used to connect to target system

o Field Name = password, Select Encrypted. Password for the above user

o Field Name = targetFile, Flat file on target system

o Field Name = uniqueAttribute, Unique attribute

o Field Name = Connector Server Name, Connector server

o Field Name = lookupReconFile, Lookup recon file

 Click Save (click Yes to confirm the encryption of the password)

 IT Resource Type Definition should look like below.

2.1.2 Resource Object

Purpose

This step includes creating a resource object called ‘FLATFILERESOURCE’

Steps

 Click Resource Objects under Resource Management

 Enter ‘FLATFILERESOURCE’ as Name

 Enter Application for Type (double-click the field to select in the lookup window)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 6|Page
OIG 11G R2 PS3 Enablement

 Click Save

Note: In this lab, we would not be considering the target as trusted source.

2.1.3 Configuration Lookup

Purpose

This step includes creating a configuration lookup. This lookup contains information
regarding the connector bundle like name, version, connector name etc… This lookup is
used by the ICF to load the connector at run time.

Steps

 Click on Lookup Definition under Administration

 Enter Lookup.FF.Configuration for Code

 Enter FF for Group

 Click Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 7|Page
OIG 11G R2 PS3 Enablement

 Under Lookup Code Information enter the following:

o Code Key = Bundle Name, Decode = org.identityconnectors.flatfile. Bundle


name which contains the connector SPI implementation.

o Code Key = Connector Name, Decode =


org.identityconnectors.flatfileconnector.FlatFileConnector. Fully qualified
name of the connector implementation

o Code Key = User Configuration Lookup, Decode =


Lookup.FF.UM.Configuration. User configuration lookup containing the
information about the provisioning attribute map and reconciliation attribute
map (defined later).

o Code Key = Bundle Version, Decode = 1.0. Bundle version

 Click Save

2.1.4 Object Configuration Lookup

Purpose

This step includes creating object configuration lookup. This lookup contains information
regarding provisioning attribute map, recon attribute map etc… This information will be
used by the OIM ICF glue (icf-oim-intg.jar) during provisioning and reconciliation
operations.

Steps

 Click on Lookup Definition under Administration

 Enter Lookup.FF.UM.Configuration for Code

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 8|Page
OIG 11G R2 PS3 Enablement

 Enter FF for Group

 Click Save

 Under Lookup code information enter the following:-

o Code Key = Provisioning Attribute Map, Decode =


Lookup.FF.UM.ProvAttrMap. Contains mapping of OIM fields with the
target fields and is used during provisioning operation.

o Code Key = Recon Attribute Map, Decode = Lookup.FF.UM.ReconAttrMap.


Contains mapping of OIM fields with the target fields and is used during
reconciliation operation.

 Click on Save

2.1.5 Process Form

2.1.5.1 Child Form

Child form uses lookup reconciliation and hence the steps to create child form are
included in the section 2.3.3

2.1.5.2 Parent Form

Purpose

This step includes creating the parent process form.

Steps

 Open Form Designer under Development Tools

 Enter UD_FLAT_FIL (you don’t have to enter UD) for Table Name

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 9|Page
OIG 11G R2 PS3 Enablement

 Enter Flat file main user form for Description

 Click Save

 Under Additional Columns click Add to add columns as stated below:-

o Name = UD_FLAT_FIL_ACCOUNTID, Variant Type = String, Length = 30,


Field Label = AccountID, Field Type = TextField and Order = 1.

o Name = UD_FLAT_FIL_Email, Variant Type = String, Length = 45, Field


Label = Email, Field Type = TextField and Order = 4

o Name = UD_FLAT_FIL_FIRSTNAME, Variant Type = String, Length = 45,


Field Label = FirstName, Field Type = TextField and Order = 2

o Name = UD_FLAT_FIL_LASTNAME, Variant Type = String, Length = 45,


Field Label = LastName, Field Type = TextField and Order = 3

o Name = UD_FLAT_FIL_RETURN, Variant Type = String, Length = 45,


Field Label = ReturnValue, Field Type = TextField and Order = 6

o Name = UD_FLAT_FIL_SERVER, Variant Type = long, Field Label =


Server, Field Type = ITResourceLookupField and Order = 5

 Click Save

 Click Properties tab

o Add below Properties for Server (ITResourceLookupField)

 Required = true

 Type = Flat File

 Click Save

 Click Make Version Active and click Ok for the prompt

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 10 | P a g e


OIG 11G R2 PS3 Enablement

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 11 | P a g e


OIG 11G R2 PS3 Enablement

2.1.6 Adapters – Parent form

2.1.6.1 Create adapter

Purpose

This step includes creating adapter for create provisioning operation. This
adapter is responsible to take all the data from parent form and call the OIM ICF
glue (icf-oim-intg.jar).

Steps

 Under Development tools, click Adapter Factory

 Enter adpFFCreateUser for Adapter Name

 Enter Process Task for Adapter Type

 Enter ‘Adapter used to call the create API of the OIM ICF glue. This adapter
takes all the data from the flat file parent form and passes them on to the glue,
which in turn calls the connector SPI implementation where the data would be
inserted into target’ for Description

 Click Save

 Click Variable List tab

 Click Add and add the following variables

o Name – objectType, Type – String, Description – This is the object type,


Map To – Resolve at runtime

o Name – processInstanceKey, Type – Long, Description – Process


Instance Key, Map To – Resolve at runtime

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 12 | P a g e


OIG 11G R2 PS3 Enablement

o Name – itResourceFieldName, Type – String, Description – IT Resource


Field Name, Map to – Resolve at runtime

 Click Adapter Tasks tab

 Select adpFFCreateUser and click Add to see below pop up

 Click Continue to see next screen as shown below

 Click Continue to see next screen as shown below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 13 | P a g e


OIG 11G R2 PS3 Enablement

 Enter CreateUser for TaskName

 Select ICFIntgJar:icf-oim-intg.jar from the dropdown for API Source

 Select oracle.iam.connectors.icfcommon.prov.ICProvisioningManager from the


dropdown for Application…

 Select createObject for Methods

 Click Save to see the below screen

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 14 | P a g e


OIG 11G R2 PS3 Enablement

 Update Application Method Parameters in the same order as below:

 Constructor

o Input: String to Adapter Variables, itResourceFieldName

o Input: long to Adapter Variables, processInstanceKey

o Input: com.thortech.xl.dataacess.tcDataProvider to Adapter


References, Database reference

 Method

o Output: String to Adapter Variables, Return Variable

o Input: String to Adapter Variables, objectType

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 15 | P a g e


OIG 11G R2 PS3 Enablement

 Click On Save and close the CreateUser Adapter Factory Task.

 Click Save again on the Adapter Factory screen

 Click Build to see the Compile Status Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 16 | P a g e


OIG 11G R2 PS3 Enablement

2.1.6.2 Delete adapter

Purpose

This step includes creating an adapter for delete operation. This adapter is
responsible to take the UID of the user being delete and pass it on to ICF OIM
glue.

Steps

 Under Development tools, click Adapter Factory

 Enter adpFFDeleteUser for Adapter Name

 Enter Process Task for Adapter Type

 Enter ‘Adapter used to call the delete API of the OIM ICF glue. which in turn
calls the connector SPI implementation where the data would be deleted
from the target’ for Description

 Click Save

The steps to create the Adapter Variables are same as shown in section 2.1.6.1.
Please follow the same.

The Adapter Task - named Delete User - should call the deleteObject API of the
ICProvisioningManager. The rest of steps is the same. Please follow them as
shown in section 2.1.6.1

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 17 | P a g e


OIG 11G R2 PS3 Enablement

Save the task and the adapter and Build the adapter.

The final screen shot of delete adapter should look like below:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 18 | P a g e


OIG 11G R2 PS3 Enablement

2.1.6.3 Enable adapter

Purpose

The steps include creating an adapter for enable operation. This adapter calls the
enableUser API of the ICF OIM glue.

Steps

 Under Development tools, click Adapter Factory

 Enter adpFFEnableUser for Adapter Name

 Enter Process Task for Adapter Type

 Enter ‘Adapter used to call the enableUser API of the OIM ICF glue. which in turn
calls the connector SPI implementation where the user would be enabled on
the target’ for Description

 Click Save

 Create the following Adapter Variables

o Name – processInstanceKey, Type – Long, Description - Process


Instance Key, Map To – Resolve at runtime

o Name – itResourceFieldName, Type – String, Description - IT Resource


Field Name, Map to – Resolve at runtime

 Create the Adapter Task - named Enable User - calling the enableUser API of
the ICProvisioningManager Application.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 19 | P a g e


OIG 11G R2 PS3 Enablement

 Save the task and the adapter and Build the adapter.

Final screen shot should look like below:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 20 | P a g e


OIG 11G R2 PS3 Enablement

2.1.6.4 Disable Adapter

Purpose

This section includes creating an adapter for disable operation. This adapter calls
the disableUser API of the OIM ICF glue.

Steps

Steps are same as shown in section 2.1.6.3 except the adapter task calls the
disableUser API of ICProvisioningManager

His name has to be adpFFDisableUser

Final screen shots should like below:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 21 | P a g e


OIG 11G R2 PS3 Enablement

2.1.6.5 Update adapter

Purpose

This section includes steps to create an adapter to be used when an update


happens to parent form field value.

Steps

 Under Development tools, click Adapter Factory

 Enter adpFFUpdateUser for Adapter Name

 Enter Process Task for Adapter Type

 Enter ‘This adapter is used when an attribute of the parent table gets updated.’
for Description

 Click Save

 Create the following Adapter Variables

 Name – processInstanceKey, Type – Long, Description – Process Instance Key,


Map To – Resolve at runtime

 Name – itResourceFieldName, Type – String, Description – IT Resource Field


Name, Map to – Resolve at runtime

 Name – objectType, Type – String, Description – Object Type, Map to –


Resolve at runtime

 Name – attrFieldName, Type – String, Description – Attribute Field Name, Map


to – Resolve at runtime

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 22 | P a g e


OIG 11G R2 PS3 Enablement

 Create the Adapter Task – named Update User - calling the


updateAttributeValue (with 2 strings parameters) API of the
ICProvisioningManager Application.

 Save the task and the adapter and Build the adapter.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 23 | P a g e


OIG 11G R2 PS3 Enablement

2.1.7 Process Definition and Process tasks – Parent form

2.1.7.1 Flat File Process Definition

Purpose

This section includes creating a process definition for Flat File.

Steps

 Open Process Definition under Process Management

 Enter 'Flat File' as Name

 Select Provisioning for Type

 Select FLATFILERESOURCE for Object Name

 Select UD_FLAT_FIL for Table Name

 Click Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 24 | P a g e


OIG 11G R2 PS3 Enablement

2.1.7.2 Create Process Task

Purpose

This section includes steps to create a process task for create operation.

Steps

 Under Tasks tab (of 'Flat File' Process Definition), click Add to open 'Creating
New Task' dialog box

 Enter Create User as Task Name

 Enter Creates a user on the target for Task Description

 Click Save

 Select Integration tab, click Add to see Handler Selection screen, select Adapter
to see a list of adapters available as shown below. Select
adpADPFFCREATEUSER

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 25 | P a g e


OIG 11G R2 PS3 Enablement

 Click Save and Ok

 Select each variable and map them by clicking Map on each of the variable as
shown below

 Adapter Return Variable – Response Code

 Object Type – [Literal:String] User (Name of the object type)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 26 | P a g e


OIG 11G R2 PS3 Enablement

 Process Instance Key – [Process Data] Process Instance

 IT Resource Field Name – [Literal:String] UD_FLAT_FIL_SERVER (Form field


name that contains the IT resource information)

Screen shot should look like below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 27 | P a g e


OIG 11G R2 PS3 Enablement

 Click on Responses tab and add 2 more responses as shown below:

 Click on Task to Object Status Mapping and update the Object Status for
Status ‘C’ as shown below:

 Click Save and close the New Task dialog box.

Flat File Process Definition should look like below with the new task Create User

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 28 | P a g e


OIG 11G R2 PS3 Enablement

2.1.7.3 Delete Process Task

Purpose

The step includes creation of a process task for delete operation. This process task
is conditional and is undo task of create user task.

Steps

The steps to be followed are exactly the same as in section 2.1.7.2 except the
following:

 Task Properties

o Conditional should be checked

o Required for Completion should be un-checked

 Under Integration tab Event Handler/Adapter should be


adpADPFFDELETEUSER

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 29 | P a g e


OIG 11G R2 PS3 Enablement

Note: Map the variables accordingly

 Object Status should be Revoked (under tab Task to Object Status Mapping)

 Add also the Responses:

 Save and close the New Task dialog box

 Back to the Process Definition, double-click the Create User task (row number)
and update the task with ‘Delete User’ task being the Undo task of ‘Create
User’ task.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 30 | P a g e


OIG 11G R2 PS3 Enablement

 Save and close the Create User task; save also the Process Definition

2.1.7.4 Enable Process Task

Purpose

This includes creation of a process task for enable operation.

Steps

The steps to be followed are exactly the same as in section 2.1.7.2 except the
following:

 Task Properties

o Conditional should be checked

o Required for Completion should be un-checked

o Task Effect should be Enables Process or Access to application

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 31 | P a g e


OIG 11G R2 PS3 Enablement

 Under Integration tab Event Handler/Adapter should be


adpADPFFENABLEUSER

 Object Status should be Enabled. This under tab Task to Object Status Mapping

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 32 | P a g e


OIG 11G R2 PS3 Enablement

 Add also the responses:

2.1.7.5 Disable Process Task

Purpose

This includes creation of a process task for disable operation.

Steps

The steps to be followed are exactly the same as in section 2.1.7.4 except the
following:

 Task Properties

o Conditional should be checked

o Required for Completion should be un-checked

o Task Effect should be Disables Process or access to application

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 33 | P a g e


OIG 11G R2 PS3 Enablement

 Under Integration tab Event Handler/Adapter should be


adpADPFFDISABLEUSER

 Object Status should be Disabled. This under tab Task to Object Status
Mapping

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 34 | P a g e


OIG 11G R2 PS3 Enablement

 Also update the responses:

2.1.7.6 Update process task

Purpose

This includes creation of a process task for updating First Name in target system.

Steps

The steps to be followed are exactly the same as in section 2.1.7.4 except the
following:

 Task Name should be FirstName Updated

 Task Properties

o Conditional should be checked

o Required for Completion should be un-checked

o Allow Multiple Instances should be checked

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 35 | P a g e


OIG 11G R2 PS3 Enablement

 Event Hanlder/Adapter should be adpADPFFUPDATEUSER

 Map variables accordingly, only change this map

o attrFieldName to Literal (String) -> FirstName

 Configure Task to Object Status Mapping: C – Completed - Provisioned

 Add the two responses:

o SUCCESS – Operation completed – C

o ERROR – Error occurred - R

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 36 | P a g e


OIG 11G R2 PS3 Enablement

 Click Save

2.2 Creating provisioning Meta data

2.2.1 Provisioning attribute map lookup

Purpose

This step includes creating a provisioning attribute map lookup, this lookup is used
by the ICF OIM glue during provisioning operations. This contains mapping
between OIM attributes with target attributes.

Steps

 Under Administration click Lookup Definition

 Enter Lookup.FF.UM.ProvAttrMap for Code

 Enter FF for Group

 Click Save

 Under Lookup Code Information, enter the following:

o Code Key = ReturnValue, Decode = __UID__. UID returned by ICF

o Code Key = AccountID, Decode = AccountId. Account ID as represented in


flat file.

o Code Key = FirstName, Decode = FirstName. First name as represented in


flat file.

o Code Key = LastName, Decode = lastName. Last name as represented in


flat file.

o Code Key = Email, Decode = email. Email as represented in flat file.

 Click Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 37 | P a g e


OIG 11G R2 PS3 Enablement

2.2.2 IT resource of type connector server

Purpose

This step includes creating an IT resource of type connector server in OIM.

Steps

 Login to the System Administration web console by using the xelsysadm


account.

 Click on Configuration -> IT Resource

 Click on Create IT Resource

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 38 | P a g e


OIG 11G R2 PS3 Enablement

 Enter FlatFileConnectorServer for IT Resource Name

 Select Connector Server for IT Resource Type

 Click Continue >>

 Enter the host name: identity.oracleads.com of the Host where connector


server is running

 Enter Key: 12345 – remember the creation of the key in lab 17 (sh
connectorserver.sh /setKey 12345)

 Enter Port: 8759

 Click Continue >>

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 39 | P a g e


OIG 11G R2 PS3 Enablement

 Complete the wizard by clicking Continue >>/ Finish

 Search for the newly created IT resource under IT Resource. Screen should look
like below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 40 | P a g e


OIG 11G R2 PS3 Enablement

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 41 | P a g e


OIG 11G R2 PS3 Enablement

2.2.3 Flat file IT resource

Purpose

This step involves creating an IT resource of type flat file in OIM.

Before creating the IT Resource with the Sysadmin console, create a text file called
flatfile.txt in the folder of your choice (i.e. /app/Middleware/Oracle_IDM1) with the
following content:

01-Sales

02-Audit

03-Support

Steps

 Login to the System Administration web console by using the xelsysadm


account.

 Click on Configuration -> IT Resource

 Click on Create IT Resource

 Enter FlatFileITResource for IT Resource Name

 Select Flat File for IT Resource Type

 Click Continue >>

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 42 | P a g e


OIG 11G R2 PS3 Enablement

Parameters:

 Connector Server Name: FlatFileConnectorServer

 HostName of the target machine: identity.oracleads.com

 LookupReconFile: path of flatfile.txt (i.e.


/app/Middleware/Oracle_IDM1/flatfile.txt)

 Password to be used to connect to target system: Oracle123

 TargetFile to be used for prov/recon operations:


/app/connector_files/output.txt

 Unique attribute: AccountId

 Username to be used to connect to target machine: oracle

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 43 | P a g e


OIG 11G R2 PS3 Enablement

 Click Continue 3 more times and then Finish

 Search IT resources on Manage IT resource screen clicking on Configuration ->


IT Resource, it should look like below:

 Click on Next 2 times to double-check that FlatFileITResource has been created:

2.2.4 C

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 44 | P a g e


OIG 11G R2 PS3 Enablement

reate an Application Instance for FlatFileITResource.

 Still in The OIM System Administration web console click on Configuration ->
Application Instances

 Click on Create

 Enter the following parameters:

Name: FlatFileApplication

Display Name: Flat File Application

Description: Flat File Application

Resource Object: FLATFILERESOURCE

IT Resource Instance: FlatFileITResource

 Click on Save and close the Flat File Application and Application Instances tabs

Create an associated Form but before create a sandbox (Sandboxes -> Create
Sandbox)

 Edit the application (Applications Instances -> Search -> Flat File Application ->
Open -> Attributes tab) and click on Create close to Form.

 Name the form FlatFileForm and click on Create

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 45 | P a g e


OIG 11G R2 PS3 Enablement

 Back to the Flat File Application, click on Refresh and select this new form. Click
on Apply

Don't forget to publish the sandbox (close all tabs before).

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 46 | P a g e


OIG 11G R2 PS3 Enablement

2.3 Setup lookup recon required for provisioning

2.3.1 Create a new xml with name FFLookupRecon.xml and update MDS

Purpose

This includes steps to setup lookup recon. It would read different roles available
on the target system and update the lookup. These lookup values would be used
in the child form during provisioning.

2.3.1 Create a task xml and update MDS

Purpose

This is required to populate the lookup used in child form.

Steps

 Create a new task xml with entry as shown below and save it as
FFLookupRecon.xml in /tmp/mds/db (create folders if needed)

<?xml version='1.0' encoding='UTF-8'?>

<scheduledTasks xmlns="http://xmlns.oracle.com/oim/scheduler">

<task>

<name>FFLookupRecon</name>

<class>oracle.iam.connectors.icfcommon.recon.LookupReconTask</class>

<description>Gets all the roles as specified in the target machine


</description>

<retry>0</retry>

<parameters>

<string-param required="true" encrypted="false" helpText="IT


Resource Name">IT Resource Name</string-param>

<string-param required="true" encrypted="false" helpText="Object


Type">Object Type</string-param>

<string-param required="true" encrypted="false" helpText="Lookup


Name">Lookup Name</string-param>

<string-param required="true" encrypted="false" helpText="Code Key


Attribute">Code Key Attribute</string-param>

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 47 | P a g e


OIG 11G R2 PS3 Enablement

<string-param required="true" encrypted="false" helpText="Decode


Attribute">Decode Attribute</string-param>

<string-param required="false" encrypted="false"


helpText="Filter">Filter</string-param>

</parameters>

</task>

</scheduledTasks>

 Change in /app/Middleware/Oracle_IDM1/server/bin, weblogic.properties


entries for the import:

o wls_servername=oim_server1

o application_name=OIMMetadata

o metadata_from_loc=/tmp/mds

o metadata_files=/db/FFLookupRecon.xml

 Start WebLogic Admin Server

 Upload this new xml in MDS using weblogicImportMetadata.sh available at


$DW_HOME/server/bin/ (/app/Middleware/Oracle_IDM1/server/bin). Follow
below steps

o cd /app/Middleware/Oracle_IDM1/server/bin

o sh weblogicImportMetadata.sh

o Enter weblogic username (weblogic)

o Enter weblogic password (Oracle123)

o Enter server URL: t3://identity.oracleads.com:7001 (7001 the port


where the Admin server is running).

Successful message: End of importing metadata script ...

o Stay in the same directory

 Purge the cache by executing PurgeCache.sh all. Steps are outlined below.

o Set the application server variable: export APP_SERVER=weblogic

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 48 | P a g e


OIG 11G R2 PS3 Enablement

o Set the domain home: export


DOMAIN_HOME=/app/Middleware/user_projects/domains/iam_dom
ain/

o Execute sh PurgeCache.sh all

o Enter OIM admin username (xelsysadm)

o Enter OIM admin password (Oracle123)

o Enter OIM URL: t3://identity.oracleads.com:14000

Successful message: Purging the cache categories:[all] is successful

2.3.2 Create a new lookup

Purpose

This step includes creating a look up for roles in OIM design console. The values
would be used by the child form.

Steps

 Login to Design console

 Under Administration, click Lookup Definition

 Enter Lookup.FF.Roles for Code

 Enter FF for Group

 Click Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 49 | P a g e


OIG 11G R2 PS3 Enablement

2.3.3 Create Child form

Purpose

This includes steps to create a child form, this child form would be used during
provisioning and its data would be coming through via lookup recon.

Steps

 Under Development Tools, click Form Designer

 Enter UD_FLAT_CH for Table Name

 Enter Flat file roles form for Description

 Click Save

 Under Additional Columns, add

o Name = UD_FLAT_CH_ROLES, Variant Type = String, Length = 30, Field


Label = Roles, Field Type = Lookup Field and order = 1

 Click Save

 Under Properties tab, select Roles (Lookup field) and Add Property

o Lookup Code = Lookup.FF.Roles

 Save the form

 Click Make Version Active and accept the pop up

2.3.4 Update Parent Form (created in 2.1.5.2)

Purpose

This step includes updating existing parent form to include newly created child
form as its child.

Steps

 Search for UD_FLAT_FIL, in Form Designer.

 Click on Create New Version

 Enter appropriate version number (v2 for example)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 50 | P a g e


OIG 11G R2 PS3 Enablement

 Save (the dialog box should blink) and close the “Create a new version” dialog
box

 Make sure that the new version is selected as Current Version

 Select tab Child Table(s), click Assign

 Select UD_FLAT_CH, click Ok

 Click on Save and on Make Version Active

2.4 Adapters – Child form

2.4.1 Create adapter for child table.

Purpose

This step includes creating an adapter for the above child table created. This
adapter would be calling the updateChildTableValues API of the
ICProvisioningManager Application.

Steps

 Under Development Tools, click Adapter Factory

 Enter adpFFUpdateChildData for Adapter Name

 Select Process Task for Adapter Type

 Enter ‘This adapter updates the target with child table data. The same adapter
can be used for insert/update/delete in child table data.’ for Description

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 51 | P a g e


OIG 11G R2 PS3 Enablement

 Click Save

 The Adapter Task should call the updateChildTableValues API of the


ICProvisioningManager. Steps are same as shown in section 2.1.6.1 except
that this adapter needs another variable as stated below

 For your information, the variables created in section 2.1.6.1 are:

o Name – objectType, Type – String, Description – This is the object


type, Map To – Resolve at runtime

o Name – processInstanceKey, Type – Long, Description – Process


Instance Key, Map To – Resolve at runtime

o Name – itResourceFieldName, Type – String, Description – IT


Resource Field Name, Map to – Resolve at runtime

 The added variable is:

o Name – childTableName, Type – String, Description – Child Table


Name, Map to – Resolve at runtime

 Add an Adapter Task named Update Child Data (be careful to take the right
method for the updateChildTableValues (notice the final s): the signature
should be with 2 Strings).

Its final screenshot should look like:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 52 | P a g e


OIG 11G R2 PS3 Enablement

 Save and Build the adapter.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 53 | P a g e


OIG 11G R2 PS3 Enablement

2.5 Process Tasks – Child table

2.5.1 Create Process Task for child table.

Purpose

These steps include creating a process task when an insert happens on child table.

Steps

The steps to be followed are exactly the same as in section 2.1.7.2 (search Flat File
in Process Definition) except the following:

 Task Properties

o Task Name: Child table insert

o Task Description: This task runs when an insert happens on child table

o Conditional should be checked

o Required for Completion should be un-checked

o Allow Multiple Instances should be checked.

o UD_FLAT_CH should be selected from the Child Table dropdown

o Trigger Type should be insert

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 54 | P a g e


OIG 11G R2 PS3 Enablement

 Click Save

 Under Integration tab Event Handler/Adapter should be


adpADPFFUPDATECHILDDATA.

 Mapping of adapter variables are same except for childTableName. This should
be mapped to a String literal = UD_FLAT_CH

 For your information, the other mappings are the following:

o Adapter return value – Response Code

o objectType – [Literal:String] User

o processInstanceKey – [Process Data] Process Instance

o itResourceFieldName – [Literal:String] UD_FLAT_FIL_SERVER

 Configure Task to Object Status Mapping: C – Completed - Provisioned

 Add the two responses:

o SUCCESS – Operation completed – C

o ERROR – Error occurred – R

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 55 | P a g e


OIG 11G R2 PS3 Enablement

 Save

2.5.2 Update Process Task for child table

Purpose

This step includes creation of process task when an update happens to child
table data

Steps

Steps are exactly the same except for the below:

 Trigger Type should be update

2.5.3 Delete Process Task for child table

Purpose

This step includes creation of process task when a delete happens to child table
data

Steps

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 56 | P a g e


OIG 11G R2 PS3 Enablement

Steps are exactly the same except for the below:

 Trigger Type should be delete

Process tasks should look like below

The Process Task for Flat File should look like below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 57 | P a g e


OIG 11G R2 PS3 Enablement

2.6 Scheduled Job for lookup recon

2.6.1 Create a scheduled job and run

Purpose

This step includes creating a scheduled job, which when run updates the lookup
Lookup.FF.Roles created in 2.3.2. This lookup data would be used in the child
form created in 2.3.3

Steps

 Log in to the System Administration web console by using the xelsysadm


account.

 Click on System Management -> Scheduler

 Click on Create from the Actions dropdown

 Enter Job Name as FFLookupRecon

 Click on Task/implementation icon

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 58 | P a g e


OIG 11G R2 PS3 Enablement

“
S
e
a
r
c
h

a
n
d

S
e
l
e
ct: Scheduled Task” pops up, click on Search arrow.

 Select FFLookupRecon, click Confirm

 Fill information as shown below (enter the current date for the start date) and
click Apply

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 59 | P a g e


OIG 11G R2 PS3 Enablement

2.6.2 Update Provisioning attribute map lookup to include child form field
label

Purpose

This section includes updating the provisioning attribute map as created in


section. ICF uses this lookup for attributes to be provisioned.

Steps

 Using the Design Console, search for Lookup.FF.UM.ProvAttrMap.

 Add Code Key = UD_FLAT_CH~Roles, Decode = Role. ICF understands this


format Code = CHILD_FORM~CHILD_FROM_FIELD_LABEL and Decode =
Target_Attribute

 Click Save

2.7 Setup remote connector server

Purpose

This step includes starting a remote connector server. ICF flat file bundle would be
placed on this machine instead of OIM machine. Once the connector server is running,
we could create an IT resource in OIM.

Steps

 Navigate to the bin directory of the connector server


(/app/Connector_Server_111200/connector_server_java-1.4.0/bin)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 60 | P a g e


OIG 11G R2 PS3 Enablement

 Start the Connector Server: sh connectorserver.sh /run

 Run the lookup recon to get all roles from the target server

o Search and open the scheduled job FFLookupRecon as created in section 2.6

o Click Run Now to run the scheduled job.

o Close the schedule job window and back to the Sysadmin web console, click
on Configuration -> Lookups. Search for the lookup Lookup.FF.Roles and
verify that roles have been populated (the codes numbers could differ).

Note: The IT Resource Key in above screenshot might be different in your environment

2.7 -A – Updating the application instance

Since we have added the child form , we need to update the application instance.

1. Login to system administration page as admin user

2. Create a Sandbox and Open the application instance ‘Flat File


Application’

3. Clear the Form associated with the application instance and click on
Create button to create new form

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 61 | P a g e


OIG 11G R2 PS3 Enablement

4. Provide a Name to the form e.g FlatFilewithChildTable and click on


“Create” to create new form.

5. Now come back to Application Instance ‘Flat File Application’ and


associate the newly created form with the application instance and
click “Apply” to make the change.

6. Publish the Sandbox.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 62 | P a g e


OIG 11G R2 PS3 Enablement

2.8 Test provisioning

2.8.1 Create User (with child table data)

Purpose

Steps include creating a user on the target flat file to test the flat file bundle code and
the corresponding OIM metadata.

Steps

 Log into OIM Identity Self Service web console.

 Click on Manage - Users and on Create link

 Enter details as shown below and click on Submit

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 63 | P a g e


OIG 11G R2 PS3 Enablement

 You should see a confirmation message that the user has been created.

 Click on Accounts tab and on Request Accounts

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 64 | P a g e


OIG 11G R2 PS3 Enablement

 Enter Flat in the Catalog search, click on the right arrow and on Add to Cart

 Click on Next

 Enter :

Account ID: FLATFILEUSER1

First Name: FlatFile

Last Name: User1

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 65 | P a g e


OIG 11G R2 PS3 Enablement

Email: FlatFile.User1@mydomain.com

 Add also some roles:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 66 | P a g e


OIG 11G R2 PS3 Enablement

 Click on Update

 and click on Submit

You should see a successful message:

 Clicking back to the User Details tab, click on Refresh to get the status of the
provisioning process

 Double check the result file (output.txt):

FirstName:FlatFile;email:FlatFile.User1@mydomain.com;AccountId:FLATFILE
USER1;lastName:User1;Role:490~01; Sales,490~02;Audit

With these above steps we have verified the following

 Parent table data being inserted into target flat file

 Child table data being inserted into target flat file

 Child table data being fetched from Lookup recon

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 67 | P a g e


OIG 11G R2 PS3 Enablement

2.8.2 Update user details

2.8.2.1 Primary form data

Purpose

This section updates the First Name belonging to parent form of the newly added
resource and verifies the same has been updated on the target flat file.

Steps

 On the same screen, select Resource – FLATFILERESOURCE and click on Modify


Accounts

 Update FirstName from FlatFile to FlatFileUser13 and click on Update and then
Submit.

 Check in output.txt that the result is correct:

FirstName:FlatFileUser13;email:FlatFile.User1@mydomain.com;AccountId:F
LATFILEUSER1;lastName:User1;

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 68 | P a g e


OIG 11G R2 PS3 Enablement

2.8.2.2 Child table data – delete role

Purpose

This section removes the Role - Sales belonging to child form of the newly added
resource and verifies the same has been updated on the target flat file.

Steps

 Select the FLATFILERESOURCE and click on Modify Accounts

 At the bottom of the screen, select the role and click on delete

 Click on Update and Submit.

 Open target flat file to see, Sales role being removed

With these above steps we have verified the following

 Updates to parent table data being propagated to target flat file

 Updates to child table data being propagated to target flat file.

2.8.3 Disable user

Purpose

This section includes steps which disables the user on the target flat file.

Steps

 On the User Details / Accounts screen, select Resource – FLATFILERESOURCE


and click on Disable

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 69 | P a g e


OIG 11G R2 PS3 Enablement

 Click Submit to confirm

 Refresh and verify the Status to see Disabled

 Open the target flat file to see status enable = false

FirstName:FlatFile;email:FlatFile.User1@mydomain.com;AccountId:FLATFILE
USER1;lastName:User1;Role:490~01; Sales,__ENABLE__:false;

Note: - When we disable the user on OIM like above, the executeQuery() API gets
called on the bundle code with an attribute __ENABLE__ = false. Based on this
condition we can call the disable target API (if target supports), in this lab, for
simplicity, we are just appending it to target flat file.

With these above steps we have verified the following

 Disable a user on the target flat file

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 70 | P a g e


OIG 11G R2 PS3 Enablement

2.8.4 Enable User

Purpose

This section includes steps which enables the user on the target flat file.

Steps

 On the User Details / Accounts screen, select Resource – FLATFILERESOURCE


and click on Enable

 Click on Submit

 Refresh and verify the Status to see Enabled

 Open the target flat file to see status enable = true

FirstName:FlatFile;email:FlatFile.User1@mydomain.com;AccountId:FLATFILE
USER1;lastName:User1;Role:490~01; Sales,__ENABLE__:true;

Note: - When we enable the user on OIM like above, the executeQuery() API gets
called on the bundle code with an attribute __ENABLE__ = true. Based on
this condition we can call the enable target API (if target supports), in this
lab, for simplicity, we are just appending it to target flat file.

With these above steps we have verified the following

 Enable a user on the target flat file

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 71 | P a g e


OIG 11G R2 PS3 Enablement

2.8.5 Revoke User

Purpose

Steps include deleting a user

Steps

 On the User Details / Accounts screen, select Resource – FLATFILERESOURCE


and click on Remove Accounts

 Click Submit to confirm

 Verify the Status

 Open the flat file to see entry has been deleted

With these above steps we have verified the following

 Revoking the resource, i.e. details from target flat file has been deleted.

The Resource history looks like below. To see the history, select the resource and
click Resource History

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 72 | P a g e


OIG 11G R2 PS3 Enablement

2.9 Creating Reconciliation metadata

2.9.1 Full/Incremental reconciliation

2.9.1.1 Reconciliation attribute map

Purpose

This section includes steps to creating the reconciliation attribute map. This map
is referred by the OIM ICF glue during reconciliation.

Steps

 Login to OIM design console (you can use also the Sysadmin web console), Click
on Lookup Definition under Administration.

 Enter Lookup.FF.UM.ReconAttrMap for Code and FF for Group

 Click Save

 Enter values as shown below and Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 73 | P a g e


OIG 11G R2 PS3 Enablement

2.9.1.2 Reconciliation Profile

Purpose

Create reconciliation profile

Steps

 Open Resource Object under Resource Management

 Search for FLATFILERESOURCE and click on Object Reconciliation tab

 Click Add Field and add AccountId String and make it as Required and Save

 Add FirstName and Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 74 | P a g e


OIG 11G R2 PS3 Enablement

 Add email and Save

 Add lastName and Save

 Add Roles and Save

 Right click on Roles (Multi-Valued) and select Define Property Field (right-click
the field)

 Enter Roles as show

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 75 | P a g e


OIG 11G R2 PS3 Enablement

 Reconciliation Fields should look like below (the order of the fields maybe
different)

 Click tab Reconciliation Action Rules and enter below action rules

 Click Create Reconciliation Profile to see the confirmation.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 76 | P a g e


OIG 11G R2 PS3 Enablement

2.9.1.3 Reconciliation Mapping

Purpose

Create mapping required for reconciliation

Steps

 Open Process Definition under Process Management

 Search for Flat File and click Reconciliation Field Mappings

 Add Field Mapping for AccountId (Key field), FirstName, lastName and email as
shown below.

 Click Add Table Map and Select Roles as shown below. Click Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 77 | P a g e


OIG 11G R2 PS3 Enablement

 Right click on the newly created field name 'Roles', click on 'Define property
field map' and select data as shown, select Key Field

 Save the Process Definition

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 78 | P a g e


OIG 11G R2 PS3 Enablement

2.9.1.4 Reconciliation Rule

Purpose

Create reconciliation rule

Steps

 Open Reconciliation Rules under Development Tools

 Enter data as shown and click Save, and click Add Rule Element

 Enter data as shown below

 Make Recon rule active and save

Note: if you get an error uncheck Active and Refresh the rule:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 79 | P a g e


OIG 11G R2 PS3 Enablement

Notice that Valid is checked

Check Active and Save

2.9.1.5 Create Scheduled task and update MDS

Purpose

This section includes steps to create a scheduled task used by reconciliation.

Steps

 Create FlatFileReconciliation.xml in /app/Middleware/Oracle_IDM1) with the


following content:

<?xml version="1.0" encoding="utf-8"?>

<xl-ddm-data version="1.1.0.4" user="XELSYSADM"


database="jdbc:oracle:thin:@adc2190969.us.oracle.com:5525/oimdb.regress.r
dbms.dev.us.oracle.com" exported-date="1324042906836"
description="FlatFileReconciliation.xml">

<ScheduleTask name="Flat File Reconciliation">

<TSK_UPDATE>1274258546000</TSK_UPDATE>

<TSK_DISABLE>1</TSK_DISABLE>

<TSK_FREQTYPE>ONCE</TSK_FREQTYPE>

<TSK_LAST_START_TIME>1274258548000</TSK_LAST_START_TIME>

<TSK_LAST_STOP_TIME>1274258555000</TSK_LAST_STOP_TIME>

<TSK_CLASSNAME>oracle.iam.connectors.icfcommon.recon.SearchReconTask<
/TSK_CLASSNAME>

<TSK_STOP>0</TSK_STOP>

<TSK_START_TIME>1274258548000</TSK_START_TIME>

<TSK_RETRY_COUNT>0</TSK_RETRY_COUNT>

<TSK_STATUS>INACTIVE</TSK_STATUS>

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 80 | P a g e


OIG 11G R2 PS3 Enablement

<ScheduleTaskParam name="Scheduled Task Name">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

<TSA_VALUE>Flat File Reconciliation</TSA_VALUE>

</ScheduleTaskParam>

<ScheduleTaskParam name="IT Resource Name">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

<TSA_VALUE>FF IT Resource</TSA_VALUE>

</ScheduleTaskParam>

<ScheduleTaskParam name="Resource Object Name">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

<TSA_VALUE>FF User</TSA_VALUE>

</ScheduleTaskParam>

<ScheduleTaskParam name="Object Type">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

<TSA_VALUE>User</TSA_VALUE>

</ScheduleTaskParam>

<ScheduleTaskParam name="Incremental Recon Attribute">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

<TSA_VALUE>LastModified</TSA_VALUE>

</ScheduleTaskParam>

<ScheduleTaskParam name="Latest Token">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

</ScheduleTaskParam>

<ScheduleTaskParam name="Filter">

<TSA_UPDATE>1274190657000</TSA_UPDATE>

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 81 | P a g e


OIG 11G R2 PS3 Enablement

</ScheduleTaskParam>

</ScheduleTask>

</xl-ddm-data>

 Login into OIM Sysadmin web console, click on System Management -> Import
(you may have to check “Start import anyway (get lock by force)” and click on
“Get Lock”)

 Select the xml file that you have created, click OK and on Add File

 Click on Import.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 82 | P a g e


OIG 11G R2 PS3 Enablement

2.9.2 Lookup reconciliation

See section 2.3

2.9.3 Role reconciliation

This should be same as having Full/Incremental reconciliation, except for the fact that
ObjectClass would be different. This should SearchReconTask of OIM ICF glue. See section 2.9.1

2.9.4 Org reconciliation

This should be same as having Full/Incremental reconciliation, except for the fact that
ObjectClass would be different. This should SearchReconTask of OIM ICF glue. See section 2.9.1

Re-create the reconciliation profile and clear cache by following below steps:

 Open design console

 Open Resource Objects under Resource Management.

 Search for FLATFILERESOURCE

 Go to tab Object Reconciliation.

 Click on Create Reconciliation Profile

 Clear cache using PurgeCache utility:

o Set the application server variable: export APP_SERVER=weblogic

o Set the domain home: export


DOMAIN_HOME=/app/Middleware/user_projects/domains/iam_domain/

o cd /app/Middleware/Oracle_IDM1/server/bin

o Execute sh PurgeCache.sh all

o Enter OIM admin username (xelsysadm)

o Enter OIM admin password (Oracle123)

o Enter OIM URL: t3://identity.oracleads.com:14000

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 83 | P a g e


OIG 11G R2 PS3 Enablement

2.10 Test reconciliation

2.10.1 Full/Incremental reconciliation

Purpose

Test Full/Incremental reconciliation

Steps

 For testing we assume the following user has been provisioned with one child entry
“Sales”:

Account data:

Make sure that the AccountId is given as 54321 when you provision to flat file

Content of Output.txt :

FirstName:TestFirstName;email:TestFirstName.TestLastName@mydomain.com;Accou
ntId:54321;lastName:TestLastName;Role:531~01-Sales,

 Now let's change the value in output.txt to change the firstname as well as add an entry
into child table:

FirstName:TestUserFirstName;email:TestFirstName.TestLastName@mydomain.com;Acc
ountId:54321;lastName:TestLastName;Role:531~01-Sales,531~02-Audit,

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 84 | P a g e


OIG 11G R2 PS3 Enablement

Note: for testing purpose, we have directly updated the FirstName to


TestUserFirstName and added an entry “Audit” to child table to demonstrate both
parent and child table recon.

 Open the Scheduler and look for the task “Flat File Reconciliation”

 Using sysadmin web console, update the schedule job Flat File Reconciliation as shown
below:

 Click “Apply” to save the job.

 Click “Enable” to enable the job

 Run the schedule job by clicking “Run Now” and wait for the job to finish (you may have
an error message that you can ignore).

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 85 | P a g e


OIG 11G R2 PS3 Enablement

 Verify the reconciliation events being generated

 Click Event Management and search for Reconciliation to see new events being
generated. Look for the Key field 54321 and notice the new value for the FirstName
been collected and child table entry is also been updated with new entry Audit

 Finally have a look to the account attributes for the related user with updated first name
and added child table entry:

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 86 | P a g e


OIG 11G R2 PS3 Enablement

2.12 Propagating the password changes to target

2.12.1 – Updating the process form to add Password Field

Purpose

We update the process form with a Password field so that password can be propagated to
target.

ICF Glue (oim-intg.jar) provides updatepassword (public String updatePassword(String


objectType, String pswdFieldLabel, String oldPassword)) method which is called when you
update the password of an application instance. This method provides the old password value
when you change the password, if the target needs old password to actually reset the password.

If you don’t need the old password to actually change the password on target you can use the
method updateAttributeValue(String, String)

In the SPI layer when you update the password UpdateOp method is called where you can look
at the password field getting updated and call the corresponding API of the target to reset the
password.

Steps

 Login to OIM Design console as admin user

 Open the process form UD_FLAT_FIL and create new version. Name it “update
password”

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 87 | P a g e


OIG 11G R2 PS3 Enablement

 Add a Field with following

o Name : UD_FLAT_FIL_PASSWORD

o Type : String

o Length : 30

o Field Label : Password

o Field Type : PasswordField

o Order : 7

 Save the form and make the version active

 Now login to Sysadmin console as admin user

 Create a sandbox. Name it as “updatepassword”

 Open the Application Instance and search for application instance “Flat File Application”

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 88 | P a g e


OIG 11G R2 PS3 Enablement

 Click on the “Create” button to create new Form

 Name the form as “updatepassword” and click on “Create” to create new form

 Back on “Flat File Application” Application instance Attach the newly create form
“updatepassword” and click “update”

Note: if you don’t see the newly created “updatepassword” form , you can click refresh.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 89 | P a g e


OIG 11G R2 PS3 Enablement

 Click “Apply” to save the changes

 Close all the tabs except “Manage Sandboxes”

 Publish the sandbox

2.12.2- Update the Provisioning Attribute Map

Purpose

The attribute Map lookup should be updated to map the password field on the process form to
target so that we can propagate the password

Steps

 Login to Design console as admin user

 Open the Lookup Definition under Administration

 Search for “Lookup.FF.UM.ProvAttrMap”

 Create a new entry by clicking “Add”

 Add the following values

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 90 | P a g e


OIG 11G R2 PS3 Enablement

o Codekey : Password

o Decode : Password

 Save the Lookup

2.12.3 – Create an Adapter to propagate the password update

Purpose

We need to have an adapter which will propagate the password to target

Steps

 Login to Design console as admin

 Click on “Adapter Factory” which will open an blank form

 Enter the following

o Name : adpFFUpdatePassword

o Type : Process-Task

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 91 | P a g e


OIG 11G R2 PS3 Enablement

o Description : Password update adapter for flat file

 Click on Save

 Now go to Adapter Variables tab and define following variables

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 92 | P a g e


OIG 11G R2 PS3 Enablement

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 93 | P a g e


OIG 11G R2 PS3 Enablement

 Click on “Save” to save the variables you have created

 Move back to “Adapter Tasks” tab

 Click on Add

 Select the Java Task

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 94 | P a g e


OIG 11G R2 PS3 Enablement

 Keep the default “New Object Instance”

 Name the task as “updatepassword”. Make sure to select oim-intg.jar. Select the
ICProvisioingManager class and updatepassword method

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 95 | P a g e


OIG 11G R2 PS3 Enablement

 Map the variables as shown

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 96 | P a g e


OIG 11G R2 PS3 Enablement

 Save and close the window

 Back on the Adapter Factory window, click on “Compile” to compile the adapter. You
should see the compile status as “OK”

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 97 | P a g e


OIG 11G R2 PS3 Enablement

2.12.4 – Create a Process Task for Password Update

Purpose

We will create the process task for password update so that when the password gets updated , we
will use the adapter we just defined to propagate the password to target.

Steps

 Login to Design console as admin user

 Click on “Process Definition” on left to open a new window

 Enter “Flat*” in the name and search to open the process defection for Flat file resource

 Click on “Add” button to open a black process task definition

 Define the Process task as shown below

Make sure that “Conditional”, “Allow Cancellation while pending” and “Allow Multiple
Instances” are checked

Make sure “required for completion” is unchecked

Save the Task

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 98 | P a g e


OIG 11G R2 PS3 Enablement

 Navigate to Integration Tab

 Add the “adpFFUpdatePassword” adapter

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 99 | P a g e


OIG 11G R2 PS3 Enablement

 Now Map the unmapped variables as shown below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 100 | P a g e
OIG 11G R2 PS3 Enablement

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 101 | P a g e
OIG 11G R2 PS3 Enablement

Note: In the above screen we are entering the name of the password Field (i.e Label of
password field)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 102 | P a g e
OIG 11G R2 PS3 Enablement

 The Final mapped page should look like as shown below

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 103 | P a g e
OIG 11G R2 PS3 Enablement

 Navigate to Responses tab and define two responses as shown below.

 Save and Close this window

 You should now see the completed process task as shown

 Click Save on the Menu to save the newly created process task

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 104 | P a g e
OIG 11G R2 PS3 Enablement

2.12.5 – Test the password Update

 Let’s provision a new user to Flat file. Login to Identity Console as admin user. Create a
new user Demo User1 as shown below

 Once the user gets created Request Account in Flat File as shown below. For the
password enter “test”

 Verify that the user has been provisioned by opening the output.txt target flat file

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 105 | P a g e
OIG 11G R2 PS3 Enablement

 Go back to Accounts Screen in the Identity System console and click on Refresh to show
the account Flat File Provisioned to user

 Highlight the Flat File Application Instance and click on the Reset Password button which
will take you to reset password screen

 Enter new password “Oracle123” and Submit

 Observe the connector server terminal

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 106 | P a g e
OIG 11G R2 PS3 Enablement

Notice that for systems that require current password to reset the password , OIM
supplies the current password when you use the UpdatePassword Method from ICF
Glue as we did in our example.

Note: You should not be printing the password in logs. This set up is only for
demonstration purpose.

 Now take a look at the target file output.txt. The connector has updated the password
on the target.

Note: In an actual target, you would not be exposing the password in clear text. This
example is only for demo purpose.

2.13 Extending the functionality of connector

2.13.1 Provisioning validation and reconciliation transformation

Purpose

This section includes steps to extend the functionality of the connector by including the
validation and transformation logic.

Steps

 Login to OIM design console, Open Lookup Definition under Administration

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 107 | P a g e
OIG 11G R2 PS3 Enablement

 Search for Lookup.FF.UM.Configuration

 Enter Code Key = Provisioning Validation Lookup and Decode =


Lookup.FF.UM.ProvValidation

 Enter Code Key = Recon Transformation Lookup and Decode =


Lookup.FF.UM.ReconTransformation

 Create a new lookup Lookup.FF.UM.ProvValidation and enter Code Key = FirstName


and Decode = org.identityconnectors.flatfile.extension.FlatFileValidator

o Code Key represents the form filed label on which validation needs to be done.

o Decode represents the Java class where validation logic is present.

 Create a new lookup Lookup.FF.UM.ReconTransformation and enter Code Key =


FirstName and Decode =
org.identityconnectors.flatfile.extension.FlatFileTransformation

o Code Key represents the form filed label on which transformation needs to be done.

o Decode represents the Java class where transformation logic is present.

Object configuration lookup updated with validation and transformation lookup.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 108 | P a g e
OIG 11G R2 PS3 Enablement

Provisioning Validation Lookup

Recon Transformation Lookup

 Update the OIM database with the FlatFileValidationAndTransformation.jar as created


in lab1 using UploadJars.sh script:

 cd /app/Middleware/Oracle_IDM1/server/bin

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 109 | P a g e
OIG 11G R2 PS3 Enablement

 export APP_SERVER=weblogic

 export
DOMAIN_HOME=/app/Middleware/user_projects/domains/iam_domain/

 ./UploadJars.sh

 Enter

 Xellerate admin username: xelsysadm

 Admin password: Oracle123

 Server URL: t3://identity.oracleads.com:14000

 Context: weblogic.jndi.WLInitialContextFactory

 Type 4 (ICFBundle)

 Enter jar path:


/app/home/oracle/FlatFileValidationAndTransformation.jar

Don't forget to push the jar there from your JDeveloper working directory

 Answer n not to load another jar

The result should be: Upload jar executed successfully

 Restart OIM

Perform provisioning and reconciliation operation in OIM to see this logic being
called.

2.13.1.1 Testing the provisioning validation

Scenario 1)

 Request an account for ‘Flatfile’ resource for a new user via catalog. Provide the
requested details in the AI form as below. Note that we have ‘@’ in email field. Click
Submit.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 110 | P a g e
OIG 11G R2 PS3 Enablement

 Result:

Check the OIM server logs. It should be as below.

Running CREATEUSER

Target Class = oracle.iam.connectors.icfcommon.prov.ICProvisioningManager

Inside validate method...

Got mail anandp@myorg.com

Value of output is-->true

You can see from the logs that that the validation was invoked and passed.

You can also see that the user was created in connector_files/output.txt since it passed
the validation.

Scenario 2)

 Request an account for ‘Flatfile’ resource for a new user via catalog. Provide the
requested details in the AI form (this user should be already created in OIM and the

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 111 | P a g e
OIG 11G R2 PS3 Enablement

ACCOUNTID here should match the USERLOGIN of the user). Note that we DO NOT have
‘@’ in email field. Click Submit and check the logs.

 Result:

Check the OIM server logs. It should be as below.

Running CREATEUSER

Target Class = oracle.iam.connectors.icfcommon.prov.ICProvisioningManager

Inside validate method...

Got mail anand1p1

Value of output is-->false

<Jun 17, 2013 2:09:38 AM PDT> <Error>


<ORACLE.IAM.CONNECTORS.ICFCOMMON.PROV.ICPROVISIONINGMANAGER> <BEA-000000>
<oracle.iam.connectors.icfcommon.prov.ICProvisioningManager : createObject : Error while
creating user

oracle.iam.connectors.icfcommon.extension.ValidationException: Validation failed for


attribute: [Email]

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 112 | P a g e
OIG 11G R2 PS3 Enablement

You can see from the logs that that the validation was invoked and FAILED.

You can also see that the user was NOT created in connector_files/output.txt since it
failed the validation.

2.13.1.2 Testing the reconciliation transformation

 Change the Lastname value in output.txt and change the email to XYZ@ABC.com

 Run “Flat File Reconciliation” scheduled task

 Result:

Check the OIM server logs. It should be as below.

Inside flat file recon transformation

Mail should be Anand.testaccount@oracle.com

Mail is Anand.testaccount@oracle.com

You can see from the logs that the transformation method is invoked and the email is
constructed a firstname.lastname@myorg.com

Check the updated last name and also the mail id in the ‘Detail Information’ tab under ‘Accounts’
of the user view.

2.13.2 CLASSPATH isolation

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 113 | P a g e
OIG 11G R2 PS3 Enablement

Purpose

To show ICF eliminates CLASSPATH issues when using two different versions of same
connector.

Steps

 Create another bundle version; let’s say org.identityconnectors.flatfile-1.1.jar (1.1


version).

 Update the Ant Property MINOR value to 1

Notice the change in MANIFEST.XML when you run Ant (right-click on build.xml -> Run Ant
Target -> All): ConnectorBundle-Version: 1.1 and also in Resources the new jar
org.identityconnectors.flatfile-1.1.jar

 Add this JAR into bundles directory of the remote connector server and re-start it.

 Create all the above OIM metadata as created from section 2.1 to 2.12.3 except for
below change.

o Section 2.1.3 describes how to create configuration lookup, here we will need to
provide 1.1 for Code Key = Bundle Version

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 114 | P a g e
OIG 11G R2 PS3 Enablement

 Clear cache

Test by using the new connector version for provisioning and reconciliation operations.

2.14 Packaging the flat file connector

Purpose

This section involves creating a flat file connector installer package.

Steps

 Create a directory FlatFile in any suitable location

 Create a sub directory called configuration

 Create a new xml by name FlatFile-CI.xml and enter the following information.

<?xml version="1.0" encoding="UTF-8"?>

<!--

~ Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.

-->

<connector orderid="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 115 | P a g e
OIG 11G R2 PS3 Enablement

xsi:noNamespaceSchemaLocation=".\ConnectorSchema.xsd">

<connector-name>Flat File Connector</connector-name>

<connector-version>1.0</connector-version>

<filecopy>

<destination folder="bundles">

<file>org.identityconnectors.flatfile-1.0.jar</file>

</destination>

</filecopy>

<configuration>

<source folder="xml">

<file>FlatFile-ConnectorConfig.xml</file>

</source>

</configuration>

</connector>

 Save and close

 Create another subdirectory called xml under main directory FlatFile

 Login to OIM Sysadmin web console.

 Click on Export Deployment Manager File

 Select all the OIM artifacts (Adapters, Forms etc…) created in this lab and export it to
FlatFile-ConnectorConfig.xml

 Save the exported file in the xml directory.

 Create another sub directory lib and copy org.identityconnectors.flatfile-1.0.jar into it.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 116 | P a g e
OIG 11G R2 PS3 Enablement

Create a zip file of the FlatFile directory to finalize the creation of the FlatFile connector
install package.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner enablement workshop 117 | P a g e

Вам также может понравиться