Skip Headers
Oracle® BPEL Process Manager Developer's Guide
10g Release 2 (10.1.2)
B14448-02
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

1 Introduction to Oracle BPEL Process Manager

This chapter provides a brief introduction to the Business Process Execution Language (BPEL), how Oracle BPEL Process Manager supports BPEL, and the types of BPEL designers available with Oracle BPEL Process Manager that enable you to design BPEL processes (JDeveloper BPEL Designer and Eclipse BPEL Designer). An overview of how to use the information in this guide and references to additional tutorials and demonstrations installed with Oracle BPEL Process Manager are also provided.

This chapter contains the following topics:


Note:

Oracle recommends that you perform the tutorials described in Oracle BPEL Process Manager Quick Start Guide and Oracle BPEL Process Manager Order Booking Tutorial before using this guide. These tutorials provide you with an introduction to designing and deploying BPEL processes.

1.1 What Is BPEL?

BPEL is an XML-based language for enabling task sharing across multiple enterprises using a combination of Web services. BPEL is based on the XML schema, simple object access protocol (SOAP), and Web services description language (WSDL). BPEL provides enterprises with an industry standard for business process orchestration and execution. Using BPEL, you design a business process that integrates a series of discrete services into an end-to-end process flow. This integration reduces process cost and complexity. The BPEL language enables you to define how to:


See Also:


1.2 What Is Oracle BPEL Process Manager?

Oracle BPEL Process Manager provides a framework for easily designing, deploying, monitoring, and administering processes based on BPEL standards. Oracle BPEL Process Manager provides support for the following features:

Oracle BPEL Process Manager adds value and ease of use to BPEL functionality by providing support for the following in JDeveloper BPEL Designer:

Oracle BPEL Process Manager can also be integrated with Oracle Business Activity Monitoring, Oracle Application Server Portal, Oracle Workflow, Oracle Application Server Integration B2B, and Oracle Application Server Integration InterConnect.


See Also:


1.3 What Is the BPEL Designer?

Oracle BPEL Process Manager provides support for two types of BPEL designer environments for graphically designing BPEL processes:

You design BPEL processes by dragging and dropping elements (known as activities) into the process and editing their property pages. This eliminates the need to write BPEL code. You integrate BPEL processes with external services (known as partner links). You also use wizards to integrate adapters and services such as workflows, transformations, notifications, sensors, and worklist task management with the process. Both BPEL designers can deploy the developed processes directly to Oracle BPEL Console. This facilitates the development and maintenance of BPEL processes.

1.3.1 JDeveloper BPEL Designer

JDeveloper BPEL Designer is integrated with Oracle JDeveloper. Oracle JDeveloper is an integrated development environment (IDE) for building applications and Web services using Java, XML, and SQL standards. Oracle JDeveloper supports the entire development life cycle with integrated features for designing, coding, debugging, testing, profiling, tuning, and deploying applications. A visual and declarative development approach and the Oracle Application Development Framework (ADF) work together to simplify application development and reduce coding tasks.

JDeveloper BPEL Designer uses BPEL as its native format. This means that processes built with JDeveloper BPEL Designer are 100% portable. JDeveloper BPEL Designer also enables you to view and modify the BPEL source without decreasing the usefulness of the tool.

Oracle BPEL Process Manager provides support for the following services and adapters in JDeveloper BPEL Designer:

  • Transformations, workflows, worklists, notifications, and sensors

  • Technology adapters (file, FTP, database, AQ, JMS, and Oracle Applications)

Figure 1-1 shows JDeveloper BPEL Designer with a BPEL process being designed.

Figure 1-1 JDeveloper BPEL Designer

Description of Figure 1-1  follows
Description of "Figure 1-1 JDeveloper BPEL Designer"


See Also:


1.3.2 Eclipse BPEL Designer

Eclipse BPEL Designer is integrated with the Eclipse platform. Eclipse is designed for building integrated development environments (IDEs) to create applications such as Web sites, embedded Java programs, C++ programs, and Enterprise JavaBeans. Eclipse provides you with mechanisms to use and rules to follow that lead to seamlessly integrated tools. These mechanisms are exposed through API interfaces, classes, and methods. Eclipse also provides useful building blocks and frameworks that facilitate developing new tools.

