Archive for the ‘ODI’ Category

First Impressions of ODI

Wednesday, February 25th, 2009

At work we have purchased ODI (Oracle Data Integrator) as our latest ETL/ELT tool.   ODI was previously known as the Sunopsis Data Conductor before it was purchased by Oracle in October 2006.  Before buying ODI, we had used Oracle stored procedures, straight C# .NET code and SSIS 2005 for integrations.  If I had been blogging at the time we started using SSIS, I no doubt would have posted along the lines of this.  I hated SSIS.  The worst part was having to write VB script in a seperate IDE environment.  I doubt the product ever underwent any usability testing before release.  I understand SSIS 2008 is a much better beast, but we never considered using it because of the bitter taste left in our mouth.


ODI is written in Java.  As a windows user, The UI is not as intuitive as I have come to expect.  Beyond the distinctive Java appearance and lack of speed, ODI has some particular behaviours I find annoying.  If you use Alt + Tab to switch between running applications, the icon shown for any ODI thick client application is the steaming cup of Java and if you click the close button in any of these applications, say the Topology Manager for instance, you get the following confirmation dialog:

Confirm Exit

Shouldn’t this say “Topology Manager”?  Apparently, each thick client is considered part of ODI and you have a single login to access any of them.  On the toolbar of each application there are icons for the other thick clients you can use to launch them.  When you try to close the last thick client application you get the confirmation dialog essentially informing you that if you close the application you will have to login the next time you run one of the clients.

There are also some localization issues.  Being unfamiliar with ODI and Java, when it came to creating a connection to a repository I didn’t populate the User and Password edit controls because I had already included the user and password in the thin JDBC connection url.  I got the following error message:

ODI's Localized Error Messages

which translated into English is “the user name of the database can not be null or empty”, but unfortunately I only understand the language specified by the regional setting on my computer which is English.  How would you ever guess that ODI was written by a French company called Sunopsis?

UI cues are very subtle in many cases, and standard behaviour is a little different.  For instance, when selecting objects in the Flow tab of the Interface properties, you must click on the title bar of the diagram element (red circles below) to select it, not anywhere else within the element.

Getting into the Flow

Z Ordering is not handled properly.  If you attempt to import a knowledge module, popup the browse dialog and switch to another application, upon making ODI the active application again, you don’t get the browse dialog, but the dialog from which that was launched.  You have to select the “Select a folder” application with the Java icon using Alt + Tab (it does not appear as a window on the Taskbar).

There is no way to increase the size of the text in the ODI help system, and it’s pretty small even by my standards.  Context sensitive help is not all that sensitive, and much of the help is “click here, select this” which doesn’t help the moment you go off the beaten track or something does not work as expected.  The help is woefully incomplete as is the ODI documentation in general, but we shall get to the nitty gritty in future posts.