Sei sulla pagina 1di 75
Oracle Data Integrator

Oracle Data Integrator

Historia del “ETL”

0ª Generación - Desarrollo manual Cualquier entorno Maximiza rendimiento – Código Na:vo Exige conocimientos de programación

1ª Generación – Generadores de Código Cualquier entorno Rendimiento Bajo/Medio/Alto – Código Na:vo Alta produc:vidad, flexibilidad y calidad

2ª Generación – Motor Propietario ( Engine ) Entorno Gráfico – Control de flujo Arquitectura centralizada – Requiere Servidor propietario Alto rendimiento – Escalabilidad Baja

3ª Generación – Generador SQL naHvo Cualquier entorno ETL / ELT / EAI – Tiempo Real Únicamente requiere conocimientos de SQL Arquitectura distribuida – No requiere servidor Alto rendimiento Escalabilidad Alta

Tiempo

Datos Datos
Datos
Datos
Datos Datos Engine
Datos
Datos
Engine
Sql
Sql
Sql
Sql

Datos

¿Qué es ODI?

ODI (Oracle Data Integrator) es un Integrador de Datos de Oracle.

¿Qué es la Integración de Datos?

Es el proceso combinar datos que residen en diferentes fuentes para permitir al usuario final tener una vista unificada de todos sus datos.

Your Projects

§

ETL / Data Warehouse – Batch and Real-Time

§

EAI – Application Integration

§

Data Replication

§

Data Synchronization

§

Data Migration

External Data
External
Data
Synchronization §   Data Migration External Data Replicate, exchange and verify Application data ODI SALES
Replicate, exchange and verify Application data ODI SALES ACCOUNTS FINANCE CAM CMMS ERP/CRM ODI ODI
Replicate, exchange and verify
Application data
ODI
SALES
ACCOUNTS
FINANCE
CAM
CMMS
ERP/CRM
ODI
ODI
Migrate your legacy
applications
Verification and diffusion
of decisional information
eCommerce
ODI
ODI
Datawarehouse
eDatamart

To be reactive to increasing demands for decisional information

Diffuse and share information with external partners

to increasing demands for decisional information Diffuse and share information with external partners Datamart Datamart 4
Datamart
Datamart
Datamart
Datamart

Arquitectura

Arquitectura TOPOLOGY O P E R A T O R Administering of production operations Display of

TOPOLOGY

OPERATOR

Arquitectura TOPOLOGY O P E R A T O R Administering of production operations Display of
Arquitectura TOPOLOGY O P E R A T O R Administering of production operations Display of

Administering of production operations

Display of
Display of

Description of

IS infrastructure

operations Display of Description of IS infrastructure SECURITY SUNOPSIS REPOSITORY EXPLORER REPOSITORY meta-data

SECURITY

SUNOPSIS

REPOSITORY

EXPLORER

of IS infrastructure SECURITY SUNOPSIS REPOSITORY EXPLORER REPOSITORY meta-data Management of Access privileges
REPOSITORY
REPOSITORY

meta-data

SECURITY SUNOPSIS REPOSITORY EXPLORER REPOSITORY meta-data Management of Access privileges Development processes

Management of

Access privileges Development
Access privileges
Development

processes

Remote

execution

DESIGNER

JMS

JCA

JDBC

MOM ERP/ DWH CRM
MOM
ERP/
DWH
CRM

JDBC

DBMS
DBMS

JDBC/OS

OLAP
OLAP

JNDI

LDAP Directory
LDAP
Directory

JDBC/OS

Flat Files XML
Flat
Files
XML

El Repositorio

Es un repositorio de metadatos integrado, abierto comparHdo, que almacena metadatos de las aplicaciones y datos involucrados en las transformaciones y procesos de integración, las versiones de los proyectos desarrollados y todas las informaciones requeridas para el uso de estos (planeamiento, programación y reportes de ejecución).

(planeamiento, programación y reportes de ejecución). Master Repository Work Repository (Dev) Separation of
Master Repository
Master
Repository
programación y reportes de ejecución). Master Repository Work Repository (Dev) Separation of environments Work

