Go to main content
1/15
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
1
Introduction to Data Services
1.1
Concepts
1.1.1
Data in the 21st Century
1.1.2
Data Access Integration Architecture
1.1.3
Oracle Data Service Integrator: Roles and Responsibilities
1.2
How-to
1.2.1
How to Configure the Retail Dataspace Sample Application for Oracle Data Service Integrator
1.2.1.1
Prerequisites
1.2.1.2
About WorkSpace Studio, Data Services Studio, and Eclipse
1.2.1.3
Start WorkSpace Studio
1.2.1.4
Start the Server
1.2.1.5
Deploy Your Projects
1.2.1.6
Create the Retail Dataspace Sample Web Application
1.2.1.7
See Also
1.2.2
How to Configure the Retail Dataspace Sample Application for OSDI Studio
1.2.2.1
Prerequisites
1.2.2.2
About WorkSpace Studio, Data Services Studio, and Eclipse
1.2.2.3
Start Studio
1.2.2.4
Start the Server
1.2.2.5
Deploy Your Projects
1.2.2.6
See Also
1.3
Example: How to Create Your First Data Services
1.3.1
Goal of the Tutorial
1.3.1.1
Requirements
1.3.1.2
Before You Begin
1.3.2
Creating a Dataspace Project
1.3.2.1
Set Up a Folder for Physical Data Services
1.3.3
Creating Physical Data Services
1.3.3.1
Select a Data Source
1.3.3.2
Schemas Directory
1.3.3.3
Publish Your Projects
1.3.4
Creating a Logical Data Service
1.3.4.1
Attempt To Publish Your Dataspace Project
1.3.4.2
Bottom Up or Top Down
1.3.4.3
Add an Operation to CUST_ORDERS_ITEMS
1.3.4.4
Building Your Query
1.3.4.5
Building Your FLWR Statement Graphically
1.3.4.6
Add a Parameter
1.3.4.7
Map Elements to the Return Type
1.3.4.8
Populating the Return Clause
1.3.4.9
Set Statement Scoping
1.3.4.10
Creating Joins - the Where Clauses
1.3.4.11
Associate a Parameter with a For Node
1.3.5
Creating, Saving, and Associating the XML Type
1.3.5.1
Modifying the XML Type
1.3.6
Testing Your Data Service Function
1.3.6.1
View Test Run Results
1.3.7
Adding Create-Update-Delete Functions to Your Data Service
1.3.8
Updating Your Results
1.3.9
Reviewing the Query Plan
1.3.10
Reviewing the Update Map
1.3.11
Archiving Your Project
1.3.11.1
Saving Project to a ZIP File
1.3.12
Summary
1.4
Reference
1.4.1
Oracle Data Service Integrator Start Menu
1.4.1.1
Oracle Data Service Integrator Start Menu
1.4.2
Data Service Types and Functions
1.4.3
Data Service Characteristics
1.4.4
Operational Characteristics
1.5
Related Topics
1.5.1
Getting the Most from the WebLogic Eclipse Plugin Framework
1.5.1.1
Data Services Eclipse for WebLogic
1.5.2
Create a Data Service with a Flat Return Type
1.5.2.1
Overview
1.5.2.2
Create a Dataspace Project
1.5.2.3
Create the Return Type
1.5.2.4
Create Physical Data Services
1.5.2.5
Create a Logical Data Service
1.5.2.6
Create the Query Map
1.5.2.7
See Also
2
Developing and Managing Dataspace Projects
2.1
Data Service File Validation During Deployment
2.2
How-to
2.2.1
How To Create, Build, Clean, and Delete Dataspace Projects
2.2.1.1
Creating a Dataspace Project
2.2.1.2
Building a Dataspace Project
2.2.1.3
Cleaning a Dataspace Project
2.2.1.4
Deleting a Dataspace Project
2.2.2
How to Publish, Configure, and Remove Dataspace Projects
2.2.2.1
Publishing Server Projects
2.2.2.2
Configuring Server Projects
2.2.2.3
Managing Configured Projects Through the Servers Window
2.2.2.4
Removing Dataspace Projects from a Server
2.2.3
Exporting Dataspace Projects or Project Folders
2.2.4
Exporting Dataspace Project Artifacts Using Oracle Data Service Integrator Export Wizards
2.2.4.1
Exporting Dataspace Artifacts
2.2.4.2
Generating a Data Service Definitions and Artifacts JAR
2.2.4.3
Generating a Mediator Client JAR File
2.2.4.4
Generating a JAR File Containing Data Service-to-Web Service Maps
2.2.5
Importing a Dataspace Project
2.2.5.1
Importing a File-based Project
2.2.6
How To Handle Error Conditions in a Dataspace Project
2.2.7
How To Validate, Build, Export, and Package Dataspace Projects from the Command Line
2.2.7.1
Data Service File Validation During Deployment
2.2.7.2
Dataspace Packaging from the Command-line
2.2.7.3
Syntax Summary
2.2.7.4
Command-Line Ant Build Targets
2.2.7.5
Command-line Examples using Ant and Java
2.3
Reference
2.3.1
Dataspace Projects Cheatsheet
2.3.2
Setting Eclipse for WebLogic Initialization Parameters (.ini)
2.4
Related Topics
3
Creating and Updating Physical Data Services
3.1
Concepts
3.1.1
Creating Physical Data Services by Importing Source Metadata
3.1.1.1
Source View
3.1.2
Physical Data Services from Java Functions Overview
3.1.2.1
Simple Java Types and Their XQuery Counterparts
3.1.2.2
Physical Data Service from a Java Function - Example Code
3.2
How to Create Physical Data Services
3.2.1
How To Create Physical Data Services from Relational Tables and Views
3.2.1.1
Setting Up the Physical Data Service Creation Wizard
3.2.1.2
Setting Up the Import Wizard for Relational Objects
3.2.1.3
Selecting SQL Table and View Objects for Import
3.2.1.4
Setting Properties for New Data Service Operations
3.2.1.5
Verifying Data Service Composition
3.2.1.6
Database-specific Catalog and Schema Considerations
3.2.1.7
XML Name Conversion Considerations
3.2.2
How To Create Physical Data Services from Stored Procedures
3.2.2.1
Importing Stored Procedure Metadata Using the Physical Data Service Creation Wizard
3.2.2.2
Setting Up the Physical Data Service Creation Wizard
3.2.2.3
Setting Up the Import Wizard for Relational Objects
3.2.2.4
Selecting Stored Procedure Objects for Import
3.2.2.5
Configuring Selected Stored Procedures
3.2.2.6
Stored Procedure Configuration Reference
3.2.2.7
Setting Properties for New Data Service Operations
3.2.2.8
Verifying Data Service Composition
3.2.2.9
Adding Operations to an Existing Data Service
3.2.2.10
Support for Stored Procedures in Popular Databases
3.2.3
How To Create Physical Data Services Based on SQL Statements
3.2.3.1
Setting Up the Physical Data Service Creation Wizard
3.2.3.2
Setting Up the Import Wizard for Relational Objects
3.2.3.3
Entering a SQL Statement
3.2.3.4
Setting Properties for New Library Functions
3.2.3.5
Verifying Data Service Composition
3.2.4
How To Create Physical Data Services Based on Database Functions
3.2.4.1
Setting Up the Physical Data Service Creation Wizard
3.2.4.2
Setting Up the Import Wizard for Relational Objects
3.2.4.3
Providing Database Function Details
3.2.4.4
Verifying Data Service Composition
3.2.5
How To Create a Physical Data Service from a Web Service
3.2.5.1
Setting Up the Physical Data Service Creation Wizard
3.2.5.2
Accessing a Web Service
3.2.5.3
Selecting Web Service Operations to Import
3.2.5.4
Setting Characteristics of Imported Web Service Operations
3.2.5.5
Setting the Data Service Name
3.2.6
Preparing to Create Physical Data Services From Java Functions
3.2.7
How To Create a Physical Data Service from a Java Function
3.2.7.1
Setting Up the Physical Data Service Creation Wizard
3.2.7.2
Accessing Java Functions
3.2.7.3
Selecting Java Functions to Import
3.2.7.4
Setting Characteristics of Imported Java Functions
3.2.7.5
Setting the Physical Data Service Name
3.2.7.6
See Also
3.2.8
How To Create a Physical Data Service from XML Data
3.2.8.1
Setting Up the Physical Data Service Creation Wizard
3.2.8.2
Specifying XML Data Schema and File
3.2.8.3
Setting Properties for New Library Functions
3.2.8.4
Verifying Data Service Composition
3.2.8.5
XML File Import Sample
3.2.9
How To Create a Physical Data Service from a Delimited File
3.2.9.1
Setting Up the Physical Data Service Creation Wizard
3.2.9.2
Specifying Delimited File Information
3.2.9.3
Setting Properties for New Library Functions
3.2.9.4
Verifying Data Service Composition
3.3
How to
3.3.1
How To Enable Optimistic Locking
3.3.1.1
Set the Locking Policy
3.3.1.2
Select the Locking Fields
3.3.1.3
See Also
3.3.2
How To Update Physical Data Service Metadata
3.3.2.1
Topics
3.3.2.2
Scope of Metadata Update
3.3.2.3
Important Considerations When Updating Source Metadata
3.3.2.4
Using the Update Source Metadata Wizard
3.3.2.5
Inspecting and Reverting Changes Using Local History
3.3.3
Creating SOAP Handlers for Imported WSDLs
3.3.3.1
Create a Java Class Implementing the Generic Handler Interface
3.3.3.2
Compile your intercept handler into a JAR file.
3.3.4
Creating XMLBean Support for Java Functions
3.3.4.1
Supported XMLBean Standards
3.3.4.2
Creating XMLBean Classes for Java Functions
3.3.4.3
See Also
3.3.5
How To Browse and Select a Schema Type
3.3.5.1
Browsing and Selecting Schema Types
3.3.5.2
Browsing Schema Types
3.3.5.3
Selecting a Schema Type
3.3.6
Physical Data Service from a Java Function - Example Code
3.3.6.1
Using a Function Returning an Array of Java Primitives
3.3.6.2
Processing complex types represented via XMLBeans
3.4
Example: XMLBeans Example Using a Metadata-rich Java Class
3.4.1
Java Source
3.4.2
Schema Definition
3.4.3
Data Service Function
3.5
Reference
3.5.1
Stored Procedure Configuration Reference
3.5.1.1
In Mode, Out Mode, Inout Mode
3.5.1.2
Procedure Profile
3.5.1.3
Supporting Stored Procedures with Nullable Input Parameter(s)
3.5.2
Simple Java Types and Their XQuery Counterparts
3.6
Related Topics
3.6.1
How To Add an External Function to an Existing Physical Data Service
3.6.1.1
Additional Constraints
4
Designing Logical Data Services
4.1
Concepts
4.1.1
Building Logical Entity Data Services
4.1.1.1
The Benefits of Logical Services
4.1.1.2
Design View
4.1.1.3
Query Map View
4.1.1.4
Update Map View
4.1.1.5
Test View
4.1.1.6
See Also
4.1.2
Data Service Keys
4.1.2.1
Overview
4.1.2.2
Parts of a Key
4.1.2.3
Composite Keys
4.1.2.4
See Also
4.1.3
XML Types and Return Types
4.1.3.1
Where XML Types are Used
4.1.3.2
Where Return Types are Used
4.2
How-to
4.2.1
How To Add a Read Function
4.2.1.1
Overview
4.2.1.2
Create the Function in Eclipse for WebLogic
4.2.1.3
See Also
4.2.2
How To Add a Library Function or Procedure
4.2.2.1
Overview
4.2.2.2
Add the Function or Procedure
4.2.2.3
Test in Eclipse for WebLogic
4.2.3
How To Create Logical Data Service Keys
4.2.3.1
Generate a Key
4.2.3.2
Select Elements for a Key
4.2.3.3
Select a Key Schema File
4.2.3.4
View and Map a Key
4.2.3.5
See Also
4.2.4
How To Declare a Security Resource in Eclipse for WebLogic
4.2.4.1
Choose a Technique
4.2.4.2
Create the Security Resource
4.2.4.3
Use the Security Resource in XQuery
4.2.4.4
Assign Security Resources
4.2.4.5
Test Security
4.2.4.6
See Also
4.3
Examples
4.3.1
How to Create a Logical Data Service with a Group By Clause
4.3.1.1
Overview
4.3.1.2
Design the Return Type Schema
4.3.1.3
Create the Logical Data Service
4.3.1.4
Create the Group By Node
4.3.1.5
Create the For Node
4.3.1.6
Add an Aggregate Function
4.3.1.7
Test the Service
4.3.1.8
See Also
4.3.2
How To Create a Data Service with a Flat Return Type
4.3.2.1
Overview
4.3.2.2
Create a Dataspace Project
4.3.2.3
Create the Return Type
4.3.2.4
Create Physical Data Services
4.3.2.5
Create a Logical Data Service
4.3.2.6
Create the Query Map
4.3.2.7
See Also
4.4
Reference
4.4.1
XQuery Source of a Logical Entity Service
4.4.1.1
Source Code
4.4.1.2
See Also
4.5
Related Topics
5
Modeling Data Services Relationships
5.1
Relationship Between Data Services and Models
5.2
How to...
5.2.1
Create Your First Data Services Model
5.2.1.1
Introduction
5.2.1.2
Building a Simple Data Service Relationship Model
5.2.1.3
Setting Relationship Properties
5.2.1.4
Configuring Navigation Functions
5.2.2
Work with Large Models
5.2.2.1
Search
5.2.2.2
Outline Mode
5.2.3
Generate a Relationship Modeler Report
5.2.3.1
Model Report Format
5.3
Reference
5.3.1
Relationship Modeler Options
5.3.1.1
Model Right-click Menu Options
5.3.2
Model Diagram Rules
5.3.3
Notable Relationship Modeler Properties
5.3.4
Relationship Models in Source View
6
Building XQueries
6.1
How To
6.1.1
Create a Return Type
6.1.1.1
Choose a Technique
6.1.1.2
Write a Return Type Schema
6.1.1.3
Generate a Schema File
6.1.1.4
See Also
6.1.2
Add a Complex Child Element to a Return Type
6.1.2.1
Add the Child Element Visually
6.1.2.2
Edit the XML Source
6.1.2.3
See Also
6.1.3
Check Namespaces in Return Types
6.1.3.1
Check Prefix Bindings
6.1.3.2
Edit the Namespace
6.1.3.3
See Also
6.1.4
Create Conditional Elements in Return Types
6.1.4.1
Add the Condition
6.1.4.2
Create the Expression
6.1.4.3
See Also
6.1.5
Add a Where Clause to a Query
6.1.5.1
Define the Condition
6.1.5.2
Join Tables with a Where Clause
6.1.5.3
Use an XQuery Function in a Where Clause
6.1.5.4
See Also
6.1.6
Use the XQuery Expression Editor
6.1.6.1
Overview
6.1.6.2
The fn-bea:value Function
6.1.6.3
See Also
6.1.7
Use the Source Editor
6.1.7.1
What is the Source Editor?
6.1.7.2
Searching Source
6.1.7.3
Navigating to Specific Functions
6.1.7.4
Color Coding
6.1.7.5
Code Completion
6.2
Reference
6.2.1
XQuery Language Version Support
6.2.2
Built-in XQuery Functions
6.3
Related Topics
7
Testing Update Procedures Using SDO Data Graphs
7.1
Key Points
7.2
Updates in Test View
7.3
Optimistic Locking
8
Understanding Query Plans
8.1
Using Query Plan View
8.1.1
Query Plan Information and Warnings
8.1.2
Printing or Saving Your Query Plan
8.1.3
Loading a Previously Saved Query Plan
8.2
Analyzing a Sample Query
8.3
Working with a Query Plan
8.3.1
Identifying Problematic Conditions Through the Query Plan
9
Managing Update Maps
9.1
Understanding Update Maps
9.1.1
The Target Box
9.1.1.1
The Input Type
9.1.1.2
Procedure Icons
9.1.1.3
For Each Blocks
9.1.1.4
Update Blocks
9.1.1.5
The Return Key Block
9.1.1.6
Customization
9.2
Changing a Mapping
9.2.1
Example
9.3
Removing a Mapping
9.4
Reverting Customizations
9.5
Adding a Condition to an Update Block
9.5.1
Example
9.6
Editing XQuery Expressions
9.6.1
Overview
9.6.2
The fn-bea:value Function
9.7
Adding an Update Map Procedure
9.7.1
Overview
9.7.2
Generating Default Procedures
9.7.3
Designing Custom Procedures
9.8
Determining the Scope of a Variable
9.8.1
Variable Types and Scoping Rules
9.8.1.1
Example: an update map for a customer-orders data service
9.8.1.2
Example: an outside mapping to a key value
9.8.2
Updating Foreign Key Values
9.8.2.1
Example: coalesce-equal
9.9
Reference
9.9.1
Update Map Functions
9.10
How To
9.10.1
How To Recognize When Something is Wrong
9.10.1.1
Understand the Symptoms
9.10.1.2
Check the Problems Tab
9.10.1.3
Resolve Errors and Warnings
9.10.2
How To Understand Mappings with Different Data Types
9.10.2.1
Overview
9.10.2.2
Built-In Cast Functions
9.10.2.3
Custom Cast Functions
9.10.3
How to Cast Using a Built-in XQuery Function
9.10.3.1
Example
9.10.4
How To Cast Using a Custom XQuery Function
9.10.4.1
Example
9.10.5
How To Test an Update Map Cast
9.10.5.1
Example
9.10.6
How To Handle Disabled Procedures in Underlying Data Sources
9.10.6.1
Check the Data Sources
9.10.6.2
Resolve the Disabled Procedures
9.10.6.3
Add or Enable Procedures in the Underlying Data Source
9.10.6.4
Change the XML Return Type
9.10.7
How To Handle Non-Unique Joins
9.10.7.1
Understand the Join
9.10.7.2
Correct the Block Scope
9.10.7.3
Correct the Table Join
9.10.7.4
Enable Update Blocks and Procedures
9.10.7.5
Test a Non-Unique Join
9.10.8
How To Handle Non-Unique Values
9.10.8.1
Example
9.10.9
How To Handle Unmapped Required Values
9.10.9.1
Overview
9.10.9.2
Draw the Mapping
9.10.9.3
Cast a Constant
9.11
Testing Update Maps
9.11.1
Configure Audit Properties
9.11.2
Capture the Data Graph
9.11.3
Submit the Update
9.12
How To Test an Update Procedure
9.12.1
Configure Audit Properties
9.12.2
Capture the Data Graph
9.12.3
Submit the Update
10
Preparing Services for Clients
10.1
Generating a Mediator Client JAR File
10.1.1
Using the IDE
10.1.2
Using the Command-Line Tool
10.2
Generating a Web Services Mediator Client JAR File
10.2.1
Overview
10.2.2
Using Eclipse for WebLogic
10.2.3
Using the Command-Line Tool
10.3
Generating a Web Service Map and WSDL from a Data Service
10.3.1
Creating a Map File
10.3.2
Generating a WSDL File from a Map File
10.3.3
Examining the Generated WSDL
10.3.4
Testing the Generated WSDL
10.3.5
Modifying the Map File
10.3.5.1
Adding Data Services and Operations
10.3.5.2
Deleting Data Services and Operations from a Map File
10.3.5.3
Renaming Mapped Operations
10.4
Configuring Security for Web Services Applications
10.4.1
Configuring Basic Authentication
10.4.2
Configuring Transport Level Security (HTTPS)
10.4.3
Configuring Web Services Security (WSS)
10.4.4
Specifying Policies
10.4.4.1
Specifying Global Policies
10.4.4.2
Specifying Policies for a Function
10.5
Web Services Map File Reference
10.5.1
Map File-Level Properties
10.5.2
Operation Level Properties
10.5.3
Map File XML Schema Definition
10.5.4
Mapping of Data Service Type to WSDL Message Type
10.5.4.1
Two Schema Elements Per Function
10.5.4.2
Mapping of Update Functions with DataGraphs
10.5.4.3
Overloading Data Service Functions
10.5.5
Examining the Generated WSDL
10.5.6
Testing the Generated WSDL
10.5.7
Copying and Saving a WSDL Generated from a Map
10.6
Understanding SQL Maps
10.6.1
Overview
10.6.2
Publishable Operations
10.6.3
General Conditions
10.7
Map Functions and Procedures to SQL Objects
10.7.1
Creating an SQL Map
10.7.2
Removing an SQL Map
10.8
SQL Object Mapping Rules
10.9
Constraints on Publishing Data Service Objects to SQL
10.9.1
Non-Tabular Element Types Affect Ability to Publish Functions as SQL Objects
11
Data Service Annotations
11.1
Overview
11.2
XDS Annotations
11.2.1
General Properties
11.2.1.1
Standard Document Properties
11.2.1.2
User-Defined Properties
11.2.2
Data Access Properties
11.2.2.1
Relational Data Service Annotations
11.2.2.2
Source Binding Provider
11.2.2.3
Web Service Data Service Annotations
11.2.2.4
Java Function Data Service Annotations
11.2.2.5
Delimited Content Data Service Annotations
11.2.2.6
XML Content Data Service Annotations
11.2.2.7
User Defined View XDS Annotations
11.2.3
Target Type Properties
11.2.3.1
Native Type Properties
11.2.3.2
Update-related Type Properties
11.2.4
Key Properties
11.2.5
Relationship Properties
11.2.6
Update Properties
11.2.6.1
Optimistic Locking Fields
11.2.6.2
Security Properties
11.3
Function Annotations
11.3.1
General Properties
11.3.2
UI Properties
11.3.3
Cache Properties
11.3.4
Transaction Properties
11.3.5
Behavioral Properties
11.3.5.1
Inverse Functions
11.3.5.2
Equivalent Transforms
11.3.6
Polymorphic Functions
11.3.7
Signature Properties
11.3.8
Native Properties
11.3.8.1
SQL Query Properties
11.3.8.2
SOAP Handler Properties
11.3.9
Implementation Properties
11.4
XFL Annotations
11.4.1
General Properties
11.4.2
Data Access Properties
11.4.3
Security Properties
11.5
Data Service Annotations Schema
12
Best Practices When Building Data Services
12.1
Overview
12.1.1
Understanding the Oracle Data Service Integrator Server
12.1.2
Understanding the Oracle Data Service Integrator Client
12.2
Oracle Data Service Integrator Development Best Practices
12.2.1
Organizing Data Services Using Projects
12.2.2
Building Data Services in Layers
12.2.2.1
Physical Layer
12.2.2.2
Logical Layer
12.2.2.3
Integration Layer
12.2.2.4
Application Layer
12.3
Performance and Optimization Best Practices
12.3.1
Database Access
12.3.1.1
Retrieving Only the Necessary Data
12.3.1.2
Designing Functions Which can be Pushed to the Database
12.3.1.3
Verifying that Joins are Implemented as Left-Outer or Inner/Natural Joins
12.3.1.4
Pushing Left Outer Joins to the Database
12.3.1.5
Using a ppci-impl Join
12.3.1.6
Avoiding Casting
12.3.1.7
Optimizing Ad Hoc Queries
12.3.1.8
Writing Your Own SQL for Oracle Data Service Integrator to Use
12.3.2
Exercising Care when Using Fail-over, Fail-over-retry, and Timeout
12.3.3
Using Inverse Functions
12.3.4
Using Caching and Auditing
12.3.5
Query Plans
12.3.5.1
Evaluating Performance Before Running the Query
12.3.5.2
Precompiling Query Plans
12.3.5.3
Evaluating the Performance by Running the Query
12.3.6
Monitoring Operational Performance and Service Level Agreements
12.4
How To Get More Help
12.5
Related Topics
Scripting on this page enhances content navigation, but does not change the content in any way.