Oracle SOA Best Practise Guide

See also: Guide Oracle BPEL Process Manager administrator for further details about the property wssePassword. Active. See also: Guide Oracle BPEL Process ….

More PDF Content

Contents:

  • Preface … xvii
  • Audience… xvii
  • Documentation Accessibility … xvii
  • Related Documents … xviii
  • Conventions … xix
  • Part I Oracle SOA Suite Components
  • 1 Oracle BPEL Process Manager
  • Threading… 1-1
  • What is the Relationship Between ReceiverThreads and dspMaxThreads? … 1-1
  • How Do dspMaxThreads and dspInvokeAllocFactor Throttle Requests?… 1-3
  • What are the Different Types and Responsibilities of MDBs in Oracle BPEL Server? … 1-4
  • Transactions … 1-4
  • What are the Transaction Boundaries in a Flow?… 1-4
  • How Do I Force a Rollback in a BPEL Flow? … 1-5
  • What is the Impact of the transaction=participate Property on BPEL Transactionality?… 1-6
  • Why Does the Instance of an Invoked Process Not Display in Oracle BPEL Control? … 1-8
  • Can I Receive a Transaction Timeout If Invoking a Synchronous Transient Process? … 1-9
  • How Do I Modify Transaction Timeout Settings for Oracle BPEL Server?… 1-9
  • What are the Transaction Semantics with Oracle ESB – Oracle BPEL Process Manager Calls
  • or Oracle BPEL Process Manager – Oracle ESB Calls? … 1-10
  • Behavior in 10.1.3.1.0 … 1-10
  • Behavior in 10.1.3.3.0 … 1-12
  • BPEL Process Configuration … 1-14
  • How Does syncMaxWaitTime Work and Why Do I Not See My Synchronous Requests Timing Out? … 1-14
  • How Does a Nonblocking Invoke Work?… 1-16
  • Recovery and High Availability … 1-18
  • How Does an Invoke Message and Activity Display in the Manual Recovery Page?… 1-18
  • How Do I Implement an Automated Recovery Mechanism (10.1.x)?… 1-20
  • How Does Oracle BPEL Server Handle a RAC Node Failover? … 1-21
  • Deployment… 1-21
  • How Do I Resolve a Process Lock Timeout Error? … 1-22
  • Scheduling and Activity Expiration … 1-24
  • How Does Oracle BPEL Server Use Quartz? … 1-24
  • How Do I Tune the Performance of Quartz? … 1-25
  • Why Does My Wait Activity and onAlarm Branch of a Pick Activity Not Expire? … 1-26
  • Performance … 1-27
  • Is Much Overhead Incurred when Calling a BPEL Subprocess? … 1-27
  • Flow Logic … 1-28
  • Which Error Conditions Cannot be Handled with a Fault Handler?… 1-28
  • Why Do I Receive Empty and Zero Node Selection Failure Faults? … 1-28
  • Fixing a Zero Node/Empty Node Selection Failure Fault … 1-29
  • Methodology … 1-30
  • Should I Implement a Daemon using Oracle BPEL Process Manager? … 1-30
  • How Do I Handle Large XML Documents within BPEL (10.1.3.3)?… 1-34
  • How Do I Model a Two Stage Real-Time Response Process and Continue Using Oracle BPEL Server Scalability? … 1-35
  • When Do I Use Embedded Java within BPEL?… 1-36
  • Java Embedding Example 1… 1-36
  • Java Embedding Example 2… 1-36
  • Deployment Descriptor Properties … 1-36
  • 2 Oracle Enterprise Service Bus
  • Third-Party Compatibility and Certifications … 2-1
  • Can Oracle ESB Run in a Third-Party J2EE Container (JBoss, WebSphere, WebLogic)? … 2-2
  • Can I Use a Third-Party JMS Provider (TIBCO, WebSphereMQ, SonicMQ) as the Internal Oracle ESB Transport?… 2-2
  • Can Oracle ESB Send to or Receive from a Third-party JMS Provider (TIBCO EMS, WebSphere JMS)? … 2-2
  • What Databases are Supported as a Storage Backend for the ESB Server? … 2-2
  • On Which Operating Systems Does Oracle ESB Run? … 2-2
  • How Can I Use an Oracle 10.1.2 Database Server on a Windows Client Workstation with Oracle ESB and Oracle SOA Suite?… 2-2
  • Can I Consume Oracle ESB Services from .NET Clients? … 2-3
  • Which Adapters are Available with Oracle ESB?… 2-3
  • How Do I Connect to a Protocol or Application for which Oracle Does Not Have an Adapter? … 2-3
  • Can You Create an ESB-to-ESB Bridge Across a Firewall? … 2-3
  • How Do I Call an Oracle ESB Routing Service from ADF? … 2-3
  • Can Oracle ESB Handle Inbound HTTP Posts?… 2-4
  • Does Oracle ESB Support WSIF and are Samples and Additional Information Available? … 2-4
  • Does Oracle ESB Support RPC Style SOAP Services? … 2-4
  • Core Functionality… 2-4
  • What Type of Transaction Support Does Oracle ESB Have?… 2-4
  • More Transaction Use Case Questions and Answers … 2-5
  • Is a Database Installation Required for Oracle ESB Only If You Do Not Use JMS/AQ? … 2-5
  • Does Oracle ESB Support Multipart Messages or Binary Attachments?… 2-6
  • Besides Being a Logical Grouping of ESB components, What Else Does an ESB System Provide?… 2-6
  • How Can I Send an E-mail Notification from Oracle ESB? … 2-6
  • If a Routing Service Has Two Asynchronous Services, What Happens If Both Fail?
  • Do One or Two Error Hospital Messages Get Generated? … 2-6
  • Does Oracle ESB Support a Management API like Oracle BPEL Process Manager Provides? … 2-7
  • Is Service Communication in the Same Java Container Optimized to Avoid the Overhead of TCP Connections and HTTP Request Formatting?… 2-7
  • What Are the Best Practices for Oracle ESB User Accounts And Roles? … 2-7
  • Does Oracle ESB Support Oracle BAM? … 2-7
  • How Do I Manage the Timeout Duration for a Synchronous Request-Response from a SOAP Invocation Service?… 2-7
  • What XML document Size Does Oracle ESB support?… 2-8
  • Does Oracle ESB Support Message Ordering? … 2-8
  • Does Oracle ESB Support the JCA Adapter rejectedMessageHandlers Property Like Oracle BPEL Process Manager? … 2-8
  • How Can I Set Up Oracle ESB for High Availability? … 2-8
  • Does Oracle ESB Support Filtering or Setting Message Headers?… 2-8
  • Can Oracle ESB Pass Security Credentials When Invoking an External Web Service? … 2-9
  • Can I Resubmit Multiple Error Instances at the Same Time? … 2-9
  • What Is the Oracle ESB Number of Listeners Feature? … 2-9
  • Can I Register an Oracle ESB Project from the Command Line with Ant Scripts? … 2-9
  • Can Automatic Retry Be Configured in the Following Scenario? … 2-9
  • Are There Known Issues with Oracle ESB WSDLs? … 2-10
  • How Can I Disable the Tracking Messages for One or More Services? … 2-10
  • What Is the Correct Way to Purge ESB Instance Data? … 2-10
  • How Can I Propagate the File Name from Input File Adapter to Output File Adapter Using JCA Headers?… 2-12
  • Does Oracle ESB Support an Inbound E-mail Adapter? … 2-12
  • Why are BPEL Processes Displayed in Oracle ESB Control? … 2-12
  • Should Every BPEL Process Display in Oracle ESB Control? … 2-12
  • Are There Known Issues with Synchronization of Oracle ESB Control? … 2-12
  • Can I Install the Oracle ESB and BPEL Components Without the Rest of Oracle SOA Suite? … 2-12
  • Is the reset.bat/reset.sh Script a Supported Command and Where Is It Documented? … 2-12
  • Environment Variables Sample … 2-13
  • How Do You Handle Multiple BPEL Versions When Using an ESB SOAP Service to Call BPEL from Oracle ESB? … 2-13
  • Oracle BPEL Process Manager WSDL Examples … 2-13
  • How Do I Override a WSIF Invocation of an Oracle BPEL Process Manager Service from an Oracle ESB Service and Set the Endpoint Property Location? … 2-13
  • Is There a Property for Pointing at Alternate Locations for a WSDL of a SOAP Service Endpoint? … 2-13
  • What Is the Separator for Different SOAP Endpoints When Configuring the Location Endpoint Property?… 2-14
  • Does Oracle ESB Support Functionality Similar to Oracle BPEL Process Manager Dynamic Partner Links?… 2-14
  • Can You Guarantee Once-and-Once-Only Processing in Oracle ESB Assuming the Failure of the Processing Node?… 2-14
  • Can I Use Custom XPath Functions in Oracle ESB?… 2-14
  • What Is Error Hospital and Do You Have to Set It Up?… 2-15
  • Does Oracle ESB Support Messages with No Namespace Prefix? … 2-15
  • How Can I Get an Instance ID for Oracle ESB? … 2-15
  • Can I Invoke a BPEL Process Locally (Using Local EJB References Instead of RMI) from
  • Oracle ESB in 10.1.3.3? … 2-16
  • What Can I Do with Oracle ESB that I Cannot Do with Oracle BPEL Process Manager?… 2-17
  • Performance … 2-17
  • How Fast Is Oracle ESB? … 2-17
  • Are There Any Recommendations to Follow to Maximize Oracle ESB Performance? … 2-18
  • General Performance Recommendations… 2-18
  • Web Services SOAP/HTTP… 2-18
  • OC4J JMS… 2-18
  • JMS Adapter … 2-18
  • OC4J AS JMS Provider for File Persistence and In-Memory… 2-19
  • Oracle ESB Sizing Questions … 2-19
  • Use Case 1 … 2-19
  • Questions … 2-20
  • Response … 2-20
  • Use Case 2 … 2-20
  • Response … 2-21
  • Project Lifecycle … 2-21
  • Can I Retire Oracle ESB Projects Like in Oracle BPEL Process Manager?… 2-21
  • Does Oracle ESB Support Versioning of Services Like Oracle BPEL Process Manager? … 2-21
  • Troubleshooting … 2-21
  • Basic information to Provide When Reporting A Problem… 2-22
  • ORA-00018: maximum number of sessions exceeded (Oracle XE Running Out Of Processes) … 2-23
  • Helpful Troubleshooting Tools – Web Services … 2-23
  • How Can I Enable End-to-End Instance Tracking between Oracle ESB and Oracle BPEL Process Manager in the OrderBooking Demonstration?… 2-24
  • I Cannot Register Projects or Connect to Oracle ESB Control — How Do I Check that the Server is Running and On Which Port?… 2-24
  • Ensure the Container is Running… 2-24
  • Test that Oracle ESB Control is Functional … 2-24
  • Test Other Projects … 2-24
  • Identify the Port on Which the Oracle ESB Process is Listening … 2-25
  • I See Inconsistent Data in Oracle ESB Control and the DefaultSystem Group is Missing (How to Reset Your Slide/webDAV Cache)… 2-25
  • Why Does Oracle ESB Control Not Display Services in the Services Panel or Instance Tracking Information?… 2-26
  • I Recreated the oraesb Schema and Now the DefaultSystem is Missing. How Do I Create It? … 2-27
  • What Logging Facilities are Available for Oracle ESB in an Application Server Installation?…2-27
  • How Do I Fix the Registration Error system and service group that the project was using was already present in the server?… 2-27
  • Why Am I Getting Error IOException … access error … Database is set to dirty, this may mean it is corrupt?… 2-28
  • Installation … 2-28
  • How Do I Change Oracle ESB Schema Creation (IRCA Utility) to Use My Own Tablespace? … 2-28
  • Transaction Semantics In Oracle ESB… 2-29
  • Same System — All Asynchronous … 2-29
  • Same System — All Synchronous… 2-29
  • Same System — Synchronous and Asynchronous … 2-29
  • Multisystem — All Asynchronous (Systems A and B)… 2-29
  • Multisystem — All Synchronous… 2-30
  • Multisystem — Both Synchronous and Asynchronous … 2-30
  • Oracle BPEL Process Manager — Oracle ESB Pattern… 2-30
  • Synchronous BPEL Process Calling Synchronous Oracle ESB Routing (Oracle ESB Native Binding) … 2-30
  • Synchronous BPEL Process Calling Synchronous Oracle ESB Routing (SOAP Binding) … 2-31
  • Asynchronous BPEL Process Calling Asynchronous Oracle ESB Routing (Oracle ESB Native /SOAP binding) … 2-31
  • Adapters and Transactional Behavior… 2-31
  • Transactional Behavior Configuration… 2-31
  • Nontransactional Behavior Configuration… 2-32
  • Use Case for Using Pure SQL with Dynamic Routing in Oracle ESB … 2-32
  • Setting Up the Use Case for Using Pure SQL with Dynamic Routing in Oracle ESB… 2-33
  • Setting Up the Database … 2-33
  • Setting Up the Data Sources … 2-34
  • Setting Up the Database Adapter … 2-37
  • Modeling the Use Case with ESB Designer… 2-40
  • Creating the Routing Service… 2-43
  • Deploying the Use Case … 2-46
  • Testing the Use Case… 2-47
  • 3 Oracle Technology Adapters
  • Release 10.1.3.3 Enhancements … 3-1
  • Installation Issues … 3-1
  • Adapters are Not Getting Installed … 3-2
  • AQ Adapter … 3-2
  • Can I Deploy and Run an AQ Adapter Process Using a Different Schema from the Design Time Schema? … 3-2
  • Database Adapter … 3-2
  • XA Configuration – Two Database Adapter Invokes Committing or Rolling Back as a Unit 3-3
  • Configuring the Database Adapter for Global Transaction Participation… 3-3
  • True XA: Two-Phase (XA) Versus One-Phase (Emulated) Commit … 3-3
  • Both Invokes in the Same Global Transaction … 3-4
  • Failure Must Cause a Rollback… 3-4
  • Related Questions … 3-4
  • Can I Guarantee that Both Invokes Use the Same SQL Connection? … 3-5
  • Does a Scope Form a Transaction Boundary? … 3-5
  • Why Does No Instance Appear in Oracle BPEL Control Upon Failure After I
  • Configured the Process for XA? … 3-5
  • How Do You Configure the Transaction participate Property? … 3-5
  • How Do You Throw a Rollback Fault in BPEL? … 3-5
  • How Do I Learn More about XA? … 3-5
  • How Do I Make a Database Adapter Receive (Polling) and Invoke Part of the Same XA Transaction?… 3-5
  • Database Adapter Cannot Survive Database Restarts … 3-6
  • Inbound Polling Gets Stuck and Cannot Close Connection Exceptions… 3-6
  • Not Automatically Retrying Invokes After Remote Faults … 3-6
  • Exception Misclassification … 3-8
  • Missing Instances or Instances Accessible from the Perform Manual Recovery Option. 3-8
  • Explicit Schema Name References Causing Problems … 3-9
  • Missing Query By Example Support in 10.1.3 … 3-9
  • Foreign Key and Primary Key Constraints with 1-1 & M-M Master-Detail Scenarios … 3-10
  • The Delete Polling Strategy Cannot Effectively Be Used… 3-10
  • Primary Key Constraints With Merge … 3-11
  • Configuring Private Ownership … 3-11
  • Printing Thread on Log Messages … 3-12
  • Database Adapter Tuning Documentation … 3-12
  • Troubleshooting … 3-12
  • Find the Root Exception… 3-12
  • What Exception Do I Look For?… 3-13
  • Finding Out What Is Occurring … 3-13
  • DB2 Issue: Journaling Disabled… 3-13
  • Iterating through the Rows Returned by the Database Adapter … 3-14
  • File Adapter … 3-16
  • Is There Still a 7 MB File Size Limit for the File Adapter? … 3-16
  • Can the File Adapter Be Used to Access Windows Network Folders?… 3-16
  • How Do I Append to an Existing File with the File Adapter? … 3-17
  • How Do I Read the File Name of the Generated File from a Write Operation in BPEL? … 3-17
  • How Do I Control the Size of a Rejected Message in the File Adapter? … 3-17
  • Does the File Adapter Support the Debatching of Large XML files? … 3-17
  • Messages Are Lost When Using Time-Pattern in the Outbound Partner Link File Name Because Messages Created with the Same Timestamp Overwrite One Another … 3-18
  • Can I Be Notified When the File Adapter is Done Debatching a File?… 3-18
  • How Do I Set Up the File Adapter in a High Availability Environment? … 3-19
  • How Do I Configure the Number of Threads for the File Adapter? … 3-19
  • How Do I Guarantee the Ordering of Messages Processed by the File Adapter and BPEL 3-19
  • FTP Adapter … 3-21
  • Will All File Adapter Features Work with the FTP Adapter? … 3-21
  • Does the FTP Adapter Support the ACTIVE Mode of Connections? … 3-21
  • How Can I Set Up the FTP Adapter to Use Connection Pooling? … 3-21
  • Can I Have an FTP Adapter Partner Link for an Invoke Operation to Retry If
  • Connection-Related Errors Exist? … 3-21
  • JMS Adapter … 3-22
  • How Do I Create a JMS Dequeue Operation in a Global Transaction?… 3-22
  • XA Configuration … 3-22
  • Configuring JMS Adapter for Global Transaction Participation … 3-22
  • Both Invokes in the Same Global Transaction … 3-23
  • Failure Must Cause Rollback… 3-23
  • How Do You Configure Transaction Participation?… 3-23
  • Related Questions … 3-24
  • Why Do I Receive a \’CCI Local Transaction COMMIT failed\’ Error When Using XA?… 3-24
  • Does the JMS Adapter Work with the WebLogic JMS Provider? … 3-25
  • WebLogic JMS (For All Tested Versions) … 3-25
  • WebLogic 9.x JMS Specific Configuration… 3-26
  • Adapter Framework … 3-26
  • Changing Inbound Adapter Parameters at Runtime… 3-27
  • How Do I Throttle Inbound Message Flow? … 3-27
  • Adapter Clustering — JGroups Configuration … 3-28
  • Inbound Message Flow Multiplexing (Server Distribution) … 3-29
  • Scheduling Endpoint Activation… 3-29
  • Tuning JCA Connection Cache … 3-30
  • Adapter SDK … 3-31
  • Rejection Handlers … 3-32
  • File System-Based Rejection Handler … 3-32
  • RAW Oracle Advanced Queue-Based Rejection Handler … 3-32
  • BPEL Process Rejection Handler … 3-32
  • WSIF-Based Rejection Handler… 3-33
  • Adapter Fatal Error Failover BPEL Process … 3-33
  • Dynamic BPEL Process Routing Support by the Adapter Framework … 3-34
  • Motivation… 3-34
  • Example Configuration 1… 3-34
  • Example Configuration 2… 3-35
  • Enabling Debug Logging for Detailed Troubleshooting… 3-37
  • 4 Oracle BPM Human Workflow
  • Using the Workflow Services API Reference … 4-1
  • Configuring the Workflow Services API Reference… 4-1
  • Java Interface that Exposes the Methods to Get the Task List, Task Details, and Update Outcomes… 4-2
  • Implementation and Usage in main() Method … 4-3
  • Task Utility that Prints Payload Contents … 4-6
  • Workflow Modeling … 4-7
  • Routing … 4-7
  • Chaining … 4-8
  • Callbacks… 4-8
  • Escalations… 4-9
  • Notifications… 4-9
  • Resource Bundles … 4-9
  • Attachments … 4-10
  • 5 Oracle B2B
  • E-Commerce … 5-1
  • Vision … 5-1
  • Misconceptions… 5-2
  • Concepts: Components… 5-2
  • Concepts: Acknowledgments Types … 5-2
  • Oracle B2B … 5-3
  • How Does Oracle B2B Fit into Oracle SOA Suite? … 5-3
  • Typical Topology … 5-4
  • Use Case: Outbound Purchase Order … 5-4
  • Interoperability … 5-6
  • Routing ID/Consumer … 5-6
  • IP_MESSAGE_TYPE… 5-6
  • Adapter Service … 5-7
  • Vertical Required Data … 5-7
  • Errors Diagnostics … 5-8
  • Trading Partner Identification… 5-8
  • Typical Oracle B2B Errors … 5-9
  • Inbound Direction… 5-9
  • Outbound Direction… 5-9
  • General Check List … 5-10
  • Oracle Technology Network Documentation… 5-10
  • Typical Errors … 5-11
  • 6 Oracle Business Activity Monitoring
  • How Do I Configure Oracle BAM with the AQ Adapter? … 6-2
  • How Do I Configure Oracle BAM with IBM WebSphere MQ Messages? … 6-2
  • How Do I Configure Oracle BAM with OC4J Version 10.1.3? … 6-2
  • How Do I Design BPEL Process Sensors to Send Events to Oracle BAM?… 6-3
  • How Do I Design BPEL Process Sensors for Oracle BAM Sensor Actions?… 6-3
  • How Do I Design and Use BPEL JMS Sensors to Publish Events to Oracle BAM?… 6-3
  • How Do I Configure Oracle BAM to Read Data from External Data Sources? … 6-4
  • How Do I Read External Tables into Oracle BAM Using Enterprise Link Plans? … 6-4
  • How Do I Configure Oracle Enterprise Manager with Oracle BAM?… 6-4
  • How Do I Beautify Reports with Good Color Schemes? … 6-5
  • How Do I Build a Simple Report? … 6-5
  • How Do I Create a Custom HTML Body in a Report for Custom Display?… 6-5
  • What are the Oracle BAM View Types?… 6-5
  • How Do I Design a Report Showing the Ratio of Two Aggregated Values?… 6-5
  • How Do I Design Predictive Alerts? … 6-6
  • How Do I Call External Web Services through Oracle BAM?… 6-6
  • How Do I Call External URLs? … 6-6
  • How Do I Collect and Parse Incoming Data? … 6-6
  • How Do I Configure a Plan to Run Continuously?… 6-7
  • What are the Deployment Recommendations? … 6-7
  • How Do I Configure Oracle BAM for LDAP Authentication and Authorization?… 6-7
  • How Do I Migrate Oracle BAM to Different Environments?… 6-7
  • What are the Best Practices for Oracle BAM Repository Maintenance? … 6-8
  • How Do I Use Oracle BAM without Enterprise Link? … 6-8
  • 7 Oracle Data Integrator
  • Repositories … 7-1
  • Number of Database Schemas for the Repositories … 7-1
  • ID of the Work Repository… 7-2
  • Name of the Work Repository… 7-2
  • Number of Work Repositories … 7-2
  • Types of Repositories (Development versus Execution)… 7-2
  • Promotion from Development to QA and from QA to Production … 7-2
  • Database to Use for the Repositories… 7-3
  • Remote Connectivity to the Repositories from the Graphical User Interface … 7-3
  • Agents … 7-3
  • Parameters for the Agent … 7-3
  • Starting the Agent … 7-4
  • Agent Location … 7-4
  • Sizing for the Agent … 7-4
  • Agent Overload … 7-4
  • Agent Connectivity to the Repository… 7-4
  • JDBC Drivers … 7-5
  • Version of the JDBC Drivers… 7-5
  • JDBC Driver Types… 7-5
  • Topology … 7-5
  • Definition of the Data Servers … 7-6
  • Connectivity to the Databases… 7-6
  • User Name to Connect to a Database… 7-6
  • Default Schemas… 7-6
  • Creation of a New Technology … 7-6
  • Test Agent Connectivity… 7-7
  • Designer … 7-7
  • Markers… 7-7
  • Database Sequence Versus ODI Sequence … 7-7
  • Metadata Project… 7-8
  • Modification of the Knowledge Modules… 7-8
  • Choosing the Appropriate Knowledge Module… 7-8
  • Hardcoded Table Names … 7-8
  • Documentation … 7-9
  • Complex and Reusable Transformations … 7-9
  • Number of Interfaces Per Folder… 7-9
  • Name of the Interfaces… 7-9
  • XML or JMS/XML Synchronization … 7-9
  • Commit Multiple Interfaces Only If the Last One Is Successful … 7-10
  • Variables in a Package … 7-10
  • Contexts in the Interfaces, Knowledge Modules, and Procedures … 7-10
  • Operator … 7-10
  • Logs Purge… 7-10
  • Operations … 7-11
  • ODI Version Migrations… 7-11
  • Real-Time Scenarios: Definition of a Looping Process … 7-11
  • 8 Oracle SOA Suite Security
  • Integrating with External LDAP Providers … 8-1
  • Part II Oracle SOA Suite Performance
  • 9 Best Practices for a JMS-to-Database Scenario
  • Overview… 9-1
  • Requirements … 9-2
  • Functional Requirements … 9-2
  • Performance Requirements … 9-2
  • Functional Design … 9-2
  • Description … 9-3
  • Process Map … 9-3
  • Activity Map … 9-5
  • Pseudocode … 9-5
  • Performance Configurations… 9-6
  • Architecture… 9-6
  • Optimize the Enqueue Application (Data Pump) … 9-8
  • Objectives … 9-9
  • Best Practices … 9-9
  • Optimize the Inbound Queue … 9-9
  • Objectives … 9-9
  • Best Practices … 9-10
  • Optimize the JMS Providers … 9-11
  • Objectives … 9-12
  • Best Practices … 9-12
  • Optimize the Inbound JMS Adapter … 9-13
  • Objectives … 9-13
  • Best Practices … 9-13
  • Optimize the BPEL Process … 9-16
  • Objectives … 9-16
  • Best Practices … 9-16
  • Optimize Oracle BPEL Server and OC4J … 9-18
  • Objective… 9-18
  • Best Practices … 9-18
  • Optimize the Outbound Layer… 9-19
  • Objectives … 9-19
  • Best Practices … 9-19
  • Create the BPEL Cluster… 9-20
  • Objectives … 9-20
  • Best Practices … 9-20
  • Other Recommendations … 9-21
  • xiii
  • Test Maximum Inbound Queue Throughput with Java Programs … 9-21
  • Test Maximum Oracle BPEL Process Manager and Adapter Throughput with a Preloaded Queue … 9-21
  • Performance Tuning… 9-22
  • Final Numbers … 9-22
  • Measurement … 9-22
  • Throughput by Orders … 9-22
  • Throughput by BPEL Instances … 9-22
  • Performance Values by Configurations… 9-23
  • 10 Oracle BPEL Process Manager Performance
  • Performance Concepts and Terminology … 10-1
  • Breakpoint Activities … 10-2
  • Idempotent Activities … 10-2
  • Durable Versus Transient Processes … 10-2
  • One-Way Invocation Versus Two-way Invocation (Synchronous And Asynchronous Processes) … 10-2
  • Dehydration … 10-3
  • Delivery Service… 10-4
  • Threads and Transactions … 10-5
  • Threading and Transactions for an Asynchronous Durable Process… 10-5
  • Threading and Transactions for a Synchronous Transient Process … 10-6
  • Relationship Among Some Performance Settings… 10-7
  • Using the File Adapter to Process Large File Sizes… 10-7
  • Overview … 10-8
  • Use Case and Requirements … 10-8
  • Initial Design and Problems … 10-8
  • Diagnosis … 10-9
  • Best Practices… 10-9
  • Debatch the Incoming File with a Proper Native Schema … 10-9
  • Structure of the Inbound Data File… 10-9
  • Define the Native Schema File… 10-10
  • Sample XML Message … 10-11
  • Set the Message Publish Size to a Proper Value… 10-14
  • Avoid Unnecessary Updates of Large Size Payloads… 10-14
  • Final Numbers … 10-15
  • Configuring Your Environment to Optimally Process Large Payloads … 10-15
  • Functional Requirements … 10-15
  • Performance Configuration … 10-15
  • Optimize the Message Sending Application… 10-15
  • Optimize the BPEL Server … 10-15
  • Create a BPEL Cluster … 10-17
  • Optimize the BPEL Process … 10-17
  • Objectives … 10-17
  • Best Practices … 10-17
  • Optimize the Dehydration Store Database … 10-18
  • Objectives … 10-18
  • Best Practices … 10-18
  • Benchmark and Architecture … 10-19
  • What is a Typical Throughput (Transaction Rate) for Oracle BPEL Server? … 10-19
  • What is the Maximum Number of Activities in a BPEL Process?… 10-19
  • Is Oracle BPEL Process Manager Designed to Support Synchronous Processes?… 10-19
  • Clustering, Load Balancing, Failover, and Recovery … 10-19
  • Do I Use Oracle Application Server Clustering or Oracle BPEL Process Manager Clustering? … 10-20
  • How Does a Oracle BPEL Process Manager Cluster Work with DCM/OPMN?… 10-20
  • I Have Problems Clustering Oracle BPEL Process Manager on Top of an Oracle Application Server Cluster … 10-20
  • Can I Cluster an Oracle BPEL Process Manager Process to Two Domains of the Same Oracle BPEL Server, Instead of Two Oracle BPEL Servers?… 10-20
  • Can I Add New Nodes to Oracle BPEL Process Manager Clustering without Shutting Down the Dehydration Database and other Oracle BPEL Process Manager Nodes? … 10-20
  • Must I Trade Performance with Reliability? … 10-21
  • When a BPEL Node Crashes, How Do the Other Nodes Get the Instance and Continue . 10-21
  • How Do I Perform a Manual Recovery?… 10-21
  • Where Do Incoming Messages That Do Not Invoke BPEL Processes or Display in Oracle BPEL Control Go?… 10-22
  • What Causes the Asynchronous Invoke or Callback Messages to Permanently Remain at
  • the Recovery page of Oracle BPEL Control?… 10-22
  • Do Synchronous Messages Display in the Recovery Page?… 10-23
  • Stability and Memory… 10-23
  • What Causes an Out-of-Memory Error?… 10-23
  • Performance Tuning … 10-23
  • Is a Dehydrated BPEL Process Instance Using Oracle BPEL Process Manager Resources? … 10-24
  • Do Synchronous Processes Dehydrate?… 10-24
  • Can I Improve Asynchronous Process Performance by Disabling Dehydration? … 10-24
  • Does Disabling completetionPersistPolicy Cause Out-Of-Memory Errors Because Everything Remains in Memory Instead of Being Dehydrated? … 10-24
  • Transactions Related… 10-24
  • If Top Level Processes Invoke Second Level Subprocesses, Can the Main Process Propagate a JTA Transaction Context to the Subprocesses?… 10-24
  • Dehydration Store Management… 10-25
  • The Dehydration Database is Running Out of Tablespace. Is it Safe to Clean Up the Dehydration Store? … 10-25
  • How to I Clean Up the Dehydration Store? … 10-25
  • What Should I Do If I Receive Error ORA-01691 in the domain.log File? … 10-25
  • What Should I Do If I Receive Error ORA-05002 in the domain.log File? … 10-25
  • Load Throttling… 10-26
  • How Do I Throttle the Load in BPEL Processes? … 10-26
  • 11 Oracle Human Workflow Performance
  • Minimizing Client Response Time… 11-1
  • Choose the Right Workflow Service Client… 11-1
  • Narrow Qualifying Tasks Using Precise Filters … 11-2
  • Retrieve Subset of Qualifying Tasks (Paging)… 11-2
  • Fetch Only the Information That Is Needed for a Qualifying Task… 11-3
  • Reduce the Number of Return Query Columns… 11-3
  • Tune the Identity Provider … 11-4
  • Tune the Database… 11-4
  • Improving Server Performance … 11-4
  • Archive Completed Instances Periodically … 11-5
  • Use Java Callbacks Instead of BPEL Callbacks… 11-5
  • Suppress Logging and Debugging Messages … 11-5
  • Minimize Notification Overhead… 11-6
  • Cluster Nodes … 11-6
  • Completing Workflows Faster … 11-6
  • Use Workflow Reports to Monitor Progress… 11-6
  • Specify Escalation Rules… 11-7
  • Specify User and Group Rules for Automated Assignment… 11-7
  • Use Task Views to Prioritize Work… 11-7
Download Oracle SOA Best Practise Guide pdf from download.oracle.com, 1 pages, 6385.22KB.