Oracle Data Integrator: Administration and Development Volume I Student Guide

Similar documents
Oracle Data Integrator 11g: Integration and Administration Student Guide - Volume I

Oracle Hyperion Data Relationship Management Administration Activity Guide

Oracle Data Integrator 11g: Advanced Integration and Development Student Guide

Oracle BI 11g R1: Build Repositories

Oracle BPM 10g R3 Programming 1 Essentials

ODI Course Details. Besant Technologies. ODI (Oracle Data Integrator) Oracle Fusion Middleware. No.24, Nagendra Nagar, Velachery Main Road, Address

Oracle Data Modeling and Relational Database Design Volume I Student Guide

Oracle BI Publisher 11g R1: Fundamentals

Oracle VM Server for x86: Administration

Oracle BI Publisher 10g R3: Fundamentals

Oracle Warehouse Builder 10g: Administration

Oracle Service Bus 10g R3: Design & Integrate Services for SOA

Oracle Warehouse Builder 10g: New Features

MySQL Performance Tuning

Oracle Database 11g: SQL Fundamentals I

Oracle Content Server 11g: Administration

Oracle Adaptive Access Manager: Administration Student Guide

Oracle VM Administration: Oracle VM Server for x86 Student Guide

Oracle WebLogic Server 12c: JMS Administration Student Guide

Oracle Data Integrator 12c: Integration and Administration

Oracle Database 11g: Use XML DB

Using Java - for PL/SQL and Database Developers Student Guide

Siebel 8.1.x Fundamentals Student Guide

Oracle GoldenGate 11g: Fundamentals for SQL Server Student Guide

Oracle Application Server 10g R2: Administration II

Fundamentals of the Java Programming Language

MySQL Cluster Student Guide

Oracle WebLogic Server 11g: Overview for WLS Administrators

Oracle Application Testing Suite: Introduction Student Guide

Oracle WebCenter Content 11g: Content Server Customization Student Guide - Volume I

Oracle Database 10g: PL/SQL Fundamentals

Java Programming Language

Sun Java System Application Server 8.1: Administration & Deployment

Oracle Service Bus 10g R3: System Administration

Oracle Database 10g: Using OLAP

Oracle Data Integrator 12c: Integration and Administration

Oracle Communication and Mobility Server: Introduction Student Guide

Oracle 11g: XML Fundamentals

Oracle Database 10g: Implement and Administer a Data Warehouse

Oracle WebCenter Sites 11g for Developers

Oracle Data Integrator 12c: Integration and Administration

OracleAS 10g R3: Java Programming

Oracle GoldenGate 11g: Advanced Configuration for Oracle Student Guide

Oracle Database 12c: SQL Tuning for Developers

Business Component Development with EJB Technology, Java EE 5

Oracle Application Express: Administration Student Guide

Oracle GoldenGate 11g Fundamentals for Oracle

Oracle Exalogic Elastic Cloud 2.x: System Administration

UNIX and Linux Essentials Student Guide

Oracle 10g: Java Programming

Oracle Data Integrator 12c: ETL Integration Bootcamp and New Features

R12.x Oracle Order Management Fundamentals Student Guide

Oracle Database 11g: SQL Tuning Workshop. Student Guide

Oracle Identity Manager 11g: Essentials

Oracle Database 10g: SQL Fundamentals I

Oracle Warehouse Builder 10g: Implementation Part 2

E Oracle 10g Java Bootcamp I v1

Oracle Database 10g: PL/SQL Fundamentals

Oracle Forms Developer 10g: Move to the Web

Oracle WebLogic Server 12c: Administration I

Oracle Database 10g: New Features for Release 2 Overview Seminar

Oracle SQL Tuning for Developers Workshop Student Guide - Volume I

Analytics: Server Architect (Siebel 7.7)

Oracle Database 11g: Oracle Secure Backup

Oracle Database 12c: Install and Upgrade Workshop

Oracle Database 10g: Data Guard Administration

Oracle Spatial: Advanced Student Guide

