Objective: In this article we will see the Introduction and Architecture of Oracle Data Integrator(ODI).
Oracle Data Integrator (ODI) is a product from Sunopsis acquired by Oracle in 2006 and now part of Oracle
Fusion Middleware Family.
1. ODI is built on E-LT(Extract , Load and Transform) Architecture.
2. Oracle Data Integrator 10g (10.1.3.5.0) suite includes three products
(a) Oracle Data Integrator
(b) Oracle Data Quality and
(c) Oracle Data Profiling
3. ODI uses Database as ETL (Extract, Transform & Load) engine thus eliminates requirement of proprietary ELT engine
4. Oracle Data Integrator Enterprise Edition (ODIEE) is combination of ODI (Oracle Data Integrator) and OWB (Oracle Warehouse Builder)
Oracle Data Integrator Architecture
Oracle Data Integrator (ODI) consists of following products:
1. Repository – is relational Databases to store objects used/configured or developed by ODI. There are two type of Repository Master Repository (one and only one) andWork Repository (one or more)
(a) Master Repository – There is only one Master repository and used to store security information, topology information (servers..) and versions of the Objects. All Modules (designer, operator, topology & security) have access to master repository.
(b) Work Repository– Work related objects (project objects) are stored in Work Repository like Models, Projects and run-time information. There could be multiple work repository per installation and all linked to single master repository. Work Repository is accessed by Designer/Operator Module and run time agent.
2. Graphical Modules –
(a) Designer (designer.sh|bat)– All project development takes place in this module and this is the place where database and application metadata are imported and defined.
(b) Operator (operator.sh|bat) – usually to monitor production ODI instance and shows execution logs, rows processed and execution statistics
(c) Topology Manager (topology.sh|bat)– To register servers, schema and agents in master repository.
(d) Security Manager (security.sh|bat) – To manage user profiles and their access privileges.
3. Runtime Component / Scheduler Agent – scheduler agent coordinates execution of scenarios. Scheduler Agent retrieves code from execution repository and then requests database server, scripting engine or operating system server to execute that code.
4. Metadata Navigator (MN)– is Web (JSP/Servlet) application (available asoracledimn.war) that enables access to repository through Web Interface (Web Browser). MetaData Navigator (MN) requires Application Server and you deploy MN application oracledimn.war on pre-installed application server (Tom Cat, OAS, WebLogic). This is optional component.
ODI consists of following components:
1. ODI Studio – is a design time components which consists of Designer, Operator, Topology and Security Navigator. This is developer tool and used mainly by developers and administrators to develop and manage ODI . ODI studio is NOT required at run time.
2. Agents – This is run time component which connects to repository and executes the code . Agents also records execution time, logging, and messages for each execution. Agents are of two type a) Standalone Agents b) Java EE agents.
Both type of agents are mulct threaded java programs and can be configured for high availability. Java EE agents require WebLogic Server where as Standalone Agents run in their own JVM container (no application server is required for standalone agent)
3. ODI Repository– is database schema which contains configuration information, metadata, project scenario and execution logs. ODI repository consists of one Master Repository and multiple Work Repository.
(a) Master Repository – contains security information (users, profiles, access rights), topology definition (server , schemas, contexts, languages), versions and achieved objects.
(b) Work Repository – contains developed objects like Models, Projects and Scenario execution.
Execution Repository – This is work repository which contains only execution information like for production environment.
4. ODI Console– is a Web based User Interface (accessible via browser) which can be used to perform topology configuration, production operations and read access to ODI repository. ODI Console is a web application and can be deployed on J2EE application server like Oracle WebLogic Server.
5. Public Web Services– ODI comes with several run-time service like a) “Public Web Service” b) “Agent Web Service” which can be deployed and executed from J2EE Application Server like Oracle WebLogic Server. Agent Web Service can also be invoked from Standalone Agent.
(a) Public Web Service connects to ODI repository to retrieve list of contexts and scenarios in ODI
(b) Agent Web Service commands the ODI Agent (Standalone and Java EE) to start and monitor a scenario in ODI.