1/41
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Oracle AIA Guides
Related Documents
Documentation Accessibility
Conventions
What's New in This Guide for Release 11.1.1.6.x
1
Getting Started with the AIA Development Guide
1.1
Types of Integrations Addressed by AIA
1.2
Integration Styles Addressed by AIA
1.3
How to Use the AIA Development Guide
2
Building AIA Integration Flows
2.1
How to Set Up Development and Test Environments
2.1.1
How to Set Up JDeveloper for AIA Development
2.1.2
How to Set Up the Oracle Fusion Middleware Environment for AIA Development
2.1.2.1
Set Up Oracle SOA Suite
2.1.2.2
Set Up Oracle Enterprise Repository
2.1.2.3
Set Up Oracle Service Registry
2.1.2.4
Set Up Oracle Business Process Publisher
2.1.3
How to Set Up AIA Workstation
2.1.3.1
Prerequisites
2.1.3.2
How to Install AIA Foundation Pack
2.1.3.3
Updating SOA MDS with AIA MetaData
2.1.3.4
Using MDS in AIA
2.1.3.5
Content of $AIA_HOME/AIAMetaData
2.1.3.6
Working with AIA Components Content in $AIA_HOME/AIAMetaData
2.1.3.7
How to Change an Existing File
2.1.3.8
How to Create File
2.1.3.9
How to Work with AIAConfigurationProperties.xml in $AIA_HOME/aia_instances/$INSTANCE_NAME/AIAMetaData/config
2.1.3.10
How to Add a New Property to AIAConfigurationProperties.xml
2.1.3.11
How to Work with AIAEHNotification.xml in $AIA_HOME/aia_instances/$INSTANCE_NAME/AIAMetaData/config
2.1.3.12
How to Work with Domain Value Maps in $AIA_HOME/AIAMetaData/dvm
2.1.3.13
How to Work with Cross Reference (Xref) in $AIA_HOME/AIAMetaData/xref
2.1.3.14
How to Work with Fault Policies in $AIA_HOME/AIAMetaData/faultPolicies/V1
2.1.3.15
Updating MDS
2.1.3.16
How to Set Up AIA Project Lifecycle Workbench
2.1.3.17
How to Deploy AIA Foundation Pack Artifacts to Oracle SOA Suite Server
2.1.3.18
How to Deploy AIA Service Artifacts to Oracle SOA Suite Server
2.2
Role of AIA Project Lifecycle Workbench
2.2.1
Introduction to the Tools Used
2.2.2
Introduction to the Business Process Modeling and Analysis Phase
2.2.3
Introduction to the Business Process Decomposition and Service Conception Phase
2.2.4
Introduction to the Service Design and Construction Phase
2.2.5
Introduction to the Deployment Plan Generation Phase
2.2.6
Introduction to the Install and Deploy Phase
2.3
AIA Artifacts in Various Integration Styles
2.3.1
Integration Through Native Application Interfaces Using the Oracle Applications Technology Infrastructure
2.3.2
Understanding Integration Styles with Integration Framework
2.3.2.1
Integration Flow with Requester Application Services
2.3.2.2
Direct Integration Through Application Web Services
2.3.2.3
Integration Through Packaged Canonical and Standardized Interfaces
2.3.3
Bulk Data Processing
2.3.4
Integration Style Choice Matrix
2.4
Development Tasks for AIA Artifacts
2.4.1
Identifying the EBO
2.4.2
Designing an Oracle AIA Integration Flow
2.4.3
Identifying and Creating the EBS
2.4.4
Constructing the ABCSs
2.4.5
Enabling and Registering Participating Applications
2.4.5.1
Enabling Participating Applications
2.4.5.2
Managing the Oracle AIA System Registry
2.4.5.2.1
Understanding the Oracle AIA System Registry
2.4.5.2.2
How to Manage the System Registry Using the Systems Page
2.4.5.2.3
How to Manage the System Registry Using the SystemRegistration.xml Configuration File
2.4.6
Identifying and Creating the EBF
2.5
Testing an Oracle AIA Integration Flow
3
Working with Project Lifecycle Workbench
3.1
Introduction to Project Lifecycle Workbench
3.2
Adding Project Lifecycle Workbench Lookup Values
3.2.1
How to Add Lookup Values
3.3
Working with Project Lifecycle Workbench Projects
3.3.1
How to Define Project Lifecycle Workbench Projects
3.3.2
How to Update Project Lifecycle Workbench Projects
3.3.3
How to Access Project Lifecycle Workbench Projects
3.3.4
How to Edit a Locked Project
3.3.5
How to Delete Project Lifecycle Workbench Projects
3.4
Working with Project Lifecycle Workbench Service Solution Components
3.4.1
How to Define Project Lifecycle Workbench Service Solution Components
3.4.2
How to Update Project Lifecycle Workbench Service Solution Components
3.4.3
How to Access Service Solution Components
4
Working with Service Constructor
4.1
Introducing Service Constructor
4.1.1
Required Software for Using Service Constructor
4.2
Using Service Constructor to Create New Service Solution Components
4.2.1
Creating a New Service Solution Component Project
4.2.2
Describing the Service
4.2.3
Defining the Service Object
4.2.3.1
Defining the Service Object for a Requester ABCS
4.2.3.2
Defining the Service Object for a Provider ABCS
4.2.4
Defining the Target Services
4.2.5
Defining Service Options
5
Harvesting Oracle AIA Content
5.1
How to Set Up Oracle AIA Content Harvesting
5.2
Harvesting Design-Time Composites into Project Lifecycle Workbench and Oracle Enterprise Repository
5.2.1
Introduction to Harvesting Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository
5.2.2
How to Set Up Environments to Enable Design-Time Harvesting
5.2.2.1
Setting Up for Design-Time Harvesting Using a Non-Foundation Pack Environment
5.2.2.2
Setting Up for Design-Time Harvesting Using a Foundation Pack Environment
5.2.3
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository
5.2.3.1
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using HarvesterSettings.xml
5.2.3.2
How to Harvest Design-Time Composites into Project Lifecycle Workbench Only Using HarvesterSettings.xml
5.2.3.3
How to Harvest Design-Time Composites into Project Lifecycle Workspace and Oracle Enterprise Repository Using Command Line Options
5.3
Harvesting Interfaces to Oracle Enterprise Repository in Bulk
5.3.1
How to Set Up Environments to Harvest Interfaces to Oracle Enterprise Repository in Bulk
5.3.1.1
Setting Up to Harvest Interfaces Using a Non-Foundation Pack Environment
5.3.1.2
Setting Up to Harvest Interfaces Using a Foundation Pack Environment
5.3.2
How to Harvest Interfaces to Oracle Enterprise Repository in Bulk
5.4
Harvesting Deployed Composites into Oracle Enterprise Repository
5.4.1
How to Set Up Environments to Harvest Deployed Composites into Oracle Enterprise Repository
5.4.2
How to Harvest Deployed Composites into Oracle Enterprise Repository
5.4.2.1
Harvesting Pre-Built Integration-Delivered Deployed Composites to Oracle Enterprise Repository
5.4.2.2
Harvesting Custom-Built Deployed Composites to Oracle Enterprise Repository
5.5
Introducing Oracle Enterprise Repository After AIA Installation
6
Working with Project Lifecycle Workbench Bills of Material
6.1
Introduction to Bills of Material
6.2
How to Generate a Bill of Material for an AIA Lifecycle Project
6.3
How to Edit a Bill of Material for an AIA Lifecycle Project
6.4
How to View a Bill of Material for an AIA Lifecycle Project
7
Working with Project Lifecycle Workbench Seed Data
7.1
Introducing Project Lifecycle Workbench Seed Data
7.2
How to Set Up an Environment to Export or Import Seed Data for the First Time
7.3
How to Export Seed Data
7.4
How to Import Seed Data
8
Generating Deployment Plans and Deploying Artifacts
8.1
Introduction
8.2
Extending Deployment Plans
8.2.1
Extending Native Artifacts
8.2.2
Extending Non-Native Artifacts
8.3
Generating Deployment Plans
8.3.1
Input for Deployment Plan Generator
8.3.2
Executing Deployment Plan Generator
8.3.3
Output by Deployment Plan Generator
8.4
Generating Conditional Deployment Plans
8.4.1
Understanding the Deployment Policy File
8.4.2
Executing the Deployment Plan
8.5
Deploying Artifacts
8.5.1
Deploying AIA Shipped Native Artifacts and Non-native Artifacts
8.5.2
Deploying Modified AIA-shipped Artifacts
8.5.2.1
Deploying Modified Native Artifacts and Original Non-native Artifacts
8.5.2.2
Deploying Original Native Artifacts and Modified Non-native Artifacts
8.5.3
Deploying New or Custom Built Artifacts
8.5.3.1
Deploying Newly-added Native Artifacts and Original Non-native Artifacts
8.5.3.2
Deploying Newly Added Non-native Artifacts
8.6
Undeploying Services
9
Generating a Deployment Plan for ODI
9.1
Introduction to Generating a Deployment Plan for ODI
9.2
Generating the BOM for ODI
9.2.1
Understanding the ODIBOM.xml File
9.2.2
Understanding the Sections in the BOM.xml
9.2.2.1
ODIReplaceTokens
9.2.2.2
ODIEncryptPasswords
9.2.2.3
CopyDvmstoODIPath
9.2.2.4
MSTREP_Grp
9.2.2.5
WRKREP_Grp
9.3
Generating a Deployment Plan for ODI
9.3.1
Understanding the ODI Deployment Plan
9.3.1.1
OdiImportObject
9.3.1.2
OdiEncrypt
9.3.1.3
UpdateOdiParams
10
Developing and Deploying Custom XPath Functions
10.1
Implementing a Function in Java as a Java XPath Class
10.1.1
Naming Standards for Custom XPath Functions
10.1.1.1
Function Name
10.1.1.2
Function Implementation Class
10.1.1.3
Function Implementation Method
10.1.1.4
Function Inner Class
10.1.1.5
Function Namespace
10.1.1.6
Function Namespace Prefix
10.1.2
Supported Data Types
10.2
Deploying the XPath/XSL Function in JDeveloper
10.3
Deploying the XPath/XSL Function in the Application Server
11
Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository
11.1
Introduction to Using Oracle Enterprise Repository as the Oracle AIA SOA Repository
11.2
How to Provide EBO and EBM Documentation Links in Oracle Enterprise Repository
11.3
How to Access Oracle AIA Content in Oracle Enterprise Repository
12
Annotating Composites
12.1
Why Annotate a SOA Composite?
12.1.1
What Elements of a Composite Must be Annotated?
12.1.2
Understanding the Service Annotation Element
12.1.2.1
InterfaceDetails
12.1.2.2
ImplementationDetails
12.1.3
Understanding the Reference Annotation Element
12.1.4
Understanding the TransportDetails Element
12.1.4.1
Annotating DBAdapter
12.1.4.2
Annotating JMSAdapter
12.1.4.3
Annotating AQJMS Adapter
12.1.4.4
Annotating Other Resources
12.1.4.5
Annotating Application Adapter
12.2
How to Annotate the Service Element in a Requester ABCS Composite
12.3
How to Annotate the Reference Element in a Requester ABCS Composite
12.4
How to Annotate the Service Element in a Provider ABCS Composite
12.5
How to Annotate the Reference Element in a Provider ABCS
12.6
How to Annotate the Transport Adapter Composite
12.7
How to Annotate the Service Element in Enterprise Business Flow Composite
12.8
How to Annotate the Reference Element in Enterprise Business Flow Composite
12.9
How to Annotate the Service Element in Composite Business Process Composite
12.10
How to Annotate the Reference Element in Composite Business Process Composite
12.11
Valid Values for Annotation Elements
12.11.1
Valid Values for the Element ArtifactType
12.11.2
Valid Values for the Element ApplicationName
13
Designing and Developing Enterprise Business Services
13.1
Introduction to Enterprise Business Services
13.1.1
Understanding EBS Types
13.1.2
Working with the Enterprise Business Service Library
13.2
Designing the EBS
13.2.1
Understanding Design Guidelines
13.2.2
Understanding Design Considerations
13.2.3
Establishing the MEP of a New Process EBS
13.2.4
How to Establish the MEP for a New Process EBS
13.2.5
How to Handle Errors
13.2.6
How to Secure the EBS
13.2.7
How to Configure Transactions
13.2.8
How to Guarantee Delivery
13.2.9
How to Define the EBS Service Contract
13.3
Constructing the WSDL for the Process EBS
13.3.1
Introduction to WSDL Construction for the Activity Service EBS
13.3.2
How to Complete the <definitions> Section
13.3.3
How to Define Message Structures
13.3.4
How to Check for WS-I Basic Profile Conformance
13.4
Working with Message Routing
13.4.1
Creating Routing Rules
13.4.2
Routing at the EBS
13.4.3
Guidelines for EBS Routing Rules
13.4.4
How to Identify the Target System at EBS
13.5
Building EBS Using Oracle Mediator
13.5.1
How to Develop the Oracle Mediator Service
13.6
Implementing the Fire-and-Forget Message Exchange Pattern
13.6.1
How to Implement Fire-and-Forget Pattern with EBS One-Way Calls
13.6.2
Creating EBS WSDLs
13.6.3
Creating Mediator Routing Services for Asynchronous Fire-and-Forget Patterns with a One-Way Call EBS
13.6.3.1
How to Create Mediator Projects for the Asynchronous Fire-and-Forget MEP
13.6.3.2
How to Create Routing Services for Asynchronous Fire-and-Forget MEP
13.6.3.3
How to Create Routing Rules for Asynchronous Fire-and-Forget MEP
13.6.3.4
How to Implement Error Handling for Asynchronous Fire-and-Forget MEP
13.6.4
Asynchronous Fire-and-Forget MEP Error Handling Using Compensatory Operations
13.6.5
How to Invoke the Compensate Operation of EBS
13.6.6
How to Enable Routing Rules in Compensate Operation Routing Service
13.7
Implementing the Synchronous Request-Response Message Exchange Pattern
13.7.1
How to Implement Synchronous Request-Reply Message Exchange Patterns in EBS
13.7.2
How to Create Mediator Projects for the Synchronous Request-Response MEP
13.7.3
How to Create Routing Services for the Synchronous Request-Response MEP
13.7.4
How to Implement Error Handling for the Synchronous Request-Response MEP
13.8
Implementing the Asynchronous Request-Delayed Response Message Exchange Pattern
13.8.1
How to Implement the Request-Delayed Response Pattern with the Two One-Way Calls of the EBS
13.8.1.1
How to Create the EBS WSDLs for the Request-Delayed Response MEP
13.8.2
Creating Mediator Routing Services for Asynchronous Request-Delayed Response Patterns with Two One-Way Call EBS
13.8.2.1
How to Create Mediator Projects for the Request-Delayed Response MEP
13.8.2.2
How to Create Routing Services
13.8.2.3
How to Create Routing Rules
13.8.3
Asynchronous Request-Delayed Response MEP Error Handling
14
Designing Application Business Connector Services
14.1
Introduction to ABCS
14.1.1
ABCS Types
14.1.1.1
Requester ABCS
14.1.1.2
Provider ABCS
14.1.2
Designing ABCS - Key Tasks
14.2
Defining the ABCS Contract
14.2.1
Defining the Role of the ABCS
14.2.1.1
Designing an ABCS to Participate in a Requester Role
14.2.1.2
Designing an ABCS to Participate in a Provider Role
14.2.2
Constructing ABM Schemas
14.2.3
Analyzing the Participating Application Integration Capabilities
14.3
Identifying the MEP
14.3.1
Introduction to MEPs
14.3.2
Choosing the Appropriate MEP
14.3.2.1
When to Use the Synchronous Request-Response MEP
14.3.2.2
When to Use the Asynchronous Request Only (Fire-and Forget) MEP
14.3.2.3
When to Use the Asynchronous Request Delayed Response MEP
14.4
Technology Options
14.4.1
Outbound Interaction with the Application
14.4.1.1
When to Use JCA Adapters for Outbound Interactions
14.4.1.2
When to Use Standard Web Service Interfaces (SOAP/HTTP, XML/HTTP) for Outbound Interactions
14.4.1.3
When to Use JCA Adapters, (Database, File, JMS, or AQJMS), for Outbound Interactions
14.4.2
Using BPEL for Building ABCS
15
Constructing the ABCS
15.1
Constructing an ABCS
15.1.1
Prerequisites
15.1.2
ABCS as a Composite Application
15.1.3
How Many Components Must Be Built
15.2
Constructing an ABCS Using Service Constructor
15.2.1
How to Create the ABCS in the Service Constructor
15.2.2
How to Complete ABCS Development for the AIA Service Constructor
15.3
Constructing an ABCS Composite Using JDeveloper
15.3.1
How to Construct the ABCS Composite Using JDeveloper
15.3.2
Developing the BPEL Process
15.3.3
How to Create References, Services, and Components
15.3.4
Moving Abstract Service WSDLs in MDS
15.4
Implementing the Fire-and-Forget MEP
15.4.1
When to Use Compensating Services
15.4.2
How to Invoke the Compensating Service
15.4.3
Additional Tasks Required in Provider ABCS to Implement This MEP
15.4.4
How to Ensure Transactions
15.4.5
How to Handle Errors
15.5
Implementing the Asynchronous Request Delayed Response MEP
15.5.1
How to Populate the EBM Header for Asynchronous-Delayed Response
15.5.2
Setting Correlation for the Asynchronous Request-Delayed Response MEP
15.5.3
Programming Models for Handling Error Response in the Asynchronous Request-Delayed Response MEP
15.5.3.1
Programming Model 1: Using a Separate Service for Error Handling
15.5.3.2
Programming Model 2: Using JMS Queue as a Milestone Between Requester ABCS and the EBS
15.5.3.3
Programming Model 3: Using a Parallel Routing Rule in the EBS
15.5.4
What Tasks Are Required in Provider ABCS to Implement This MEP
15.6
Implementing Provider ABCS in an Asynchronous Message Exchange Scenario
15.6.1
How to Implement the Asynchronous MEP
15.6.2
Using the Programming Models for the Request-Delayed Response Pattern
15.6.3
How to Ensure Transactions in Services
15.6.4
How to Handle Errors in the Asynchronous Request-Delayed Response MEP
15.7
Implementing Synchronous Request-Response Message Exchange Scenario
15.7.1
How to Ensure Transactions in Services
15.7.2
How to Handle Errors in the Synchronous Request-Response MEP
15.7.3
How to Optimize the Services to Improve Response Time
15.8
Invoking Enterprise Business Services
15.8.1
Create
15.8.2
Update
15.8.3
Delete
15.8.4
Sync
15.8.5
Validate
15.8.6
Process
15.8.7
Query
15.9
Invoking the ABCS
15.9.1
How to Invoke an ABCS Directly from an Application
15.9.2
How to Invoke an ABCS Using Transport Adapters
15.9.3
When Does an Enterprise Business Service Invoke an ABCS
16
Completing ABCS Development
16.1
Developing Extensible ABCS
16.1.1
Introduction to Enabling Requester ABCS for Extension
16.1.2
Introduction to Enabling Provider ABCS for Extension
16.1.3
How to Design Extensions-Aware ABCS
16.1.3.1
Configuration Parameters
16.1.4
Designing an ABCS Composite with Extension
16.1.5
Defining Service at Extension Points
16.1.6
Defining a Service Using an Abstract WSDL
16.1.7
How to Specify a Concrete WSDL at Deployment Time
16.1.7.1
Populating the binding.ws Element in the composite.xml
16.1.8
Designing Extension Points in the ABCS BPEL Process
16.1.9
How to Set Up the Extension Point Pre-ProcessABM
16.1.10
How to Set Up the Extension Point Pre-ProcessEBM
16.1.11
How to Test the Extensibility with Servlet as Sample Extension Service
16.2
Handling Errors and Faults
16.2.1
How to Handle Errors and Faults
16.3
Working with Adapters
16.3.1
Interfacing with Transport Adapters
16.3.2
How to Develop Transport Adapters
16.3.3
When to Put Adapters in a Single Composite
16.3.4
Planning Version Adapters
16.3.5
How to Configure a Version Adapter
16.4
Developing ABCS for CAVS Enablement
16.4.1
How to CAVS Enable Provider ABCS
16.4.2
How to CAVS Enable the Requester ABCS
16.4.3
Introduction to the CAVSEndpointURL Value Designation
16.4.4
Purging CAVS-Related Cross-Reference Entries to Enable Rerunning of Test Scenarios
16.5
Securing the ABCS
16.5.1
How to Secure the ABCS
16.6
Enabling Transactions
16.6.1
How to Ensure Transactions in AIA Services
16.6.2
Transactions in Oracle Mediator
16.6.3
Transactions in BPEL
16.6.3.1
Impact of BPEL Activities on Transaction Scope
16.6.4
Developing ABCS to Participate in a Global Transaction
16.6.5
How to Transaction-Enable AIA Services
16.6.5.1
Synchronous Request-Response Scenarios
16.6.5.2
AIA Services in Asynchronous MEP
16.6.5.3
Asynchronous Operation from an ABCS in the Same Thread but in a Different Transaction
16.7
Guaranteed Message Delivery
16.8
Versioning ABCS
16.8.1
Guidelines for Versioning
16.9
Resequencing in Oracle Mediator
16.9.1
Configuring the Oracle Mediator Service to Use its Resequencer Feature
16.9.2
How to Configure the Resequencing Strategy
16.9.3
Processing Multiple Groups Parallelly
16.9.4
Describing Oracle Mediator Resequencer Error Management
16.9.4.1
Resubmitting Messages that have Errors
16.9.4.2
Using the Message Resubmission Utility API
16.9.5
Tuning the Resequencer
16.10
Developing Layered Customizations
16.10.1
Deploying services after customizations
16.10.2
Customizing the Customer Version
16.10.3
Applying patches after customization
17
Designing and Constructing Composite Business Processes
17.1
Introduction to Composite Business Processes
17.2
How to Define the Contract for a CBP
17.2.1
How to Identify the CBP
17.2.2
How to Identify the Message Pattern for a CBP
17.3
How to Create the Contract for a CBP
17.3.1
How to Construct the WSDL for the CBP
17.4
How to Implement the CBP as a BPEL Service
18
Designing and Constructing Enterprise Business Flows
18.1
Introduction to Enterprise Business Flows
18.2
How to Define the Contract for an EBF
18.2.1
How to Identify the Need for an EBF
18.2.2
How to Identify the Message Pattern for an EBF
18.2.3
How to Identify the Message Structure
18.3
How to Create the Contract for an EBF
18.3.1
Constructing the WSDL for the EBF
18.4
How to Implement the EBF as a BPEL Service
19
Introduction to B2B Integration Using AIA
19.1
Overview of B2B Integration Using AIA
19.2
Understanding B2B Document Flows
19.2.1
Describing Outbound B2B Document Flows Built Using AIA
19.2.2
Describing Inbound B2B Document Flows Built Using AIA
19.3
Understanding the Oracle B2B Component of Oracle Fusion Middleware
19.3.1
How AIA Complements Oracle Fusion Middleware Oracle B2B
19.4
Understanding the Foundation Pack Infrastructure for B2B
19.4.1
B2B Support in AIA Error Handling Framework
19.4.2
AIA B2B Interface
20
Developing and Implementing Outbound B2B Integration Flows
20.1
Introduction to Developing and Implementing Outbound B2B Integration Flows
20.2
Step 1: Identifying the B2B Document and Analyzing Requirements
20.2.1
How to Identify the B2B Document Protocol
20.2.2
How to Identify the B2B Document Type and Definition
20.2.3
How to Define the Document in Oracle B2B
20.2.4
How to Define the Document in AIA
20.2.5
How to Identify the EBO, EBS, and EBM to Be Used
20.2.6
How to Design Mappings for the B2B Document
20.2.7
How to Publish Mapping to Trading Partners
20.3
Step 2: Developing a New Provider B2B Connector Service
20.3.1
Introduction to a Provider B2B Connector Service
20.3.2
How to Identify the Message Exchange Pattern
20.3.3
How to Develop a B2BCS Service Contract
20.3.4
How to Store a WSDL in the Oracle Metadata Repository
20.3.5
How to Develop a B2B Connector Service
20.3.6
How to Customize the AIA B2B Interface
20.3.7
How to Annotate B2B Connector Services
20.3.8
How to Support Trading Partner-Specific Variants
20.3.8.1
Supporting Trading Partner-Specific Custom Extensions
20.3.8.2
Supporting Trading Partner-Specific XSLTs
20.3.8.3
Supporting Trading Partner-Specific Document Types and Versions
20.3.9
How to Enable Error Handling
20.4
Step 3: Developing or Extending an Existing Enterprise Business Service
20.4.1
How to Route Based on Trading Partner B2B Preferences
20.5
Step 4: Developing or Extending an Existing Requester ABCS
20.5.1
What You Must Know About Message Exchange Patterns
20.5.2
What You Must Know About Transformations
20.6
Step 5: Configuring Oracle B2B and Defining Trading Partner Agreements
20.7
Step 6: Deploying and Configuring AIA Services
20.8
Step 7: Testing and Verifying
20.8.1
How to Test Using CAVS
20.8.2
How to Test Using Dummy Trading Partner Endpoints
20.8.2.1
How to Test Using the Production Code Value Set to "Test"
20.8.2.2
How to Test Using Dummy Business Data
20.9
Step 8: Going Live and Monitoring
20.9.1
Monitoring Using Oracle B2B Reports
20.9.2
Monitoring Using Oracle Enterprise Manager Console
20.9.3
Monitoring Using Error Notifications
21
Developing and Implementing Inbound B2B Integration Flows
21.1
Introduction to Developing and Implementing Inbound B2B Integration Flows
21.2
Step 1: Identifying the B2B Document and Analyzing Requirements
21.3
Step 2: Adding Inbound Routing Rules to an AIA B2B Interface
21.3.1
How to Add a New Routing Rule to the AIA B2B Interface
21.4
Step 3: Developing a New Requester B2B Connector Service
21.4.1
Introduction to Requester B2B Connector Services
21.4.2
How to Identify the Message Exchange Pattern
21.4.3
How to Develop a B2BCS Service Contract
21.4.4
How to Store a WSDL in Oracle Metadata Services Repository
21.4.5
How to Develop a B2B Connector Service
21.4.6
How to Annotate B2B Connector Services
21.4.7
How to Support Trading Partner-Specific Variants
21.4.8
How to Enable Error Handling
21.5
Step 4: Developing or Extending an Existing Enterprise Business Service
21.6
Step 5: Developing or Extending an Existing Provider ABCS
21.6.1
What You Must Know About Transformations
21.7
Step 6: Configuring Oracle B2B and Defining Trading Partner Agreements
21.8
Step 7: Deploying and Configuring AIA Services
21.9
Step 8: Testing and Verifying
21.10
Step 9: Going Live and Monitoring
22
Describing the Event Aggregation Programming Model
22.1
Overview
22.1.1
Event Producer
22.1.2
Event Aggregator Service
22.1.3
Consumer Service
22.2
Implementing the Event Aggregation Programming Model
22.2.1
Creating the Event Aggregation Service
22.2.1.1
Creating the PL/SQL objects
22.2.1.2
Create the Database Service and Aggregate Service
22.2.2
Creating Consumer Service
22.2.3
Implementing Error Handling for the Event Aggregation Programming Model
23
Establishing Resource Connectivity
23.1
Introduction to Resource Connectivity
23.1.1
Inbound Connectivity
23.1.2
Outbound Connectivity
23.2
Modes of Connectivity
23.2.1
Web Services with SOAP/HTTP
23.2.2
When to Use Web Services with SOAP/HTTP
23.2.2.1
Request-Response
23.2.2.2
Request Only
23.2.2.3
Advantages of Using Web Services with SOAP/HTTP
23.2.2.4
Disadvantages of Using Web Services with SOAP/HTTP
23.2.2.5
Important Considerations for Using Web Services with SOAP/HTTP
23.2.3
Session Management for Web Services with SOAP/HTTP
23.2.3.1
Session Types
23.2.3.2
SessionToken
23.2.3.3
Session Pool Manager
23.2.4
Error Handling for Web Services with SOAP/HTTP
23.2.4.1
For Inbound Connectivity
23.2.4.2
For Outbound Connectivity
23.2.4.3
Request-Response and Request-Only System Errors
23.2.4.4
Request-Response Business Errors
23.2.5
Security for Web Services with SOAP/HTTP
23.2.6
Message Propagation Using Queues or Topics
23.2.6.1
Event Notification Without Payloads
23.2.6.2
Events Leading to Message Queuing
23.2.6.3
When to Use Message Propagation Using Queues or Topics
23.2.6.4
Types of Queues
23.2.7
Ensuring Guaranteed Message Delivery
23.2.7.1
When to Use Transaction Boundaries
23.2.8
When to Use JCA Adapters
23.3
Siebel Application-Specific Connectivity Guidelines
23.3.1
Inbound: Siebel Application Interaction with AIA Services
23.3.2
Web Services with SOAP/HTTP
23.3.3
Creating JMS Consumers to Consume Siebel Messages from JMS Queues/Topics
23.3.4
Outbound - Siebel Application Interaction with AIA Services
23.3.5
Web Services with SOAP/HTTP
23.3.5.1
Session Management
23.4
Oracle E-Business Suite Application-Specific Connectivity Guidelines
23.4.1
Inbound: E-Business Suite Application Interaction with AIA Services
23.4.2
Concurrent Program Executable
23.4.3
Business Event Subscription (JCA Connectivity Using OAPPS Adapter)
23.4.4
Outbound: Oracle E-Business Suite Application Interaction with AIA Services
23.5
Design Guidelines
24
Using Oracle Data Integrator for Bulk Processing
24.1
Introduction to Design Patterns for AIA-Oracle Data Integrator Architecture
24.1.1
Initial Data Loads
24.1.2
How to Perform the Oracle Data Integrator Data Load
24.1.3
High Volume Transactions with Xref Table
24.1.4
Intermittent High Volume Transactions
24.2
High-Volume Transactions with Xref Table
24.3
Building Oracle Data Integrator Projects
24.3.1
How to Build Oracle Data Integrator Projects
24.4
Using the XREF Knowledge Module
24.4.1
What You Must Know About Cross-Referencing
24.5
Working with Oracle Data Integrator
24.5.1
How to Define Variables (Source and Target Column Names)
24.5.2
How to Create the First Interface (Source to Target)
24.5.3
How to Define the XREF View in SOA
24.5.4
How to Create the Second Interface (Update Target Identifier in XREF)
24.5.4.1
How to Create a Package for the Second Interface
24.6
Working with Domain Value Maps
24.7
Using Error Handling
24.8
Oracle Data Integrator Ref Functions
24.9
How to Publish the Package and Data Model as Web Service
25
Working with Message Transformations
25.1
Introduction to Transformation Maps
25.1.1
Connecting Applications to Implement Business Processes
25.1.1.1
Canonical Patterns
25.1.1.2
When to Use Direct Integrations
25.1.2
Using Tools and Technologies to Perform Message Transformations
25.2
Creating Transformation Maps
25.2.1
Considerations for Creating Transformation Maps
25.2.2
Handling Missing or Empty Elements
25.2.3
How to Map an Optional Source Node to an Optional Target Node
25.2.4
How to Load System IDs Dynamically
25.2.5
Using XSLT Transformations on Large Payloads
25.2.6
When to Populate the LanguageCode Attribute
25.2.7
How to Name Transformations
25.3
Making Transformation Maps Extension Aware
25.3.1
How to Make Transformation Maps Extension Aware
25.3.2
How to Make the Transformation Template Industry Extensible
25.4
Working with DVMs and Cross-References
25.4.1
Introduction to DVMs
25.4.2
When to Use DVMs
25.4.3
Using Cross-Referencing
25.4.4
How to Set Up Cross References
25.5
Mapping and Populating the Identification Type
25.5.1
How to Populate Values for corecom:Identification
25.6
Introducing EBM Header Concepts
25.6.1
Standard Elements
25.6.1.1
EBMID
25.6.1.2
EBOName
25.6.1.3
RequestEBMID
25.6.1.4
CreationDateTime
25.6.1.5
VerbCode
25.6.1.6
MessageProcessingInstruction
25.6.1.7
When to Populate Standard Header Fields
25.6.1.8
How to Populate the Message Processing Instruction
25.6.2
Sender
25.6.2.1
SenderMessageID
25.6.2.2
When to Populate Sender System Information
25.6.2.3
How to Populate Sender System Information
25.6.2.4
TransactionCode
25.6.2.5
ContactName
25.6.2.6
ContactEmail
25.6.2.7
ContactPhoneNumber
25.6.2.8
ESBHeaderExtension
25.6.2.9
ObjectCrossReference
25.6.2.10
How to Add Object Cross Reference information in the Sender System Information
25.6.2.11
WS Address
25.6.2.12
Custom
25.6.3
Target
25.6.3.1
ID
25.6.3.2
ApplicationTypeCode
25.6.3.3
Custom
25.6.4
BusinessScope
25.6.4.1
ID
25.6.4.2
InstanceID
25.6.4.3
BusinessScopeTypeCode
25.6.4.4
EnterpriseServiceName
25.6.4.5
EnterpriseServiceOperationName
25.6.4.6
Custom
25.6.4.7
How to Add Business Process Information
25.6.5
Use Case: Request-Response
25.6.5.1
Request EBM
25.6.5.2
Response EBM
25.6.6
Use Case: Asynchronous Process
25.6.6.1
Request EBM
25.6.7
Use Case: Synchronous Process with Spawning Child Processes
25.6.8
EBMTracking
25.6.8.1
SequenceNumber
25.6.8.2
ExecutionUnitID
25.6.8.3
ExecutionUnitName
25.6.8.4
ImplementationCode
25.6.8.5
ActivityDateTime
25.6.8.6
When to Populate EBM Tracking Information
25.6.9
Custom
26
Configuring Oracle AIA Processes for Error Handling and Trace Logging
26.1
Overview of Oracle BPEL and Mediator Process Error Handling
26.1.1
Understanding Oracle BPEL Error Handling
26.1.2
Understanding Oracle Mediator Error Handling
26.2
Overview of AIA Error Handler Framework
26.3
Enabling AIA Processes for Fault Handling
26.3.1
What You Must Know About Fault Policy Files
26.3.1.1
Associating a Fault Policy File with Fault Policy Bindings File
26.3.2
How to Implement Fault Handling in BPEL Processes
26.4
Implementing Error Handling for the Synchronous Message Exchange Pattern
26.4.1
Guidelines for Defining Fault Policies
26.4.1.1
Defining a Fault Policy XML File for Handling Run-time Faults
26.4.1.2
Defining a Fault Policy XML File for Handling Business Faults
26.4.2
Guidelines for BPEL Catch and Catch-All Blocks in Synchronous Request-Response
26.4.2.1
Handling Business Faults
26.4.2.2
Handling Run-time Faults Defined in the Fault Policy File
26.4.2.3
Handling Run-time Faults Not Defined in the Fault Policy File
26.4.3
Guidelines for Configuring Mediator for Handling Business Faults
26.5
Implementing Error Handling and Recovery for the Asynchronous Message Exchange Pattern to Ensure Guaranteed Message Delivery
26.5.1
Overview
26.5.2
Configuring Milestones
26.5.3
Configuring Services Between Milestones
26.5.3.1
Populating Message Resubmission Values
26.5.3.1.1
Populating the ABM with Message Resubmission Values in JMSConsumerAdapter
26.5.3.1.2
Populating the EBM Header with Resubmission Values in the Requester ABCS
26.5.3.2
Configuring All Services to Participate in a Single Global Transaction
26.5.4
Guidelines for BPEL Catch and Catch-All Blocks
26.5.4.1
Handling Run-time Faults Defined in the Fault Policy File
26.5.4.2
Handling Run-time Faults Not Defined in the Fault Policy File
26.5.5
Guidelines for Defining Fault Policies
26.5.6
Configuring Fault Policies to Not Issue Rollback Messages
26.5.7
Using the Message Resubmission Utility API
26.6
How to Configure AIA Services for Notification
26.6.1
Defining Corrective Action Codes
26.6.2
Defining Error Message Codes
26.7
Describing the Oracle AIA Fault Message Schema
26.7.1
Describing the EBMReference Element
26.7.2
Describing the B2BMReference Element
26.7.3
Describing the FaultNotification Element
26.7.3.1
FaultMessage Element
26.7.3.2
IntermediateMessageHop Elements
26.7.3.3
FaultingService Element
26.8
Extending Fault Messages
26.8.1
Introduction to Extending Fault Messages
26.8.2
Extending a Fault Message
26.9
Extending Error Handling
26.9.1
Introduction to Extending Error Handling
26.9.2
Implementing an Error Handling Extension
26.10
Configuring Oracle AIA Processes for Trace Logging
26.10.1
Describing Details of the isTraceLoggingEnabled Custom XPath Function
26.10.2
Describing Details of the logTraceMessage Custom XPath Function
26.10.3
Describing the Trace Logging Java API
27
Working with AIA Design Patterns
27.1
AIA Message Processing Patterns
27.1.1
Synchronous Request-Reply Pattern: How to get Synchronous Response in AIA
27.1.2
Asynchronous Fire-and-Forget Pattern
27.1.3
Guaranteed Delivery Pattern: How to Ensure Guaranteed Delivery in AIA
27.1.4
Service Routing Pattern: How to Route the Messages to Appropriate Service Provider in AIA
27.1.5
Competing Consumers Pattern: How are Multiple Consumers used to Improve Parallelism and Efficiency?
27.1.6
Asynchronous Delayed-Response Pattern: How does the Service Provider Communicate with the Requester when Synchronous Communication is not Feasible?
27.1.7
Asynchronous Request Response Pattern: How does the Service Provider Notify the Requester Regarding the Errors?
27.2
AIA Assets Centralization Patterns
27.2.1
How to Avoid Redundant Data Model Representation in AIA
27.2.2
How to Avoid Redundant Service Contracts Representation in AIA
27.3
AIA Assets Extensibility Patterns
27.3.1
Extending Existing Schemas in AIA
27.3.2
Extending AIA Services
27.3.3
Extending Existing Transformations in AIA
27.3.4
Extending the Business Processes in AIA
28
Working with Security
28.1
Introduction to Oracle AIA Remote Security
28.1.1
Securing Service to Service Interaction
28.1.2
Oracle AIA Recommendations for Securing Services
28.1.3
Introduction to Web Service Security Using Oracle Web Services Manager
28.2
Implementing Security
28.2.1
Enabling Security for AIA Services
28.2.1.1
Should You Secure All AIA Services?
28.2.2
Invoking Secured Application Services
28.2.3
Overriding Policies Using a Deployment Plan
28.2.4
Testing Secured Services using CAVS
28.3
Security for Applications
28.3.1
Enabling Security in Application Services
28.3.2
Invoking Secured AIA Services
28.4
Deploying Security Policies
28.4.1
Oracle AIA Recommendations for Policies
28.5
Policy Naming Conventions
28.5.1
Naming Conventions for Global Policy Sets
28.5.2
Naming Conventions for Overriding Config Params
28.6
How Does AIA Foundation Pack Help in Securing AIA Services?
28.6.1
What Default Policies are Attached to a Service?
28.6.2
How Can the Global Policy be Overridden for an Individual Service?
28.6.3
AIA Security Configuration Properties
28.7
Application Security Context
28.7.1
Introduction to Application Security
28.7.2
How To Exchange Security Context Between Participating Applications and ABCS
28.7.2.1
Requester Applications
28.7.2.2
Provider Applications
28.7.3
Mapping Application Security Context in ABCS To and From Standard Security Context
28.7.4
Using the AppContext Mapping Service
28.7.5
Understanding the Structure for Security Context
28.7.6
Using Attribute Names
28.7.7
Propagating Standard Security Context through EBS and EBF
28.7.8
Implementing Application Security Context
28.7.8.1
How to Implement Requester-Side Application Security Context
28.7.8.2
How to Implement Provider-Side Application Security Context
29
Best Practices for Designing and Building End-to-End Integration Flows
29.1
General Guidelines for Design, Development, and Management of AIA Processes
29.1.1
Interpreting Empty Element Tags in XML Instance Document
29.1.2
Purging the Completed Composite Instances
29.1.3
Syntactic / Functional Validation of XML Messages
29.1.3.1
Syntactic Validation
29.1.3.2
Data / Functional Validation
29.1.4
Provide Provision for Throttling Capability
29.1.5
Artifacts Centralization
29.1.6
Separation of Concerns
29.1.6.1
Using MDS as the Central Storage for Abstract WSDLs, and Other Shared Artifacts
29.1.7
Adapters Inside ABCS Composite OR as Separate Composite
29.1.8
AIA Governance
29.1.9
Using AIA Service Constructor
29.2
Building Efficient BPEL Processes
29.2.1
Using BPEL as "Glue", Not as a Programming Language
29.2.1.1
Keep the Number of BPEL Activities as Minimal as Possible
29.2.1.2
Avoid Large
While
Loop
29.2.2
Avoiding Global Variables Wherever Possible
29.2.3
Avoiding Large FlowN
29.2.4
Controlling the Persistence of Audit Details for a Synchronous BPEL Process
29.2.5
Using Non-Idempotent Services Only When Absolutely Necessary
29.2.6
Defining the Scope of the Transaction
29.2.7
Disabling the Audit for Synchronous BPEL Process Service Components
29.2.8
Including No Break-Point Activity in a Request-Response Flow
30
Tuning Integration Flows
30.1
Introduction to Tuning
30.1.1
How to Use Baselines
30.1.2
How to Handle Resource Saturation
30.1.3
How to Use Proactive Monitoring
30.1.4
How to Eliminate Bottlenecks
30.1.5
Top Performance Areas
30.2
Oracle Database Performance Tuning
30.2.1
How to Tune the Oracle Database
30.2.2
Introducing Automatic Workload Repository
30.2.3
Configuring Performance Related Database Initialization Parameters
30.2.4
Tuning Redo Logs Location and Sizing
30.2.5
Automatic Segment-Space Management (ASSM)
30.2.6
Tuning Cross Reference Data Table (XREF_DATA)
30.2.7
Recommendations for managing high-volume BPEL Tables
30.2.8
Recommendations for Queue Tables
30.2.9
Recommendations for AIA / BPEL / ESB / AQ tables
30.2.10
Recommendations for Securefiles migration (applicable only to 11g R1 / R2)
30.2.11
Changing the Driver Name to Support XA Drivers
30.2.11.1
Edit in Oracle WebLogic Server Administration Console
30.2.11.2
Edit the SOADataSource-jdbc.xml file
30.2.12
Configuring Database Connections and Datasource Statement Caching
30.2.12.1
JDBC Datasource Connection Pool Settings
30.2.12.2
Getting the Right Mix of Performance and Fault Tolerance
30.2.13
Oracle Metadata Service (MDS) Performance Tuning
30.2.13.1
Using Database Polling Interval for Change Detection
30.2.13.2
Tuning Cache Configuration
30.3
Configuring the Common SOA Infrastructure
30.3.1
Configuring SOA Infrastructure Properties
30.3.2
Disabling HTTP Logging
30.4
BPEL - General Performance Recommendations
30.4.1
Configuring BPEL Process Service Engine Properties
30.4.2
Configuring BPEL Properties Inside a Composite
30.4.3
How to Monitor the BPEL Service Engine
30.5
Oracle Mediator: General Performance Recommendations
30.5.1
Configuring Mediator Service Engine Properties
30.5.2
How to Monitor the Mediator Service Engine
30.6
Tuning Oracle Adapters for Performance
30.6.1
How to Tune JMS Adapters
30.6.2
How to Tune AQ Adapters
30.6.3
How to Tune Database Adapters
30.6.4
Throttling Inbound Message Flows
30.7
Purging the Completed Composite Instances
30.8
Tuning Java Virtual Machines (JVMs)
30.8.1
How to Optimize the JVM Heap - Specifying Heap Size Values
30.8.1.1
Java Performance Analysis Tools
30.9
Tuning Weblogic Application Server
30.9.1
Domain Startup Mode - Production
30.9.2
Work Manager - default
30.9.3
Tuning Network I/O
31
Oracle AIA Naming Standards for AIA Development
31.1
General Guidelines
31.1.1
XML Naming Standards
31.1.1.1
General Naming Standards
31.1.1.2
General Namespace Naming Standards
31.1.1.3
Participating Applications Names
31.2
Composites
31.3
Composite Business Process
31.4
Enterprise Business Services
31.5
Enterprise Business Flows
31.6
Application Business Connector Service
31.6.1
Requester Application Business Connector Service
31.6.2
Provider Application Business Connector Services
31.7
JMS and Adapters
31.7.1
AQ JMS (Additional Attributes)
31.7.2
Adapter Services Naming
31.7.3
Participating Application Service
31.8
DVMs and Cross References
31.8.1
DVMs
31.8.1.1
Map Name
31.8.1.2
Map Column Names
31.8.2
Cross References
31.8.2.1
Table Name
31.8.2.2
Column Names
31.9
BPEL
31.9.1
BPEL Activities
31.9.1.1
BPEL Process Name and Namespace
31.9.1.2
Assign
31.9.1.3
Compensate
31.9.1.4
Flow
31.9.1.5
FlowN
31.9.1.6
Invoke
31.9.1.7
Java Embedding
31.9.1.8
Pick
31.9.1.9
Receive
31.9.1.10
Scope
31.9.1.11
Sequence
31.9.1.12
Switch
31.9.1.13
Case
31.9.1.14
Terminate
31.9.1.15
Throw
31.9.1.16
Transform
31.9.1.17
Wait
31.9.1.18
While
31.9.2
Other BPEL Artifacts
31.9.2.1
Variables
31.9.2.2
Properties
31.9.2.3
Correlation Sets
31.9.2.4
Correlation Set Properties
31.10
Custom Java Classes
31.11
Package Structure
31.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.