Sun Virtualization: Solaris 10 Containers Administration

Oracle TimesTen 6.0: Core Concepts and Administration Volume I Student Guide

OracleAS 10g R3: Build J2EE Applications II

MySQL and PHP - Developing Dynamic Web Applications

Oracle TimesTen 7.0: IMDB, Cache Connect, and Replication Volume I Student Guide

MySQL Performance Tuning

Oracle SOA Suite 10g R3: Administration. Student Guide

Oracle Database 11g: Data Guard Administration

Oracle WebLogic Server 11g: Diagnostics and Troubleshooting

Oracle Database 11g: Backup and Recovery Workshop

Oracle Database 10g: Implementing Database Vault

Oracle Application Server 10g R3: Administration

Siebel Application Deployment Manager Guide. Version 8.0, Rev. A April 2007

Object-Oriented Analysis and Design Using UML

Java EE Patterns. Student Guide - Volume 1. SL-500 Rev C.0.1. D61856GC10 Edition 1.0 D62465

Shell Programming for System Administrators Student Guide

Insbridge Enterprise Rating Design Time Reporting Document

Oracle TimesTen 6.0: Core Concepts and Administration Volume I - Student Guide

Oracle Fusion Middleware

Administration Guide Release 5.0

Excel Programming with VBA (Macro Programming) 24 hours Getting Started

E Oracle 10g Java Bootcamp II v1

Oracle Database: SQL and PL/SQL Fundamentals NEW

Installing and Administering a Satellite Environment

Oracle Fusion Middleware

Policy Manager for IBM WebSphere DataPower 7.2: Configuration Guide

E R12/5.6.3 Oracle XML Publisher Fundamentals Volume I - Student Guide

Oracle Fusion Middleware

Oracle Fusion Middleware

JOSE LUIS JUAREZ VIVEROS com) has a. non-transferable license to use this Student Guide

Oracle Fusion Middleware

Oracle Fusion Middleware

Siebel CRM Integration to Oracle FLEXCUBE Universal Banking Implementation Guide. Version 1.0 (Siebel CRM Version 8.2), Rev.

Transcription:

Oracle Data Integrator: Administration and Development Volume I Student Guide D48459GC30 Edition 3.0 December 2007 D53463

Authors Laura Hofman Miquel FX Nicolas Technical Contributor and Reviewer Sharath Bhujani Editors Vijayalakshmi Narasimhan Daniel Milne Amitha Narayan Publishers Veena Narasimhan Sujatha Nagendra Nita Brozowski Copyright 2007, Oracle. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS The U.S. Government s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Contents 1 Oracle Data Integrator Architecture Objectives 1-2 Architecture: Overview 1-3 What Is Oracle Data Integrator? 1-4 The Oracle Data Integrator Architecture 1-5 Components 1-7 Graphical Modules 1-8 Run-Time Components 1-9 Metadata Navigator 1-10 Components: A Global View 1-11 Oracle Data Integrator Repositories 1-12 Master and Work Repositories 1-13 Repository Setup: Example 1-15 Summary 1-16 2 Topology Concepts Objectives 2-2 Topology: Overview 2-3 What Is Topology? 2-4 What Is in the Topology? 2-5 Data Servers and Physical Schemas 2-6 What Is a Data Server? 2-7 Important Note 2-9 What Is a Physical Schema? 2-10 Physical Schemas: Properties 2-11 Concepts in Reality 2-12 Important Note 2-13 Infrastructure (Production): Example 2-15 Physical Architecture in Oracle Data Integrator 2-16 Infrastructure (Development): Example 2-17 The Fragmentation Problem 2-18 Important Note 2-19 The Infrastructure Example Again 2-20 Defining the Physical Architecture 2-21 The Infrastructure Example Again 2-22 Physical Architecture in Oracle Data Integrator 2-23 Logical Schemas and Contexts 2-24 What Is a Logical Schema? 2-25 iii

