Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack
11
g
Release 1 (11.1.1.5.0)
Part Number E17364-03
Home
Book List
Index
Master Index
Contact Us
Next
View PDF
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Oracle AIA Guides
Documentation Accessibility
Related Documents
Conventions
1
Getting Started with the AIA Development Guide
1.1
Goal of the AIA Development Guide
1.2
Types of Integrations Addressed by AIA
1.3
Integration Styles Addressed by AIA
1.4
How to Use the AIA Development Guide
2
Working with Project Lifecycle Workbench
2.1
Introduction to Project Lifecycle Workbench
2.2
Adding Project Lifecycle Workbench Lookup Values
2.2.1
How to Add Lookup Values
2.3
Working with Project Lifecycle Workbench Projects
2.3.1
How to Define Project Lifecycle Workbench Projects
2.3.2
How to Update Project Lifecycle Workbench Projects
2.3.3
How to Access Project Lifecycle Workbench Projects
2.3.4
How to Edit a Locked Project
2.3.5
How to Delete Project Lifecycle Workbench Projects
2.4
Working with Project Lifecycle Workbench Service Solution Components
2.4.1
How to Define Project Lifecycle Workbench Service Solution Components
2.4.2
How to Update Project Lifecycle Workbench Service Solution Components
2.4.3
How to Access Service Solution Components
3
Harvesting Oracle AIA Content
3.1
How to Set Up Oracle AIA Content Harvesting
3.2
Harvesting Design-Time Composites into Project Lifecycle Workbench and Oracle Enterprise Repository
3.2.1
Introduction to Harvesting Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository
3.2.2
How to Set Up Environments to Enable Design-Time Harvesting
3.2.2.1
Setting Up for Design-Time Harvesting Using a Non-Foundation Pack Environment
3.2.2.2
Setting Up for Design-Time Harvesting Using a Foundation Pack Environment
3.2.3
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository
3.2.3.1
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using HarvesterSettings.xml
3.2.3.2
How to Harvest Design-Time Composites into Project Lifecycle Workbench Only Using HarvesterSettings.xml
3.2.3.3
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using Command Line Options
3.3
Harvesting Interfaces to Oracle Enterprise Repository in Bulk
3.3.1
How to Set Up Environments to Harvest Interfaces to Oracle Enterprise Repository in Bulk
3.3.1.1
Setting Up to Harvest Interfaces Using a Non-Foundation Pack Environment
3.3.1.2
Setting Up to Harvest Interfaces Using a Foundation Pack Environment
3.3.2
How to Harvest Interfaces to Oracle Enterprise Repository in Bulk
3.4
Harvesting Deployed Composites into Oracle Enterprise Repository
3.4.1
How to Set Up Environments to Harvest Deployed Composites into Oracle Enterprise Repository
3.4.2
How to Harvest Deployed Composites into Oracle Enterprise Repository
3.4.2.1
Harvesting PIP-Delivered Deployed Composites to Oracle Enterprise Repository
3.4.2.2
Harvesting Custom-Built Deployed Composites to Oracle Enterprise Repository
3.5
Introducing Oracle Enterprise Repository After AIA Installation
4
Working with Project Lifecycle Workbench Bills of Material
4.1
Introduction to Bills of Material
4.2
How to Generate a Bill of Material for an AIA Lifecycle Project
4.3
How to Edit a Bill of Material for an AIA Lifecycle Project
4.4
How to View a Bill of Material for an AIA Lifecycle Project
5
Working with Project Lifecycle Workbench Seed Data
5.1
Introducing Project Lifecycle Workbench Seed Data
5.2
How to Set Up an Environment to Export or Import Seed Data for the First Time
5.3
How to Export Seed Data
5.4
How to Import Seed Data
6
Generating Deployment Plans and Deploying Artifacts
6.1
Introduction
6.2
Extending Deployment Plans
6.2.1
Extending Native Artifacts
6.2.2
Extending Non-Native Artifacts
6.3
Generating Deployment Plans
6.3.1
Input for Deployment Plan Generator
6.3.2
Executing Deployment Plan Generator
6.3.3
Output by Deployment Plan Generator
6.4
Generating Conditional Deployment Plans
6.4.1
Understanding the Deployment Policy File
6.4.2
Executing the Deployment Plan
6.5
Deploying Artifacts
6.5.1
Deploying AIA Shipped Native Artifacts and Non-native Artifacts
6.5.2
Deploying Modified AIA-shipped Artifacts
6.5.2.1
Deploying Modified Native Artifacts and Original Non-native Artifacts
6.5.2.2
Deploying Original Native Artifacts and Modified Non-native Artifacts
6.5.3
Deploying New or Custom Built Artifacts
6.5.3.1
Deploying Newly-added Native Artifacts and Original Non-native Artifacts
6.5.3.2
Deploying Newly Added Non-native Artifacts
6.6
Undeploying Services
7
Generating a Deployment Plan for ODI
7.1
Introduction to Generating a Deployment Plan for ODI
7.2
Generating the BOM for ODI
7.2.1
Understanding the ODIBOM.xml File
7.2.2
Understanding the Sections in the BOM.xml
7.2.2.1
ODIReplaceTokens
7.2.2.2
ODIEncryptPasswords
7.2.2.3
CopyDvmstoODIPath
7.2.2.4
MSTREP_Grp
7.2.2.5
WRKREP_Grp
7.3
Generating a Deployment Plan for ODI
7.3.1
Understanding the ODI Deployment Plan
7.3.1.1
OdiImportObject
7.3.1.2
OdiEncrypt
7.3.1.3
UpdateOdiParams
8
Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository
8.1
Introduction to Using Oracle Enterprise Repository as the Oracle AIA SOA Repository
8.2
How to Provide EBO and EBM Documentation Links in Oracle Enterprise Repository
8.3
How to Access Oracle AIA Content in Oracle Enterprise Repository
9
Annotating Composites
9.1
Why Annotate a SOA Composite?
9.1.1
What Elements of a Composite Need to be Annotated?
9.1.2
Understanding the Service Annotation Element
9.1.2.1
InterfaceDetails
9.1.2.2
ImplementationDetails
9.1.3
Understanding the Reference Annotation Element
9.1.4
Understanding the TransportDetails Element
9.1.4.1
Annotating DBAdapter
9.1.4.2
Annotating JMSAdapter
9.1.4.3
Annotating AQJMS Adapter
9.1.4.4
Annotating Other Resources
9.1.4.5
Annotating Application Adapter
9.2
How to Annotate the Service Element in a Requester ABCS Composite
9.3
How to Annotate the Reference Element in a Requester ABCS Composite
9.4
How to Annotate the Service Element in a Provider ABCS Composite
9.5
How to Annotate the Reference Element in a Provider ABCS
9.6
How to Annotate the Transport Adapter Composite
9.7
How to Annotate the Service Element in Enterprise Business Flow Composite
9.8
How to Annotate the Reference Element in Enterprise Business Flow Composite
9.9
How to Annotate the Service Element in Composite Business Process Composite
9.10
How to Annotate the Reference Element in Composite Business Process Composite
9.11
Valid Values for Annotation Elements
9.11.1
Valid Values for the Element ArtifactType
9.11.2
Valid Values for the Element ApplicationName
10
Designing and Developing Enterprise Business Services
10.1
Introduction to Enterprise Business Services
10.1.1
Understanding EBS Types
10.1.2
Working with the Enterprise Business Service Library
10.2
Designing the EBS
10.2.1
Understanding Design Guidelines
10.2.2
Understanding Design Considerations
10.2.3
Establishing the MEP of a New Process EBS
10.2.4
How to Establish the MEP for a New Process EBS
10.2.5
How to Handle Errors
10.2.6
How to Secure the EBS
10.2.7
How to Configure Transactions
10.2.8
How to Guarantee Delivery
10.2.9
How to Define the EBS Service Contract
10.3
Constructing the WSDL for the Process EBS
10.3.1
Introduction to WSDL Construction for the Activity Service EBS
10.3.2
How to Complete the <definitions> Section
10.3.3
How to Define Message Structures
10.3.4
How to Check for WS-I Basic Profile Conformance
10.4
Working with Message Routing
10.4.1
Creating Routing Rules
10.4.2
Routing at the EBS
10.4.3
Guidelines for EBS Routing Rules
10.4.4
How to Identify the Target System at EBS
10.5
Building EBS Using Oracle Mediator
10.5.1
How to Develop the Oracle Mediator Service
10.6
Implementing the Fire-and-Forget Message Exchange Pattern
10.6.1
How to Implement Fire-and-Forget Pattern with EBS One-Way Calls
10.6.2
Creating EBS WSDLs
10.6.3
Creating Mediator Routing Services for Asynchronous Fire-and-Forget Patterns with a One-Way Call EBS
10.6.3.1
How to Create Mediator Projects for the Asynchronous Fire-and-Forget MEP
10.6.3.2
How to Create Routing Services for Asynchronous Fire-and-Forget MEP
10.6.3.3
How to Create Routing Rules for Asynchronous Fire-and-Forget MEP
10.6.3.4
How to Implement Error Handling for Asynchronous Fire-and-Forget MEP
10.6.4
Asynchronous Fire-and-Forget MEP Error Handling Using Compensatory Operations
10.6.5
How to Invoke the Compensate Operation of EBS
10.6.6
How to Enable Routing Rules in Compensate Operation Routing Service
10.7
Implementing the Synchronous Request-Response Message Exchange Pattern
10.7.1
How to Implement Synchronous Request-Reply Message Exchange Patterns in EBS
10.7.2
How to Create Mediator Projects for the Synchronous Request-Response MEP
10.7.3
How to Create Routing Services for the Synchronous Request-Response MEP
10.7.4
How to Implement Error Handling for the Synchronous Request-Response MEP
10.8
Implementing the Asynchronous Request-Delayed Response Message Exchange Pattern
10.8.1
How to Implement the Request-Delayed Response Pattern with the Two One-Way Calls of the EBS
10.8.1.1
How to Create the EBS WSDLs for the Request-Delayed Response MEP
10.8.2
Creating Mediator Routing Services for Asynchronous Request-Delayed Response Patterns with Two One-Way Call EBS
10.8.2.1
How to Create Mediator Projects for the Request-Delayed Response MEP
10.8.2.2
How to Create Routing Services
10.8.2.3
How to Create Routing Rules
10.8.3
Asynchronous Request-Delayed Response MEP Error Handling
11
Designing Application Business Connector Services
11.1
Introduction to ABCS
11.1.1
ABCS Types
11.1.1.1
Requester ABCS
11.1.1.2
Provider ABCS
11.1.2
Designing ABCS - Key Tasks
11.2
Defining the ABCS Contract
11.2.1
Defining the Role of the ABCS
11.2.1.1
Designing an ABCS to Participate in a Requester Role
11.2.1.2
Designing an ABCS to Participate in a Provider Role
11.2.2
Constructing ABM Schemas
11.2.3
Analyzing the Participating Application Integration Capabilities
11.3
Identifying the MEP
11.3.1
Introduction to MEPs
11.3.2
Choosing the Appropriate MEP
11.3.2.1
When to Use the Synchronous Request-Response MEP
11.3.2.2
When to Use the Asynchronous Request Only (Fire-and Forget) MEP
11.3.2.3
When to Use the Asynchronous Request Delayed Response MEP
11.4
Technology Options
11.4.1
Outbound Interaction with the Application
11.4.1.1
When to Use JCA Adapters for Outbound Interactions
11.4.1.2
When to Use Standard Web Service Interfaces (SOAP/HTTP, XML/HTTP) for Outbound Interactions
11.4.1.3
When to Use JCA Adapters, (Database, File, JMS, or AQJMS), for Outbound Interactions
11.4.2
Using BPEL for Building ABCS
12
Constructing the ABCS
12.1
Constructing an ABCS
12.1.1
Prerequisites
12.1.2
ABCS as a Composite Application
12.1.3
How Many Components Need to Be Built
12.2
Constructing an ABCS Using Service Constructor
12.2.1
How to Create the ABCS in the Service Constructor
12.2.2
How to Complete ABCS Development for the AIA Service Constructor
12.3
Constructing an ABCS Composite Using JDeveloper
12.3.1
How to Construct the ABCS Composite Using JDeveloper
12.3.2
Developing the BPEL Process
12.3.3
How to Create References, Services, and Components
12.3.4
Moving Abstract Service WSDLs in MDS
12.4
Implementing the Fire-and-Forget MEP
12.4.1
When to Use Compensating Services
12.4.2
How to Invoke the Compensating Service
12.4.3
Additional Tasks Required in Provider ABCS to Implement This MEP
12.4.4
How to Ensure Transactions
12.4.5
How to Handle Errors
12.5
Implementing the Asynchronous Request Delayed Response MEP
12.5.1
How to Populate the EBM Header for Asynchronous-Delayed Response
12.5.2
Setting Correlation for the Asynchronous Request-Delayed Response MEP
12.5.3
Programming Models for Handling Error Response in the Asynchronous Request-Delayed Response MEP
12.5.3.1
Programming Model 1: Using a Separate Service for Error Handling
12.5.3.2
Programming Model 2: Using JMS Queue as a Milestone Between Requester ABCS and the EBS
12.5.3.3
Programming Model 3: Using a Parallel Routing Rule in the EBS
12.5.4
What Tasks Are Required in Provider ABCS to Implement This MEP
12.6
Implementing Provider ABCS in an Asynchronous Message Exchange Scenario
12.6.1
How to Implement the Asynchronous MEP
12.6.2
Using the Programming Models for the Request-Delayed Response Pattern
12.6.3
How to Ensure Transactions in Services
12.6.4
How to Handle Errors in the Asynchronous Request-Delayed Response MEP
12.7
Implementing Synchronous Request-Response Message Exchange Scenario
12.7.1
How to Ensure Transactions in Services
12.7.2
How to Handle Errors in the Synchronous Request-Response MEP
12.7.3
How to Optimize the Services to Improve Response Time
12.8
Invoking Enterprise Business Services
12.8.1
Create
12.8.2
Update
12.8.3
Delete
12.8.4
Sync
12.8.5
Validate
12.8.6
Process
12.8.7
Query
12.9
Invoking the ABCS
12.9.1
How to Invoke an ABCS Directly from an Application
12.9.2
How to Invoke an ABCS Using Transport Adapters
12.9.3
When Does an Enterprise Business Service Invoke an ABCS
13
Completing ABCS Development
13.1
Developing Extensible ABCS
13.1.1
Introduction to Enabling Requester ABCS for Extension
13.1.2
Introduction to Enabling Provider ABCS for Extension
13.1.3
How to Design Extensions-Aware ABCS
13.1.3.1
Configuration Parameters
13.1.4
Designing an ABCS Composite with Extension
13.1.5
Defining Service at Extension Points
13.1.6
Defining a Service Using an Abstract WSDL
13.1.7
How to Specify a Concrete WSDL at Deployment Time
13.1.7.1
Populating the binding.ws Element in the composite.xml
13.1.8
Designing Extension Points in the ABCS BPEL Process
13.1.9
How to Set Up the Extension Point Pre-ProcessABM
13.1.10
How to Set Up the Extension Point Pre-ProcessEBM
13.1.11
How to Test the Extensibility with Servlet as Sample Extension Service
13.2
Handling Errors and Faults
13.2.1
How to Handle Errors and Faults
13.3
Working with Adapters
13.3.1
Interfacing with Transport Adapters
13.3.2
How to Develop Transport Adapters
13.3.3
When to Put Adapters in a Single Composite
13.3.4
Planning Version Adapters
13.3.5
How to Configure a Version Adapter
13.4
Developing ABCS for CAVS Enablement
13.4.1
How to CAVS Enable Provider ABCS
13.4.2
How to CAVS Enable the Requester ABCS
13.4.3
Introduction to the CAVSEndpointURL Value Designation
13.4.4
Purging CAVS-Related Cross-Reference Entries to Enable Rerunning of Test Scenarios
13.5
Securing the ABCS
13.5.1
How to Secure the ABCS
13.6
Enabling Transactions
13.6.1
How to Ensure Transactions in AIA Services
13.6.2
Transactions in Oracle Mediator
13.6.3
Transactions in BPEL
13.6.3.1
Impact of BPEL Activities on Transaction Scope
13.6.4
Developing ABCS to Participate in a Global Transaction
13.6.5
How to Transaction-Enable AIA Services
13.6.5.1
Synchronous Request-Response Scenarios
13.6.5.2
AIA Services in Asynchronous MEP
13.6.5.3
Asynchronous Operation from an ABCS in the Same Thread but in a Different Transaction
13.7
Guaranteed Message Delivery
13.8
Versioning ABCS
13.8.1
Guidelines for Versioning
14
Designing and Constructing Composite Business Processes
14.1
Introduction to Composite Business Processes
14.2
How to Define the Contract for a CBP
14.2.1
How to Identify the CBP
14.2.2
How to Identify the Message Pattern for a CBP
14.3
How to Create the Contract for a CBP
14.3.1
How to Construct the WSDL for the CBP
14.4
How to Implement the CBP as a BPEL Service
15
Designing and Constructing Enterprise Business Flows
15.1
Introduction to Enterprise Business Flows
15.2
How to Define the Contract for an EBF
15.2.1
How to Identify the Need for an EBF
15.2.2
How to Identify the Message Pattern for an EBF
15.2.3
How to Identify the Message Structure
15.3
How to Create the Contract for an EBF
15.3.1
Constructing the WSDL for the EBF
15.4
How to Implement the EBF as a BPEL Service
16
Introduction to B2B Integration Using AIA
16.1
Overview of B2B Integration Using AIA
16.2
Understanding B2B Document Flows
16.2.1
Describing Outbound B2B Document Flows Built Using AIA
16.2.2
Describing Inbound B2B Document Flows Built Using AIA
16.3
Understanding the Oracle B2B Component of Oracle Fusion Middleware
16.3.1
How AIA Complements Oracle Fusion Middleware Oracle B2B
16.4
Understanding the Foundation Pack Infrastructure for B2B
16.4.1
B2B Support in AIA Error Handling Framework
16.4.2
AIA B2B Interface
17
Developing and Implementing Outbound B2B Integration Flows
17.1
Introduction to Developing and Implementing Outbound B2B Integration Flows
17.2
Step 1: Identifying the B2B Document and Analyzing Requirements
17.2.1
How to Identify the B2B Document Protocol
17.2.2
How to Identify the B2B Document Type and Definition
17.2.3
How to Define the Document in Oracle B2B
17.2.4
How to Define the Document in AIA
17.2.5
How to Identify the EBO, EBS, and EBM to Be Used
17.2.6
How to Design Mappings for the B2B Document
17.2.7
How to Publish Mapping to Trading Partners
17.3
Step 2: Developing a New Provider B2B Connector Service
17.3.1
Introduction to a Provider B2B Connector Service
17.3.2
How to Identify the Message Exchange Pattern
17.3.3
How to Develop a B2BCS Service Contract
17.3.4
How to Store a WSDL in the Oracle Metadata Repository
17.3.5
How to Develop a B2B Connector Service
17.3.6
How to Customize the AIA B2B Interface
17.3.7
How to Annotate B2B Connector Services
17.3.8
How to Support Trading Partner-Specific Variants
17.3.8.1
Supporting Trading Partner-Specific Custom Extensions
17.3.8.2
Supporting Trading Partner-Specific XSLTs
17.3.8.3
Supporting Trading Partner-Specific Document Types and Versions
17.3.9
How to Enable Error Handling
17.4
Step 3: Developing or Extending an Existing Enterprise Business Service
17.4.1
How to Route Based on Trading Partner B2B Preferences
17.5
Step 4: Developing or Extending an Existing Requester ABCS
17.5.1
What You Need to Know About Message Exchange Patterns
17.5.2
What You Need to Know About Transformations
17.6
Step 5: Configuring Oracle B2B and Defining Trading Partner Agreements
17.7
Step 6: Deploying and Configuring AIA Services
17.8
Step 7: Testing and Verifying
17.8.1
How to Test Using CAVS
17.8.2
How to Test Using Dummy Trading Partner Endpoints
17.8.2.1
How to Test Using the Production Code Value Set to "Test"
17.8.2.2
How to Test Using Dummy Business Data
17.9
Step 8: Going Live and Monitoring
17.9.1
Monitoring Using Oracle B2B Reports
17.9.2
Monitoring Using Oracle Enterprise Manager Console
17.9.3
Monitoring Using Error Notifications
18
Developing and Implementing Inbound B2B Integration Flows
18.1
Introduction to Developing and Implementing Inbound B2B Integration Flows
18.2
Step 1: Identifying the B2B Document and Analyzing Requirements
18.3
Step 2: Adding Inbound Routing Rules to an AIA B2B Interface
18.3.1
How to Add a New Routing Rule to the AIA B2B Interface
18.4
Step 3: Developing a New Requester B2B Connector Service
18.4.1
Introduction to Requester B2B Connector Services
18.4.2
How to Identify the Message Exchange Pattern
18.4.3
How to Develop a B2BCS Service Contract
18.4.4
How to Store a WSDL in Oracle Metadata Services Repository
18.4.5
How to Develop a B2B Connector Service
18.4.6
How to Annotate B2B Connector Services
18.4.7
How to Support Trading Partner-Specific Variants
18.4.8
How to Enable Error Handling
18.5
Step 4: Developing or Extending an Existing Enterprise Business Service
18.6
Step 5: Developing or Extending an Existing Provider ABCS
18.6.1
What You Need to Know About Transformations
18.7
Step 6: Configuring Oracle B2B and Defining Trading Partner Agreements
18.8
Step 7: Deploying and Configuring AIA Services
18.9
Step 8: Testing and Verifying
18.10
Step 9: Going Live and Monitoring
19
Working with Service Constructor
19.1
Introducing Service Constructor
19.1.1
Required Software for Using Service Constructor
19.2
Using Service Constructor to Create New Service Solution Components
19.2.1
Creating a New Service Solution Component Project
19.2.2
Describing the Service
19.2.3
Defining the Service Object
19.2.3.1
Defining the Service Object for a Requester ABCS
19.2.3.2
Defining the Service Object for a Provider ABCS
19.2.4
Defining the Target Services
19.2.5
Defining Service Options
20
Building AIA Integration Flows
20.1
How to Set Up Development and Test Environments
20.1.1
How to Set Up JDeveloper for AIA Development
20.1.2
How to Set Up the Oracle Fusion Middleware Environment for AIA Development
20.1.2.1
Set Up Oracle SOA Suite
20.1.2.2
Set Up Oracle Enterprise Repository
20.1.2.3
Set Up Oracle Service Registry
20.1.2.4
Set Up Oracle Business Process Publisher
20.1.3
How to Set Up AIA Workstation
20.1.3.1
Prerequisites
20.1.3.2
How to Install AIA Foundation Pack
20.1.3.3
Updating SOA MDS with AIA MetaData
20.1.3.4
Using MDS in AIA
20.1.3.5
Content of $AIA_HOME/AIAMetaData
20.1.3.6
Working with AIA Components Content in $AIA_HOME/AIAMetaData
20.1.3.7
How to Change an Existing File
20.1.3.8
How to Create a New File
20.1.3.9
How to Work with AIAConfigurationProperties.xml in $AIA_HOME/aia_instances/$INSTANCE_NAME/AIAMetaData/config
20.1.3.10
How to Add a New Property to AIAConfigurationProperties.xml
20.1.3.11
How to Work with AIAEHNotification.xml in $AIA_HOME/aia_instances/$INSTANCE_NAME/AIAMetaData/config
20.1.3.12
How to Work with Domain Value Maps in $AIA_HOME/AIAMetaData/dvm
20.1.3.13
How to Work with Cross Reference (Xref) in $AIA_HOME/AIAMetaData/xref
20.1.3.14
How to Work with Fault Policies in $AIA_HOME/AIAMetaData/faultPolicies/V1
20.1.3.15
Updating MDS
20.1.3.16
How to Set Up AIA Project Lifecycle Workbench
20.1.3.17
How to Deploy AIA Foundation Pack Artifacts to Oracle SOA Suite Server
20.1.3.18
How to Deploy AIA Service Artifacts to Oracle SOA Suite Server
20.2
Role of AIA Project Lifecycle Workbench
20.2.1
Introduction to the Tools Used
20.2.2
Introduction to the Business Process Modeling and Analysis Phase
20.2.3
Introduction to the Business Process Decomposition and Service Conception Phase
20.2.4
Introduction to the Service Design and Construction Phase
20.2.5
Introduction to the Deployment Plan Generation Phase
20.2.6
Introduction to the Install and Deploy Phase
20.3
AIA Artifacts in Various Integration Styles
20.3.1
Integration Through Native Application Interfaces Using the Oracle Applications Technology Infrastructure
20.3.2
Understanding Integration Styles with Integration Framework
20.3.2.1
Integration Flow with Requester Application Services
20.3.2.2
Direct Integration Through Application Web Services
20.3.2.3
Integration Through Packaged Canonical and Standardized Interfaces
20.3.3
Bulk Data Processing
20.3.4
Integration Style Choice Matrix
20.4
Development Tasks for AIA Artifacts
20.4.1
Identifying the EBO
20.4.2
Designing an Oracle AIA Integration Flow
20.4.3
Identifying and Creating the EBS
20.4.4
Constructing the ABCSs
20.4.5
Enabling and Registering Participating Applications
20.4.5.1
Enabling Participating Applications
20.4.5.2
Managing the Oracle AIA System Registry
20.4.5.2.1
Understanding the Oracle AIA System Registry
20.4.5.2.2
How to Manage the System Registry Using the Systems Page
20.4.5.2.3
How to Manage the System Registry Using the SystemRegistration.xml Configuration File
20.4.6
Identifying and Creating the EBF
20.5
Testing an Oracle AIA Integration Flow
21
Establishing Resource Connectivity
21.1
Introduction to Resource Connectivity
21.1.1
Inbound Connectivity
21.1.2
Outbound Connectivity
21.2
Modes of Connectivity
21.2.1
Web Services with SOAP/HTTP
21.2.2
When to Use Web Services with SOAP/HTTP
21.2.2.1
Request-Response
21.2.2.2
Request Only
21.2.2.3
Advantages of Using Web Services with SOAP/HTTP
21.2.2.4
Disadvantages of Using Web Services with SOAP/HTTP
21.2.2.5
Important Considerations for Using Web Services with SOAP/HTTP
21.2.3
Session Management for Web Services with SOAP/HTTP
21.2.3.1
Session Types
21.2.3.2
SessionToken
21.2.3.3
Session Pool Manager
21.2.4
Error Handling for Web Services with SOAP/HTTP
21.2.4.1
For Inbound Connectivity
21.2.4.2
For Outbound Connectivity
21.2.4.3
Request-Response and Request-Only System Errors
21.2.4.4
Request-Response Business Errors
21.2.5
Security for Web Services with SOAP/HTTP
21.2.6
Message Propagation Using Queues or Topics
21.2.6.1
Event Notification Without Payloads
21.2.6.2
Events Leading to Message Queuing
21.2.6.3
When to Use Message Propagation Using Queues or Topics
21.2.6.4
Types of Queues
21.2.7
Ensuring Guaranteed Message Delivery
21.2.7.1
When to Use Transaction Boundaries
21.2.8
When to Use JCA Adapters
21.3
Siebel Application-Specific Connectivity Guidelines
21.3.1
Inbound: Siebel Application Interaction with AIA Services
21.3.2
Web Services with SOAP/HTTP
21.3.3
Creating JMS Consumers to Consume Siebel Messages from JMS Queues/Topics
21.3.4
Outbound - Siebel Application Interaction with AIA Services
21.3.5
Web Services with SOAP/HTTP
21.3.5.1
Session Management
21.4
Oracle E-Business Suite Application-Specific Connectivity Guidelines
21.4.1
Inbound: E-Business Suite Application Interaction with AIA Services
21.4.2
Concurrent Program Executable
21.4.3
Business Event Subscription (JCA Connectivity Using OAPPS Adapter)
21.4.4
Outbound: Oracle E-Business Suite Application Interaction with AIA Services
21.5
Design Guidelines
22
Using Oracle Data Integrator for Bulk Processing
22.1
Introduction to Design Patterns for AIA-Oracle Data Integrator Architecture
22.1.1
Initial Data Loads
22.1.2
How to Perform the Oracle Data Integrator Data Load
22.1.3
High Volume Transactions with Xref Table
22.1.4
Intermittent High Volume Transactions
22.2
High-Volume Transactions with Xref Table
22.3
Building Oracle Data Integrator Projects
22.3.1
How to Build Oracle Data Integrator Projects
22.4
Using the XREF Knowledge Module
22.4.1
What You Need to Know About Cross-Referencing
22.5
Working with Oracle Data Integrator
22.5.1
How to Define Variables (Source and Target Column Names)
22.5.2
How to Create the First Interface (Source to Target)
22.5.3
How to Define the XREF View in SOA
22.5.4
How to Create the Second Interface (Update Target Identifier in XREF)
22.5.4.1
How to Create a Package for the Second Interface
22.6
Working with Domain Value Maps
22.7
Using Error Handling
22.8
Oracle Data Integrator Ref Functions
22.9
How to Publish the Package and Data Model as Web Service
23
Working with Message Transformations
23.1
Introduction to Transformation Maps
23.1.1
Connecting Applications to Implement Business Processes
23.1.1.1
Canonical Patterns
23.1.1.2
When to Use Direct Integrations
23.1.2
Using Tools and Technologies to Perform Message Transformations
23.2
Creating Transformation Maps
23.2.1
Considerations for Creating Transformation Maps
23.2.2
Handling Missing or Empty Elements
23.2.3
How to Map an Optional Source Node to an Optional Target Node
23.2.4
How to Load System IDs Dynamically
23.2.5
Using XSLT Transformations on Large Payloads
23.2.6
When to Populate the LanguageCode Attribute
23.2.7
How to Name Transformations
23.3
Making Transformation Maps Extension Aware
23.3.1
How to Make Transformation Maps Extension Aware
23.3.2
How to Make the Transformation Template Industry Extensible
23.4
Working with DVMs and Cross-References
23.4.1
Introduction to DVMs
23.4.2
When to Use DVMs
23.4.3
Using Cross-Referencing
23.4.4
How to Set Up Cross References
23.5
Mapping and Populating the Identification Type
23.5.1
How to Populate Values for corecom:Identification
23.6
Introducing EBM Header Concepts
23.6.1
Standard Elements
23.6.1.1
EBMID
23.6.1.2
EBOName
23.6.1.3
RequestEBMID
23.6.1.4
CreationDateTime
23.6.1.5
VerbCode
23.6.1.6
MessageProcessingInstruction
23.6.1.7
When to Populate Standard Header Fields
23.6.1.8
How to Populate the Message Processing Instruction
23.6.2
Sender
23.6.2.1
SenderMessageID
23.6.2.2
When to Populate Sender System Information
23.6.2.3
How to Populate Sender System Information
23.6.2.4
TransactionCode
23.6.2.5
ContactName
23.6.2.6
ContactEmail
23.6.2.7
ContactPhoneNumber
23.6.2.8
ESBHeaderExtension
23.6.2.9
ObjectCrossReference
23.6.2.10
How to Add Object Cross Reference information in the Sender System Information
23.6.2.11
WS Address
23.6.2.12
Custom
23.6.3
Target
23.6.3.1
ID
23.6.3.2
ApplicationTypeCode
23.6.3.3
Custom
23.6.4
BusinessScope
23.6.4.1
ID
23.6.4.2
InstanceID
23.6.4.3
BusinessScopeTypeCode
23.6.4.4
EnterpriseServiceName
23.6.4.5
EnterpriseServiceOperationName
23.6.4.6
Custom
23.6.4.7
How to Add Business Process Information
23.6.5
Use Case: Request-Response
23.6.5.1
Request EBM
23.6.5.2
Response EBM
23.6.6
Use Case: Asynchronous Process
23.6.6.1
Request EBM
23.6.7
Use Case: Synchronous Process with Spawning Child Processes
23.6.8
EBMTracking
23.6.8.1
SequenceNumber
23.6.8.2
ExecutionUnitID
23.6.8.3
ExecutionUnitName
23.6.8.4
ImplementationCode
23.6.8.5
ActivityDateTime
23.6.8.6
When to Populate EBM Tracking Information
23.6.9
Custom
24
Configuring Oracle AIA Processes for Error Handling and Trace Logging
24.1
Overview of Oracle BPEL and Mediator Process Error Handling
24.1.1
Understanding Oracle BPEL Error Handling
24.1.2
Understanding Oracle Mediator Error Handling
24.2
Overview of AIA Error Handler Framework
24.3
Enabling AIA Processes for Fault Handling
24.3.1
What Do I Need to Know About Fault Policy Files
24.3.1.1
Associating a Fault Policy File with Fault Policy Bindings File
24.3.2
How to Implement Fault Handling in BPEL Processes
24.4
Implementing Error Handling for the Synchronous Message Exchange Pattern
24.4.1
Guidelines for Defining Fault Policies
24.4.1.1
Defining a Fault Policy XML File for Handling Run-time Faults
24.4.1.2
Defining a Fault Policy XML File for Handling Business Faults
24.4.2
Guidelines for BPEL Catch and Catch-All Blocks in Synchronous Request-Response
24.4.2.1
Handling Business Faults
24.4.2.2
Handling Run-time Faults Defined in the Fault Policy File
24.4.2.3
Handling Run-time Faults Not Defined in the Fault Policy File
24.4.3
Guidelines for Configuring Mediator for Handling Business Faults
24.5
Implementing Error Handling and Recovery for the Asynchronous Message Exchange Pattern to Ensure Guaranteed Message Delivery
24.5.1
Overview
24.5.2
Configuring Milestones
24.5.3
Configuring Services Between Milestones
24.5.3.1
Populating Message Resubmission Values
24.5.3.1.1
Populating the ABM with Message Resubmission Values in JMSConsumerAdapter
24.5.3.1.2
Populating the EBM Header with Resubmission Values in the Requester ABCS
24.5.3.2
Configuring All Services to Participate in a Single Global Transaction
24.5.4
Guidelines for BPEL Catch and Catch-All Blocks
24.5.4.1
Handling Run-time Faults Defined in the Fault Policy File
24.5.4.2
Handling Run-time Faults Not Defined in the Fault Policy File
24.5.5
Guidelines for Defining Fault Policies
24.5.6
Configuring Fault Policies to Not Issue Rollback Messages
24.5.7
Using the Message Resubmission Utility API
24.6
How to Configure AIA Services for Notification
24.6.1
Defining Corrective Action Codes
24.6.2
Defining Error Message Codes
24.7
Describing the Oracle AIA Fault Message Schema
24.7.1
Describing the EBMReference Element
24.7.2
Describing the B2BMReference Element
24.7.3
Describing the FaultNotification Element
24.7.3.1
FaultMessage Element
24.7.3.2
IntermediateMessageHop Elements
24.7.3.3
FaultingService Element
24.8
Extending Fault Messages
24.8.1
Introduction to Extending Fault Messages
24.8.2
Extending a Fault Message
24.9
Extending Error Handling
24.9.1
Introduction to Extending Error Handling
24.9.2
Implementing an Error Handling Extension
24.10
Configuring Oracle AIA Processes for Trace Logging
24.10.1
Describing Details of the isTraceLoggingEnabled Custom XPath Function
24.10.2
Describing Details of the logTraceMessage Custom XPath Function
24.10.3
Describing the Trace Logging Java API
25
Working with AIA Design Patterns
25.1
AIA Message Processing Patterns
25.1.1
Synchronous Request-Reply Pattern: How to get Synchronous Response in AIA
25.1.2
Asynchronous Fire-and-Forget Pattern
25.1.3
Guaranteed Delivery Pattern: How to Ensure Guaranteed Delivery in AIA
25.1.4
Service Routing Pattern: How to Route the Messages to Appropriate Service Provider in AIA
25.1.5
Competing Consumers Pattern: How are Multiple Consumers used to Improve Parallelism and Efficiency?
25.1.6
Asynchronous Delayed-Response Pattern: How does the Service Provider Communicate with the Requester when Synchronous Communication is not Feasible?
25.1.7
Asynchronous Request Response Pattern: How does the Service Provider Notify the Requester Regarding the Errors?
25.2
AIA Assets Centralization Patterns
25.2.1
How to Avoid Redundant Data Model Representation in AIA
25.2.2
How to Avoid Redundant Service Contracts Representation in AIA
25.3
AIA Assets Extensibility Patterns
25.3.1
Extending Existing Schemas in AIA
25.3.2
Extending AIA Services
25.3.3
Extending Existing Transformations in AIA
25.3.4
Extending the Business Processes in AIA
26
Working with Security
26.1
Introduction to Oracle AIA Remote Security
26.1.1
Securing Service to Service Interaction
26.1.2
Oracle AIA Recommendations for Securing Services
26.1.3
Introduction to Web Service Security Using Oracle Web Services Manager
26.2
Implementing Security
26.2.1
Enabling Security for AIA Services
26.2.1.1
Should I Secure All AIA Services?
26.2.2
Invoking Secured Application Services
26.2.3
Overriding Policies Using a Deployment Plan
26.2.4
Testing Secured Services using CAVS
26.3
Security for Applications
26.3.1
Enabling Security in Application Services
26.3.2
Invoking Secured AIA Services
26.4
Deploying Security Policies
26.4.1
Oracle AIA Recommendations for Policies
26.5
Policy Naming Conventions
26.5.1
Naming Conventions for Global Policy Sets
26.5.2
Naming Conventions for Overriding Config Params
26.6
How Does AIA Foundation Pack Help in Securing AIA Services?
26.6.1
What Default Policies are Attached to a Service?
26.6.2
How Can the Global Policy be Overridden for an Individual Service?
26.6.3
AIA Security Configuration Properties
26.7
Application Security Context
26.7.1
Introduction to Application Security
26.7.2
How To Exchange Security Context Between Participating Applications and ABCS
26.7.2.1
Requester Applications
26.7.2.2
Provider Applications
26.7.3
Mapping Application Security Context in ABCS To and From Standard Security Context
26.7.4
Using the AppContext Mapping Service
26.7.5
Understanding the Structure for Security Context
26.7.6
Using Attribute Names
26.7.7
Propagating Standard Security Context through EBS and EBF
26.7.8
Implementing Application Security Context
26.7.8.1
How to Implement Requester-Side Application Security Context
26.7.8.2
How to Implement Provider-Side Application Security Context
27
Best Practices for Designing and Building End-to-End Integration Flows
27.1
General Guidelines for Design, Development, and Management of AIA Processes
27.1.1
Interpreting Empty Element Tags in XML Instance Document
27.1.2
Purging the Completed Composite Instances
27.1.3
Syntactic / Functional Validation of XML Messages
27.1.3.1
Syntactic Validation
27.1.3.2
Data / Functional Validation
27.1.4
Provide Provision for Throttling Capability
27.1.5
Artifacts Centralization
27.1.6
Separation of Concerns
27.1.6.1
Using MDS as the Central Storage for Abstract WSDLs, and Other Shared Artifacts
27.1.7
Adapters Inside ABCS Composite OR as Separate Composite
27.1.8
AIA Governance
27.1.9
Using AIA Service Constructor
27.2
Building Efficient BPEL Processes
27.2.1
Using BPEL as "Glue", Not as a Programming Language
27.2.1.1
Keep the Number of BPEL Activities as Minimal as Possible
27.2.1.2
Avoid Large
While
Loop
27.2.2
Avoiding Global Variables Wherever Possible
27.2.3
Avoiding Large FlowN
27.2.4
Controlling the Persistence of Audit Details for a Synchronous BPEL Process
27.2.5
Using Non-Idempotent Services Only When Absolutely Necessary
27.2.6
Defining the Scope of the Transaction
27.2.7
Disabling the Audit for Synchronous BPEL Process Service Components
27.2.8
Including No Break-Point Activity in a Request-Response Flow
28
Tuning Integration Flows
28.1
Introduction to Tuning
28.1.1
How to Use Baselines
28.1.2
How to Handle Resource Saturation
28.1.3
How to Use Proactive Monitoring
28.1.4
How to Eliminate Bottlenecks
28.1.5
Top Performance Areas
28.2
Oracle Database Performance Tuning
28.2.1
How to Tune the Oracle Database
28.2.2
Introducing Automatic Workload Repository
28.2.3
Configuring Performance Related Database Initialization Parameters
28.2.4
Tuning Redo Logs Location and Sizing
28.2.5
Automatic Segment-Space Management (ASSM)
28.2.6
Changing the Driver Name to Support XA Drivers
28.2.6.1
Edit in Oracle WebLogic Server Administration Console
28.2.6.2
Edit the SOADataSource-jdbc.xml file
28.2.7
Configuring Database Connections and Datasource Statement Caching
28.2.7.1
JDBC Datasource Connection Pool Settings
28.2.7.2
Getting the Right Mix of Performance and Fault Tolerance
28.2.8
Oracle Metadata Service (MDS) Performance Tuning
28.2.8.1
Using Database Polling Interval for Change Detection
28.2.8.2
Tuning Cache Configuration
28.3
Configuring the Common SOA Infrastructure
28.3.1
Configuring SOA Infrastructure Properties
28.3.2
Disabling HTTP Logging
28.4
BPEL - General Performance Recommendations
28.4.1
Configuring BPEL Process Service Engine Properties
28.4.2
Configuring BPEL Properties Inside a Composite
28.4.3
How to Monitor the BPEL Service Engine
28.5
Oracle Mediator: General Performance Recommendations
28.5.1
Configuring Mediator Service Engine Properties
28.5.2
How to Monitor the Mediator Service Engine
28.6
Tuning Oracle Adapters for Performance
28.6.1
How to Tune JMS Adapters
28.6.2
How to Tune AQ Adapters
28.6.3
How to Tune Database Adapters
28.6.4
Throttling Inbound Message Flows
28.7
Purging the Completed Composite Instances
28.8
Tuning Java Virtual Machines (JVMs)
28.8.1
How to Optimize the JVM Heap - Specifying Heap Size Values
28.8.1.1
Java Performance Analysis Tools
28.9
Tuning Weblogic Application Server
28.9.1
Domain Startup Mode - Production
28.9.2
Work Manager - default
28.9.3
Tuning Network I/O
29
Oracle AIA Naming Standards for AIA Development
29.1
General Guidelines
29.1.1
XML Naming Standards
29.1.1.1
General Naming Standards
29.1.1.2
General Namespace Naming Standards
29.1.1.3
Participating Applications Names
29.2
Composites
29.3
Composite Business Process
29.4
Enterprise Business Services
29.5
Enterprise Business Flows
29.6
Application Business Connector Service
29.6.1
Requester Application Business Connector Service
29.6.2
Provider Application Business Connector Services
29.7
JMS and Adapters
29.7.1
AQ JMS (Additional Attributes)
29.7.2
Adapter Services Naming
29.7.3
Participating Application Service
29.8
DVMs and Cross References
29.8.1
DVMs
29.8.1.1
Map Name
29.8.1.2
Map Column Names
29.8.2
Cross References
29.8.2.1
Table Name
29.8.2.2
Column Names
29.9
BPEL
29.9.1
BPEL Activities
29.9.1.1
BPEL Process Name and Namespace
29.9.1.2
Assign
29.9.1.3
Compensate
29.9.1.4
Flow
29.9.1.5
FlowN
29.9.1.6
Invoke
29.9.1.7
Java Embedding
29.9.1.8
Pick
29.9.1.9
Receive
29.9.1.10
Scope
29.9.1.11
Sequence
29.9.1.12
Switch
29.9.1.13
Case
29.9.1.14
Terminate
29.9.1.15
Throw
29.9.1.16
Transform
29.9.1.17
Wait
29.9.1.18
While
29.9.2
Other BPEL Artifacts
29.9.2.1
Variables
29.9.2.2
Properties
29.9.2.3
Correlation Sets
29.9.2.4
Correlation Set Properties
29.10
Custom Java Classes
29.11
Package Structure
29.12
Deployment Plans
A
Delivered Oracle AIA XPath Functions
A.1
aia:getSystemProperty()
A.1.1
Parameters
A.1.2
Returns
A.1.3
Usage
A.2
aia:getSystemModuleProperty()
A.2.1
Parameters
A.2.2
Returns
A.2.3
Usage
A.3
aia:getServiceProperty()
A.3.1
Parameters
A.3.2
Returns
A.3.3
Usage
A.4
aia:getEBMHeaderSenderSystemNode()
A.4.1
Parameters
A.4.2
Returns
A.4.3
Usage
A.5
aia:getSystemType()
A.5.1
Parameters
A.5.2
Returns
A.5.3
Usage
A.6
aia:getErrorMessage()
A.6.1
Parameters
A.6.2
Returns
A.6.3
Usage
A.7
aia:getCorrectiveAction()
A.7.1
Parameters
A.7.2
Returns
A.7.3
Usage
A.8
aia:isTraceLoggingEnabled()
A.8.1
Parameters
A.8.2
Returns
A.8.3
Usage
A.9
aia:logErrorMessage()
A.9.1
Parameters
A.9.2
Returns
A.9.3
Usage
A.10
aia:logTraceMessage()
A.10.1
Parameters
A.10.2
Returns
A.10.3
Usage
A.11
aia:getNotificationRoles()
A.11.1
Parameters
A.11.2
Returns
A.11.3
Usage
A.12
aia:getAIALocalizedString()
A.12.1
Parameters
A.12.2
Returns
A.12.3
Usage
A.13
aia:getConvertedDate()
A.13.1
Parameters
A.13.2
Returns
A.13.3
Usage
A.14
aia:getConvertedDateWithTZ()
A.14.1
Parameters
A.14.2
Returns
A.14.3
Usage
B
XSL for Developing CAVS-Enabled Oracle AIA Services
B.1
AddTargetSystemID.xsl
B.2
SetCAVSEndpoint.xsl
Index
Scripting on this page enhances content navigation, but does not change the content in any way.