Work Repository (Dev)

Separation of environments

y reportes de ejecución). Master Repository Work Repository (Dev) Separation of environments Work Repository (Prod)

Work Repository (Prod)

Master Repository

A single master repository for the enHre informaHon system Managed by Topology and Security Manager modules It contains :

the enHre informaHon system •   Managed by Topology and Security Manager modules •   It
the enHre informaHon system •   Managed by Topology and Security Manager modules •   It
the enHre informaHon system •   Managed by Topology and Security Manager modules •   It

Overall descripHon of I.S. infrastructure

Data server URLs Physical and logical architectures of the I.S.

DefiniHon Security policy

Sunopsis Users Profiles and access privileges

Master Repository
Master
Repository

Version management of developed components ( projects , models, …)

Work Repository

Models

DefiniHon of tables, files, messages, columns, keys, condiHons etc. JournalizaHon parameters (subscribers, …)

Projects

parameters (subscribers, …) •   Projects Work Repository –   Packages, IntegraHon Interfaces,
Work Repository
Work
Repository

Packages, IntegraHon Interfaces, Specific Procedures, Variables, Sequences Knowledge Modules

Scenarios

Compile code generated in projects

Schedules

List of scenarios to be launched according to producHon schedules

Journal

RunHme reports

Designer

Es donde los proyectos son desarrollados Ingeniería reversa automáHca de aplicaciones y bases de datos Desarrollo gráfico y mantenimiento de las interfaces de transformación e integración Visualización de los flujos de datos de las interfaces Administración automáHca de la documentación Customización de código generado

Designer

Designer

Operator

Administra y monitorea la producción presenta los logs de ejecución, con mensajes de error, números de filas procesadas, estadísHcas de ejecución, y otros. Permite a los desarrolladores hacer depuración de los procesos.

Operator

Operator

Topology Manager

Define la arquitectura fsica y lógica de la infraestructura. Se encarga de registrar en el repositorio maestro Servidores, Esquemas y Agentes

Topology Manager

Topology Manager

Security Manager

Administra los usuarios, perfiles y privilegios de acceso. Puede también dar privilegios específicos a objetos y funcionalidades

Security Manager

Security Manager

Módulos de Conocimiento (Knowledge Modules)

Los Módulos de Conocimiento implementan los flujos de datos actuales y definen las planHllas para la generación de código a través de múlHples sistemas involucrados en cada proceso.

Diferentes Hpos de Módulos de Conocimiento

• RKM (Reverse Knowledge Modules)

• LKM (Loading Knowledge Modules)

• JKM (Journalizing Knowledge Modules)

• IKM (IntegraHon Knowledge Modules)

• CKM (Check Knowledge Modules)

• SKM (Service Knowledge Modules)

Modulos Gráficos

Designer Operator Topology Manager Security Manager

El Agente

En Hempo de ejecución, el agente coordina la ejecución de los escenarios de producción. La ejecución de procesos puede ser disparada a parHr de uno de los módulos gráficos o también por el agente o desde herramientas de terceros (schedulers).

Metadata Navigator

Es un cliente web para el acceso al Repositorio de Oracle Data Integrator. Lista, invesHga y analiza todo el contenido del repositorio, además de ofrecer “data lineage tracing”, referencias cruzadas, análisis de impacto, etc. También se puede uHlizar esta herramienta para la administración de procesos en ejecución.

Pasos a seguir para una implementación

§Definir la arquitectura de la I.S . Vistas fsicas y lógicas Mapeo fsico / lógico

§Definicon de Modelo Ingenieria Inversa Definicion de Tablas Constraints §Definiciones de Reglas Selección de desHnosy fuentes Reglas de transformación Reglas de verificación (verificación de restricción) Cargando las estrategias

§Pruebas Unitarias Verificación de código fuente Depuración

§

Definicion de la Malla Definir los pasos Pruebas de Integracion Genración de casos