Important Note 2-27 Rule #4 Explained 2-28 Information System Example Again 2-29 Defining the Logical Architecture 2-30 Logical Versus Physical Architecture 2-31 Note: Design Time Versus Run Time 2-32 What Is a Context? 2-33 Important Note 2-35 Defining Contexts 2-36 Mapping Logical and Physical Resources 2-37 Note 2-38 Agents 2-39 What Is an Agent? 2-40 Agents 2-41 Important Note 2-42 Infrastructure with Agents: Example 2-43 Defining Agents 2-44 Defining a Topology 2-45 Planning the Topology 2-46 Matrix of Logical/Physical Mappings 2-47 Summary 2-48 3 Connecting to Your Data Objectives 3-2 Topology Manager 3-3 What Is Topology? 3-4 What Topology Manager Contains 3-5 Topology Manager: Overview 3-6 The Physical Architecture View 3-8 Data Servers and Physical Schemas 3-9 Prerequisites for Connecting to a Server 3-10 Important Note 3-11 Creating a Data Server 3-12 Creating a Data Server: JDBC 3-13 Creating a Data Server: JNDI 3-14 JDBC Driver 3-15 The JDBC URL 3-16 Drivers and URLs: Examples 3-17 Testing a Data Server Connection 3-18 Note: Testing the Connection 3-19 Creating a Physical Schema 3-20 Note: Dedicated Area for Work Schema 3-22 Physical Agents 3-23 iv

Creating a Physical Agent 3-24 Important Note 3-25 Summary 3-26 4 Defining the Logical Architecture Objectives 4-2 Note: Planning Ahead 4-3 Topology Manager 4-4 Topology Manager: Overview 4-5 Logical Architecture and Context Views 4-6 Defining Contexts 4-7 Defining a Context 4-8 Declaring Logical Schemas and Agents 4-9 Creating a Logical Schema 4-10 Creating a Logical Agent 4-11 Linking the Logical and Physical Architecture 4-12 Note: Unresolved Agents and Schemas 4-13 Summary 4-14 5 Setting Up a New Project Objectives 5-2 Projects 5-3 What Is a Project? 5-4 Oracle Data Integrator Projects: Overview 5-5 What Does a Project Represent? 5-6 Creating a New Project 5-7 Folders 5-8 What Is a Folder? 5-9 Creating a New Folder 5-10 Organizing Projects and Folders 5-11 Knowledge Modules 5-12 What Is a Knowledge Module? 5-13 Knowledge Module: Types 5-14 Which Knowledge Modules Do You Need? 5-15 Identifying Knowledge Modules 5-16 IKM and LKM Strategies and Methods 5-17 Knowledge Modules: Examples 5-18 Importing a New Knowledge Module 5-19 Replacing Existing KMs 5-20 Replacing an Existing KM 5-21 Markers 5-22 What Is a Marker? 5-23 Tagging Objects with Markers 5-24 v

Removing Markers 5-25 Changing an Object s Markers 5-26 Marker Groups 5-27 Project and Global Markers 5-28 Creating a Marker Group 5-29 Marker Options 5-30 Exchanging Objects 5-31 Exporting and Importing 5-32 Exporting an Object 5-33 Importing an Object 5-34 ID Numbers: Overview 5-35 Import Types 5-36 Choosing the Import Mode 5-38 Summary 5-39 6 Releasing Projects Objectives 6-2 Scenarios 6-3 What Is a Scenario? 6-4 Properties of Scenarios 6-5 Managing Scenarios 6-6 Scenario-Related Tasks 6-7 Generating a Scenario 6-8 Regenerating a Scenario 6-9 Generation Versus Regeneration 6-10 Executing a Scenario from the GUI 6-11 Executing a Scenario from a Command Line 6-12 Executing a Scenario from a Project 6-13 Exporting a Scenario 6-14 Preparing for Deployment 6-15 Preparing Scenarios for Deployment 6-16 Automating Scenario Management 6-17 Summary 6-18 7 Oracle Data Integrator Model Concepts Objectives 7-2 Models 7-3 Relational Paradigm 7-4 What Is a Model? 7-5 The Relational Paradigm 7-6 Relational Model: Tables and Columns 7-7 Relational Model: Keys 7-8 Relational Model: Foreign Keys 7-9 vi