Eclipse BPEL Designer is a plug-in for the Eclipse 3.0 platform. Eclipse BPEL Designer uses standard BPEL, meaning that processes you design can be used with other BPEL servers (and vice versa).

The JDeveloper BPEL Designer services and adapters described in "JDeveloper BPEL Designer" are not currently available on Eclipse BPEL Designer.

Figure 1-2 shows Eclipse BPEL Designer with a BPEL process being designed.

Figure 1-2 Eclipse BPEL Designer

Description of Figure 1-2  follows
Description of "Figure 1-2 Eclipse BPEL Designer"


Notes:

Throughout this guide, the Eclipse BPEL Designer installation directory is referred to as c:\orabpel. If you have installed Eclipse BPEL Designer into a different directory, make the appropriate substitution throughout this guide.


See Also:


1.4 How to Use This Guide

This guide is divided into several parts designed to first familiarize you with key BPEL development concepts and features and then describe how Oracle BPEL Process Manager adds value and ease of use to BPEL functionality. This guide layout is described in Table 1-1.

Table 1-1 Developer's Guide Contents

Part Description

Part I, "Introduction and Concepts"


Chapters in this part provide an overview of the following topics:

  • BPEL specifications, Oracle BPEL Process Manager, and BPEL designers (JDeveloper BPEL Designer and Eclipse BPEL Designer)

  • Starting and stopping key Oracle BPEL Process Manager components

  • Demonstrations, tutorials, and activity and conceptual references provided with Oracle BPEL Process Manager

  • An introduction to JDeveloper BPEL Designer and Eclipse BPEL Designer, including an overview of designer window sections, and a description of project files and the drag and drop activity functionality you follow to design and deploy a BPEL process

  • Oracle BPEL Console for running deployed BPEL processes

  • A Hello World BPEL process that you can design and deploy in both JDeveloper BPEL Designer and Eclipse BPEL Designer

Part II, "Reviewing Key BPEL Development Concepts and Code Samples"


Chapters in this part introduce you to key BPEL development concepts and associated code samples. These chapters are useful for any developer interested in understanding the underlying functionality of BPEL. Specific topics discussed include the following:

  • XML document manipulation

  • Synchronous and asynchronous services invocation

  • Parallel flows

  • Conditioning branching

  • Fault handling and exception management

  • Java/J2EE code integration in BPEL processes

  • Events and timeouts

  • BPEL process invocation

  • Interaction patterns

Part III, "Oracle BPEL Process Manager Services"


Once you have gained a solid knowledge of the key BPEL development concepts described in Part II, you are ready to learn how Oracle BPEL Process Manager adds value and ease of use to BPEL functionality to provide support for the following services:

  • Transformations

  • Notifications

  • Workflows

  • Worklists

  • Sensors

Part IV, "Development and Deployment Life Cycle"


Chapters in this part describe how to run and manage deployed BPEL processes from Oracle BPEL Console, how to create run time reports, and how to integrate with OracleAS Portal.

Part V, "Reference Information"


Appendices in this part provide reference details about troubleshooting, supported activities, user accounts, XPath expression functions, Oracle Workflow support, and other features.



See Also:


1.5 Getting Started with Demonstrations, Activity and Conceptual References, and Tutorials

In addition to the contents of this guide, the Oracle BPEL Process Manager Quick Start Guide, and the Oracle BPEL Process Manager Order Booking Tutorial, a series of demonstrations, activity and conceptual reference materials, and tutorials are also provided to increase conceptual knowledge and hands-on experience with Oracle BPEL Process Manager. These materials are installed with Oracle BPEL Process Manager in the Oracle_Home\integration\orabpel\samples directory for JDeveloper BPEL Designer and the c:\orabpel\samples directory for Eclipse BPEL Designer.

Table 1-2 describes the contents of the samples directory. If you are using JDeveloper BPEL Designer, you can also access details about this directory from the Start Menu by selecting Start, then All Programs, then Oracle - Oracle_Home, then Oracle BPEL Process Manager 10.1.2, and then Getting Started with Samples.

New samples are periodically added. Visit the Oracle BPEL Process Manager site on the Oracle Technology Network (OTN) periodically for information about downloading any new samples:

http://www.oracle.com/technology/products/ias/bpel/index.html

Table 1-2 Tutorials, Demonstrations, and Reference Materials