§Packaging / delivery Definicion de la version Desplegar casos Programar tareas

Topology

Designer

Model

Project/

Interface

Project/KM

Operator

Designer

Project/Pkg

Project/Scen

Operator

Topology Designer Model Project/ Interface Project/KM Operator Designer Project/Pkg Project/Scen Operator 22

Creación de un Proyecto en ODI

1. Definir una Topología ( Topology Manager) 2. Crear los Modelos 3. Crear el Proyecto 4. Crear y Organizar Carpetas 5. Importar KMs . 6. Crear y Modificar Objetos 7. Testear los Objetos 8. Hacer Paquetes 9. Testear Paquetes 10. Generar Escenarios

1. Definir una Topología

1.1. Crear los Contextos

1.2. Crear los Servidores de Datos

1.3. Crear Esquemas Físicos

1.4. Crear los Esquemas Lógicos

1.5. Crear Agentes Físicos

1.6. Crear Agentes Lógicos

1.1. Crear los Contextos

Los Contextos reúnen los componentes de la Arquitectura Física (Arquitectura Real), con los componentes de la Arquitectura Lógica, que es la que usa el usuario para trabajar.

1.1. Crear los Contextos

1.1. Crear los Contextos
1.1. Crear los Contextos

1.2. Crear los Servidores de Datos

correspondientes a cada servidor usado.

1.2. Crear los Servidores de Datos correspondientes a cada servidor usado.

1.2. Crear los Servidores de Datos

1.2. Crear los Servidores de Datos

1.2. Crear los Servidores de Datos

1.2. Crear los Servidores de Datos

1.3. Crear Esquemas Físicos

Esquema Físico:

Esquema de Datos Esquema de Trabajo, que es donde ODI creara y manipulará las tablas temporales asociadas con los orígenes y desHnos contenidos en el esquema de datos.

1.3. Crear Esquemas Físicos

1.3. Crear Esquemas Físicos

1.3. Crear Esquemas Físicos

Si el Esquema Físico no existe, se creará automáHcamente al Hpear su nombre.

1.3. Crear Esquemas Físicos Si el Esquema Físico no existe, se creará automáHcamente al Hpear su

1.3. Crear Esquemas Físicos

Vincular los esquemas fsicos y lógicos en el contexto:

1.3. Crear Esquemas Físicos •   Vincular los esquemas fsicos y lógicos en el contexto:

2. Crear los Modelos

Desde el Modulo Designer:

2. Crear los Modelos •   Desde el Modulo Designer:

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

2. Crear los Modelos

3. Crear el Proyecto

3. Crear el Proyecto

3. Crear el Proyecto

3. Crear el Proyecto

4. Crear y Organizar Carpetas

En las Carpetas se almacenan los Paquetes, Interfaces y Procedimientos Escenarios, etc.

4. Crear y Organizar Carpetas En las Carpetas se almacenan los Paquetes, Interfaces y Procedimientos Escenarios,

5. Importar KMs

Deben importarse los KMs adecuados para cada tecnología. Los KMs se encuentran en el directorio …\ODI\oracledi \impexp\

los KMs adecuados para cada tecnología. •   Los KMs se encuentran en el directorio …\ODI\oracledi

5. Importar KMs

5. Importar KMs

6. Crear y Modificar Objetos

• Variables

• Sequences

• Interfaces

• Procedures

• User funcHons

Crear Interfaces

Crear Interfaces

Crear Interfaces

Crear Interfaces

Crear Interfaces

Arrastrar desde el Árbol de Modelos, la tabla de desHno sobre la parte derecha de la ventana. Arrastrar las tablas de origen sobre la parte izquierda. Escribir las reglas de mapeo para cada columna de la tabla-desHno en el panel inferior.

Crear Interfaces

Crear Interfaces

Crear Interfaces

Se debe seleccionar el lugar donde se ejecutará dicha regla (origen, área de ensayo, desHno), según corresponda. Para hacer un join se debe arrastrar un campo sobre otro en las tablas de origen.

