Monday, January 31, 2011

Get OIM table field key

In the OIM API code, we need to use the field key rather than the actual database table field name. (example : "Users.First Name" or "Organizations.Created By")

All these are stored in the LKU table of OIM. Execute the below SQL to extract the complete list.

SELECT LKU_FIELD, LKU_TYPE_STRING_KEY FROM LKU WHERE LKU_TYPE='f' ORDER BY LKU_FIELD;

The part before the underscore in the LKU_FIELD indicates the table name.

Sunday, January 30, 2011

Linux : Establish connection through a proxy

To establish a trusted connection to a firewall protected server through a proxy machine, use the below command.

ssh -C -L 1521:192.16.98.45:1521 dev@proxy-machine

In this example, we are connecting to a oracle server at 192.16.98.45 running on port 1521 through a proxy machine "proxy-machine". "dev" is the username on the proxy machine.
It will ask for a password of the proxy machine and once provided, you will be able to connect.

This way, your machine need not be allowed on the firewall on the oracle server. But you will still be able to connect through another machine which is allowed on the firewall. (The proxy can be your friends machine as well)

Wednesday, January 26, 2011

OIM Tables

TABLE NAME
DESCRIPTION
AAD List To Define The Administrators For Each Organization And Their Delegated Admin Privileges
AAP Table for storing Resource - Organization level parameter Values
ACP ACP - Link Table That Holds Reference To ACT And PKG Tables, Table That Defines The Objects (Resources) Allowed For A Particular Organization
ACS Link Table for Account Table(ACT) and Server Table(SVR)
ACT Defines information about all organizations created through Xellerate
ADJ Contains the Java API information for the constructor with parameters and method name with parameters chosen for an adapter task of type JAVA, UTILITY, TAME,REMOTE, or XLAPI.
ADL Contains the all of the necessary parameters for an adapter task of type IF, ELSE IF,FOR, WHILE, SET, and VARIABLE tasks. These type of tasks are known as LOGICTASKS
ADM Data mapping between parameters input/output parameters and source/sink
ADP Defines an adapter created through the Adapter Factory
ADS Database,schema and procedure name selections which define a stored procedure adaptertask
ADT Defines a task attached to an adapter
ADU Contains the web service and method chosen for a task of the Adapter Factory
ADV Adapter variable table contains variables that have been created for specific adapters.
AFM Links an adapter with a form
AGS Holds the definition of organization/contact groups
AOA Contains the OpenAdapter property file for OpenAdapter
APA To store attestation process administrators
APD To store attestation Process definition
APT To store the attestation tasks
ARS Contains custom response codes for 'Process Task' Adapters only
ATD To store entitlement details for each attestation task
ATP Defines input and output parameters for the constructor and method of an adapter taskof type JAVA, UTILITY, TAME, REMOTE, and XLAPI
ATR To store attestation requests
ATS Stores which services or can be ordered by which organizations and which rates apply
AUD Define the Auditors
AUD_JMS
CRT Trusted Certificate Information
DAV Stores the runtime data mappings for 'Entity' & 'Rule Generator' adapters. The data source being an Xellerate form or child table,or a user defined process form.
DEP Dependencies among Tasks Within A Workflow Process
DOB Data Resource definition consisting of the fully qualified class name of the dataobject
DVT Defines the one to many relationship between Data Resources and Event Handlers (this includes adapters)
EIF Export Import Files. Each row contains one single file used in export/import operation. For export there is only one file
EIH Export Import History. Each row represents one Data Deployment Management session.
EIL DB Based lock for export operation. Used to make sure only one user can import at atime. This is currently not managed through data objects
EIO Export Import Objects. Each row represents one object exported/imported
EIS Substitutions used during import process
EMD Core --Email Definition Information Table That Holds The Email Template Definitions
ERR Error codes
ESD Encrypted columns not within the bounds of the SDK
EVT Defines event handlers by providing a process and class name. In addition the scheduling time of when the event handler can execute is set to pre (insert, update, delete) or post (insert, update, delete)
FUG List to define the administrators for each user defined object in the 'StructureUtility' form or for each user defined field in the 'User Defined FieldDefinition' form
GPG List to define the (nested) group members of User Group in the 'User Group' form.
GPP List to define the Administrators and their delegated admin rights over a User Group
GPY Joins Properties (PTY) and Groups (UGP).
IEI Table where all the imports and exports are defined
LAY Table where the layouts are defined for the various imports and exports
LIT Import/export table.
LKU Lookup definition entries
LKV Lookup values. This table stores the trigger information as well. So when a field in usr table is changed, a process task is called by referring to a entry in this table where the lookup up type is l(Lookup.USR_PROCESS_TRIGGERS).
LOB Import/export table.
LOC Holds information about locations
MAP XML MapSchema Information
MAV Stores the runtime data mappings for 'Process Task' adapters. The data source being a process form, Location, User, Organization, Process, IT Resource, orLiteral data.
MEV E-mail notification events
MIL Holds information about tasks of a process
MSG Defines the user groups that have permission to set the status of a process task.
MST Task Status And Object Status Information. Holds All The Task Status To Object Status Mappings
OBA Object Authorizer Information
OBD Object Dependencies
OBI Object Instance Information
OBJ Resource Object definition information.
ODF Holds Object To Process Form Data Flow Mappings.
ODV Object Events/Adapters Information
OIO Object Instance Request Target Organization Information.
OIU Object Instance Request Target User Information.
OOD Object Instance Request Target Organization Dependency Information.
ORC This Entity Holds The Detail On Each Order. This Could Be Considered The Items Section Of An Invoice. This Entity Is The Instance Of A Particular Process
ORD Holds information that is necessary to complete an order regardless of a processbeing ordered
ORF Resource Reconciliation Fields
ORR Object Reconciliation Action Rules
OSH Task Instance Assignment History
OSI Holds information about tasks that are created for an order
OST Object Status Information
OUD Object Instance Request Target User Dependency Information. Holds The Dependency Between Different Resource Instances Provisioned To A User.
OUG List to define the administrators for each Resource
PCQ Holds the challenging questions and answers for a user
PDF Package data flow table holds the data flow relationships between packages
PHO Holds all communication addresses for this contact -- e.g., contact telephone numbers,fax numbers, e-mail, etc.
PKD Package dependency table holds the dependency relationships between child packages of a parent package
PKG Consists of names and system keys of service processes, which consist of a group ofservices from the TOS table. Defines a Process in Xellerate.
PKH Package Hierarchy Table Holds The Parent-child Relationships Between Processes
POC Stores values for the child tables of the Object/Process form of a resource being provisioned by an access policy
POF Policy field table holds the field value pairs that constitute the definition of apolicy
POG Join table between Policy and User Groups, Specifies the groups to whom an access policy will apply.
POL Policy Table Holds A Policy, Defines An Access Policy In The System
POP Policy Package Join Table Holds The Packages That A Particular Policy Orders For User, Defines Which Resources Will Be Provisioned Or Denied For A Particular Access Policy.
PRF Process Reconciliation Field Mappings
PRO Defines a process name, scheduling frequency, and priority. A process is made up of oneor more tasks
PTY Client Properties Table
PUG List to define The Administrators And Their Delegated Admin Rights For Each Process.
PWR Table forPassword Rule Policies
PXD Table that holds the list of all Proxies Defined
QUE Administrative queues definition
QUM Administrative queue members
RAV Stores the runtime data mappings for 'Pre-populate' adapters. The data source being an Xellerate form or child table, or a user defined form
RCA Reconciliation Event Organizations Matched
RCB Reconciliation Event Invalid Data
RCD Reconciliation Event Data
RCE Reconciliation Events
RCH Reconciliation Event Action History
RCM Reconciliation Event Multi-Valued Attribute Data
RCP Reconciliation Event Processes Matched
RCU Reconciliation Event Users Matched
REP Table that contains all information about reports in the system
REQ This table holds request information
RES This table is used to stored adapter resources entered by the user.
RGM Table for Response Code Generated Milestones
RGP Rules To Apply To A User Group, Defines The Auto-group Membership Rules Attached To AParticular Group.
RGS Defines all known registries. These are used by Web Service tasks in an Adapter to communicate with a web service
RIO Request Organizations Resolved Object Instances
RIU Request Users Resolved Object Instances
RLO This table contains directory URLs which are referenced by Adapter Factoryjar/class files.
RML Rules To Apply To Task, Defines The Task Assignment Rules Attached To A Process Task.
ROP Rules To Apply To An Object-process Pair, Defines The Process Determination Rules Attached To A Resource Object.
RPC Reconciliation Event Process Child Table Matches
RPG Link table between Group table and Report Table. Specifies which group has accessto which reports
RPP Parameters passed to report.
RPT Stores information related to the creation of reports
RPW Rules To Apply To A Password Policy, Defines The Policy Determination Rules Attached To A Password Policy.
RQA Request target organization information.
RQC Request comment information
RQD Contains self-registration request data for web admin.
RQE Request administrative queues
RQH Requeststatus history
RQO Request object information.
RQU Request object target user information
RQY Request Organizations Requiring Resolution
RQZ Request Users Requiring Resolution
RRE Reconciliation User Matching Rule Elements
RRL Reconciliation User Matching Rules
RRT Reconciliation User Matching Rule Element Properties
RSC Defines the All The Possible Response Code For A Process Task.
RUE Defines the Elements In A Rule Definition.
RUG List to define the administrators for each Request
RUL Rule definitions
RVM Holds Recovery Milestones
SCH Holds specific information about an instance of a ask such as its status orscheduled dates
SDC Column metadata.
SDH Meta-Table Hierarchy.
SDK User define data object meta data definition
SDL SDK version labels
SDP User defined column properties
SEL Data Object Permissions For Groups On A Specified Data object
SIT The SIT table contains information about sites. Sites are subsets of locations.
SPD IT Resource parameter definition
SRE Defines Which Pre-populate Rule Generator Will Run For A Field Of User Defined DataObject.
SRP Should be replaced by the rate table from a billing system. Here it holdspecific rates for specific services.
SRS IT Resource - IT Resource join
STA Status Codes
SUG
SVD IT Resource type definition
SVP IT Resource property definition
SVR IT Resource instance definition
SVS IT Resource - Site Join
TAP Holds parameter values for a task, which is an instantiation of Valid Task,i.e. value for parameter Company Name, etc.
TAS Holds instances of Valid Task. Examples of Valid Tasks would be reports, imports, etc. Valid TaskParameters indicate what parameters can be assassigned to an instance of a task, i.e
TDV Used by event manager/data objects, joins data objects, types of service, and events
TLG Keeps logof SQL transactions.
TMP Indicates which tasks are in a process. Tasks are defined in table; this way, one task can be in many processes.
TOD To do list settings table.
TOS Holds information about a process
TSA Stores initialization params (name/value pairs) forscheduler tasks
TSK Scheduler task definition information
UDP User-defined field table
UGP Defines a group of users
UHD User Policy Profile History Details table
ULN This table hold UHD allow / deny list
UNM "UnDoMilestone" Feature
UPA
UPA_FIELDS Stores changes only for user profile audit history in de-normalized format
UPA_GRP_MEMBERSHIP Stores groups membership history in de-normalized format
UPA_RESOURCE Stores user profile resource history in de-normalized format
UPA_USR Stores user profile history in de-normalized format
UPD User Policy Profile Details table
UPH User Policy Profile History table
UPL User-defined field table
UPP User Policy Profile table
UPT User-defined field table
UPY Joins Properties (PTY) and User (USR) tables.
USG This table stores which users are in which groups.
USR Stores all information regarding a user.
UWP Window sequence, nesting in CarrierBase explorer for each user group.
VTK Defines automation task types such as reports, imports, and exports.
VTP Valid Task Parameters. Indicates which parameters can be defined for an instance of a task.
XSD This table holds Xellerate System Data
WIN Windows table: Windows keys, descriptions, and class names.

