ODI 11g für OWB-Entwickler

Werbung
<Insert Picture Here>
ODI 11g für OWB-Entwickler
Dr. Holger Dresing, Oracle Deutschland BV & Co. KG
Data Integration Solutions – DIS EMEA
[email protected]
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.
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
<Insert Picture Here>
Oracle Data Integration: The Road to 12g
Milestones
Toward
Unified
Team
Oct 2008
ODI-EE
OWB-EE
License
11gR2
Jan 2009
Sep 2009
ODI 11g
2010
ODI 12g
(Unified
Platform)
Convergence
Strategic
ODI
Data Integration
Platform
OWB-EE
Knowledge
11gR2
ODI-EE License
Modules
Basic ETL
• OWB Investitionen sind geschützt
• Keine aufgezwungenen Migrationen
oder Wechsel
• Basic OWB ETL ist in zukünftigen DBReleases enthalten
• ODI 12g ist eine “Übermenge” aller Funktionen
der heutigen Produkte – keineEinschränkungen
• OWB-EE, ODI 10/11 enthalten Upgradpfad auf
ODI 12
4
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
<Insert Picture Here>
Repository-Struktur: Separate Netzwerke
Security
Security
XML Export / Import
(manuelll)
Topology
Topology
Versioning
Master
Repository
Master
Repository
Importiere
freigegebene
Versionen von
Modellen, Projekten
und Szenarien
(in der GUI)
Firewall
Erstellen und
archivieren der
verschiedenen
Versionen von
Modellen,
Projekten und
Szenarien (in der
GUI)
Models
Projects
Execution
Work Repository
(Development)
Models
Projects
Execution
XML Export / Import
(manuell)
Work Repository
(Test & QA)
Development – Test – Production Zyklus
2-6
Execution
Execution Repository
(Produktion)
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
Produkt Architektur
Einstieg in ODI 10g/11g
Desktop
ODI Studio
Designer
Operator
Topology
Security
Repositories
ODI Master
Repository
Sources and Targets
JVM
Runtime WS
ODI Work
Repository
Standalone
Agent
Legacy
Files / XML
DBMS
Applications
ERP/CRM/PLM/SCM
DW / BI / EPM
Produkt Architektur
für unternehmensweiten Einsatz
WebLogic 11g / Application Server
Desktop
JVM
FMW Console
ODI Studio
ODI Plug-in
Designer
Java EE
Application
ODI SDK
Operator
Servlet Container
Topology
Java EE
Application
Security
Web Service Container
Runtime WS
ODI Console
ODI SDK
Public WS
Java EE
Agent
Data
Services
Data Sources Connection Pool
Repositories
ODI Master
Repository
Sources and Targets
JVM
Runtime WS
ODI Work
Repository
Standalone
Agent
Legacy
Files / XML
DBMS
Applications
ERP/CRM/PLM/SCM
DW / BI / EPM
HA Reference Architecture
11
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
Topology Navigator
Toolbar
Technologies
tree
Workspace to
define ODI
Topology objects
In ODI Topology Manager,
you set the architecture of
your information system, the
technologies, servers,
schemas, and repositories.
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!
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
Logische vs. Physische Architektur
Datawarehouse
(Logisches Schema)
Logische Architektur: derAlias
Physische Architektur: die physiche Verbindung
Windows
MS SQL Server
Änderungen in der physischen
Architektur haben keinen
Einfluß auf die Entwickler, die
mit dem gleichen logischen
Schema arbeiten
User: Srv_prod
Password: 654321
IP:10.1.2.221
db_dwh
Produktions-Server: Houston, TX
8-16
Database: db_dwh
Zuweisen logischer und physischer
Resourcen
Datawarehouse
(Logisches Schema)
Logische Architekture
For that purpose, the
definition of Contexts will
allow you to attach more
than one physical definition
to a Logical Schema
Kontext
Physische Architektur
Windows
MS SQL Server
db_dwh
Windows
MS SQL Server A
dwh
Windows
MS SQL Server
db_dwh
db_purchase
Development-System: New York
8-17
Produktions-System: Tokyo
Produktions-System: Boston
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
<Insert Picture Here>
ODI Studio
ODI operations integrated in
IDE: Menu, Gallery, etc.
Intuitive multi-editors support
close all/save all, docking,
etc.
Navigators
for each
functional
area.
Accordions
for each
sub-area.
Interface Editor using
diagraming FWK.
Popup menus
and tree
markers.
Property inspectors,
thumbnails and IDE windows
fully used as needed.
Standard- vs. Customized-Reverse-Engineering
Datei-spezifisches
Reverse-Engineering
ODI Repository
Oracle Data Integrator
Feste Formate
COBOL copybooks
Delimited Formate
Model (Metadata)
MS SQL Server
JDBC Driver
Datenmodell
Standard
Reverse-engineering
Systemtabellen
Customized
Reverse-engineering
7-20
Vorgehen beim Reverse-Engineering
1.
2.
3.
4.
5.
6.
Auswahl des Reverse
Engineer Tab.
Auswahl des Reverseengineering Typs.
Auswahl des Context für das
Reverse-Engineering.
Auswahl des Object Type
(optional).
Eingabe des Objektnamens
in Mask oder Characters to
Remove
für den Table Alias
(optional).
Wenn “customized”:
•
•
7-21
RKM bestimmen
Den Logischen Agent
festlegen
Erstellen einer
Bedingung/Condition
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
6-22
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
7-23
Arbeiten mit dem Expression Editor
1. Starten des Expression
Editors ( ) in dem
Mapping Fenster
2. Erstellen der SQLAusdrücke, unterstützt
durch SQL-Funktionen
unten und Spalten auf
der linken Seite
3-24
ODI Studio
ODI operations integrated in
IDE: Menu, Gallery, etc.
Intuitive multi-editors support
close all/save all, docking,
etc.
Navigators
for each
functional
area.
Accordions
for each
sub-area.
Interface Editor using
diagraming FWK.
Popup menus
and tree
markers.
Property inspectors,
thumbnails and IDE windows
fully used as needed.
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
Filter für Daten erstellen
Drag & drop einer Spalten in den Hintergrund
Eingabe der Bilder Bedingung
Ausdruck prüfen.
SQL Filterbedingung
Expression Editor
Filter speichern
Festlegen der
Ausführung
3-29
Erstellen eines Verbundes (Join)
•
•
Verbunde können Technologie-übergreifend definiert werden (z. B. zwischen einer Datenbank-Tabelle und
einer Datei).
Die Anzahl der Verbünde ist nicht begrenzt.
Expression validieren
Expression Editor
Expression speichern
SQL Join Expression
(Technologie-abhängig)
Join-Typ
Inner/Outer, Left/Right.
Cross, Natural
Festlegen der
Ausführung
Erstellen von “temporary
indexes” für die Join-Spalten
4-30
Join Order (ISO-92
Syntax)
Automatischer
Festlegen der
Reihenfolge
ODI Plattform – Verbesserungen in ODI 11g
Transformation & 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
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
4-32
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
Schnelle Konfiguration mit dem
Flow: Staging auf der Middle Tier
DB2 UDB, Sunopsis Engine, etc.
Source (Sybase)
Staging Area
Transform & Integrate
Target (Oracle)
ORDERS
1
LINES
Extract/Join/Transform
Join/Transform
2
CORRECTIONS
File
4-34
Extract/Transform
5
C$_0
C$_1
3
I$_SALES
SALES
In ODI Studio:
Staging Area in der
Sunopsis Memory Engine
Target
Staging Area
4-35
Das Package-Diagramm
Toolbar
Diagram
ODI tool step
Toolbox for ODI
tools
Interface step
(selected)
Properties of
selected step
11-36
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.
Use case – Sales Admin Demo
Load Plan vs. Package
• Source from SRC_REGION, etc. to
TRG_COUNTRY,TRG_REGION, etc.
• Sequenced in a package
Use case – Sales Admin Demo
Load Plan vs. Package
What if we want parallelism?
Regional Data
Product Data
Use case – Sales Admin Demo
Load Plan vs. Package
We need to break into several packages…
Package1: Regional Data
Package2: Product Data
Use case – Sales Admin Demo
Load Plan vs. Package
Same case designed with a Load Plan
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:
•
•
4.
Optional, als Standard
definieren:
•
•
15-42
Name
Description
Technology der Quelle
Technology des Ziels
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
<Insert Picture Here>
Ausführen eines Package
1. Klicke das Execute Icon
im Fenster des Packages
2. Öffne den Operator
•
11-44
Das Package wird als
Session gestartet.
•
Jeder Schritt eines Packages
ist ein Step
•
Schritte von
Werkzeugen erscheinen
als einfacher Task
•
Schritte von Interfaces
zeigen jedes Kommando als
separaten Task
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.
3-45
Einheitliche Administration und Monitoring
Oracle Enterprise Manager für
einheitliches Monitoring und einheitliche
Administration
Erweitertes Error Management (präzisere
Error Messages, erweiterte Hinweise)
Oracle Data Integrator zum Managen
von Runtime-Operationen und zum
Suchen nach Design-time Strukturen
sowie nach fehlerhaften Console Daten
Erweitertes Session Control (Stop
immediate, stale sessions)
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
<Insert Picture Here>
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
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
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
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
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
<Insert Picture Here>
ODI 11gR1 (11.1.1.x) Core
H2CY11
H1CY11
Dec’2010
PS2 11.1.1.6.0
Summer 2010
Patches
• ODI Studio
Usability Fixes
11.1.1.3.0
• Initial 11gR1 Release
BI Apps Release
• Shortcutting
PS1 11.1.1.5.0
• Smart Import
• Variable value in Log
• Load Plans
• ODI/OBIEE Lineage • Global KMs
• KM Versions
• SQL On Connect
• Ordered/Non-Ordered • Platform Compiler
• Groovy Scripting
• Task Name API
• MySQL Repository
• Complex File Driver
• WAS Support
• Groovy Technology
• Web Services
• Async Calls
• Callback
• Performance
• Repository Chattiness
• Long Text Optimization
• JDBC Streaming
12g
Developer
On-Ramp
• Declarative +
Flow Based
Design
• Component KMs
• Reusable
Interfaces
• Parallelism
• Data Chunking
• Debugging
• Metadata
Manager
• OWB2ODI
• Data Modeler
• OGG Integration
• Advanced
Management
Pack
Herunterladen