Directory Description

demos

Contains a set of common business scenarios and describes how they are implemented with BPEL. Table 1-3 provides descriptions of the available demonstrations.

interop

Contains a set of BPEL projects showing the interoperability of Oracle BPEL Process Manager with Web services implemented with the following:

  • Microsoft .Net

  • Apache Axis

  • BEA WebLogic

references

Contains a BPEL project for activities and concepts defined in the BPEL language. Table 1-4 provides descriptions of the available activities and concepts.

tutorials

Contains a set of BPEL processes targeting the various BPEL tasks to which you are exposed. Table 1-5 provides descriptions of the available tutorials.

utils

Contains a set of building block services shared by the BPEL samples


1.5.1 What Demonstrations Are Available?

Table 1-3 describes the BPEL process demonstrations available for use in the demos directory. See the documentation available in these directories for instructions on running these demonstrations. You can also click the .jpr files in these directories to automatically create the demonstrations.

Table 1-3 demos Directory Contents

Directory Description

AmazonFlow

Describes how to integrate an Amazon Web service with a BPEL process to search for an item.

Attachment

Describes how to use binary file attachments in SOAP messages with the Direct Internet Message Encapsulation (DIME) and Multipurpose Internet Message Extensions (MIME) protocols.

BankTransferDemo

Describes how to perform a bank transfer. This sample illustrates the ability of Oracle BPEL Process Manager transaction management. The sample shows two types of transaction management:

  • Internal engine-implemented JTA transaction management

  • Explicit compensating transactions modeled in BPEL

CheckoutDemo

Describes an interaction between a Java Server Page (JSP) user interface and a BPEL process

DocumentReview

Describes how to create a business process for reviewing a document in parallel. A final reviewer reviews comments from each of the parallel reviewers. A worklist application views and acts on the tasks. This example highlights the use of the following features:

  • Modeling parallel workflow with final reviewer in the JDeveloper BPEL Designer environment. Using Oracle BPEL Worklist Application to view and act on tasks.

GoogleFlow

Describes how to invoke a Google Web service from a BPEL process

HelpDeskServiceRequest

Describes how to process a help desk service request. The demonstration uses a workflow for accepting or rejecting a service request.

HotwireDemo

This sample illustrates the asynchronous multistep conversation between two BPEL processes. One BPEL process initiates the conversation and sends the message to the other BPEL process. The second process waits for 30 seconds and responds asynchronously. Then the first process waits for 30 seconds and calls the second process again. The second process responds again after 30 seconds.

IBMSamples

Describes how to execute the BPEL samples shipping with the IBM Business Process Execution Language for Web Services Java Run Time (BPWS4J) on Oracle BPEL Server

LoanDemo

Describes how to integrate a synchronous credit rating service and two asynchronous loan processor services into an end-to-end loan procurement application with a Java Server Page (JSP) user interface to initiate the process and view loan offer results. Parts of this demonstration also appear in the Oracle BPEL Process Manager Quick Start Guide.

LoanDemoPlus

Describes how to extend the LoanDemo sample to use Java embedding exception management, including manual processing steps and development of a richer custom user interface

LoanDemoPlusWithWorkflow

Describes how to extend the LoanDemo sample to use a worklist application to approve or reject a loan application

OrderApproval

Describes how to approve or reject an order. The approval or rejection is a two-step process involving an initial approver and the manager of the initial approver. OrderApproval also illustrates the use of workflow for multiple approvals.

OWFBridge

Describes how to invoke and receive a response from an Oracle Workflow process.

ParallelSearch

Describes how to use Oracle BPEL Server to perform parallel synchronous invocations. This sample illustrates how to use the nonBlockingInvoke property in bpel.xml. This property enables you to execute a synchronous BPEL process calling multiple synchronous Web services in flow in real parallel mode. If you set the nonBlockingInvoke property to false, Oracle BPEL Server blocks the Web service call until the other is finished.

PaymentProcessor

Describes how to use the following key concepts and features:

  • Use a pick activity to control a process flow based on the outcome of another process (including a timeout for the process).

  • Modify a process so that a parameter can be updated at run time without having to redeploy it.

This process also illustrates the use of workflow for simple approvals, and the use of a deployment descriptor preference to replace a hard-coded value in the BPEL logic.

