Oracle® BPEL Process Manager Developer's Guide
10g Release 2 (10.1.2) B14448-02 |
|
Previous |
Next |
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. |
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:
Send XML messages to, and asynchronously receive XML messages from, remote services
Manipulate XML data structures
Manage events and exceptions
Design parallel flows of process execution
Undo portions of processes when exceptions occur
See Also:
|
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:
Web service standards such as XML, SOAP, and WSDL
Dehydration (enables the states of long-running processes to be automatically maintained in a database) and correlation of asynchronous messages
Service-oriented architecture (SOA)
Parallel processing of tasks
Fault handling and exception management during both design time and run time
Event timeouts and notifications
Compensation mechanisms for the implementation of long-running transactions
Scalability and reliability of processes
Management and administration of processes
Version control
Audit trails for tracing business flow history
Installation on multiple operating systems and integration with multiple application servers (for example, Oracle Application Server, BEA WebLogic, and JBoss) and databases.
Oracle BPEL Process Manager adds value and ease of use to BPEL functionality by providing support for the following in JDeveloper BPEL Designer:
Transformations, workflows, worklists, notifications, and sensors
Technology adapters (file, FTP, database, advanced queuing (AQ), Java Messaging Service (JMS), and Oracle Applications for Oracle E-Business Suite)
Third-party adapters, including J.D. Edwards OneWorld, PeopleSoft, SAP R/3, Siebel, Tuxedo, CICS, VSAM, IMS/TM, and IMS/DB
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:
|
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.
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.
See Also:
|
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.
See Also:
|
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:
|
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:
|
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:
|
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:
|
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 |
---|---|
|
Contains a set of common business scenarios and describes how they are implemented with BPEL. Table 1-3 provides descriptions of the available demonstrations. |
|
Contains a set of BPEL projects showing the interoperability of Oracle BPEL Process Manager with Web services implemented with the following: |
|
Contains a BPEL project for activities and concepts defined in the BPEL language. Table 1-4 provides descriptions of the available activities and concepts. |
|
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. |
|
Contains a set of building block services shared by the BPEL samples |
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 |
---|---|
Describes how to integrate an Amazon Web service with a BPEL process to search for an item. |
|
Describes how to use binary file attachments in SOAP messages with the Direct Internet Message Encapsulation (DIME) and Multipurpose Internet Message Extensions (MIME) protocols. |
|
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:
|
|
Describes an interaction between a Java Server Page (JSP) user interface and a BPEL process |
|
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:
|
|
Describes how to invoke a Google Web service from a BPEL process |
|
Describes how to process a help desk service request. The demonstration uses a workflow for accepting or rejecting a service request. |
|
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. |
|
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 |
|
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. |
|
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 |
|
Describes how to extend the LoanDemo sample to use a worklist application to approve or reject a loan application |
|
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. |
|
Describes how to invoke and receive a response from an Oracle Workflow process. |
|
Describes how to use Oracle BPEL Server to perform parallel synchronous invocations. This sample illustrates how to use the |
|
Describes how to use the following key concepts and features:
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. |
|
Describes how to invoke a service n times using a |
|
Describes how to use a BPEL process to manage fault handling and run time exceptions. |
|
Describes how to integrate the Salesforce.com sForce Web services into a BPEL process (including authentication, session management, and dynamic load balancing) |
|
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 |
|
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. |
|
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. |
|
Describes how to create a transformation that maps a purchase order schema to an invoice schema. |
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
See Also:
|
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 |
---|---|
This sample takes a string as input, appends |
|
This sample invokes a variety of processes, including JSPs and remote method invocations (RMIs). |
|
This sample shows how to use XML variables and the assign activity to manipulate XML documents. |
|
This sample shows how to use the invoke activity to invoke a synchronous stock quote service. |
|
This sample shows how to use the receive activity to receive a callback from an asynchronous loan processor Web service. |
|
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. |
|
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. |
|
This sample shows how to define and manage timeouts using the pick activity. |
|
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. |
|
This sample shows how to integrate a user task within a process. |
|
This sample shows how to use the BPEL |
|
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. |
|
This sample shows how to coordinate the flow of messages across three services: A, B, and C. |
|
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 |
|
This sample illustrates how to use correlations. |
|
This sample shows how to send an e-mail in a BPEL process. |
|
This sample shows how to receive an e-mail in a BPEL process. |
|
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. |
|
This sample provides JMS samples for use with JBoss, OC4J, and BEA WebLogic. |
|
This sample shows how to execute XSQL. |
|
These samples show how to use the file adapter. The following tutorials are provided: See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide |
|
The following samples show how to use the database adapter:
See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide |
|
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 |
|
These samples show how to use the AQ adapter:
|
|
This sample shows how to build custom reports using the BPEL Process Manager reports schema. |
|
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. |
|
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. |
|
This sample shows a process that uses an external Web service to present information to the client. Processes designed with sensors are also used. |
|
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. |
|
This sample shows how to send an e-mail with attachments through the Notification Service wizard. |
|
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. |
|
This sample illustrates how to securely invoke a BPEL Process. The following types of clients are covered in this sample: |
|
This sample shows how support is provided for processes with a large number of work items (10,000 or more). |
|
This sample shows how to:
|
See Also: The following guides for additional tutorials you can run: |
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.