Wednesday 20 May 2015

Oracle Internt Directory (OID)

OID which stands for Oracle Internet Directory is part of Identity Management in Infrastructure Tier of Fusion Middleware.

How to connect to OID
____________________________

SSO ---> LDAP server (Oracle's Impleamtion like of AD of Mircosft) ---> OID

What is OID ?
Oracle Internet Directory (OID) is Oracle’s Implementation of LDAP (Light weight Directory Access Protocol) which is ldap version 3 compliant. OID is special kind of database repository in which information is stored in Tree structure also called DIT (Directory Information Tree).

Similar to OID ,

Microsoft has its own LDAP server called Active Directory (AD) and
Sun’s LDAP server is called as iPlanet .


The information in the directory is available to different clients, such as single sign-on solutions,
email clients, and database applications. Clients communicate with a directory server by means of the Lightweight Directory Access Protocol (LDAP).
Oracle Internet Directory is an LDAP directory that uses an Oracle Database for storage.


Where is OID code in oracle_home ?
*************************************

OID code & its corresponding log files are stored in directories under $ORACLE_HOME/ldap directory in Infrastructure Tier . This is same tier where your SSO server sits.

OID logfiles location
_____________________________

OID logs are stored at $ORACLE_HOME/ldap/log


Need of Oracle Internet Directory ?
*******************************

Use of Oracle Internet Directory (Oracle’s LDAP):OID is repository for enterprise users, groups data.

–Information about various applications (Portal, BI, E-Business Suite, Collaboration Suite) registered to OID (You can register E-Business Suite or Database in OID).

–Password policy for Single Sign-On Partner Applications.

What are default ports for OID ?
**************************************

You may see different ports for OID depending on OID server version but most common is 389 non ssl OID port & 636 for SSL OID port (These are also default ldap server ports). If you don’t know which ports your OID is using refer portlist.ini in $ORACLE_HOME/install (Note that this file will not list updated port if you change OID ports after Installation)
You should an entry like
Oracle Internet Directory port = 389
Oracle Internet Directory (SSL) port = 636

How to start OID ?
***********************

OID process is controlled by opmn (Oracle process monitor & notification server) so you by default use opmnctl command

To Start OID opmnctl startproc ias-component=OID
To Stop OID opmnctl stopproc ias-component=OID


What are different Daemon/Server in OID ?
*************************************************

There are three servers/daemon in OID

—OIDLDAPD –

This is the main server/daemon waiting for ldap request (ldapsearch, ldapadd, ldapmodify, ldapdelete..).
When any application want to do any ldap operation(add, modify, delete, search..) on OID object (user, group, application..),
that request is fulfilled by this server/daemon.


—ODISRV – also called as Oracle Directory Integration Server, this is used for integration of Various Application (Portal, BI, E-Business Suite/Apps) with OID for user/group data. If any user/group is added/deleted in Portal/BI synchronization of that user to OID is done by this Daemon (Vice Versa). If you have Integrated Apps(11i/R12) with OID/SSO then users is provisioned/de-provisioned using this daemon of OID.

—OIDREPLD – Also called as OID Replication Daemon is used if you have replicated OID. By default this daemon is disabled.



How to find port on which OID server is listening ?
___________________________________________________________________________

A: on Infrastructure Tier $ORACLE_HOME/ldap/admin/ldap.ora  look for line
DIRECTORY_SERVERS= (focusthread.com:389:636)   –> This means OID is listening on port 389 NonSSL & 636 on SSL Port

or

In file $ORACLE_HOME/install/portlist.ini look for line

Oracle Internet Directory port = 389
Oracle Internet Directory (SSL) port = 636


OID by default starts on both SSL (636) & Non SSL port (389) so check it with unix.

Check if OID ports are listening or not

command netstat like

$ netstat -an grep 636 more
$ netstat -an grep 389 more

: How to find port on which OID server is listening ?

A: on Infrastructure Tier $ORACLE_HOME/ldap/admin/ldap.ora  look for line
DIRECTORY_SERVERS= (focusthread.com:389:636)   –> This means OID is listening on port 389 NonSSL & 636 on SSL Port

or

In file $ORACLE_HOME/install/portlist.ini look for line
Oracle Internet Directory port = 389
Oracle Internet Directory (SSL) port = 636

Monday 18 May 2015

Interfaces in Oracle Applications


What are Interfaces and why there are required ?

  •  Interfaces are used in Oracle Applications to integrate external systems and Data Conversion.
  • The interfaces are mainly used to either transfer data from Oracle Applications to a flat file or data from legacy system to Oracle Applications.
  • Used extensively at the time of Data Conversion from legacy/ old systems to a fresh implementation of Oracle Applications.
             Legacy Syetem --> Interface--> Oracle Application

Importance of data conversion/migration and interfaces within any ERP implementation project can't be ignored. Since ERP mostly deals with data which finally leads into Information , thus it is equally important to understand the aspect how "data" is important in any ERP system specially in implementation phase.

 When the Data Conversation or Data Migration Required ??

Below 3 situation where it required the data conversation or data migration.

1. When an organization have a leagcy system and now they want to implement the ERP modules(Oracle Applications).
2.Another situation is that already the company is using the ERP solutions and client decided to upgrade the application and because of that there are some table structure also got changed and at that moment we need data conversation.


What is Data conversation and Data Migration

Data Conversation---> Can be defined as a process of converting data from one structural form to another to suit the requirements of the system to which it is migrated.

Data Migration ------>  Process to move the data from the old system to new system.Usually very large.

Interface Concepts


Open Interface Logic

  • First the data from the source application is loaded into a database table (called Interface table).
  • Then the provided validation program logic validates the records whether they are correct or not .
  • If the validation fails, the errors are transferred into another table (called Error Table).
  • If the validation succeeds, the correct records are transferred through a process into the destination application table.

Why conversion/Migration is more important in ERP?

Before Go-Live in the production environment the required master data, the open transaction data and the historical transaction data need to be imported from the old legacy applications to Oracle Applications. Since data structure and data design in legacy systems are different from those of Oracle Applications, data need to be messaged/ converted satisfying the business rules to suite the Oracle requirement.
What Is An Interface then
  • These are programs for connection between Two Systems In Order To Synchronize the Data.
  • They can be Manual, Batch or Real-Time.
  • Used Repeatedly and Should Therefore Be Designed and Constructed In the Most Efficient Manner Possible.
  • These can Be Triggered by an Event (Such As Running A Concurrent Program) Or It Can Be Scheduled To Run At A Certain Time.
Interface Type
You have learned how interface is differ from Conversion/Migration. Now lets take few types of interfaces:
Normally in any system , there are two kinds of interface as:
Inbound Interfaces
  • An inbound interface receives data from one system (legacy) and inserts into Oracle open interface tables.
Legacy System is nothing bu the other applications used by SAP,JAVA,Mainframe etc.

Example:
 In implementation project we can implement forms and report so that users can enter the data after implementation but the previous data will be available in the legacy system we need to bring that data in to Oracle Applications with validations.

Usage:  SQL*Loader, .txt, .ctl, .dis, .bad, .log
  • A typical inbound interface would follow these steps:
    1. Extract data from legacy system into a flat file.
    2. Use SQL*Loader or equivalent tool to upload information into a temporary table.
    3. Write a PL/SQL program to take data from the temp table and insert into the Open Interface Tables.
inbound
Outbound Interfaces
o An outbound interface takes data from Oracle tables and inserts it into an external system (via tables or flat file).
Example:
Client is using to applications one is for financial and another one is for manufacturing, we have to transfer manufacture data in to financial applications, so that we can generate the Invoices in financial applications.
o A typical outbound interface would follow these steps:
- Write a PL/SQL program to extract data from Oracle base tables into a flat file.
- Use a custom program to read that data and post it into the legacy system
outbound
Do we have some other standard way to do interface?
  • Open Interface is a table based interface registered as a concurrent program
    • process records in batches.
    • spawned(Pro-C) or PL/SQL based programs.

Please read below links for more information. My Contents are copied from these blogs only.

http://www.oracleerpappsguide.com/2011/04/interfaces-in-oracle-application.html

http://www.oracleappshub.com/conversion/data-conversionmigration-and-interface-why-important/