Skip Headers
Oracle® SOA Suite Developer's Guide
10
g
(10.1.3.1.0)
Part Number B28764-01
Home
Book List
Index
Master Index
Contact Us
Next
View PDF
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Getting Started With Oracle SOA Suite
1
Introduction to SOA and the Oracle SOA Suite
1.1
Overview of SOA and the Oracle SOA Suite
1.2
SOA Benefits
1.3
Using Oracle SOA Suite to Adopt SOA
1.3.1
Creating Services
1.3.2
Using an Enterprise Service Bus
1.3.3
Composing and Orchestrating Services
1.3.4
Automating Business Policies with Business Rules
1.3.5
Securing and Managing Services Using Oracle Web Services Manager
1.3.6
Deploying SOA Applications
1.3.7
Benefits of Oracle SOA Suite
2
The SOA Order Booking Application
2.1
Introduction to the SOA Order Booking Application
2.2
Installing the SOA Order Booking Demonstration Application
2.2.1
System Requirements
2.2.2
Application Installation Prerequisites
2.2.3
Installing the Database Schema
2.2.3.1
The SOA Order Booking Schema
2.2.4
Configuring the Container
2.2.5
Noting the Important Port Numbers
2.2.6
Creating Connections in Oracle JDeveloper
2.2.7
Deploying the Separate SOA Order Booking Applications
2.2.8
Configuring the ESB Port
2.3
An Overview of the SOA Order Booking Application
2.4
Working with the SOA Order Booking Application Code in Oracle JDeveloper
2.4.1
The SOADemo Application
2.4.1.1
The CreditService Project
2.4.1.2
The CustomerService Project
2.4.1.3
The FulfillmentESB Project
2.4.1.4
The OrderBookingESB Project
2.4.1.5
The RapidService Project
2.4.1.6
The SelectManufacturer Project
2.4.1.7
The SOAOrderBooking Project
2.4.2
The SOADemo-Client Application
2.4.2.1
The Assembly Project
2.4.2.2
The ClientModel Project
2.4.2.3
The CustomerService Project
2.4.2.4
The OrderService Project
2.4.2.5
The UserInterface Project
2.5
Taking a Closer Look at the SOA Order Booking Application
2.5.1
Registration Process
2.5.2
The Login Process
2.5.3
The Ordering Process
2.5.3.1
The Web Client
2.5.3.2
The OrderBookingESB Flow
2.5.3.3
SOAOrderBooking BPEL Flow
2.5.3.3.1
InsertOrderIntoDB Scope
2.5.3.3.2
CustomerService Scope
2.5.3.3.3
CreditService Scope
2.5.3.3.4
RequiresManualApproval Scope
2.5.3.3.5
RequiresApproval Switch
2.5.3.3.6
SelectSupplier Scope
2.5.3.3.7
PostFulfillmentReq Scope
2.5.3.3.8
SetFinalOrderStatus Scope
2.5.3.3.9
NotifyCustomer Scope
2.5.3.3.10
CallbackClient Activity
2.5.3.3.11
OrderBookingFault Scope
2.5.3.4
OrderFulfillmentESB Flow
2.5.4
Adding Security to the System
2.5.5
Monitoring the System
2.5.5.1
Oracle ESB Control
2.5.5.2
Oracle BPEL Control
2.5.5.3
Oracle Enterprise Manager Control Console
2.5.5.4
Oracle Web Services Manager Monitor
Part II Developing SOA Systems
3
Designing an SOA Application
3.1
Introduction to Designing an SOA Application
3.2
Defining the Project in the Project Scope
3.2.1
Creating a Service Portfolio Plan
3.2.2
Determining Business and System Objectives
3.2.3
Determining Business and Operational Requirements
3.2.4
Conducting a Discovery Phase
3.2.5
Defining the Project
3.2.6
Creating a Solution Specification
3.3
Designing the Project in the Application Scope
3.3.1
Designing a Process Flow
3.3.2
Designing Services
3.3.3
Creating a Physical Design
4
Building and Using Application Services
4.1
Introduction to Business Services
4.2
Creating JPA Entities that Map to Database Tables
4.2.1
What Happens When You Create JPA Entities From Database Tables
4.2.2
What You May Need to Know About Creating Entities From Tables
4.3
Configuring Persistence Units
4.3.1
How to Create a Persistence Unit
4.3.2
How to Edit a Persistence Unit
4.4
Implementing Services with EJB Session Beans
4.4.1
How to Create a Session Bean
4.4.1.1
Generating Session Facade Methods
4.4.1.2
Choosing a Package
4.4.1.3
Remote, Local and Web Service Interfaces
4.4.2
What Happens When You Create a Session Bean
4.4.3
What You May Need to Know When Creating a Session Bean
4.4.4
How to Update an Existing Session Bean With New Entities
4.4.5
How to Add New Methods to the Session Bean
4.5
Accessing Entities from a Session Bean
4.5.1
How to Use the Entity Manager to Access Entity Data
4.5.1.1
Injecting an EntityManager Instance
4.5.1.2
Java SE Service Client Using an EntityManagerFactory
4.5.1.3
Looking up the EntityManager Through JNDI
4.5.2
How to Create a Named Query
4.5.3
How to Expose Named Queries On the Session Facade
4.5.3.1
How to Change the Return Type of a Method That Returns a Single Value
4.6
Exposing a Session Bean as a Web Service
4.7
Exposing Services with ADF Data Controls
4.7.1
How to Create ADF Data Controls
4.7.2
Understanding the Data Control Files
4.7.2.1
About the DataControls.dcx File
4.7.2.2
About the Structure Definition Files
4.7.2.3
About the Entity XML Files
4.7.2.4
About the Design-time XML Files
4.7.3
Understanding the Data Control Palette
4.7.3.1
Overview of the Data Control Business Objects
4.7.3.2
Refreshing ADF Data Controls After Modifying Business Services
4.7.3.2.1
Viewing modified data controls in the Data Control Palette:
4.7.3.2.2
Refreshing a data control definition for business services you have modified
4.7.3.2.3
Removing a data control definition for business services that have been removed:
4.7.3.2.4
Updating a data control after renaming or moving a business services
4.8
Testing EJBs
4.8.1
Testing Entities Outside the Container with a Java Service Facade
4.8.1.1
Create a Persistence Unit that Runs Outside the Container
4.8.1.2
Create a Java Service Facade
4.8.1.3
Run the Java Service Facade
4.8.2
Testing Inside the EE Container Using the Embedded Server
4.8.2.1
Create a Sample Java Client
4.8.2.2
Run the Service and Client
4.9
Deploying EJB Applications
5
Building Web Services
5.1
Introduction to Web Services and SOA
5.1.1
Simple Object Access Protocol
5.1.2
Web Services Description Language
5.1.3
Universal Description, Discovery, and Integration
5.2
Creating Web Services in JDeveloper
5.2.1
How Java and Primitive Types Are Serialized to XML
5.2.2
Web Service Development Tools in JDeveloper
5.2.3
How to Create a Bottom-Up Web Services
5.2.3.1
JAX-RPC and Oracle SOAP web services
5.2.3.2
Creating and deploying web services
5.2.4
Web Services metadata, JSR-181
5.2.5
How to Create a Web Service from EJB 3.0
5.2.6
How to Create a Top-Down Web Service
5.2.7
Deploying Web Services from JDeveloper
5.3
Using Web Services in JDeveloper
5.3.1
How to Create a Web Service Proxy
5.3.2
What Happens When You Create a Web Service Proxy
5.3.3
How to Create a Data Control From a Web Service
5.3.4
What Happens When You Create and Use a Web Service Data Control
5.4
Debugging, Testing and Analyzing Web Services in JDeveloper
5.4.1
Debugging Web Services in JDeveloper
5.4.1.1
Locally Debugging a Web Service
5.4.1.2
Remotely Debugging a Web Service
5.4.2
Analyzing Web Services for Interoperability
5.4.3
Using the HTTP Analyzer
6
Using Oracle Enterprise Service Bus
6.1
Introduction to Oracle Enterprise Service Bus
6.2
Creating an Oracle Enterprise Service Bus Flow
6.2.1
What Happens When you Create an Oracle Enterprise Service Bus Flow
6.2.2
What You May Need to Know
6.3
Creating Oracle Enterprise Service Bus Projects
6.3.1
How to Create an ESB Project
6.3.2
What Happens When You Create an ESB Project
6.4
Creating Oracle Enterprise Service Bus Systems or Service Groups
6.4.1
How to Create an ESB System or Service Group
6.4.2
What Happens When You Create an ESB System or Service Group
6.5
Browsing for Deployed Services Using the Service Explorer Browser
6.5.1
How to Browse for Deployed Services
6.6
Adding Endpoint Properties for Adapter or SOAP Services
6.6.1
How to Add Endpoint Properties
6.7
Adding SOAP Services to Oracle Enterprise Service Bus
6.7.1
How to Add SOAP Services
6.7.2
How to Modify SOAP Services
6.7.3
How to Delete SOAP Services
6.7.4
What Happens When You Add SOAP Services
6.7.5
What Happens at Runtime
6.8
Adding Adapter Services to Oracle Enterprise Service Bus
6.8.1
How to Add Adapter Services
6.8.2
How to Modify Adapter Services
6.8.3
How to Delete Adapter Services
6.8.4
What Happens When You Add Adapter Services
6.8.5
What Happens at Runtime
6.9
Adding Routing Services to Oracle Enterprise Service Bus
6.9.1
How to Add Routing Services
6.9.1.1
How to Generate the WSDL for a Routing Service from an Existing XSD File
6.9.1.2
How to Generate the WSDL to Create a Routing Service Based on a Sample File
6.9.1.3
How to Select an Existing WSDL to Create a Routing Service
6.9.2
How to Modify Routing Services
6.9.3
How to Delete Routing Service
6.9.4
What Happens When You Add Routing Services
6.9.5
What Happens at Runtime
6.10
Specifying Routing Rules
6.10.1
How to Access Routing Rules
6.10.2
How to Specify Target Operations
6.10.3
How to Specify the ESB Systems From which Messages are Accepted
6.10.4
How to Specify Synchronous or Asynchronous Execution
6.10.5
How to Specify Routing Rules Priority
6.10.6
How to Create an XSL File for Data Structure Transformation
6.10.7
How to Add An Expression for Filtering Messages Based on Payload
6.10.8
What Happens When You Specify Routing Rules
6.10.9
What Happens at Runtime
6.11
Adding a Domain-Value Map to Oracle Enterprise Service Bus
6.11.1
How to Create a New Domain-Value Map
6.11.2
How to Export a Domain-Value Map
6.11.3
How to Import a Domain-Value Map
6.11.4
How to Use a Domain-Value Map in a Data Transformation Map
6.12
Registering ESB Projects and Services with the ESB Server
6.12.1
How to Register ESB Services with the ESB Server
6.13
Testing and Validating the Oracle Enterprise Service Bus Flow
6.13.1
How to Test ESB Services Using Oracle Enterprise Manager
6.13.2
What Happens When You Test Using Oracle Enterprise Manager
7
Using Oracle BPEL Process Manager
7.1
Introduction to Oracle BPEL Process Manager
7.2
Creating an Application and a BPEL Project
7.2.1
How to Create an Application
7.2.2
How to Create a BPEL Project
7.2.3
What Happens When You Create an Application and a BPEL Project
7.3
Invoking a Web Service
7.3.1
How to Invoke a Web Service
7.3.1.1
Creating a Partner Link
7.3.1.2
Creating a Scope Activity
7.3.1.3
Creating an Invoke Activity Inside a Scope Activity
7.3.1.4
Creating an Initial Assign Activity Inside a Scope Activity
7.3.1.5
Creating a Second Assign Activity Inside a Scope Activity
7.3.1.6
Creating a Receive Activity
7.3.2
What Happens When You Invoke a Web Service
7.4
Using an Assign Activity
7.4.1
How to Use an Assign Activity
7.4.2
What Happens When You Use an Assign Activity
7.5
Creating a Transformation
7.5.1
How to Create a Transformation
7.5.2
What Happens When You Create a Transformation
7.6
Communicating with a Database
7.6.1
How to Configure a Database Adapter
7.6.2
What Happens When You Configure a Database Adapter
7.7
Creating Conditional Branching Using a Switch Activity
7.7.1
How to Create Conditional Branching Using a Switch Activity
7.7.2
What Happens When You Create Conditional Branching Using a Switch Activity
7.8
Using Business Rules and a Decide Activity
7.8.1
How to Use the Decision Service Wizard to Create a Decision Service Partner Link
7.8.2
How to Create a Decide Activity
7.8.3
What Happens When You Use Business Rules and a Decide Activity
7.9
Creating a Parallel Flow
7.9.1
How to Create a Parallel Flow
7.9.2
What Happens When You Create a Parallel Flow
7.10
Handling Faults
7.10.1
How to Handle Faults
7.10.1.1
Handling Faults with a Catch or CatchAll Branch
7.10.1.2
Handling Faults with a Throw Activity
7.10.2
What Happens When You Handle Faults
7.11
Using Sensors for Monitoring
7.11.1
How to Use Sensors for Monitoring
7.11.2
What Happens When You Use Sensors
7.12
Creating a Human Workflow Task
7.12.1
How to Create a Human Workflow Task
7.12.2
What Happens When You Create a Human Workflow Task
7.12.3
How to Assign Input and Output Parameters for the Human Workflow Task
7.12.4
How to Generate a Task Display Form
7.12.5
What Happens When You Generate a Task Display Form
7.12.6
How to Log In to the Worklist Application
7.12.7
What Happens at Runtime
7.13
Creating an Email Notification
7.13.1
How to Create an Email Notification
7.13.1.1
Adding an Email Service to a BPEL Process
7.13.1.2
Using the Identity Lookup Dialog
7.13.1.3
Using the XPath Expression Builder
7.13.1.4
Configuring Email Accounts
7.13.2
What Happens When You Create an Email Notification
7.14
Compiling and Deploying a BPEL Process
7.14.1
How to Compile and Deploy a BPEL Process
7.14.2
What Happens When You Compile and Deploy a BPEL Process
7.14.3
What Happens at Runtime
8
Creating and Using Rules for a Decision Service
8.1
Introduction to Oracle Business Rules and Rule Author
8.1.1
What Are Business Rules?
8.1.2
Oracle Business Rules Terminology
8.1.3
Using Existing Rules and Facts
8.2
Creating a Rule Author User
8.2.1
How to Create a Rule Author User with Enterprise Manager
8.3
Using Rule Author
8.3.1
How to Start Rule Author
8.4
Creating and Saving a Dictionary with Rule Author
8.4.1
How to Set Up a File Repository
8.4.2
How to Set Up a WebDAV Repository
8.4.3
How to Create and Connect to a Repository
8.4.4
How to Create and Save a Rule Author Dictionary
8.4.5
What Happens When You Save a Dictionary
8.5
Importing an XML Schema into the Data Model with Rule Author
8.5.1
How to Import XML Schema into the Data Model
8.5.1.1
Performing XML Schema Processing
8.5.1.2
Importing XML Schema Elements into the Data Model
8.5.1.3
Saving the Dictionary
8.5.2
What Happens When You Import XML Schema into the Business Model
8.5.3
What You May Need to Know When You Import XML Schema
8.6
Defining a Variable in the Data Model with Rule Author
8.6.1
How to Define a Business Rules Variable in the Data Model
8.7
Creating Rules with Rule Author
8.7.1
How to Create a Rule Set
8.7.2
How to Create a Rule
8.7.2.1
Add a Pattern for the Rule
8.7.2.2
Define a Test for the Rule
8.7.2.3
Add an Action for a Rule
8.7.3
What Happens When You Define a Ruleset and Rules
8.7.4
What You May Need to Know When You Define a Ruleset and Rules
9
Developing a Web Application in an SOA System
9.1
Introduction to Developing a Web Application in an SOA System
9.1.1
View Layer Technologies Supported
9.1.2
Business Services Technologies Supported by ADF Model
9.1.3
Declarative Development with Oracle ADF and JavaServer Faces
9.1.3.1
Declarative Page Navigation with JSF
9.1.3.2
Declarative Data Binding with Oracle ADF Model Layer
9.1.4
Building a Web Application
9.2
Creating a Web Application Workspace
9.2.1
How to Create an Application Workspace
9.2.2
What Happens When You Use an Application Template to Create a Workspace
9.3
Creating a Web Page
9.3.1
How to Create a JSF Web Page
9.3.2
What Happens When You Create a JSF Web Page
9.3.3
What You May Need to Know About Using the JSF Navigation Diagram
9.4
Creating and Using a Backing Bean for a Web Page
9.4.1
How to Create and Configure a Backing Bean
9.4.2
What Happens When You Create and Configure a Backing Bean
9.4.3
How to Use the Automatic Component Binding Feature
9.4.4
What Happens When You Use Automatic Component Binding in JDeveloper
9.5
Displaying Collection and Detail Data Using ADF Data Binding
9.5.1
How to Create Navigation Between Pages
9.5.2
What Happens When You Create Navigation
9.5.3
What Happens at Runtime
9.5.4
What You May Need to Know About the Navigation Modeler
9.5.5
How to Create a Table to Display Collection Data on a Page
9.5.6
What Happens When You Add a Collection to a Page
9.5.7
What Happens at Runtime
9.5.8
How to Display Details on a Page
9.5.9
What Happens When You Display Detail Data
9.6
Collecting Data for Use by a Web Service
9.6.1
How to Create an Input Form Using a Web Service Data Control
9.6.2
What Happens When You Create an ADF Input Form
9.6.3
How to Invoke a Service Using a Backing Bean
9.6.4
What Happens When You Invoke a Service From a Web Page
9.7
Testing the Web Application
10
Securing the System
10.1
Introduction to Oracle Web Services Manager
10.2
Securing Web Services Using Oracle Web Services Manager
10.2.1
When to Use Agents or Gateways
10.2.2
How Oracle Web Services Manager Uses Policies
10.2.3
Security Architecture
10.3
Authenticating Users with an Oracle Web Services Manager Server Agent
10.3.1
How to Register a Server Agent
10.3.2
What Happens When You Register an Agent
10.3.3
How to Define the Policy Set for the Server Agent
10.3.4
What Happens When You Define the Policy Set for the Agent
10.3.5
How to Set Up a File with User Credentials
10.3.6
How to Install the Server Agent
10.3.7
How to Configure the Web Services Agent in Application Server Control
10.3.8
What Happens When You Configure the Web Services Agent in Application Server Control
10.3.9
How to Test the Authentication
10.3.10
What Happens at Runtime
10.3.11
How to Configure Oracle BPEL Process Manager to Send a Username Token
10.4
Encryption with an Oracle Web Services Manager Gateway
10.4.1
How to Register the Gateway
10.4.2
What Happens When You Register a Gateway
10.4.3
How to Locate the Service WSDL
10.4.4
How to Register the Web Service at the Gateway
10.4.5
How to Redirect Clients to the Gateway
10.4.6
How to Create the Certificate Keystore
10.4.7
What You May Need to Know About Certificate Keystores
10.4.8
How to Define Encryption and Decryption Policy Steps
10.4.9
How to Test Message Encryption
11
Deploying SOA Applications with Enterprise Manager
11.1
Introduction to Deploying SOA Applications with Oracle Enterprise Manager Application Server Control
11.2
Preparing for Deployment
11.2.1
How to Define Deployment Requirements
11.2.2
How to Configure Load Balancing Within a Cluster
11.2.2.1
OC4J Groups
11.2.2.2
Multiple JVMs
11.2.2.3
Application Clustering (State Replication)
11.2.3
How to Create Data Sources
11.2.4
How to Deploy and Configure Standalone Resource Adapters
11.3
Deploying the Application with Oracle Enterprise Manager Application Server Control
11.3.1
How to Deploy the Application
11.3.2
What Happens When You Deploy the Application
11.3.3
How to Deploy to OC4J Instances Within a Cluster
11.4
Performing Post-Deployment Tasks
11.4.1
How to Set Up Notifications
11.4.2
How to Redeploy the Application
11.4.2.1
What Happens When You Redeploy the Application
11.4.2.2
Impact of Redeploying a Parent Application
11.4.3
How to Undeploy the Application
11.4.3.1
What Happens When You Undeploy the Application
11.4.3.2
Impact of Undeploying a Parent Applications
11.4.4
Troubleshooting Deployment Errors
Part III Monitoring SOA Systems
12
Monitoring Oracle Enterprise Service Bus
12.1
Introduction to Monitoring with Oracle ESB Control
12.2
Components of Oracle ESB Control
12.2.1
How to Open the Oracle ESB Control
12.3
Using the Services View to Review and Update ESB Systems
12.3.1
How to View and Modify System Definitions
12.4
Using the Services View to Review and Update ESB Services
12.4.1
How to View and Modify Service Definitions
12.5
Using the Maps View to Define Domain-Value Maps
12.6
Using the Instances View to Monitor Message Instances
12.6.1
How to View All Message Instances
12.7
Searching for Message Instances
12.7.1
How to Search for Message Instances
12.8
Managing Message Instance Tracking
12.8.1
How to Enable and Disable Message Instance Tracking
12.8.2
How to Purge Message Instances
12.9
Defining Trackable Fields
12.9.1
How to Define Trackable Fields
12.9.2
How to Enable or Disable Trackable Fields
12.9.3
What Happens When You Define a Trackable Field
12.9.4
What Happens at Runtime
12.10
Viewing Log Files
12.10.1
How to View Log Files
12.11
Error Handling in Message Instance Processing
12.11.1
About Adapter Error Handling
12.11.2
How to Resubmit Messages on Errors
12.11.3
What Happens When You Resubmit Messages on Errors
13
Monitoring Oracle BPEL Process Manager
13.1
Introduction to Oracle BPEL Control
13.2
Components of Oracle BPEL Control
13.2.1
How to Log In to Oracle BPEL Control
13.3
Using the Dashboard Tab to Monitor Deployed, Running, and Completed Processes
13.3.1
How to Monitor Deployed, Running, and Completed Processes
13.4
Using the BPEL Processes Tab to Manage a Process Life Cycle
13.4.1
How to Manage a Process Life Cycle
13.4.2
How to Manage a Specific Process
13.5
Using the Instances Tab to Monitor Process Instances
13.5.1
How to Monitor Process Instances
13.6
Using the Activities Tab to Monitor Process Activities
13.7
Managing BPEL Domains
13.7.1
How to Create BPEL Domains
14
Monitoring Security
14.1
Introduction
14.2
Monitoring Security
14.2.1
The Oracle Web Services Manager Monitor
14.2.2
Execution Metrics
14.2.3
Security Statistics
14.2.4
Service Statistics
14.2.5
Alarms
14.2.6
Role Management
15
Monitoring SOA Applications with Enterprise Manager
15.1
Introduction to Monitoring the OC4J Environment
15.1.1
How to Monitor an OC4J Instance
15.1.2
How to Monitor the Cluster Topology
15.1.3
How to Monitor Deployed Applications
15.1.4
How to Monitor Web Modules and EJB Module Performance
15.1.5
How to Monitor JVM Metrics
15.1.5.1
Monitoring JVM Metrics in the Oracle Application Server Environment
15.1.5.2
Monitoring J2SE 5.0 JVM Metrics
15.2
Using the Adobe SVG Viewer to View Performance Charts
Index