PriorityDemo

Describes how to invoke a service n times using a While loop activity. This sample illustrates the ability of the process priorities. Oracle BPEL Server uses the priorities for scheduling work such that higher priority processes get executed in advance of lower priority processes when there is contention for engine execution threads.

ResilientDemo

Describes how to use a BPEL process to manage fault handling and run time exceptions.

SalesforceFlow

Describes how to integrate the Salesforce.com sForce Web services into a BPEL process (including authentication, session management, and dynamic load balancing)

SleepBroker

Describes how to use a process that receives a number, creates that number of branches using the flowN activity, and waits for a period of time based on the index variable setting

This process receives an integer as input. It creates that number of branches using bpelx:flowN. In each branch, a wait activity is executed. The wait time is based on the index variable.

TimeOffRequestDemo

Describes how to design user interactions and workflow tasks within a BPEL process. This sample illustrates use of the User Task and e-mail notification service.

VacationRequest

Describes how to approve or reject a vacation request. The approval or rejection is a one-step process involving the manager of the user filing the vacation request. This demonstration also describes the use of workflow for simple approvals, and the use of a deployment descriptor preference to replace a static parameter value in the BPEL process.

XSLMapper

Describes how to create a transformation that maps a purchase order schema to an invoice schema.


1.5.2 What Activity and Conceptual References Are Available?

Table 1-4 describes the activity and conceptual references available for review and use in the references directory. The comment lines in each bpel.xml file and .bpel file describe the specific context in which the activity is being used.

Table 1-4 references Directory Contents

Directory Activity Description

Assign

Shows how to receive an input string, prefix Hello to it using an assign activity, and asynchronously return the result

Catch

Shows how an exception can be raised using the throw activity and managed using a catch activity

CustomXPathFunction

Shows how to use custom XPath functions within assign activities

DynamicPartnerLink

Shows how to update dynamic partner links

Event

Shows how to enable an asynchronous BPEL process and use event handlers to receive and process events while waiting for the asynchronous callback

Flow

Shows how to create parallel paths of execution within a BPEL process

FlowN

Shows how to receive an integer and create that number of branches

Invoke

Shows how to invoke a synchronous integer increment service

JavaExec

Shows how to use the BPEL exec extension to invoke a Java class from within a BPEL process

Link

Shows how a link defines dependencies between executions of activities. In this sample, a link in a flow activity sequences the execution of two service invocations.

Pick

Shows how to invoke an asynchronous loan service and use a BPEL pick activity to receive an asynchronous response or a timeout message. If the loan amount is more than 10000, it takes about 30 seconds for the server to process it, causing a timeout to be raised.

Receive

Shows how to invoke an asynchronous loan service and wait for an asynchronous callback message using the BPEL receive activity

Replay

Shows how to replay an activity, such as a scope

Reply

Shows how to receive a string as input, perform an assign, and use the reply activity to synchronously return the modified string

Switch

Shows how to use a switch activity to return a different text message based on whether the input value is greater or less than zero

Terminate

Shows how to invoke a synchronous stock quoting service. The terminate activity then aborts, causing the final callback invoke activity to be skipped.

Throw

Shows how to throw a BPEL fault (without handling it) and cause the instance to fault

Wait

Shows how to receive input, wait for 60 seconds, and asynchronously call back a client

While

Shows how to invoke an incremental service n times with a while activity, where n is provided as an input value

Xpath

Shows how to receive an invalid application, perform several XPath copies, and asynchronously return the application. This showcases the use of namespace-qualified XPath query strings in assign activities.

XPathFunction

Shows how to define and use custom XPath functions within BPEL assign activities



See Also:


1.5.3 What Tutorials Are Available?

Table 1-5 describes the tutorials available for use in the tutorials directory. See the documentation available in these directories for instructions on running these tutorials. You can also click the .jpr files in these directories to automatically create the tutorials.

Table 1-5 tutorials Directory Contents

Directory Description

101.HelloWorld

This sample takes a string as input, appends Hello to it, and asynchronously generates a greeting as a response.

102.InvokingProcesses

This sample invokes a variety of processes, including JSPs and remote method invocations (RMIs).

103.XMLDocuments

This sample shows how to use XML variables and the assign activity to manipulate XML documents.

104.SyncQuoteConsumer

