What is Oracle Data Integrator?
Oracle Data Integrator, also known as Oracle ODI or just ODI, is Data Integration solution from Oracle, based on the ELT approach. For me, it is what I do every day at work, unfortunately, some times at home as well.

ODI is divided into a few main components:

  1. Repository – This where the ODI objects are saved, everything you do in ODI is located at one of the repositories. You can read more about it on a post I wrote a while ago, ODI Repositories.
  2. Agent – This is the server side of Oracle Data Integrator. This is the component, which can be installed anywhere, as long as it have access to the right resource to do the requested job. It can be located on the target database, source or even a dedicated server. Starting from 11g version, it can be deployed both, as standalone or Java EE agent.
  3. GUI – This is the client. It is partitioned into 4 parts: Designer, Operator, Topology and Security Manager. Those, help you design data integration projects, monitor them and control your entire ODI environment.
  4. ODI SDK – 11g version has added a nice addition, ODI SDK, which is a group of classes, that can be used to develop extensions to ODI in order to automate procedures and add flexibility to any part of a project, either in design or run time.

Oracle Data Integrator is a Java based application. It leverages Java as the main technology for connectivity. Using standards like JDBC, JNDI, JMS and more, ODI can connect to many technologies out of the box. This fact, also keeps the door open for ODI to connect to new technologies, as long as the right driver is in place and it supports those standards.

One of the features I like the most about ODI, is the customization level. Almost everything can be customized to meet your goals.  Knowledge modules, ODI Procedures and Open Tools – provide high modification abilites. The main power behind these is, of course, the ODI Substitution methods and Java. Such level of customization is a good thing, but can easily turn into a bad thing, if customized badly, because no planning was done properly. All this, depends on the project goals, size and complication.