Crear Interfaces

Crear Interfaces

8. Hacer Paquetes

Un Paquete es una secuencia ordenada de Objetos (Interfaces, Procedimientos, etc.)

8. Hacer Paquetes Un Paquete es una secuencia ordenada de Objetos (Interfaces, Procedimientos, etc.)

8. Hacer Paquetes

Dentro de la Pestaña Diagram arrastrar los objetos para armar una secuencia. También se pueden arrastrar objetos de la barra de herramientas en la parte izquierda del a ventana.

8. Hacer Paquetes

8. Hacer Paquetes

8. Hacer Paquetes

Si un proceso termina su ejecución correctamente, a conHnuación se ejecutará el proceso que esta apuntado por una flecha verde. Si una ejecución termina con errores, el siguiente proceso a ejecutar será el que esta apuntado por una flecha roja.

10. Generar Escenarios

Un escenario es una versión compilada de un paquete. Una vez generado no se puede modificar. Si se desea modificar un paquete, es necesario generar nuevamente el escenario. Se pueden ejecutar desde línea de comandos.

Testear Ejecuciones

Las ejecuciones de procedimientos, interfaces, paquetes o escenarios, pueden ser monitoreadas desde el módulo Operator.

Las ejecuciones de procedimientos, interfaces, paquetes o escenarios, pueden ser monitoreadas desde el módulo Operator.

Testear Ejecuciones

También es posible ver las filas que no fueron insertadas por tener errores errores.

Testear Ejecuciones •   También es posible ver las filas que no fueron insertadas por tener

Scheduleando un Escenario

1. Editar odiparams.bat 2. Crear scripts para lanzar Agente Físico 3. Crear Agente Físico 4. Crear Agente Lógico 5. Testear 6. Insertar Programación

Editar odiparams.bat

odiparams.bat esta situado en el subdirectorio \bin del directorio ODI.

Editar odiparams.bat odiparams.bat esta situado en el subdirectorio \bin del directorio ODI.

Crear los Scripts necesarios para iniciar y detener el agente:

start.bat:

C:\ODI\oracledi\bin\agentscheduler “-port=<puerto>“ “-name=<nombre>” “-v=<valor entre 0 y 5>” stop.bat:

C:\ODI\oracledi\bin\agentstop “-port=<mismo puerto>”

Crear scripts

Crear scripts
Crear scripts

Crear Agente Físico

Desde el Topology Manager:

Crear Agente Físico •   Desde el Topology Manager:

Crear Agente Físico

Crear Agente Físico

Crear Agente Lógico

Crear Agente Lógico

Crear Agente Lógico

Vincular Agente Lógico al Agente Físico con un Contexto.

Crear Agente Lógico •   Vincular Agente Lógico al Agente Físico con un Contexto.

Crear Agente Lógico

Hacer lo mismo en el Contexto:

Crear Agente Lógico •   Hacer lo mismo en el Contexto:

Testear

Lanzar el Agente ejecutando el archivo .bat

Testear •   Lanzar el Agente ejecutando el archivo .bat

Testear

Abrir el Agente Físico y Testear:

Testear •   Abrir el Agente Físico y Testear:

Insertar Programación

Desde el Módulo Designer:

Insertar Programación •   Desde el Módulo Designer:

Insertar Programación

Insertar Programación

Monitorear Ejecuciones

Desde el módulo Operator:

Monitorear Ejecuciones •   Desde el módulo Operator:

Otras formas de ejecutar Escenarios:

Desde Línea de Comandos:

startscen <Name> <Version> <Context code> [<Log_Level>] [- SESSION_NAME=<session name>] [-KEYWORDS=<keywords>] [-NAME=<agent_name>] [-v=<trace level>] [<variable>=<value>]

[-NAME=<agent_name>] [-v=<trace level>] [<variable>=<value>]

Otras formas de ejecutar Escenarios:

Desde el módulo Operator:

Otras formas de ejecutar Escenarios: •   Desde el módulo Operator: