ODI 11g für OWB-Entwickler

51
<Insert Picture Here> ODI 11g für OWB-Entwickler Dr. Holger Dresing, Oracle Deutschland BV & Co. KG Data Integration Solutions DIS EMEA [email protected]

Transcript of ODI 11g für OWB-Entwickler

Page 1: ODI 11g für OWB-Entwickler

<Insert Picture Here>

ODI 11g für OWB-Entwickler

Dr. Holger Dresing, Oracle Deutschland BV & Co. KG

Data Integration Solutions – DIS EMEA

[email protected]

Page 2: ODI 11g für OWB-Entwickler

The preceding is intended to outline our general product direction. It is intended for information

purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any

material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any

features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 3: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externer Funktionen• Java SDK

• Open Tools

• Ausblick

Page 4: ODI 11g für OWB-Entwickler

UnifiedTeam

Oct 2008

Strategic

Data IntegrationPlatform

• OWB Investitionen sind geschützt

• Keine aufgezwungenen Migrationen

oder Wechsel

• Basic OWB ETL ist in zukünftigen DB-

Releases enthalten4

Oracle Data Integration: The Road to 12g

Milestones

Toward

Convergence

ODI-EE

License

Jan 2009

Basic ETL

OWB-EE

11gR2

Sep 2009

OWB-EEKnowledge

Modules

ODI 11g

2010

ODI 12g

(Unified

Platform)

11gR2

• ODI 12g ist eine “Übermenge” aller Funktionen der heutigen Produkte – keineEinschränkungen

• OWB-EE, ODI 10/11 enthalten Upgradpfad auf ODI 12

ODI-EE License

ODI

Page 5: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externer Funktionen• Java SDK

• Open Tools

• Ausblick

Page 6: ODI 11g für OWB-Entwickler

2 - 6

Models

Projects

Execution

Work Repository

(Development)

Models

Projects

Execution

Work Repository

(Test & QA)

Execution

Execution Repository

(Produktion)

Security

Topology

Versioning

Master

Repository

Erstellen und

archivieren der

verschiedenen

Versionen von

Modellen,

Projekten und

Szenarien (in der

GUI)

Importiere

freigegebene

Versionen von

Modellen, Projekten

und Szenarien

(in der GUI)

XML Export / Import

(manuelll)

Development – Test – Production Zyklus

Security

Topology

Master

Repository

Repository-Struktur: Separate Netzwerke

XML Export / Import

(manuell)

Fir

ew

all

Page 7: ODI 11g für OWB-Entwickler

Empfehlungen

• Repositories können in verschiedenen Datenbanken

liegen (ODI 11.1.1.5):

• Oracle 10g+11g, DB2 V9.7, SQLServer 2005+2008,

Hypersonic SQL V1.7+2.0, Sybase ASE 15.x

• Unter Oracle nicht mit RCU erstellen, sondern 2

Schemata in der Instanz für das Repository erstellen

und über ODI Studio die Repositories generieren

• Eindeutige IDs für Work-Repositories vergeben,

möglichst unternehmensweit

Page 8: ODI 11g für OWB-Entwickler

Desktop

Repositories

Produkt ArchitekturEinstieg in ODI 10g/11g

ODI Studio

Operator

Designer

Topology

Security

ODI Master Repository ODI Work

Repository

Sources and Targets

Legacy Applications

ERP/CRM/PLM/SCM

Files / XML DBMS DW / BI / EPM

JVM

Runtime WS

Standalone Agent

Page 9: ODI 11g für OWB-Entwickler

Desktop

Repositories

Produkt Architekturfür unternehmensweiten Einsatz

ODI Studio

Operator

Designer

Topology

Security

ODI Master Repository ODI Work

Repository

Sources and Targets

Legacy Applications

ERP/CRM/PLM/SCM

Files / XML DBMS DW / BI / EPM

JVM

Java EE Application

ODI SDK

WebLogic 11g / Application Server

Data Sources Connection Pool

Web Service Container

Public WSData

Services

FMW Console

ODI Plug-in

Servlet Container

ODI Console

Java EE Application

ODI SDK

Runtime WS

Java EE Agent

JVM

Runtime WS

Standalone Agent

Page 10: ODI 11g für OWB-Entwickler

HA Reference Architecture

11

Page 11: ODI 11g für OWB-Entwickler

Empfehlungen

• HA-Lösung: JEE- Agenten von ODI

• JEE-Agent als App. in Weblogic

• Übernahme der Sicherheit (Login, Passwort) und der Connection

Pools

• Zusätzliche Features: Lineage, ODI Console und Enterprise

Manager

• Loadbalancing: sowohl mit dem Standalone als auch mit

dem JEE-Agent von ODI

• Verbindung zum ODI Studio über

• Master-Repository: Topology Navigator aktiv

• Work-Repository: Designer, Operator, Topology und Security aktiv

Page 12: ODI 11g für OWB-Entwickler

Topology Navigator

In ODI Topology Manager, you set the architecture of

your information system, the technologies, servers,

schemas, and repositories.

Technologies tree

Toolbar

Workspace to

define ODI Topology objects

Page 13: ODI 11g für OWB-Entwickler

Empfehlungen

• JDBC-Treiber in der Verzeichnis $ODI_Home/oracledi/drivers

kopieren

• Passend zum JDK

• Oracle liefert JDBC-Treiber für IBM, DB2 und SQLServer

mit

• Aktuell? In der richtigen Version

• Wichtig: Begriffe sind unterschiedlich!

Page 14: ODI 11g für OWB-Entwickler

Concepts in Reality

Technology Data server Schema

Oracle Instance Schema

Microsoft SQL Server Server Database/Owner

Sybase ASE Server Database/Owner

DB2/400 Server Library

Teradata Server Schema

Microsoft Access Database (N/A)

JMS Topic Router Topic

File File Server Directory

Page 15: ODI 11g für OWB-Entwickler

8-16

Logische vs. Physische Architektur

MS SQL Server

db_dwh

Windows

Produktions-Server: Houston, TX

Datawarehouse

(Logisches Schema)

Logische Architektur: derAlias

Physische Architektur: die physiche Verbindung

User: Srv_prod

Password: 654321

IP:10.1.2.221

Database: db_dwh

Änderungen in der physischen Architektur haben keinen Einfluß auf die Entwickler, die mit dem gleichen logischen Schema arbeiten

Page 16: ODI 11g für OWB-Entwickler

8-17

Zuweisen logischer und physischer

Resourcen

MS SQL Server

db_dwh

Windows

Development-System: New York

Windows

MS SQL Server

db_dwh

db_purchase

Produktions-System: Boston

Windows

MS SQL Server A

dwh

Produktions-System: Tokyo

Datawarehouse

(Logisches Schema)

Logische Architekture

Kontext

Physische Architektur

For that purpose, the definition of Contexts will allow you to attach more than one physical definition to a Logical Schema

Page 17: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externer Funktionen• Java SDK

• Open Tools

• Ausblick

Page 18: ODI 11g für OWB-Entwickler

ODI Studio

Navigators for each

functional area.

ODI operations integrated in IDE: Menu, Gallery, etc.

Intuitive multi-editors support close all/save all, docking,

etc.

Property inspectors, thumbnails and IDE windows

fully used as needed.

Accordions for each

sub-area.

Popup menus and tree markers.

Interface Editor using diagraming FWK.

Page 19: ODI 11g für OWB-Entwickler

7-20

MS SQL Server

ODI Repository

Standard- vs. Customized-Reverse-Engineering

Datenmodell

Systemtabellen

Model (Metadata)

Oracle Data Integrator

Customized

Reverse-engineering

JDBC Driver

Standard

Reverse-engineering

Delimited Formate

Feste FormateCOBOL copybooks

Datei-spezifisches

Reverse-Engineering

Page 20: ODI 11g für OWB-Entwickler

7-21

Vorgehen beim Reverse-Engineering

1. Auswahl des Reverse Engineer Tab.

2. Auswahl des Reverse-engineering Typs.

3. Auswahl des Context für das Reverse-Engineering.

4. Auswahl des Object Type(optional).

5. Eingabe des Objektnamens in Mask oder Characters to Remove für den Table Alias(optional).

6. Wenn “customized”:

• RKM bestimmen

• Den Logischen Agent festlegen

Page 21: ODI 11g für OWB-Entwickler

6-22

1. Rechte Maustaste auf den Constraints Knoten, New Condition auswählen

2. Name eingeben

3. ODI Condition Type auswählen

4. Klausel für die Bedingung erstellen

• Expression Editor nutzen

5. Fehlermeldung für die Bedingung eingeben

Erstellen einer

Bedingung/Condition

Page 22: ODI 11g für OWB-Entwickler

7-23

Anpassen von Datenmodellen:

Common Format Designer

• ODI ermöglicht es, add,

remove or edit any Elemente

von Datenmodellen manuell zu

ergänzen, zu löschen oder zu

ändern

• im Designer

• Hinter dem Punkt Diagram

verbirgt sich ein Werkzeug zum

Editieren von Datenmodellen.

• Common Format Designer

• Die Änderungen können in die

Datenbank eingepflegt werden

Page 23: ODI 11g für OWB-Entwickler

3-24

Arbeiten mit dem Expression Editor

1. Starten des Expression

Editors ( ) in dem

Mapping Fenster

2. Erstellen der SQL-

Ausdrücke, unterstützt

durch SQL-Funktionen

unten und Spalten auf

der linken Seite

Page 24: ODI 11g für OWB-Entwickler

ODI Studio

Navigators for each

functional area.

ODI operations integrated in IDE: Menu, Gallery, etc.

Intuitive multi-editors support close all/save all, docking,

etc.

Property inspectors, thumbnails and IDE windows

fully used as needed.

Accordions for each

sub-area.

Popup menus and tree markers.

Interface Editor using diagraming FWK.

Page 25: ODI 11g für OWB-Entwickler

Erläuterungen

in ODI in OWB

Transformationen auf

Tabellenebene

Interfaces Mapping

Berechnung oder

konstante Werte in

Transformationen

zuweisen

Mapping Konstanten oder

Expressions

Transformationen

organisatorisch

zusammengefaßt

Projekt Projekt

Ablaufreihenfolge/

Workflow

Package

Load Plans (11.1.1.5)

Business Flow

Page 26: ODI 11g für OWB-Entwickler

3-29

Filter für Daten erstellen

SQL Filterbedingung

Festlegen der

Ausführung

Expression Editor

Filter speichern

Ausdruck prüfen.

Drag & drop einer Spalten in den Hintergrund

Eingabe der Bilder Bedingung

Page 27: ODI 11g für OWB-Entwickler

4-30

Erstellen eines Verbundes (Join)

SQL Join Expression

(Technologie-abhängig)

Festlegen der

Ausführung

Erstellen von “temporary

indexes” für die Join-Spalten

Join Order (ISO-92

Syntax)

Expression Editor

Expression speichern

Expression validieren

Automatischer

Festlegen der

Reihenfolge

• Verbunde können Technologie-übergreifend definiert werden (z. B. zwischen einer Datenbank-Tabelle und einer Datei).

• Die Anzahl der Verbünde ist nicht begrenzt.

Join-Typ

Inner/Outer, Left/Right.

Cross, Natural

Page 28: ODI 11g für OWB-Entwickler

ODI Plattform – Verbesserungen in ODI 11gTransformation & Performance

Partitionierung

• Im Modell deklariert/ reverse-engineered

• Verwendet für Source/Targets

Lookups

• Lookup Wizard + Diagramm Artefakt

Left-outer joins oder Nested -select Syntax

Set-Based Operatoren (Union, Intersect, Minus, etc.)

• Merge: zusammenfügen mehrerer Datenflüsse (datasets) in ein Target.

• Jedes Dataset ist ähnlich einem 10g Interface.

Derived-selects in temporären Interfaces

• Temporäre Interfaces speichern (persistieren) keine Daten.

• anpassbare Sub-selects via KMs

Temporäre Indizes

• optimal eJoin/Filter Ausführung

• Index-Typen und Syntax sind Technologie-spezifisch

Native Unterstützung von Sequenzen in der Datenbank

Page 29: ODI 11g für OWB-Entwickler

4-32

What is the Flow?

Flow – Der Pfad, den die Daten nutzen, um von der

Quelle zum Ziel in einem ODI-Interface zu gelangen.

Der Flow legt fest, wohin und wie die Daten im Ziel

extrahiert, transformiert und integiert werden. Drei Faktoren:

• Wo liegt die Staging Area:• Im Ziel, in der Quelle oder auf einem dritten Server

• Wie sind Mappings, Filter und Joins aufgesetzt• Execution location: Quelle, Ziel oder Staging Area

• Ob Transformationen “active” sind

• Auswahl der Knowledge Module (KM)• LKM: Loading Knowledge Module

• IKM: Integration Knowledge Module

Page 30: ODI 11g für OWB-Entwickler

Erläuterungen zu Knowledge Modulen

• IKM mit Namen „incremental update“ generieren• Insert/update (key)

• Für CDC benötigt

• IKM mit Namen „control append“ generieren• Insert

• sehr viel performanter (weniger Speicherplatz)

• „Set-based“ vs. „Row-based“

• KM sind set-based

• Ausnahme: Row-based KM, auch für Debugging

Page 31: ODI 11g für OWB-Entwickler

4-34

DB2 UDB, Sunopsis Engine, etc.

Staging Area

Schnelle Konfiguration mit dem

Flow: Staging auf der Middle Tier

Source (Sybase)

ORDERS

LINES

CORRECTIONS

File

Target (Oracle)

SALESC$_0

C$_1

I$_SALES

1

2

3

5

Extract/Join/Transform

Extract/Transform

Join/Transform

Transform & Integrate

Page 32: ODI 11g für OWB-Entwickler

4-35

In ODI Studio:

Staging Area in der

Sunopsis Memory Engine

Target

Staging Area

Page 33: ODI 11g für OWB-Entwickler

11-36

Das Package-Diagramm

Interface step

(selected)

ODI tool step

Diagram

Toolbox for ODI

tools

Toolbar

Properties of

selected step

Page 34: ODI 11g für OWB-Entwickler

Load Plan in ODI 11.1.1.5

• Ein ausführbares Objekt im Oracle Data Integrator,

das ein hierarchische strukturierte Schritte

enthalten kann

• Schritte von Load Plan können

bedingungsabhängig, parallel or in Serie

ausgeführt werden

• Die Blätter der Hierarchie sind Scenarios

Packages, Interfaces, Variables und Procedures können zu Load Plans hinzugefügt werden.

Page 35: ODI 11g für OWB-Entwickler

Use case – Sales Admin DemoLoad Plan vs. Package

• Source from SRC_REGION, etc. to

TRG_COUNTRY,TRG_REGION, etc.

• Sequenced in a package

Page 36: ODI 11g für OWB-Entwickler

What if we want parallelism?

Regional Data

Product Data

Use case – Sales Admin Demo

Load Plan vs. Package

Page 37: ODI 11g für OWB-Entwickler

We need to break into several packages…

Use case – Sales Admin Demo

Load Plan vs. Package

Package1: Regional Data

Package2: Product Data

Page 38: ODI 11g für OWB-Entwickler

Same case designed with a Load Plan

Use case – Sales Admin Demo

Load Plan vs. Package

Page 39: ODI 11g für OWB-Entwickler

15-42

Erstellen einer neuen Prozedur

1. Mit der rechten Maustasten auf den Procedures-Knoten unter Project klicken

2. New Procedure auswählen

3. Folgende Werte eingeben:• Name

• Description

4. Optional, als Standard definieren:

• Technology der Quelle

• Technology des Ziels

Page 40: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externe Funktionen• Java SDK

• Open Tools

• Ausblick

Page 41: ODI 11g für OWB-Entwickler

11-44

Ausführen eines Package

1. Klicke das Execute Icon im Fenster des Packages

2. Öffne den Operator

• Das Package wird alsSession gestartet.

• Jeder Schritt eines Packages ist ein Step

• Schritte von Werkzeugen erscheinenals einfacher Task

• Schritte von Interfaces zeigen jedes Kommando alsseparaten Task

Page 42: ODI 11g für OWB-Entwickler

3-45

Errors Reporting

• Das rote Icon im Baum

deutet auf einen Fehler

bei der Ausführung hin.

• Error Codes und Error

Messages werden auf

allen Ebenen angezeigt.

Page 43: ODI 11g für OWB-Entwickler

Einheitliche Administration und Monitoring

Oracle Enterprise Manager füreinheitliches Monitoring und einheitlicheAdministration

Erweitertes Error Management (präzisereError Messages, erweiterte Hinweise)

Oracle Data Integrator zum Managenvon Runtime-Operationen und zumSuchen nach Design-time Strukturensowie nach fehlerhaften Console Daten

Erweitertes Session Control (Stop immediate, stale sessions)

Page 44: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externer Funktionen• Java SDK

• Open Tools

• Ausblick

Page 45: ODI 11g für OWB-Entwickler

Overview of ODI SDK

• SDK erlaubt es Entwicklern, ODI Objekte programmatisch ohne

ODI 11g Studio zu erstellen

• SDK erlaubt es Entwicklern, ODI Transformationen in einem

Java Programm auszuführen

• Mit dem SDK kann ODI so erweitert werden, dass

Transformationen aus eigenen Programmen erstellt und

ausgeführt werden können, auch aus einer anderen GUI

• SDK ermöglicht es, dynamisch Transformationen zu erstellen

Page 46: ODI 11g für OWB-Entwickler

SDK Supported ODI Operations

• Master Repository:

• Creation of Master / Work repositories

• Creation and management the following objects:

• Data servers, Agents, Contexts

• Implementing mapping

• Work Repository:

• Creation and management of metadata

• Models and sub-models

• Datastores, Columns, Constraints

• Creation and management of ODI projects

• Projects, Folders, Interfaces, Variables, Packages

Page 47: ODI 11g für OWB-Entwickler

ODI Operations not Supported by SDK

• Master Repository:

• Creation of new technologies

• Security management

• Work Repository:

• Creation of new ODI Procedures (though procedures can be

imported and used)

• Creation of new Knowledge Modules

• Creation of new User Functions

• Locking / Unlocking of ODI objects

• Versioning of ODI objects

• Duplication of ODI objects in the repository

• Working with markers

• Setting values of Flex Fields

Page 48: ODI 11g für OWB-Entwickler

Open Tools API von ODI

• Aus dem Verzeichnis „bin“ kann das Kommando startscen mit den Parametern Name des Scenarios und

Kontext aufgerufen werden:startscen PKG_LD_ALL 001 DEV

• Ebenso lassen sich auch alle Kommandos in den

Packages über die Tools API aufrufen:

startcmd OdiExportAllScen "-

FROM_PROJECT=2071" "-TODIR=c:\temp\"

"RECURSIVE_EXPORT=yes"

• Voraussetzung: ODIParams.bat/sh manuell konfigurieren

Page 49: ODI 11g für OWB-Entwickler

<Insert Picture Here>

Agenda

• Der Weg von OWB nach ODI

• Architektur und Laufzeitumgebung

• Entwickeln von Prozessen• Interfaces

• Packages

• Szenarien

• Knowledge Module

• Laufzeitumgebung

• Nutzen externer Funktionen• Java SDK

• Open Tools

• Ausblick

Page 50: ODI 11g für OWB-Entwickler

ODI 11gR1 (11.1.1.x) Core

11.1.1.3.0

• Initial 11gR1 Release

Patches

• ODI Studio Usability Fixes

PS1 11.1.1.5.0

• Load Plans

• ODI/OBIEE Lineage

• SQL On Connect

• Ordered/Non-Ordered

• Task Name API

• Complex File Driver

• Groovy Technology

• Web Services

• Async Calls

• Callback

• Performance

• Repository Chattiness

• Long Text Optimization

• JDBC Streaming

PS2 11.1.1.6.0BI Apps Release

• Shortcutting

• Smart Import

• Variable value in Log

• Global KMs

• KM Versions

• Platform Compiler

• Groovy Scripting

• MySQL Repository

• WAS Support

12g

Developer On-Ramp

• Declarative + Flow BasedDesign

• Component KMs

• ReusableInterfaces

• Parallelism

• Data Chunking

• Debugging

• MetadataManager

• OWB2ODI

• Data Modeler

• OGG Integration

• Advanced Management Pack

Summer 2010

H1CY11

H2CY11

Dec’2010

Page 51: ODI 11g für OWB-Entwickler