ODI Overview

http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/170960.gif
OVERVIEW
En el actual entorno empresarial cada vez más acelerado, las organizaciones deben utilizar las aplicaciones de software más especializadas y certeras, es necesario garantizar la coexistencia de estas aplicaciones en plataformas de hardware y sistemas heterogéneos, garantizar la capacidad de compartir datos entre aplicaciones y sistemas.
Oracle Data Integration (ODI) brinda una solución completa, abierta e integrada para entornos operacionales y analíticos. Combina todos los elementos de integración de datos como son traslado de datos en tiempo real, transformación, sincronización, calidad de datos, gestión de datos y servicios de datos para garantizar que la información sea oportuna, precisa y uniforme en todos los sistemas heterogéneos. ODI 11g proporciona integración de datos para empresas en tiempo real al ofrecer una integración más estrecha con las aplicaciones y las tecnologías Oracle, soporte para más sistemas heterogéneos y el mejor rendimiento de su tipo.
ODI modifica el tradicional concepto ETL (Extract, Transform, Load), pasando a ELT (Extract, Load, Transform). La arquitectura ELT extrae los datos de los sistemas fuente, los carga en la base de datos y realiza todas las transformaciones en la propia base de datos. En el tradicional ETL el proceso de transformación puede ser realizado en un entorno hardware y software diferente al de la base de datos de destino, mientras que en un esquema ELT la transformación y carga se realizan en una misma plataforma hardware y software. Lógicamente un esquema ELT reduce el tráfico de datos, pero hay que dotar al motor de la base de datos destino de capacidades potentes de transformación y movimiento de datos, capacidades que provee ODI. Así mismo, ODI permite realizar dentro de la base de datos transformaciones complejas al mismo nivel que el servidor que realiza la capa de transformación en un ETL convencional.

ARQUITECTURA ODI
Surrounding text describes Figure 1-1 .
Repositorios: El componente central de la arquitectura es el repositorio. Almacena información de configuración de la infraestructura, los metadatos de todas las aplicaciones, los proyectos, los escenarios y los registros de ejecución. Pueden coexistir muchos repositorios en la infraestructura, por ejemplo, la versión desarrollo, versión QA y versión producción. El repositorio también actúa como un sistema de control de versión de objetos en donde se archivan y se le asigna un número de versión.
El repositorio de ODI se compone de un repositorio principal llamado Master Repository y uno o varios repositorios de trabajo llamados Work Repository.
  •  Master Repository:
    • Almacena información de la seguridad, usuarios, perfiles y accesos a la plataforma ODI.
    • Almacena topologías de información incluidas las tecnologías del servidor, esquemas, contextos, idiomas y demás.
    • Objetos versionados y archivados.
  • Work Repository:
    • Almacena modelos incluyendo la definición de los esquemas, estructuras de almacenamiento de datos y metadatos. Definición de campos y columnas, limitaciones de calidad de datos y referencias cruzadas.
    • Proyectos, incluyendo reglas de negocio, interfaces, paquetes, procedures, folders, módulos de conocimiento (Knowledge Modules) y variables.
    • Escenarios, ejecución  de escenarios, información de ejecuciones y logs.
ODI Studio: Es la interfaz gráfica de ODI. Es utilizado por los administradores, desarrolladores y operadores para tener acceso a los repositorios. ODI Studio ofrece cuatro Navegadores para la gestión de los diferentes aspectos y etapas de un proyecto de integración:
  • Designer Navigator:
Se utiliza para diseñar la integridad de los datos y construir transformaciones como por ejemplo:
    • Ingeniería inversa de las aplicaciones existentes en las bases de datos.
    • Desarrollo gráfico y mantenimiento de interfaces de transformación e integración.
    • Visualización de los flujos de datos en las interfaces.
    • Generación automática de documentación.
    • Personalización de código generado.

  • Operator Navigator:
Es la herramienta de monitoreo y producción. A través del Operador se podrá gestionar las ejecuciones de interfaces, así como los escenarios. Además se puede visualizar los estatus de las ejecuciones con fecha de ejecución y duración.




  • Topology Navigator:
Se utiliza para gestionar los datos que describen las arquitecturas físicas y lógicas del sistema de información. A través del Topology se puede administrar la topología de los sistemas de información, las tecnologías, tipos de datos, los servidores de datos relacionados con estas tecnologías y esquemas de los que contienen, los contextos, los lenguajes y agentes, así como los repositorios. Los datos del servidor permitirán a ODI ejecutar las mismas interfaces de integración en diferentes entornos físicos.




  • Security Navigator:
Es la herramienta para la gestión de la información de seguridad en ODI. A través del Security puede crear usuarios y perfiles, asignar derechos de usuario para métodos (editar, borrar, etc) en los objetos genéricos (servidor de datos, tipos de datos, etc).



Agente: Los agentes pueden ser vistos como orquestadores para el movimiento de datos y
transformaciones. El agente se conecta a los servidores de datos y organiza la ejecución de código en estos servidores. Recupera los códigos de retorno y mensajes para la ejecución, así como información de registros adicionales, como el número de registros procesados, el tiempo de ejecución, etc.
Existen dos tipos de agentes ODI:
  • Standalone Agent: Son agentes muy ligeros y de fácil instalación en cualquier plataforma, son pequeñas aplicaciones en Java que no requieren un servidor. Disponible para todas la versiones de ODI.
  • JEE Agent: Es un agente que aprovecha las características de Weblogic en términos de alta disponibilidad y limitación de conexiones. Disponible para ODI 11g y versiones posteriores.
