Table of Contents
- Title and Copyright Information
- Preface
- What's New in This Guide
-
Part I Introduction to Oracle Service Bus
-
1
About Oracle Service Bus
- 1.1 Oracle Service Bus Overview
- 1.2 Service Bus Architectural Concepts
-
1.3
Service Bus Components
- 1.3.1 Service Components
- 1.3.2 Message Flows
- 1.3.3 Transports, Adapters, and Bindings
- 1.3.4 Transformation Resources
- 1.3.5 Transport and Adapter Related Resources
- 1.3.6 Schema and Document Resources
- 1.3.7 Security Resources
- 1.3.8 Alert Destinations
- 1.3.9 Throttling Group Resources
- 1.3.10 System Resources
- 1.4 Service Bus Messaging Models
- 1.5 Using Work Managers with Service Bus
- 1.6 Service Bus Security
- 1.7 Approaches for Designing Service Bus Services
- 1.8 Naming Guidelines for Service Bus Components
- 1.9 Viewing Service Bus Resources in a Web Browser
- 1.10 Accessibility Options
- 1.11 Additional Resources
-
2
Getting Started with the Oracle Service Bus Console
- 2.1 Overview of the Oracle Service Bus Console
- 2.2 Getting Started
- 2.3 Working with Sessions
-
2.4
Working with Projects, Folders, and Resources in Oracle Service Bus Console
- 2.4.1 How to Locate Services
- 2.4.2 Working with the Project and Folder Definition Editors
- 2.4.3 Create New Projects and Folders for Resources
- 2.4.4 Creating Resources with the Resource Gallery
- 2.4.5 How to Clone Projects, Folders, and Resources
- 2.4.6 How to Rename Projects, Folders, and Resources
- 2.4.7 How to Move Projects, Folders, and Resources
- 2.4.8 How to Delete Projects, Folders, and Resources
- 2.5 Viewing and Resolving Conflicts
- 2.6 Viewing Historical Data
- 2.7 Undoing Changes and Activations
- 2.8 Viewing References
- 2.9 Customizing the Appearance of the Oracle Service Bus Console
- 3 Getting Started with Oracle Service Bus in JDeveloper
- 4 Setting up the Development Environment for JDeveloper
-
5
Developing Service Bus Applications in JDeveloper
- 5.1 Introduction to the Service Bus Overview Editor
- 5.2 Creating Service Bus Applications and Projects in JDeveloper
-
5.3
Adding Service Bus Components
- 5.3.1 How to Launch the Service Bus Overview Editor
- 5.3.2 How to Add a Pipeline
- 5.3.3 How to Add a Split-Join
- 5.3.4 How to Create a Proxy Service
- 5.3.5 How to Reuse Existing Proxy Services in the Overview
- 5.3.6 How to Create a Business Service
- 5.3.7 How to Reuse Existing Business Services in the Overview
- 5.3.8 How to Invoke Deployed Service Bus and SOA Applications
- 5.3.9 What You May Need to Know About Adding Components
- 5.4 Modifying and Deleting Components in the Service Bus Overview Editor
- 5.5 Synchronizing the Overview Diagram
- 5.6 Wiring Service Bus Components
- 5.7 Attaching Security Policies to Service Bus Components
- 5.8 Testing Service Bus Components in the Overview Editor
- 5.9 Deploying a Service Bus Application
-
1
About Oracle Service Bus
-
Part II Working with Oracle Service Bus Resources
-
6
Creating and Configuring Project Resources
- 6.1 Introduction to Service Bus Project Resources
- 6.2 Working with Service Accounts
- 6.3 Working with Service Key Providers
- 6.4 Working with Alert Destinations
- 6.5 Working with XML Schemas
- 6.6 Working with XML Documents
- 6.7 Working with JAR Files
-
7
Creating and Configuring System Resources
-
7.1
Working with JNDI Provider Resources
- 7.1.1 Classpath Requirements for JBoss Application Server
- 7.1.2 About JBoss Initial Context Factory Environment Properties
- 7.1.3 How to View JNDI Provider Resources in the Oracle Service Bus Console
- 7.1.4 How to Create a JNDI Provider Resource
- 7.1.5 How to Edit JNDI Provider Resources
- 7.1.6 How to Delete JNDI Provider Resources
- 7.2 Working with SMTP Server Resources
- 7.3 Working with Proxy Server Resources
-
7.1
Working with JNDI Provider Resources
-
8
Creating and Configuring Proxy Services
-
8.1
Introduction to Proxy Services
- 8.1.1 Proxy Service Definitions
- 8.1.2 Service Types and Protocols for Proxy Services
- 8.1.3 When to Use SOAP or Any XML Service Types
- 8.1.4 When to Use the Messaging Service Type
- 8.1.5 Binding Definitions and Runtime Variables for Proxy Service Types
- 8.1.6 Proxy Service Transport Protocol Configuration
- 8.2 Securing Proxy Services
- 8.3 Service Level Agreement Alert Rules
- 8.4 Web Services Interoperability Compliance
-
8.5
Creating Proxy Services
- 8.5.1 How to Create a Proxy Service
- 8.5.2 How to Create a Proxy Service Using the Service Bus Console
- 8.5.3 How to Create a Typed REST Proxy Service Using the Service Bus Console
- 8.5.4 How to Create a Proxy Service Using JDeveloper
- 8.5.5 How to Generate a Proxy Service from a JCA Binding Resource
- 8.5.6 How to Generate a Proxy Service from an Existing Service in JDeveloper
- 8.5.7 How to Generate a Proxy Service from a WSDL Document in JDeveloper
- 8.6 Configuring Proxy Services
- 8.7 Deleting Proxy Services
- 8.8 Consuming Proxy Services in JDeveloper with WSIL
-
8.1
Introduction to Proxy Services
-
9
Creating and Configuring Business Services
- 9.1 Introduction to Business Services
- 9.2 Using Proxy Servers
- 9.3 Service Level Agreement Alert Rules
- 9.4 Security and Security Policies for Business Services
-
9.5
Creating Business Services
- 9.5.1 How to Create a SOAP Business Service Using the Service Bus Console
- 9.5.2 How to Create a Typed or Untyped REST Business Service Using the Service Bus Console
- 9.5.3 How to Create a Typed REST Business Service Specifying WADL Details Using the Service Bus Console
- 9.5.4 How to Create a REST Business Service Based on a SOAP Service Using the SOAP to REST Wizard
- 9.5.5 How to Create a Business Service That Connects to Oracle Integration Using the Service Bus Console
- 9.5.6 How to Create a Business Service Using JDeveloper
- 9.5.7 How to Create a Business Service That Connects to Oracle Integration Using JDeveloper
- 9.5.8 How to Generate a Business Service from a JCA Binding Resource
- 9.5.9 How to Generate a Business Service from a Proxy Service in JDeveloper
- 9.5.10 How to Generate a Business Service from a WSDL Document in JDeveloper
-
9.6
Configuring Business Services
- 9.6.1 How to Configure General Information for a Business Service
- 9.6.2 How to Configure a Business Service Transport
- 9.6.3 How to Configure Business Service Message Handling
- 9.6.4 How to Configure Performance for a Business Service
- 9.6.5 How to Configure Security for a Business Service
- 9.6.6 How to Configure Service Level Agreement Alerts for a Business Service
- 9.7 Deleting a Business Service
-
9.8
Improving Performance by Caching Business Service Results
- 9.8.1 How Result Caching Works
- 9.8.2 Result Caching Best Practices
- 9.8.3 How to Delete Entries in the Result Cache
- 9.8.4 Result Cache Metadata
- 9.8.5 Testing Result Caching
- 9.8.6 How to Configure a Business Service for Result Caching
- 9.8.7 Result Caching Advanced Configuration
-
10
Improving Service Performance with Split-Join
- 10.1 Introduction to Split-Joins
- 10.2 Service Level Agreement Alert Rules
-
10.3
Working with Split-Joins in JDeveloper
- 10.3.1 How to Create a Split-Join in JDeveloper
- 10.3.2 How to Generate a Split-Join from a WSDL Document in JDeveloper
- 10.3.3 How to Display the Components Window and Properties Windows
- 10.3.4 How to Configure the Start Node
- 10.3.5 How to View External Services
- 10.3.6 How to Configure Global and Local Variables
- 10.3.7 How to Configure the Receive Operation
- 10.4 Adding Communication Operations in JDeveloper
-
10.5
Adding Flow Control Operations in JDeveloper
- 10.5.1 How to Create a Container Node
- 10.5.2 How to Iterate Through a Variable Number of Requests
- 10.5.3 How to Process a Fixed Number of Requests in Parallel
- 10.5.4 How to Define If-Else Conditional Logic
- 10.5.5 How to Create Error Handlers
- 10.5.6 How to Raise an Error
- 10.5.7 How to Re-Raise an Error
- 10.5.8 How to Repeat an Operation Until it Evaluates to True
- 10.5.9 How to Repeat an Operation Until it Evaluates to False
- 10.5.10 How to Insert a Pause in Processing
-
10.6
Adding Assign Operations in JDeveloper
- 10.6.1 About Transformations and Expressions in Assign Operations
- 10.6.2 Assign Operation Expression Resolution
- 10.6.3 How to Assign a Value to a Variable
- 10.6.4 How to Copy a Value from a Source to a Destination Document
- 10.6.5 How to Delete a Set of Nodes
- 10.6.6 How to Insert the Result of an XQuery Expression
- 10.6.7 How to Invoke a Java Method in a Split-Join
- 10.6.8 How to Log Split-Join Data
- 10.6.9 How to Replace a Node or Its Contents
- 10.7 Working with Split-Joins in the Oracle Service Bus Console
- 10.8 Static and Dynamic Split-Join Samples
-
11
Working with WSDL Documents
- 11.1 WSDL Overview
- 11.2 WSDL Documents in Service Bus
- 11.3 Services Based on WSDL Ports and on WSDL Bindings
- 11.4 Importing and Exporting WSDL Resources
- 11.5 Working with WSDL Documents in JDeveloper
- 11.6 Working with WSDL Documents in the Oracle Service Bus Console
- 11.7 Viewing Effective WSDL Documents
-
6
Creating and Configuring Project Resources
-
Part III Working with Oracle Service Bus Pipelines
-
12
Modeling Message Flow in Oracle Service Bus
- 12.1 Pipeline Components
- 12.2 Branching in Pipelines
- 12.3 Configuring Actions in Stages and Route Nodes
- 12.4 Performing Transformations in Pipelines
- 12.5 Constructing Service Callout Messages
- 12.6 Using Attachments with Service Callout Messages
- 12.7 Handling Errors as the Result of a Service Callout
- 12.8 Handling Errors in Pipelines
- 12.9 Using Dynamic Routing
- 12.10 Accessing Databases Using XQuery
- 12.11 Understanding Message Context
- 12.12 Using Variable Structures
- 12.13 Quality of Service
-
12.14
Using the JavaScript Action and JavaScript Expressions
- 12.14.1 JavaScript Action and Message Context Variables
- 12.14.2 Update Context Variables Using JavaScript Expressions
- 12.14.3 Creating Variables Using JavaScript Expressions
- 12.14.4 Deleting Variables Using JavaScript Expressions
- 12.14.5 About XQuery, XPath, and JSON Variables
- 12.14.6 Streaming $body Variables and the JavaScript Action
- 12.14.7 JavaScript Action and Custom Java Functions
- 12.14.8 Logging and Reporting the Result of JavaScript Expressions
- 12.15 Using Work Managers with Service Bus
- 12.16 Content Types, JMS Type, and Encoding
- 12.17 Throttling Pattern
- 12.18 WS-I Compliance
- 12.19 Converting Between SOAP 1.1 and SOAP 1.2
-
13
Working with Pipelines in Oracle Service Bus Console
- 13.1 Introduction to the Oracle Service Bus Console Pipeline Designer
-
13.2
Viewing and Editing Pipelines in the Console
- 13.2.1 How to View and Edit Pipelines in the Console
- 13.2.2 How to Add Shared Variables to Pipelines in the Console
- 13.2.3 How to Add Pipeline Pairs to Pipelines
- 13.2.4 How to Add Conditional Branches to Pipelines in the Console
- 13.2.5 How to Add Operational Branches to Pipelines in the Console
- 13.2.6 How to Add REST Branches to Pipelines in the Console
- 13.2.7 How to Add Stages to Pipelines in the Console
- 13.2.8 How to Add Route Nodes to Pipelines in the Console
- 13.3 Cutting, Copying, and Pasting Stages and Route Nodes
- 13.4 Configuring the Resequencer in the Console
-
13.5
Creating Variable Structure Mappings
- 13.5.1 Sample WSDL Document
- 13.5.2 Creating the Resources You Need for the Examples
- 13.5.3 Example 1: Selecting a Predefined Variable Structure
- 13.5.4 Example 2: Mapping a Variable to a Type
- 13.5.5 Example 3: Mapping a Variable to an Element
- 13.5.6 Example 4: Mapping a Variable to a Child Element
- 13.5.7 Example 5: Mapping a Variable to a Business Service
- 13.5.8 Example 6: Mapping a Child Element to Another Child Element
-
14
Working with Pipeline Actions in Oracle Service Bus Console
- 14.1 Adding and Editing Pipeline Actions in the Console
- 14.2 Adding Publish Actions in the Console
- 14.3 Adding Publish Table Actions in the Console
- 14.4 Adding Dynamic Publish Actions in the Console
- 14.5 Adding Routing Options Actions in the Console
- 14.6 Adding Service Callout Actions in the Console
- 14.7 Adding Transport Header Actions in the Console
- 14.8 Adding Dynamic Routing to Route Nodes in the Console
- 14.9 Adding Routing Actions to Route Nodes in the Console
- 14.10 Adding Routing Tables to Route Nodes in the Console
- 14.11 Adding For-Each Actions in the Console
- 14.12 Adding If-Then Actions in the Console
- 14.13 Adding Raise Error Actions in the Console
- 14.14 Adding Reply Actions in the Console
- 14.15 Adding Resume Actions in the Console
- 14.16 Adding Skip Actions in the Console
- 14.17 Adding Assign Actions in the Console
- 14.18 Adding Delete Actions in the Console
- 14.19 Adding Insert Actions
- 14.20 Adding Java Callout Actions in the Console
- 14.21 Adding JavaScript Actions in the Console
- 14.22 Adding MFL Translate Actions in the Console
- 14.23 Adding nXSD Translate Actions
- 14.24 Adding Rename Actions in the Console
- 14.25 Adding Replace Actions in the Console
- 14.26 Adding Validate Actions in the Console
- 14.27 Adding Alert Actions in the Console
- 14.28 Adding Log Actions in the Console
- 14.29 Adding Report Actions in the Console
- 14.30 Adding Error Handlers in the Console
- 14.31 Disabling an Action or a Stage in the Console
-
15
Working With Expression Editors in Oracle Service Bus Console
- 15.1 Creating and Editing Inline XQuery and XPath Expressions
- 15.2 Understanding XQuery Editor Layouts and Tasks
- 15.3 Building Expressions in the Editor Workspace Text Fields
- 15.4 Creating Namespaces to Use in Inline Expressions
- 15.5 Creating Variable Structures in the XQuery Editors
- 15.6 Creating Custom XPath Functions in the XQuery Editors
- 15.7 Binding External XQuery Resources to Inline XQueries
- 15.8 Binding External XSLT Resources to Inline XQueries
- 15.9 Binding Dynamic XQuery Expressions to Inline XQueries
- 15.10 Binding Dynamic XSLT Expressions to Inline XQueries
- 15.11 Entering XQuery Comparison Expressions Using the Builder Option
- 15.12 Entering Unary Expressions Using the Builder Option
-
16
Working with Pipelines in Oracle JDeveloper
- 16.1 Adding a Pipeline Component in JDeveloper
- 16.2 Viewing and Editing Pipelines in JDeveloper
- 16.3 Adding Shared Variables to Pipelines in JDeveloper
- 16.4 Adding Pipeline Pair Nodes to Pipelines in JDeveloper
- 16.5 Adding Conditional Branches to Pipelines in JDeveloper
- 16.6 Adding Operational Branches to Pipelines in JDeveloper
- 16.7 Adding REST Branches to Pipelines in JDeveloper
- 16.8 Adding Stages to Pipelines in JDeveloper
- 16.9 Adding Route Nodes to Pipelines in JDeveloper
- 16.10 Cutting, Copying, and Pasting Stages and Route Nodes in JDeveloper
- 16.11 Adding and Searching for Pipeline Node Descriptions
- 16.12 Configuring the Resequencer in JDeveloper
-
17
Working with Pipeline Actions in Oracle JDeveloper
- 17.1 Adding and Editing Actions in Pipelines in JDeveloper
- 17.2 Adding Publish Actions in JDeveloper
- 17.3 Adding Publish Table Actions in JDeveloper
- 17.4 Adding Dynamic Publish Actions in JDeveloper
- 17.5 Adding Routing Options Actions in JDeveloper
- 17.6 Adding Service Callout Actions in JDeveloper
- 17.7 Adding Transport Header Actions in JDeveloper
- 17.8 Adding Dynamic Routing to Route Nodes in JDeveloper
- 17.9 Adding Routing Actions to Route Nodes in JDeveloper
- 17.10 Adding Routing Tables to Route Nodes in JDeveloper
- 17.11 Adding For Each Actions in JDeveloper
- 17.12 Adding If Then Actions in JDeveloper
- 17.13 Adding Raise Error Actions in JDeveloper
- 17.14 Adding Reply Actions in JDeveloper
- 17.15 Adding Resume Actions in JDeveloper
- 17.16 Adding Skip Actions in JDeveloper
- 17.17 Adding Assign Actions in JDeveloper
- 17.18 Adding Delete Actions in JDeveloper
- 17.19 Adding Insert Actions in JDeveloper
- 17.20 Adding Java Callout Actions in JDeveloper
- 17.21 Adding JavaScript Actions in JDeveloper
- 17.22 Adding MFL Translate Actions in JDeveloper
- 17.23 Adding nXSD Translate Actions in JDeveloper
- 17.24 Adding Rename Actions in JDeveloper
- 17.25 Adding Replace Actions in JDeveloper
- 17.26 Adding Validate Actions in JDeveloper
- 17.27 Adding Alert Actions in JDeveloper
- 17.28 Adding Log Actions in JDeveloper
- 17.29 Adding Report Actions in JDeveloper
- 17.30 Adding Error Handlers in JDeveloper
- 17.31 Disabling an Action or a Stage in JDeveloper
-
18
Working with Pipeline Templates
- 18.1 Adding a Pipeline Template
- 18.2 Editing a Pipeline Template
- 18.3 Adding Placeholder Blocks to a Pipeline Template Message Flow
- 18.4 Locking an Action in a Pipeline Template
- 18.5 Creating a Concrete Pipeline from a Pipeline Template
- 18.6 Editing the Message Flow for a Concrete Pipeline
- 18.7 Converting a Concrete Pipeline in to a Regular Pipeline
-
12
Modeling Message Flow in Oracle Service Bus
-
Part IV Transforming Data
-
19
Transforming Data with XQuery
- 19.1 Introduction to XQuery Transformations
- 19.2 XQuery Editors and Mappers
- 19.3 Creating XQuery Maps in JDeveloper
- 19.4 Testing Service Bus Projects Converted from XQuery 2004 to XQuery 1.0 in JDeveloper
- 19.5 Working with XQuery Resources in the Oracle Service Bus Console
-
19.6
Service Bus XQuery Functions
- 19.6.1 Supported Function Extensions from Oracle
- 19.6.2 Function Extensions from Service Bus
- 19.6.3 Creating and Using Custom XPath Functions
- 20 Transforming Data with XSLT
- 21 Mapping Data with Cross-References
- 22 Mapping Data with Domain Value Maps
-
23
Defining Data Structures with Message Format Language
- 23.1 Introduction to the Format Builder
- 23.2 Working with MFL Resources in the Oracle Service Bus Console
- 23.3 Creating the MFL Message Structure
- 23.4 Configuring the MFL Message Structure
- 23.5 Importing and Converting Metadata
- 23.6 Deleting MFL Resources
- 23.7 Testing Format Definitions
- 23.8 Using the Palette
- 23.9 Format Builder Supported Data Types
- 23.10 Format Builder Field Reference
- 24 Using Java Callouts and POJOs
-
19
Transforming Data with XQuery
-
Part V Working with JCA Adapters, Transports, and Bindings
-
25
Using the JCA Transport and JCA Adapters
-
25.1
Introduction to the JCA Transport
-
25.1.1
Supported JCA Adapters
- 25.1.1.1 AQ Adapter
- 25.1.1.2 Oracle BAM 11g Adapter
- 25.1.1.3 Coherence Adapter
- 25.1.1.4 Database Adapter
- 25.1.1.5 File Adapter
- 25.1.1.6 FTP Adapter
- 25.1.1.7 JDE World Adapter
- 25.1.1.8 JMS Adapter
- 25.1.1.9 LDAP Adapter
- 25.1.1.10 MQ Series Adapter
- 25.1.1.11 MSMQ Adapter
- 25.1.1.12 Oracle E-Business Suite Adapter
- 25.1.1.13 Salesforce Cloud Adapter
- 25.1.1.14 SAP Adapter
- 25.1.1.15 Socket Adapter
- 25.1.1.16 Third Party Adapter
- 25.1.1.17 User Messaging Service Adapter
- 25.1.2 Oracle JCA Adapter Limitations
- 25.1.3 JCA Adapter Framework
- 25.1.4 JCA Transport Messaging
- 25.1.5 Security for JCA Transports
- 25.1.6 Logging
- 25.1.7 JCA Transport Error Handling
- 25.1.8 URI Rewriting with JCA Transports
- 25.1.9 JCA Transport Message Encoding
- 25.1.10 Rejected Messages
-
25.1.1
Supported JCA Adapters
-
25.2
JCA Adapter Configuration Recommendations for Service Bus
- 25.2.1 Configuring the JCA Adapter Connections
- 25.2.2 Configuring JCA Adapters that Poll a Database
- 25.2.3 Configuring the Oracle JCA Adapter for Database
- 25.2.4 Configuring the Oracle JCA Adapter for AQ
- 25.2.5 Configuring the Oracle JCA Adapter for Coherence
- 25.2.6 Configuring the Salesforce Cloud Adapter
-
25.3
Working with JCA Binding Resources
- 25.3.1 How to Create a JCA Adapter in JDeveloper
- 25.3.2 How to Import JCA Adapters in the Oracle Service Bus Console
- 25.3.3 How to Create a JCA Binding Resource in the Oracle Service Bus Console
- 25.3.4 How to Edit JCA Binding Resources in the Console
- 25.3.5 How to Delete JCA Binding Resources
- 25.3.6 Using Custom JCA Adapters
- 25.4 Working with JavaScript Resources
- 25.5 JCA Transport Configuration Reference
-
25.1
Introduction to the JCA Transport
-
26
Creating REST Services with Oracle Service Bus
-
26.1
Oracle Service Bus and REST
- 26.1.1 REST Features in Service Bus
- 26.1.2 REST Implementation in Service Bus
- 26.1.3 Service Type Compatability of Native REST Services
- 26.1.4 Payloads Supported by Native REST Services
- 26.1.5 Response and Failure Codes for Native REST Services
- 26.1.6 Unhandled Errors and Native REST Services
- 26.1.7 REST Security
-
26.2
WADL Documents for REST Services in Service Bus
- 26.2.1 WADL Documents in the Design Time and Runtime
- 26.2.2 Media Type Representations Supported by Typed Native REST Services
- 26.2.3 Query Operations with WADL
- 26.2.4 Query and Template Parameters
- 26.2.5 Resource Method Identification
- 26.2.6 WADL Restrictions for WSDL-based REST Services
- 26.2.7 Effective WADL Documents
- 26.3 Creating WADL Documents
- 26.4 Modifying WADL Documents
-
26.5
Creating REST Services Using JDeveloper
- 26.5.1 Creating Native REST Services
- 26.5.2 How to Create WSDL-Based REST Services for Service Bus Using JDeveloper
- 26.5.3 How to Create Typed REST Services for Service Bus Using JDeveloper
- 26.5.4 How to Create or Configure a REST Operation in JDeveloper
- 26.5.5 How to Create or Configure a REST Method in JDeveloper
- 26.5.6 How to Expose an HTTP Proxy or Business Service as REST
- 26.5.7 What You May Need to Know About Configuring URI Parameters for REST
- 26.6 Accessing WADL Documents in a Web Browser
-
26.1
Oracle Service Bus and REST
- 27 Using the DSP Transport
-
28
Using the EJB Transport
- 28.1 Introduction to the EJB Transport
- 28.2 Prerequisites for Creating Services that Invoke EJBs
- 28.3 Invoking EJB Business Services
- 28.4 Exposing EJBs as Web Services
- 28.5 Advanced EJB Transport Topics
- 28.6 Troubleshooting EJB Transports
- 28.7 EJB Transport Configuration Reference
-
29
Using HTTP and Poller Transports
- 29.1 Introduction to Poller Transports
-
29.2
Using the HTTP Transport
- 29.2.1 HTTP Session Stickiness
- 29.2.2 Retrieving the HTTP Authorization Header in a Proxy Service
- 29.2.3 Compressed HTTP Request and Response Payload Support
- 29.2.4 HTTP Transport WS-RM Support
- 29.2.5 HTTP Transport Configuration Reference
- 29.2.6 REST Support
- 29.2.7 Response Codes and Error Handling for HTTP Business Services
- 29.2.8 Large Payload Rejection with the HTTP Transport
- 29.3 Using the Email Transport
- 29.4 Using the File Transport
- 29.5 Using the FTP Transport
-
29.6
Using the SFTP Transport
- 29.6.1 SFTP Transport Features
- 29.6.2 General Principles of SFTP Authentication
- 29.6.3 SFTP Transport Runtime Behavior
- 29.6.4 Enabling SFTP Authentication
- 29.6.5 About FIPS Compliance for the SFTP Transport
- 29.6.6 Handling SFTP Transport Communication Errors
- 29.6.7 Troubleshooting the SFTP Transport
- 29.6.8 Importing SFTP Transport Services
-
29.6.9
SFTP Transport Configuration Reference
- 29.6.9.1 SFTP Transport Endpoint URIs
- 29.6.9.2 Configuring Proxy Services to Use the SFTP Transport
- 29.6.9.3 Configuring Transport Headers in the Pipeline
- 29.6.9.4 Configuring Transports Headers and Metadata in the Test Console
- 29.6.9.5 Configuring Business Services to Use the SFTP Transport
- 29.6.9.6 SFTP Transport Environment Values
- 30 Using the JEJB Transport
-
31
Using the JMS Transport
- 31.1 Introduction to the JMS Transport
- 31.2 Using SOAP Over JMS Transport
- 31.3 Naming Guidelines for Domains, Servers, and URIs
- 31.4 JMS Client ID in Proxy Services
- 31.5 JMS Transport Error Handling
- 31.6 WSDL-Defined SOAP Fault Messages
- 31.7 Message ID and Correlation ID Patterns for JMS Request/Response
- 31.8 JMS Transport Configuration Reference
- 32 Using the Local Transport
-
33
Using the MQ Transport
-
33.1
Introduction to the MQ Transport
- 33.1.1 MQ Transport Features
- 33.1.2 MQ Transport Advantages
- 33.1.3 Messaging Patterns
- 33.1.4 MQ Connection Resources
- 33.1.5 Quality of Service
- 33.1.6 Multi-instance Queue Manager Support
- 33.1.7 MQ Clusters and the MQ Transport
- 33.1.8 Limitations of the MQ Transport
- 33.1.9 Large Payload Rejection with the MQ Transport
- 33.2 Setting Up the Environment for the MQ Transport
- 33.3 Working with MQ Connections
- 33.4 MQ Transport Error Handling
- 33.5 Using the WebSphere JMS MQ Interface
- 33.6 MQ Transport Configuration Reference
- 33.7 MQ Transport Headers
-
33.1
Introduction to the MQ Transport
-
34
Using the Oracle BPEL Process Manager Transport
- 34.1 Introduction to the BPEL Transport
- 34.2 BPEL Transport Simple Use Cases (Synchronous)
- 34.3 Advanced Use Cases (Asynchronous)
- 34.4 BPEL Transport Security
- 34.5 BPEL Transport Error Handling
- 34.6 WS-Addressing Reference
- 34.7 Examples of XML Messaging with the BPEL Transport
- 34.8 BPEL Transport Configuration Reference
- 35 Using the SB Transport
-
36
Using the SOA-DIRECT Transport
- 36.1 Introduction to the SOA-DIRECT Transport
- 36.2 Using SOA Suite Services with Service Bus
- 36.3 SOA-DIRECT Transport Configuration Reference
- 36.4 WS-Addressing Reference
- 36.5 XML Messaging Examples
- 37 Using the Tuxedo Transport
-
38
Using the WS Transport
- 38.1 Introduction to the WS Transport
- 38.2 Authentication and Authorization of Services
-
38.3
Using the WS Transport
- 38.3.1 Importing the WSDL Document into the Oracle Service Bus Console
- 38.3.2 Configuring WS Policies
- 38.3.3 Attaching WS Policies to a Service
- 38.3.4 Configuring an Error Queue
- 38.3.5 Routing the WS Transport Through an HTTP Proxy Server
- 38.3.6 WS Transport Error Handling
- 38.3.7 Importing and Exporting Resources
- 38.3.8 Importing and Publishing Services Using UDDI Registries
- 38.4 WS Transport Configuration Reference
-
25
Using the JCA Transport and JCA Adapters
-
Part VI Creating Custom Transport Providers
-
39
Learning About Custom Transport Providers
- 39.1 Introduction to Transport Providers
- 39.2 Introduction to the Transport SDK
- 39.3 Determining Whether to Develop a Custom Transport Provider
- 39.4 Transport Provider Components
- 39.5 The Transaction Model
- 39.6 Transport SDK Security Model
- 39.7 Transport SDK and the Threading Model
- 39.8 Designing for Message Content
-
40
Developing Custom Transport Providers
- 40.1 Development Road Map
- 40.2 Before You Begin
-
40.3
Basic Development Steps
- 40.3.1 Step1. Review the Transport Framework Components
- 40.3.2 Step 2. Create a Directory Structure for Your Transport Project
- 40.3.3 Step 3. Create an XML Schema File for Transport-Specific Artifacts
- 40.3.4 Step 4. Define Transport-Specific Artifacts
- 40.3.5 Step 5. Define the TransportProviderConfiguration XMLBean
- 40.3.6 Step 6. Implement the Transport Provider User Interface
- 40.3.7 Step 7. Implement the Runtime Interfaces
- 40.3.8 Step 8. Package and Deploy the Transport Provider
-
40.4
Important Development Topics
- 40.4.1 Handling Messages
- 40.4.2 Transforming Messages
- 40.4.3 Working with TransportOptions
- 40.4.4 Handling Errors
- 40.4.5 Defining Custom Environment Value Types
- 40.4.6 Publishing Proxy Services to a UDDI Registry
- 40.4.7 When to Implement TransportWLSArtifactDeployer
- 40.5 Creating Help for Custom Transports
- 41 Developing Custom Transport Providers for JDeveloper
- 42 Packaging and Deploying a Custom Transport Provider
- 43 Creating a Sample Socket Transport Provider
-
39
Learning About Custom Transport Providers
-
Part VII Sharing Artifacts and Services
-
44
Importing and Exporting Resources and Configurations
-
44.1
About Importing and Exporting Resources
- 44.1.1 About Exporting Resources
- 44.1.2 About Importing Resources
- 44.2 Importing and Exporting Resources in JDeveloper
- 44.3 Importing and Exporting Resources in the Oracle Service Bus Console
- 44.4 Exporting a Service Bus Configuration Offline
-
44.1
About Importing and Exporting Resources
-
45
Sharing Data Using the Metadata Services Repository
- 45.1 Service Bus and the MDS Repository
- 45.2 Managing the MDS Repository
- 45.3 Sharing Artifacts Using the MDS Repository
-
45.4
Consuming Artifacts Stored in the MDS Repository
- 45.4.1 How to Consume MDS Repository Artifacts Using the Resource Browser
- 45.4.2 How to Add MDS Repository Artifacts to a Service Bus Project
- 45.4.3 How to Create a Business Service from a WSDL File in the MDS Repository
- 45.4.4 How to Create a Business Service from a WADL File in the MDS Repository
- 45.4.5 How to Expose a WSDL File in the MDS Repository as a REST Service
- 45.4.6 Opening the Project Overview File Through a SOA-MDS Connection
-
46
Working with UDDI Registries
- 46.1 UDDI, UDDI Registries, and Web Services
- 46.2 Service Bus and UDDI
- 46.3 Keeping Services Synchronized
- 46.4 Related References
-
46.5
Working with UDDI Registry Resources
- 46.5.1 How to View UDDI Registry Resources in the Oracle Service Bus Console
- 46.5.2 How to Create UDDI Registry Resources
- 46.5.3 How to Create a UDDI Registry Resource from a JDeveloper UDDI Connection
- 46.5.4 How to Edit a UDDI Registry Resource
- 46.5.5 How to Specify a Default UDDI Registry Resource
- 46.5.6 How to Delete a UDDI Registry Resource
- 46.6 Sharing UDDI Registry Services in JDeveloper
- 46.7 Sharing UDDI Registry Services in the Oracle Service Bus Console
- 46.8 Sample Business Scenarios for Service Bus and UDDI
- 46.9 Mapping Service Bus Proxy Services to UDDI Entities
-
44
Importing and Exporting Resources and Configurations
-
Part VIII Security
-
47
Understanding Oracle Service Bus Security
- 47.1 Inbound Security
- 47.2 Outbound Security
- 47.3 Options for Identity Propagation
- 47.4 Administrative Security
- 47.5 Access Control Policies
- 47.6 Configuring the Oracle WebLogic Security Framework: Main Steps
-
47.7
Context Properties Are Passed to Security Providers
- 47.7.1 Context Properties for HTTP Transport-Level Authentication
- 47.7.2 ContextHandler Properties for Access Control and Custom Authentication
- 47.7.3 Additional Transport-Specific Context Properties
- 47.7.4 Administrator-Supplied Context Properties for Message-Level Authentication
- 47.7.5 Security Provider Must Have Knowledge of the Property Name
- 47.7.6 WebLogic Server Administrative Channel is Supported
- 47.8 Using Security Providers
-
48
Oracle Service Bus Security FAQ
- 48.1 How are Service Bus and WebLogic Server Security related?
- 48.2 What is Transport-Level Security?
- 48.3 What is Web Services Security?
- 48.4 What is Web Service Policy?
- 48.5 What are Web Service Policy assertions?
- 48.6 Are Access Control Policy and Web Service Policy the same?
- 48.7 What is Web Services Security Pass-Through?
- 48.8 What is a Web Services Security Active Intermediary?
- 48.9 What is outbound Web Services Security?
- 48.10 What is SAML?
- 48.11 Is it possible to customize the format of the subject identity in a SAML assertion?
- 48.12 What is the Certificate Lookup And Validation Framework?
- 48.13 Does Service Bus support identity propagation in a proxy service?
- 48.14 Is single sign-on supported in Service Bus?
- 48.15 Are security errors monitored?
- 48.16 Can I configure security for MBeans?
-
49
Securing Business and Proxy Services
- 49.1 Introduction to Policies
- 49.2 Security and Security Policies for Business and Proxy Services
-
49.3
Attaching and Configuring Policies in JDeveloper
- 49.3.1 How to Attach Oracle Web Services Manager Policies in JDeveloper
- 49.3.2 How to Define Override Values for a Policy in JDeveloper
- 49.3.3 How to Configure Custom Authentication for Proxy Services in JDeveloper
- 49.3.4 How to Specify a Service Key Provider for a Proxy Service in JDeveloper
- 49.3.5 How to Specify Web Services Policy Enforcement in JDeveloper
-
49.4
Attaching and Configuring Policies in the Oracle Service Bus Console
- 49.4.1 How to Attach Oracle Web Services Manager Policies in the Console
- 49.4.2 How to Define Override Values for a Policy in the Console
- 49.4.3 How to Configure Custom Authentication for a Proxy Service in the Console
- 49.4.4 How to Specify a Service Key Provider for a Proxy Service in the Console
- 49.4.5 How to Specify Web Services Policy Enforcement in the Console
- 49.5 Configuring Service Bus Client Access Security
- 49.6 Hiding Personally Identifiable Information in Messages
-
50
Configuring Message-Level Security for Web Services
- 50.1 About Message-Level Security
- 50.2 Message-Level Access Control Policies for Proxy Services
- 50.3 Configuring Proxy Service Message-Level Security
- 50.4 Configuring Business Service Message-Level Security: Main Steps
- 50.5 Using the Service Identity Certificate Extensions
-
50.6
Examples of Custom WS-Policy Statements
- 50.6.1 Example: Encrypting Part of the SOAP Body and Header
- 50.6.2 Example: Encryption Policy for a Business Service
- 50.6.3 Example: Encrypting a Custom SOAP Header
- 50.6.4 Example: Signing the Message Body and Headers
- 50.6.5 Example: Signing a SOAP Body with SAML Holder-of-Key
- 50.6.6 Example: Authenticating, Signing, and Encrypting with SAML Sender Vouches
- 50.7 Disabling Outbound WS-Security
-
51
Configuring Transport-Level Security
- 51.1 Configuring Transport-Level Security for HTTPS
- 51.2 Configuring Transport-Level Security for HTTP
- 51.3 Configuring Transport-Level Security for JMS
-
51.4
Configuring Transport-Level Security for SFTP Transport
- 51.4.1 How Two-Way Authentication is Performed
- 51.4.2 Use of the known_hosts File
- 51.4.3 SFTP Transport Authentication Process
- 51.4.4 Configuring Inbound SFTP Transport-Level Security: Main Steps
- 51.4.5 Configuring Outbound SFTP Transport-Level Security: Main Steps
- 51.4.6 SFTP Security Attributes Preserved During Import
- 51.4.7 SFTP Credential Life Cycle
- 51.5 Email, FTP, and File Transport-Level Security
- 51.6 Configuring Transport-Level Security for SB Transport
-
51.7
Configuring Transport-Level Security for WS Transport
- 51.7.1 Reliable Web Services Messaging Defined
- 51.7.2 WS Transport Resources Visible in WLS Console
- 51.7.3 Use of WS-Policy Files for Web Service Reliable Messaging Configuration
- 51.7.4 RM WS-Policy Required Prior to Activation
- 51.7.5 Async Responses
- 51.7.6 Proxy Service Authentication
- 51.7.7 Preserving Security Configuration on Import
- 51.7.8 Configuring Inbound and Outbound WS Transport-Level Security
- 51.8 Configuring Transport-Level Security for WebSphere Message Queue Transport
- 51.9 Transport-Level Security Elements in the Message Context
-
52
Securing Oracle Service Bus with Oracle Web Services Manager
- 52.1 About Oracle Web Services Manager Integration with Oracle Service Bus
-
52.2
Using Oracle Web Services Manager with Oracle Service Bus
- 52.2.1 Attaching Oracle Web Services Manager Policies to Oracle Service Bus Services
- 52.2.2 Configuring SAML
- 52.2.3 Advertising WSDL Files to Support WS Standards
- 52.2.4 Deployment Considerations
- 52.2.5 Auditing
- 52.2.6 Monitoring Statistics
-
52.2.7
Predefined Policies and Unsupported Assertions
- 52.2.7.1 Predefined Policies
- 52.2.7.2 wss_http_token_*_policy Guidelines
- 52.2.7.3 OWSM Authentication Policy Guidelines
- 52.2.7.4 OWSM Policies and SOAP with Attachments (SwA)
- 52.2.7.5 OWSM Policies and MTOM-Formatted Messages
- 52.2.7.6 WS-ReliableMessaging Support Using OWSM Policies
- 52.2.7.7 Unsupported Assertions
- 52.2.8 Custom Assertions
-
52.3
Securing Services with REST Endpoints Using OAuth
- 52.3.1 Supported OAuth Use Cases
-
52.3.2
Configuring Oracle Access Management for Using OAuth with Service Bus
-
52.3.2.1
Configuring the OAuth Server
- 52.3.2.1.1 Enabling OAuth for Oracle Access Management
- 52.3.2.1.2 Creating an Authorization REST Callback Plug-In Profile Using the IDM Console
- 52.3.2.1.3 Creating a Resource Server Profile Using the IDM OAuth Console
- 52.3.2.1.4 Creating an OAuth OWSM Client Profile
- 52.3.2.1.5 Updating the OAuth Server Profile Configuration
- 52.3.2.1.6 Importing and Exporting Certificates
- 52.3.2.2 Configuring OWSM
-
52.3.2.1
Configuring the OAuth Server
- 52.3.3 Attaching OAuth OWSM Policies to Service Bus Services
- 53 Securing Oracle Service Bus Proxy and Business Services with WS-Policy
-
54
Using SAML with Oracle Service Bus
- 54.1 Mapping Identity to a SAML Token
- 54.2 Configuring SAML Pass-Through Identity Propagation
- 54.3 Authenticating SAML Tokens in Proxy Service Requests
- 54.4 Configuring SAML Authentication with Service Bus (SB) Transport
- 54.5 Using SAML Identity Switching
- 54.6 Troubleshooting SAML with Oracle Service Bus
-
55
Configuring Custom Authentication
-
55.1
Introduction to Custom Authentication in Oracle Service Bus
- 55.1.1 Understanding Custom Authentication Tokens
- 55.1.2 Custom Authentication Token Use and Deployment
- 55.1.3 Understanding Transport-Level Custom Authentication
- 55.1.4 Understanding Message-Level Custom Authentication
- 55.1.5 Propagating the Identity Obtained From Custom Authentication Tokens
- 55.1.6 Combining WS-Security with Custom User Name/Password and Tokens
- 55.2 Format of XPath Expressions
- 55.3 Configuring Identity Assertion Providers for Custom Tokens
- 55.4 Configuring Custom Authentication Transport-Level Security
- 55.5 Configuring Message-Level Custom Authentication
-
55.1
Introduction to Custom Authentication in Oracle Service Bus
- 56 Defining Message-Level Security with .Net 2.0
-
47
Understanding Oracle Service Bus Security
-
Part IX Completing Oracle Service Bus Services
-
57
Debugging Oracle Service Bus Applications
- 57.1 Introduction to the Debugger
- 57.2 Configuring the Project and Debugger
- 57.3 Accessing the Debugger
- 57.4 Debugging a Service Bus Application
- 57.5 Working with the Debugger Windows
-
58
Using the Test Console
- 58.1 Introduction to the Test Console
- 58.2 Accessing the Test Console
- 58.3 Testing Proxy Services, Business Services, Pipelines, and Split-Joins
- 58.4 Testing MFL Transformations
- 58.5 Testing XSLT Transformations (Resources)
- 58.6 Testing XQuery Transformations (Resources)
- 58.7 Testing Inline Expressions
- 58.8 Testing Services With OWSM Security
- 58.9 About Security and Transports
- 58.10 Undeploying the Test Console
-
58.11
Test Console Page Reference for Services
- 58.11.1 Test Configuration Test Console Properties
- 58.11.2 Service Operation Test Console Properties
- 58.11.3 Request Document Test Console Properties
- 58.11.4 Security Test Console Properties
- 58.11.5 Authentication Test Console Properties
- 58.11.6 Transport Test Console Properties
- 58.11.7 Attachment Test Console Properties
-
59
Deploying Oracle Service Bus Services
- 59.1 Deployment Overview
- 59.2 Before You Deploy
- 59.3 Deploying from the Oracle Service Bus Console
-
59.4
Deploying Service Bus Applications or Projects in JDeveloper
- 59.4.1 How to Create a Connection to the WebLogic Server
- 59.4.2 How to Create a Deployment Profile
- 59.4.3 How to Customize Your Service Bus Deployment
- 59.4.4 How to Deploy a Service Bus Project or Application
- 59.4.5 How to Deploy a Project or Application Using the Previous Configuration
- 59.4.6 What Happens When You Deploy Using JDeveloper
- 59.5 Deploying a Service Bus Configuration JAR File in Fusion Middleware Control
- 59.6 Updating an Online Configuration
- 59.7 Updating an Online Configuration in a Cluster
-
60
Using the Oracle Service Bus Development Maven Plug-In
- 60.1 Introduction to the Oracle Service Bus Maven Plug-In
- 60.2 Installing and Configuring Maven
- 60.3 Using the Oracle Service Bus Development Maven Plug-In
- 60.4 Service Bus Development Maven Plug-In Goals
- 60.5 Oracle Service Bus Development Maven Plug-In POM File Samples
-
57
Debugging Oracle Service Bus Applications
-
Appendixes
-
A
Message Context
- A.1 The Message Context Model
- A.2 Predefined Context Variables
-
A.3
Message-Related Variables
- A.3.1 Header Variable
- A.3.2 Body Variable
- A.3.3 Attachments Variable
- A.3.4 Message Types and Context Variables
- A.3.5 Binary Content in the Body and Attachments Variables
- A.3.6 Java Content in the Body Variable
- A.3.7 Streaming Body Content
- A.3.8 Streaming Attachments
- A.3.9 XOP/MTOM Support
- A.3.10 Custom MIME Headers
- A.4 Inbound and Outbound Variables
- A.5 Operation Variable
- A.6 Fault Variable
- A.7 messageID Variable
- A.8 Initializing Context Variables
- A.9 Performing Operations on Context Variables
- A.10 Constructing Messages to Dispatch
- A.11 Message Context Schema
- A.12 Errors Schema
- B XPath Extension Functions
- C Oracle Service Bus APIs
- D Transport SDK Interfaces and Classes
- E Transport SDK UML Sequence Diagrams
- F XQuery-SQL Mapping Reference
- G Work Managers and Threading
-
A
Message Context