Relational Model: Constraints 7-10 Relational Model: Indexes 7-12 Relational Model Support in Oracle Data Integrator 7-13 Additional Metadata in Oracle Data Integrator 7-14 Reverse Engineering 7-16 What Is Reverse Engineering? 7-17 Methods for DBMS Reverse Engineering 7-18 Other Methods for Reverse Engineering 7-19 Standard Versus Customized Reverse Engineering 7-20 Note 7-21 Fleshing Out Models 7-22 Elements Missing from Models 7-23 Fleshing Out Models 7-24 Summary 7-25 8 Creating and Reverse Engineering Models Objectives 8-2 Creating Models 8-3 What Is a Model? 8-4 What Is Reverse Engineering? 8-5 Methods for DBMS Reverse Engineering 8-6 How to Create a Model by Reverse Engineering 8-7 1. Creating a New Model 8-8 Creating and Naming a New Model 8-9 Note 8-10 2. Setting Up a Reverse Engineering Strategy 8-11 How to Define a Reverse Engineering Strategy 8-12 3. Starting the Reverse Engineering Process 8-14 How to Start the Reverse Engineering Process 8-15 Selective Reverse Engineering 8-16 Summary 8-17 9 Fleshing Out Data Models Objectives 9-2 Organizing Models 9-3 What Is a Model Folder? 9-4 Creating a Model Folder 9-5 What Is a Submodel? 9-6 Creating a Submodel 9-7 Organizing Data Stores into Submodels 9-8 Setting Up Automatic Distribution 9-9 Creating Data Stores 9-10 Creating a Data Store in a Model 9-12 vii

Adding Columns to a Data Store 9-13 Constraints 9-14 Constraints in Oracle Data Integrator 9-15 Creating Mandatory Columns 9-16 Creating a Mandatory Column 9-17 Creating Keys 9-18 Creating a Key 9-19 Checking a Key 9-20 Note: Synchronous Check Limitations 9-21 Creating References 9-22 Creating a Reference 9-23 Creating a Simple Reference 9-24 Creating a Complex Reference 9-25 Checking a Reference 9-26 Creating Conditions 9-27 Creating a Condition 9-28 Checking a Condition 9-29 Summary 9-30 10 Enforcing Data Quality with Oracle Data Integrator Objectives 10-2 Data Quality 10-3 Why Data Quality? 10-4 When to Enforce Data Quality 10-5 Data Quality in Source Applications 10-6 Data Quality Control in the Integration Process 10-7 Data Quality in the Target Applications 10-8 Business Rules for Data Quality 10-9 Data Quality Business Rules 10-10 From Business Rules to Constraints 10-11 Enforcing Data Quality 10-12 What Is Data Quality Control? 10-13 Data Quality System: Overview 10-14 Static and Flow Controls: Differences 10-15 Data Quality Control: Properties 10-16 Synchronous Control 10-17 Summary 10-18 11 Exploring and Auditing Your Data Objectives 11-2 Overview 11-3 When and Why? 11-4 An Overview of the Process 11-5 viii

Exploring Your Data 11-6 Displaying the Contents of a Data Store 11-7 Viewing the Distribution of Values 11-8 Analyzing the Contents of a Data Store 11-9 Constructing Business Rules 11-10 Defining Business Rules in Oracle Data Integrator 11-11 From Business Rules to Constraints 11-12 Deducing Constraints from Data Analysis 11-13 Testing a Constraint 11-14 Auditing Data Quality 11-15 Auditing a Model or Data Store 11-16 How to Review Erroneous Records 11-17 Using a Package 11-18 Summary 11-19 12 Building an Active Integration Hub Objectives 12-2 The Active Integration Hub 12-3 What Is an AIH? 12-4 The Active Integration Hub 12-5 How to Create an AIH 12-6 1. Designing an AIH Structure 12-7 What Is a Diagram? 12-8 Creating and Naming the New Diagram 12-9 How to Design the Diagram 12-10 Important Note 12-11 How to Make the Diagram More Readable 12-12 Implementing the AIH 12-13 Generating DDL Scripts 12-14 Important Note 12-15 Merging Data and Events into the AIH 12-16 Interface Generation: Overview 12-17 Important Note 12-18 Propagating Data and Events from the AIH 12-20 Generating Interfaces OUT: Overview 12-21 Important Note 12-22 Going Further 12-24 Summary 12-25 13 Interface Design: One-to-One Interfaces Lesson Objectives 13-2 Interfaces: An Overview 13-3 What Is an Interface? 13-4 ix

Creating a One-to-One Interface 13-5 1. Creating and Naming the Interface 13-6 Creating and Naming an Interface 13-7 Important Note 13-8 2. Defining the Target Data Store 13-9 Defining the Target Data Store 13-10 Important Note 13-11 3. Defining the Source Data Store 13-12 Defining the Source Data Store 13-13 Important Note 13-14 4. Defining the Mappings 13-15 What Is a Mapping? 13-16 Defining the Mappings 13-17 Valid Mapping Types 13-18 Important Note 13-19 5. Saving the Interface 13-20 Saving the Interface 13-21 Important Note 13-22 Summary 13-23 14 Interface Design Objectives 14-2 Multiple Sources and Joins 14-3 What Is a Join? 14-4 Multiple Source Data Stores 14-5 Important Note 14-6 Creating a Join Manually 14-7 Advanced Joins 14-8 Types of Joins 14-9 Setting Up a Join 14-11 Filtering Data 14-13 What Is a Filter? 14-14 Filters in Oracle Data Integrator 14-15 Defining a Filter Manually 14-16 Setting Up a Filter 14-17 Summary 14-18 15 Executing and Debugging Interfaces Objectives 15-2 Interface Execution 15-3 How to Execute an Interface 15-4 What Happens at Run Time 15-5 Monitoring Interfaces 15-7 x

Operator: Viewing the Log 15-8 Using Operator 15-9 Sessions, Steps, Tasks: The Hierarchy 15-10 Viewing Sessions and Tasks 15-11 Important Note 15-12 How to Monitor Execution of an Interface 15-13 Troubleshooting a Session 15-14 How to Troubleshoot a Session 15-15 1. Identifying the Error 15-16 2. Reviewing the Code 15-17 3. How to Fix the Code and Restart the Session 15-18 4. Fixing the Interface 15-19 Keys to Reviewing the Generated Code 15-20 Common Errors and Symptoms 15-21 Important Note 15-23 Preventing Errors 15-24 Tips for Preventing Errors 15-25 Summary 15-26 16 Interface Design Objectives 16-2 Essential Concepts in Data Quality 16-3 What Is Data Quality Control? 16-4 What Is a Constraint? 16-5 Defining and Enforcing Data Quality 16-6 Data Quality System: Overview 16-7 What Can be Checked? 16-8 Data Quality Control: Properties 16-9 Static/Flow Control: Differences 16-10 How to Enforce Data Quality in an Interface 16-11 1. Enabling Static/Flow Control for an Interface 16-12 Setting Up Static/Flow Control 16-13 How to Enable Static/Flow Control 16-14 2. Setting the Options 16-15 How to Set the Options 16-16 3. Selecting Which Constraints to Enforce 16-17 How to Select Which Constraints to Enforce 16-18 How to Select Which Constraints to Check 16-19 Differences Between Control Types 16-20 4. Reviewing Erroneous Records 16-21 How to Review Erroneous Records 16-22 Note 16-23 Summary 16-24 xi

17 Defining Simple Procedures Objectives 17-2 Procedures: Overview 17-3 What Is a Procedure? 17-4 Procedure: Examples 17-5 Using Procedures: Overview 17-7 1. Creating a Procedure 17-8 How to Create a New Procedure 17-9 2. Adding Commands 17-10 Creating a Command 17-11 Arranging Steps in Order 17-13 Which Parameters Should Be Set? 17-14 Valid Types of Commands 17-15 More Elements 17-16 Why Use a Source Command? 17-17 3. Adding Options 17-18 Types of Options 17-19 How to Create a New Option 17-20 How to Make a Command Optional 17-21 Using an Option Value in a Command 17-22 4. Running a Procedure 17-23 Procedure Execution 17-24 Using Operator to View Results 17-25 Note: Procedure Steps Are References 17-26 Summary 17-27 18 Package Design 1 Objectives 18-2 Packages: Overview 18-3 What Is a Package? 18-4 How to Create a Package 18-5 1. Creating and Naming a Package 18-6 How to Create and Name a Package 18-7 The Package Diagram 18-8 Package Diagram Toolbar 18-9 2. Adding Steps to the Package 18-11 Steps 18-12 How to Create an Interface Step 18-13 Note: Interfaces Are Reusable 18-14 Note: All Steps from Same Project 18-16 What Is an Oracle Data Integrator Tool? 18-17 How to Create an ODI Tool Step 18-18 xii

Note: Tool Steps Are Not Reusable 18-19 Note: Other Step Types Exist 18-20 3. Arranging Package Steps in a Sequence 18-21 Sequencing Steps 18-22 A Simple Package 18-23 Note: One Starting Step 18-24 How to Sequence Package Steps 18-25 Note: Error Button 18-26 Executing a Package 18-27 Note: Unit Testing 18-29 Summary 18-30 19 Open Tools Overview 19-2 Objectives 19-3 What Are Open Tools? 19-4 Installing Open Tools 19-6 Installing Open Tools 19-7 Adding a New Open Tool 19-9 Removing an Open Tool 19-14 Using Open Tools 19-15 Using Open Tools in a Package 19-16 Using Open Tools in a Procedure or in a KM 19-18 Developing Your Own Open Tools 19-20 Open Tools at Run Time 19-28 Reference Information 19-32 Summary 19-33 20 Variables and Sequences Objectives 20-2 Variables 20-3 What Is a Variable? 20-4 Variable Scope 20-5 Note: Variables Across Projects 20-6 Note: Variables at Run-Time 20-7 Value Persistence: Action Types 20-8 Configuring a Variable #1 20-9 Refreshing a Variable with SQL 20-10 Configuring a Variable #2 20-11 How to Define a Variable 20-12 Note: Case-Sensitivity 20-13 Using Variables 20-14 Using a Variable in Code 20-15 xiii

Binding Versus Substitution 20-17 How to Create a Variable Step 20-18 Variable Steps 20-19 Sequences 20-21 What Is a Sequence? 20-22 Properties of Sequences 20-23 How to Create a Sequence 20-24 Referring to Sequences 20-25 Note: Sequences Updated by Agent 20-26 Using Sequences in Mappings Correctly 20-27 Using Oracle Data Integrator Sequences in Mappings 20-28 Populating Native Identity Columns 20-29 Note 20-30 Summary 20-31 21 User Functions Objectives 21-2 Overview 21-3 Simple Example #1 21-4 Simple Example #2 21-5 What Is a User Function? 21-6 Creating User Functions 21-7 Properties of User Functions 21-8 How to Create a User Function 21-9 Defining an Implementation 21-10 Syntax and Implementations 21-11 Using User Functions 21-12 User Functions at Design Time 21-13 User Functions at Run Time 21-14 Note: Functions in Execution Log 21-15 Summary 21-16 22 Package Design 2 Objectives 22-2 Types of Package Steps 22-3 Basic Step Types 22-4 Advanced Step Types 22-5 Procedure Steps 22-6 How to Create a Procedure Step 22-7 Model, Submodel, and Data Store Steps 22-8 How to Create Model, Submodel, and Data Store Steps 22-9 Models, Submodels, and Data Store Steps 22-10 Note: Take Care with Model Steps 22-13 xiv