El Agente puede recibir órdenes de ejecución de diferentes origines como puede ser:
  • ODI Studio: Cuando se ejecuta un proceso desde ODI Studio, se solicitara el nombre del agente con el cual se realizara la ejecución.
  • Consola: Cuando se ejecuta un proceso desde la consola, se solicitara el nombre del agente con el cual se realizara la ejecución.
  • Linea de Comandos: En este caso ODI inicia una sesión en línea de comandos por el agente limitada a la ejecución  del proceso que es pasado como un parámetro de línea  de comandos. El script debe de contener un comando de inicio de ejecución, en Windows es startscen.bat y en Unix es startscen.sh
  • Web Service: ODI 10g ofrece esta característica, pero requiere una configuración específica. ODI 11g ofrece esta función como parte de la implementación del agente. Todos los agentes soportan web services para iniciar procesos. Para un agente independiente, se puede conectar con el agente a través del protocolo HTTP para ver el WSDL (Web Services Description Language) asociado. Por ejemplo, si el agente se está ejecutando en el servidor odi_dev  en el puerto 20910, el WSDL se puede encontrar en esta ruta http://localhost:20910/oraclediagent/OdiInvoke?wsdl
  • Programación ODI: Si los procesos de ODI se programan dentro de ODI (desde el Operator o Designer) entonces ODI se asocia con un agente. O bien las ejecuciones serán cargados al agente por un administrador, el agente actualizara la lista de ejecuciones cuando se reinicie el agente.

Console: La consola es una interfaz HTML del repositorio, esta consola está instalada en WebLogic Server y es utilizada para navegar en el repositorio pero no se pueden realizar nuevos desarrollos mediante esta interfaz. También es utilizada para ver los procesos que se están ejecutando sin tener todo ODI Studio instalado y puede realizar las tareas del Operator como ejecución y reinicio de procesos, status de procesos, etc.


Modulos de Conocimiento (ODI Knowledge Modules): Los Knowledge Modules son el núcleo de la arquitectura ODI. Proveen a la arquitectura Oracle de flexibilidad, modularidad y fácil ampliación. Soportan plataformas de terceros, fuentes heterogéneas de datos y data warehousing appliances. Los KM implementan los flujos de datos y definen plantillas para generación de código involucrando diferentes sistemas y plataformas. Los KM permiten la creación de flujos de datos sin que la complejidad de las reglas de transformación cambie su diseño. Por otro lado, son muy específicos ya que los procesos y el código generado están orientados y optimizados a la tecnología base con la que se integran. ODI dispone de una librería de diversos módulos KM para adaptarlos a medida y beneficiarse con las mejores prácticas de ELT.
Tipos de KM:
Loading Knowledge Modules (LKM): Este módulo determina como se extrae y carga datos entre dos tecnologías heterogéneas. Diferentes KM ofrecerán diferentes estrategias de conexión como JDBC.
Integration Knowledge Modules (IKM): Este módulo define la estrategia a usar en la integración de datos en el destino. Las diferentes estrategias incluyen inserciones y actualizaciones
Check Knowledge Modules (CKM): Este módulo implementa en línea de datos el control de calidad antes de realizar la inserción en el destino, como validar las reglas de negocio, comprobar la unicidad en las llaves primarias y validar la existencia de registros de las llaves foráneas.
Reverse-engineering Knowledge Modules (RKM): Este módulo importa la metadata para una determinada tecnología dentro del repositorio de ODI. Estos módulos de conocimiento se utilizan generalmente en aplicaciones empresariales en lugar de las bases de datos, la mayoría de las operaciones de ingeniería inversa no requieren ningún KM ya que los controladores JDBC en ODI soportan la operaciones de ingeniería inversa.
Journalizing Knowledge Module (JKM): Este módulo administra las acciones diarias ODI y mecanismos CDC (Changed Data Capture) para proporcionar la captura automática de datos.
Service Knowledge Modules (SKM): Este módulo genera automáticamente el código de las operaciones ODI y expone las operaciones realizadas en las tablas de la  base de datos como un web services. Insertar, actualizar, borrar y seleccionar son algunos ejemplos que se pueden utilizar con web services.

Los KM soportan las siguientes tecnologías y sistemas:
  • Generic SQL
  • Hypersonic SQL
  • IBM DB2/400
  • DB2 UDB
  • Informix
  • JD Edwards Enterprise One
  • JMS
  • Microsoft Access
  • Microsoft SQL
  • Netezza
  • Oracle Database
  • Oracle Data Quality for Data Integrator
  • Oracle E-Business Suite
  • Oracle Enterprise Service Bus
  • Oracle GoldenGate
  • Hyperion Essbase
  • Hyperion Financial Management
  • Hyperion  Planning
  • Oracle OLAP
  • Oracle PeopleSoft
  • Oracle Siebel CRM
  • SalesForce
  • SAP ERP & BW
  • SAS
  • Sybase ASE
  • Sybase IQ 
  • Teradata
  • Web Services (Metodo GET)
  • Email (SMTP)
  • SFTP



REFERENCIAS:

  • Getting Started with Oracle Data Integrator 11g: A Hands-On Tutorial
Peter C. Boyd-Bowman
Christophe Dupupet
Denis Gray
David Hecksel
Julen Testut
Bernard Wheeler

  • Data Integration Documentation for Oracle Fusion Middleware 11g (11.1.1.7)
http://docs.oracle.com/cd/E23943_01/odi.htm
ODI Overview ODI Overview Reviewed by Barrazzaz on 4:02:00 p.m. Rating: 5

13 comentarios:

  1. Que buena explicación .. un saludo!

    ResponderBorrar
  2. no lo tienes en PDf?..

    ResponderBorrar
  3. Saludos tengo una confusión, las transformaciones de los datos (agg, join, sum...) Donde los realiza en la fuente o el destino?

    ResponderBorrar
    Respuestas
    1. depende dónde configures la transformación. pude ser en las dos.

      Borrar

Con tecnología de Blogger.