This sample shows how to use the invoke activity to invoke a synchronous stock quote service.

105.AsyncCompositeLoanBroker

This sample shows how to use the receive activity to receive a callback from an asynchronous loan processor Web service.

106.ParallelFlows

This sample shows how to use the flow activity to define parallel paths of execution within a process. In this sample, two asynchronous loan processing services are invoked in parallel.

107.Exceptions

This sample shows how to use fault handling to manage faults generated by invoke and throw activities. The process uses a pick activity to receive the response from a loan validator. If an exception message is received, it throws an error that is handled in a catch fault handler.

108.Timeouts

This sample shows how to define and manage timeouts using the pick activity.

109.CorrelationSets

This sample shows how to use correlation sets to correlate asynchronous message exchanges between buyer and seller services. It shows content-based correlation of asynchronous messages.

110.UserTasks

This sample shows how to integrate a user task within a process.

111.CallingSessionBeans

This sample shows how to use the BPEL exec extension to invoke a session bean from within a BPEL process.

112.Arrays

This sample shows how to design a BPEL process that uses arrays. This sample illustrates how you can handle array structures present in your XML payload using the while activity in the BPEL process.

113.ABCARouting

This sample shows how to coordinate the flow of messages across three services: A, B, and C.

114.XSLTTransformations

This sample shows how to invoke XSLT transformations to perform complex data manipulations. The process takes in complex invoice data as input. It uses the ora:processXSLT function to pass this data as input to be the XSLT service and returns the transformed content.

115.CorrelatedHelloWorld

This sample illustrates how to use correlations.

116.SendEmails

This sample shows how to send an e-mail in a BPEL process.

117.ReceiveEmails

This sample shows how to receive an e-mail in a BPEL process.

118.JMSService

This sample shows how to use Java Message Service (JMS) to select a JMS buyer process at Oracle BPEL Console and initiate a buyer flow. This sends a JMS message that is retrieved by a listener that outputs a message and sends a JMS response to the seller.

119.JMSTopics

This sample provides JMS samples for use with JBoss, OC4J, and BEA WebLogic.

120.XSQLExecution

This sample shows how to execute XSQL.

121.FileAdapter

These samples show how to use the file adapter. The following tutorials are provided:

  • COBOL Copybook

  • Complex structures

  • Debatching

  • Flat structure

  • Opaque with headers

See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide

122.DBAdapter

The following samples show how to use the database adapter:

  • Delete — A record is passed to the operation and the database row with the primary key is deleted.

  • File2StoredProcedure—Data is provided to a stored procedure, which is then executed.

  • File2Table —The file adapter, XSLT Mapper, and database adapter take an inbound purchase order, transform it to another order format, and produce an outbound message.

  • Insert — A record is passed to the operation and is inserted into the database as relational data.

  • InsertWithCatch—Adds fault handling to an insert operation.

  • JPublisherWrapper—JPublisher creates a corresponding OBJECT type whose attributes match the fields of the PL/SQL RECORD and conversion APIs that convert from RECORD to OBJECT, and vice versa.

  • MasterDetail—Replicates data in the table of one database to the tables of another database.

  • Merge —A record is passed to the operation and a database row is either inserted or updated.

  • PollingControlTableStrategy—An inbound operation polls XML instances. A control table stores the primary key of every row that has yet to be processed.

  • PollingLastReadIdStrategy—An inbound operation polls XML instances. A helper table remembers a sequence value. A sequence value of 1000 means that every record with a sequence less than that value has been already processed.

  • PollingLastUpdatedStrategy—An inbound operation polls XML instances. A helper table remembers the last-updated value.

  • PollingLogicalDeleteStrategy—An inbound operation polls XML instances. A special field is updated on each row processed. The WHERE clause is updated at runtime to filter out processed rows.

  • PureSQLPolling—Polls a table based on a date field.

  • PureSQLSelect—Bypasses JDeveloper BPEL Designer's WHERE clause to specify arbitrarily complex SQL strings.

  • QueryByExample—An outbound query-by-example operation.

  • ResultSetConverter—A workaround for use with REF CURSORs.

  • SelectAll—An outbound Select All operation.

  • SelectAllByTitle—An outbound Select All By Title operation.

  • Update—A record is passed to the operation and the database row with the same primary key is updated.