Variable Steps 22-14 How to Create a Variable Step 22-15 Variable Steps 22-16 Controlling the Execution Path 22-18 Controlling Execution 22-19 Error Handling 22-20 How to Create a Loop 22-21 The Advanced Tab 22-22 Summary 22-23 23 Interface Concepts Objectives 23-2 Interfaces 23-3 What Is an Interface? 23-4 Business Rules for Interfaces 23-5 What Is a Mapping? 23-6 What Is a Join? 23-7 What Is a Filter? 23-8 What Is a Constraint? 23-9 Where Are the Rules Defined? 23-10 Behind the Rules 23-11 How Is Oracle Data Integrator Different? 23-12 A Business Problem 23-13 Implementing the Rules 23-14 Integration Process 23-15 Process Details 23-16 Process Implementation #1 23-17 Process Implementation #2 23-18 Process Implementation #3 23-19 What Is the Staging Area? 23-20 Execution Location 23-21 Note 23-22 From Business Rules to Processes 23-23 Knowledge Modules 23-24 What Is a Knowledge Module? 23-25 Code Generation 23-26 KM Types Used in Interfaces 23-27 Important Note 23-28 Summary 23-29 24 Interface Design Objectives 24-2 An Overview of the Flow 24-3 xv

What Is the Flow? 24-4 Note 24-5 What Defines the Flow? 24-6 An Example of Flow 24-7 The Scenario 24-8 The Basic Process 24-9 1. Selecting a Staging Area 24-10 What Is the Staging Area? 24-11 Case Study: Placing the Staging Area 24-12 Note: Staging Area Must Be an RDBMS 24-13 How to Specify the Staging Area 24-14 Case Study: Flow #1 24-15 Case Study: Flow #1 in Oracle Data Integrator 24-16 Case Study: Flow #2 24-17 Case Study: Flow #2 in Oracle Data Integrator 24-18 Case Study: Flow #3 24-19 Case Study: Flow #3 in Oracle Data Integrator 24-20 Note: Staging Area Syntax 24-21 2. Configuring Filters, Joins, and Mappings 24-22 Options for Filters, Joins, and Mappings 24-23 Setting Options for Filters, Joins, and Mappings 24-24 How to Disable a Transformation 24-25 Note: Disabling Transformations 24-26 How to Enable a Mapping for Inserts or Updates 24-27 Note: Update Keys for Flow Control 24-28 What Is an Update Key? 24-29 How to Define the Update Key 24-30 How to Change the Execution Location 24-31 Why Change the Execution Location? 24-32 Execution Location and Syntax 24-33 Note: Moving the Staging Area 24-34 3. Selecting the KM 24-35 Which KMs for Which Flow? 24-36 More on KMs 24-38 Identifying IKMs and LKMs 24-39 Flow #1 24-41 Flow #2 24-42 Flow #3 24-43 How to Specify an LKM 24-44 Note: Default KMs 24-45 How to Specify an IKM 24-46 Common KM Options 24-47 xvi

Note: The Staging Area Trade-off 24-48 Summary 24-49 25 Interface Design: Advanced Business Rules Objectives 25-2 Overview 25-3 Business Rules in Interfaces 25-4 Business Rule Elements 25-5 More Elements 25-6 Using Variables 25-7 Using a Variable in Code 25-8 Binding Versus Substitution 25-10 Note: Case-Sensitivity 25-11 Using Sequences 25-12 Referring to Sequences 25-13 Note: Sequences Updated by Agent 25-14 Using Sequences in Mappings Correctly 25-15 Using Oracle Data Integrator Sequences in Mappings 25-16 Populating Native Identity Columns 25-17 Note 25-18 Using User Functions 25-19 Using Substitution Methods 25-21 Substitution Methods: Examples 25-23 The Expression Editor 25-24 Note 25-27 Summary 25-28 26 Monitoring Sessions Objectives 26-2 Operator: Overview 26-3 Overview 26-4 Operator: Viewing the Log 26-5 Sessions 26-6 What Is a Session? 26-7 Sessions, Step, Tasks: The Hierarchy 26-8 Viewing Sessions 26-9 Viewing Steps 26-10 Viewing Tasks 26-11 Viewing Tasks: Execution Tab 26-12 Errors, Inserts, Updates, Deletes 26-14 Managing Sessions 26-15 What You Can Do with Sessions 26-16 Monitoring a Session 26-17 xvii

