<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