Tuesday, January 25, 2011

Set Provisioned Resource Description

To set the description of the provisioned resource, you can follow the below steps.

Say for example, we need to set the userkey as the description of the provisioned resource.
  1. Go to Process Definition.
  2. Search for the process which you want the change on.
  3. Click Map Descriptive Field
  4. Click on User Key
  5. Save
After the above change, you will see that after the user is provisioned to the resource, the user key will appear in the description column. See example below.

Similarly, you can select any other value to be set in the description field. Some would prefer user Id rather. Or may be even some user defined description field.

Monday, January 3, 2011

OIM installation or replication made easy

Have you installed OIM? If yes, then you would know how time consuming it can be.

But thanks to how the OIM works, we need not install OIM from scratch on every environment. We can simply copy it from an existing environment.

Below are the steps to be followed in brief.
  1. Copy the entire OIM_HOME/xellerate folder (ie., xellerate folder which contains all OIM files) from the existing environment to the new environment. Preferably, keep the location path same as the original one.
  2. Copy the entire OIM schema from the original to the new OIM database.
  3. Edit OIM_HOME/xellerate/config/xlconfig.xml and change the following values under the DirectDB element.
    • Change the <url> value to the correct one.
    • Change the <username> value to the correct one.
    • If the password for the schema of the new environment is different from the original one, then set the encrypted value for to "false" and then set the password in clear text.
    • Search for localhost (it will be under the tag <Discovery>) and make sure the port number is correct.
  4. Save the xlconfig.xml and exit it.
  5. Go to the application server data source and make sure the database url is correct.
  6. If the schema username is different from the original environment, then run the following sql script.
    update sdk set sdk_schema = 'OIMADMIN'
    commit;
    (OIMADMIN is the username of the new schema which is also configured in the xlconfig.xml at step 3.)
  7. Start OIM.
You are ready with a new OIM environment now. Go ahead and start using it.