See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide

123.JMSAdapter

This samples shows the ability of the JMS Adapter to process incoming messages in a JMS destination (a queue) and write the same message to another JMS destination (a topic).

See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide

124.AQAdapter

These samples show how to use the AQ adapter:

  • ADT — A message is received from the AQ adapter, the payload copied to an outbound message, and the AQ adapter invoked with the outbound message. ADT queues are used.

  • ADT_with_CLOB_Payload — A message is received from the AQ adapter, the CLOB payload and payload header copied to an outbound message, and the AQ adapter invoked with the outbound message.

  • ADT_with_CLOB_Payload_as_Opaque — A process uses a non-XML CLOB field as a payload field.

  • AQMessageRejectionHandler — Rejected messages are handled through the rejectedMessageHandler property.

  • AQOutboundCorrelation — Correlations are used to correlate an outbound invoke activity with an inbound receive activity.

  • AQSupportedADTTypes — All SQL primitive types supported by the AQ adapter ADT are used.

  • File2AQBLOB2File — Reads GIF files from a directory every 10 seconds with the file adapter and enqueues the whole file into a BLOB column field of an ADT queue using the AQ adapter.

  • MulticonsumerInbound — The AQ adapter listens on the INBOUND_PUBLISHER queue for message recipients named blue. Any message the adapter retrieves starts a BPEL instance. The message is sent to the INBOUND_CONSUMED queue. The queues involved are RAW queues.

  • MulticonsumerOutbound — Sets the AQ recipient in a multiconsumer queue. The recipient list is set in the InteractionSpec parameter or the AQ header recipientlist parameter.

  • Raw — A message is received from the AQ adapter, the payload copied to an outbound message, and the AQ adapter invoked with the outbound message. RAW queues are used.

  • RawQueuePayloadUsingNativeFormat — The AQ Adapter and Native Format Builder wizard are used together. The native format used is comma-separated value (CSV).

  • RuleBasedSubscription_Header — A rule-based subscriber is created. The subscriber gets messages and passes them on.

  • RuleBasedSubscription_Payload — A rule-based subscriber subscribes to a magazine with a specific title. The message selector rule is used.

  • See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide

125.ReportsSchema

This sample shows how to build custom reports using the BPEL Process Manager reports schema.

126.DataAggregator

This sample shows how to take a single XML document, divide it into several smaller documents, perform tasks on each smaller document, reassemble the smaller documents into a single XML document, and return the single document to the invoker.

127.OrderBookingTutorial

This sample shows how to design and execute a sophisticated process that uses synchronous and asynchronous services, parallel flows of execution, conditional branching logic, fault handling and exceptions management, transformations, file adapter and database adapter functionality, and human workflow, notification, and sensor functionality.

128.GoogleFlow

This sample shows a process that uses an external Web service to present information to the client. Processes designed with sensors are also used.

129.FTPAdapter

This debatching sample shows how to use the FTP adapter to process a file containing a batch of business records (invoices and purchase orders) and transform and write the records to separate output files.

130.SendEmailWithAttachments

This sample shows how to send an e-mail with attachments through the Notification Service wizard.

132.UserTasks

This process demonstrate a simple user task. The process has a quote to buy and sell a particular stock and the approver has to select whether to buy or sell the stock.

133.SecureInvokingProcesses

This sample illustrates how to securely invoke a BPEL Process. The following types of clients are covered in this sample:

  • Invoking from JSP

  • Invoking from HTTP directly

  • Invoking over SOAP

  • Invoking from Java RMI client

701.LargeProcesses

This sample shows how support is provided for processes with a large number of work items (10,000 or more).

702.Bindings

This sample shows how to:

  • Integrate Enterprise Java Beans (EJB) in a BPEL process

  • Call the HTTP get method from a BPEL process

  • Call a Java method from a BPEL process



See Also:

The following guides for additional tutorials you can run:

1.6 Summary

This chapter introduces BPEL, how Oracle BPEL Process Manager supports BPEL, and the types of BPEL designers available with Oracle BPEL Process Manager that enable you to design BPEL processes (JDeveloper BPEL Designer and Eclipse BPEL Designer). An overview of how to use this guide and references to additional tutorials, demonstrations, and other helpful materials installed with Oracle BPEL Process Manager are also provided.