Contents for Client Application Developer's Guide
Introducing Data Services Platform for Client Application Developers
Simplifying Application Data Programming
What is a Data Services Platform Client?
Data Your Way
The Role of WebLogic Server and WebLogic Workshop
What is a Data Service?
What is a Data Services Platform Client Application?
Security Considerations in Client Applications
Choosing a Data Services Programming Model
Introducing Service Data Objects (SDO)
Update Frameworks and the Data Service Mediator
Typical Client Application Development Process
Development Resources
Runtime Client JAR Files
DSP Mediator API Javadoc
Performance Considerations
Additional Technical and Product Information
DSP's Data Programming Model and Update Framework
Data Services Platform and Service Data Objects (SDOs)
Static and Dynamic Data APIs
Static Data API
XML Schema-to-Java Type Mapping Reference
Dynamic Data API
Role of the Mediator and SDOs
The Data Services Platform Update Framework
How It Works: The Decomposition Process
Physical Data Service Update Process
Logical Data Service Update Process
Primary-Foreign Key Relationships Mapped Using a KeyPair
Managing Key Dependencies
Transaction Management
Accessing Data Services from Java Clients
Overview of the Data Services Platform Mediator API
Setting the Classpath
Mediator API Summary and Reference
Generating a Static Mediator API JAR File
Building the Client JAR
Using the Data Service Mediator API
Obtaining a WebLogic JNDI Context for Data Services Platform
Invoking Functions and DSP Procedures
Static and Dynamic Mediator APIs
Using a Static Data Service Mediator API
Using a Dynamic Mediator API
Static and Dynamic SDO APIs
Using the Static SDO API
Using the Dynamic SDO API
Bypassing the Cache When Using the Mediator API
Step-by-Step: A Java Client Programming Example
Step 1. Instantiating and Populating Data Objects
Step 2: Accessing Data Object Properties
Step 3: Modifying, Adding, and Deleting Data Objects and Properties
Modifying Data Object Properties
Adding New Data Objects
Deleting Data Objects
Step 4: Submitting Changes to the Data Service
Examining a Java Client Application
Web Services and DSP-Enabled Applications
Overview of Web Services and DSP
Different Styles of Web Services Integration for DSP
Server-side DSP-Enabled Web Service Development
Adding a Data Service Control to a Web Service
Generating a Web Service from a Data Service Control
Modifying Submit Operations and Generating a WSDL File
Testing a Web Service in WebLogic Workshop
Client-side DSP-Enabled Web Service Development
Client-side Artifact Generation Utilities
Generating SDO Client Classes
Setting the Environment for the Utilities
Generating SDO Classes Using Ant
Generating SDO Classes Using Java
Generating SDO-Enabled Web Services Clients
Generating SDO Web Services Clients Using Ant
Generating SDO Web Services Clients using Java
Using the SDO Web Service Client Gen Utility
Post-Generation Development Tasks
Sample build.xml File
Accessing Data Services from WebLogic Workshop Applications
WebLogic Workshop and Data Services Platform
Data Service Controls
Use With Page Flow, Web Services, Portals, Business Processes
Data Service Control (JCX) File
Design View
Source View
Using Data Service Controls for Ad Hoc Queries
Creating Data Service Controls
Step 1: Create a Project in an Application
Step 2: Start WebLogic Server, If Not Already Running
Step 3: Create a Folder in a Project
Step 4: Create the Data Service Control
Step 5: Enter Connection Information for WebLogic Server
Step 6: Select Data Service Functions to Add to Your Control
Modifying Existing Data Service Controls
Changing a Method Used by a Control
Adding a New Method to a Control
Updating an Existing Control When Schemas Change
Using Data Services Platform with NetUI
Generating a Page Flow From a Control
To Generate a Page Flow From a Data Service Control
Adding a Data Service Control to an Existing Page Flow
Adding Service Data Objects (SDO) Variables to the Page Flow
To Add a Variable to a Page Flow
To Initialize the Variable in the Page Flow
Working with Data Objects
Displaying Array Values in a Table or List
Adding a Repeater to a JSP File
Adding a Nested Level to an Existing Repeater
Adding Code to Handle Null Values
Caching Considerations When Using Data Service Controls
Bypassing the Cache When Using a Data Service Control
Cache Bypass Example When Using a Data Service Control
Security Considerations When Using Data Service Controls
Security Credentials Used to Create Data Service Controls
Testing Controls With the Run-As Property in the JWS File
Trusted Domains
Configuring Trusted Domains
Supporting ADO.NET Clients
Overview of ADO.NET Integration in Data Services Platform
Understanding ADO.NET
ADO.NET Client Application Development Tools
Understanding How DSP Supports ADO.NET Clients
Supporting Java Clients
Enabling DSP Support for ADO.NET Clients
Creating a New Web Service Project
Creating an ADO.NET-Enabled Data Service Control
Generating a Web Service for ADO.NET Clients
Generating an ADO.NET-Enabled WSDL
Adapting DSP XML Types (Schemas) for ADO.NET Clients
Approaches to Adapting XML Types for ADO.NET
XML Type Requirements for Working With ADO.NET DataSets
References
Generated Artifacts Reference
XML Schema Definition for ADO.NET Typed DataSet
Web Services Description Language (WSDL) File for Microsoft ADO.NET Clients
Using Workflow with DSP-Enabled Applications
Brief Overview of WebLogic Integration JPDs
How SDO's Handling of XMLObjects Differs from JPD
Adding a Data Service Control to a Process
Creating a Data Service Control
Adding a Data Service Control to a JPD File
Setting Up the Data Service Control in the Business Process
Submitting Changes from a Business Process
Invoking JPDs from Data Services Platform
Invoking a JPD from an Update Override
Invoking a JPD by Using the JpdService API in an Update Override
Synchronous and Asynchronous Behavior
Error Handling
Using the Data Services Platform JDBC Driver
About the Data Services Platform JDBC Driver
Features of the Data Services Platform JDBC Driver
Data Services Platform and JDBC Driver Terminology
Installing the Data Services Platform JDBC Driver with JDK 1.4x
Using the JDBC Driver
Obtaining a Connection
Using the preparedStatement Interface
Getting Data Using JDBC
Connecting to the JDBC Driver from a Java Application
Connecting to Data Services Platform Client Applications Using the ODBC-JDBC Bridge from Non-Java Applications
Using the EasySoft ODBC-JDBC Bridge
Using OpenLink ODBC-JDBC Bridge
Using Reporting Tools with the Data Services Platform ODBC-JDBC Driver
Crystal Reports 10 - ODBC
Crystal Reports 10 - JDBC
Business Objects 6.1 - ODBC
Microsoft Access 2000 - ODBC
DSP and SQL Type Mappings
SQL-92 Support
Supported Features
Limitations
Customizing Data Service Update Behavior
What is an Update Override?
An Update Override is a Java Class
How an Update Override Affects Update Processing
When Are Update Overrides Required?
When Are Update Overrides Required for Relational Data Sources?
Developing the UpdateOverride Class
Invoking Data Service Procedures from an UpdateOverride
Testing Submit Results
Update Override Context
Update Overrides and Physical Data Services
Update Override Programming Patterns
Overriding the Entire Decomposition and Update Process
Augmenting Data Object Content
Accessing the Data Service Mediator Context
Accessing the Decomposition Map
Customizing an Update Plan
Executing an Update Plan
Retrieving the Container of the Current Data Object
Invoking Other Data Service Functions and Procedures
Capturing Runtime Data about Overrides in the Server Log
Default Optimistic Locking Policy: What it Means, How to Change
Advanced Topics
Using Catalog Services to Obtain Data Services' Metadata
Installing Catalog Services
Creating a Query-by-Form (QBF) Application Using Catalog Services
Filtering, Sorting, and Fine-tuning Query Results
Using Filters
Specifying Filter Effects
Ordering and Truncating Data Service Results
Using Ad Hoc Queries to Fine-tune Results from the Client
Handling Large Result Sets with Streaming APIs
Using the Streaming Interface
Writing Data Service Function Results to a File
Providing Role-based Access to DSP Relational Sources