Restarting a Session 26-18 Note: Transactions Affect Tasks 26-19 Important Note 26-20 Stopping a Session 26-21 Important Note 26-22 Purging the Session Log 26-23 Troubleshooting a Session 26-24 How to Troubleshoot a Session 26-25 1. Finding the Error 26-26 2. Reviewing the Code 26-27 Note: Use Squirrel 26-28 Note: Java Exceptions 26-29 3. Fixing the Code and Restarting the Session 26-30 4. Fixing the Interface 26-31 Summary 26-32 27 SOA Integration with Oracle Data Integrator Overview 27-2 Objectives 27-3 Web Services In Action 27-4 Data Services 27-5 What Are Data Services? 27-6 Generation of Data Services (I) 27-7 Generation of Data Services (II) 27-8 Data Services In Action 27-9 Setting Up Data Services (I) 27-10 Setting Up Data Services (II) 27-11 1. Setting Up Data Sources in a Web Services Container (I) 27-12 1. Setting Up Data Sources in a Web Services Container (II) 27-13 1. Setting Up Data Sources in a Web Services Container (III) 27-14 2. Configuring the Topology (I) 27-15 2. Configuring the Topology (II) 27-16 2. Configuring the Topology (III) 27-17 2. Configuring the Topology (IV) 27-18 2. Configuring the Topology (V) 27-19 2. Configuring the Topology (VI) 27-20 3. Setting Up the Model (I) 27-21 3. Setting Up the Model (II) 27-22 3. Setting Up the Model (III) 27-23 3. Setting Up the Model (IV) 27-24 3. Setting Up the Model (V) 27-25 3. Setting Up the Model (VI) 27-26 3. Setting Up the Model (VII) 27-27 xviii

4. Generating, Deploying, and Testing Data Services (I) 27-28 4. Generating, Deploying, and Testing Data Services (II) 27-29 4. Generating, Deploying, and Testing Data Services (III) 27-30 Generated Services (I): Overview 27-31 Generated Services (II): Overview 27-32 Generated Services (III): Overview 27-33 Generated Services (IV): Overview 27-34 Generated Services (V): Overview 27-35 Testing Data Services (I) 27-36 Testing Data Services (II) 27-37 Testing Data Services (III) 27-38 Testing Data Services (IV) 27-39 Public Web Services 27-40 What Are Public Web Services? (I) 27-41 What Are Public Web Services? (II) 27-42 Public Web Services in Action 27-43 Installing Public Web Services (I) 27-44 Installing Public Web Services (II) 27-45 Using Public Web Services (I) 27-46 A Simple SOAP Request for the OdiInvoke Web Service (I) 27-47 A Simple SOAP Request for the OdiInvoke Web Service (II) 27-48 A Simple SOAP Request for the OdiInvoke Web Service (III) 27-49 A Simple SOAP Request for the OdiInvoke Web Service (IV) 27-50 A Simple SOAP Request for the OdiInvoke Web Service (V) 27-51 A Simple SOAP Request for the OdiInvoke Web Service (VI) 27-52 A Simple SOAP Response for the OdiInvoke Web Service 27-53 Invoking Web Services 27-54 OdiInvokeWebService Tool 27-55 CountryInfoService Web Service: Example 27-57 Invoking a Web Service (I) 27-61 Invoking a Web Service (II) 27-62 Invoking a Web Service (III) 27-63 Invoking a Web Service (IV) 27-64 Processing a Web Service Response 27-65 Processing a Web Service Response (I) 27-66 Processing a Web Service Response (II) 27-67 Summary 27-68 xix

Appendix A: Practices Appendix B: Solutions Appendix C: The Topology Matrix Appendix D: Topology Naming Convention Appendix E: Examples of Data Server Definitions xx