Oracle® BPEL Process Manager Developer's Guide 10g (10.1.3.1.0) Part Number B28981-03 |
|
|
View PDF |
This chapter provides a brief introduction to the Business Process Execution Language (BPEL), Oracle BPEL Process Manager, and Oracle JDeveloper, which enables you to design BPEL processes. 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:
http://www.oracle.com/technology/bpel
for specific BPEL details, including links to BPEL specifications, white papers, product demonstrations, and discussion groups
Chapter 3, "Manipulating XML Data in BPEL" through Chapter 12, "Interaction Patterns" for a review of key BPEL development concepts and code samples
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 Oracle JDeveloper:
Transformations, workflows, worklists, notifications, sensors, and business rules
Technology adapters (file, FTP, database, advanced queuing (AQ), Java Messaging Service (JMS), IBM WebSphere MQ, 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 Application Server Integration B2B, and Oracle Application Server Integration InterConnect.
See Also:
"Sensor Integration with Oracle Business Activity Monitoring" for details about integrating Oracle BPEL Process Manager with Oracle Business Activity Monitoring
Chapter 21, "Oracle BPEL Portlets" for details about integrating Oracle BPEL Process Manager with OracleAS Portal
Oracle Application Server Integration B2B User's Guide and the readme
file in the B2B_Oracle_Home
\ip\install
directory for details about integrating Oracle BPEL Process Manager with Oracle Application Server Integration B2B
Oracle Application Server Integration InterConnect User's Guide for details about integrating Oracle BPEL Process Manager with Oracle Application Server Integration InterConnect
Oracle BPEL Process Manager Quick Start Guide for additional Oracle BPEL Process Manager introductory details
Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide for details about supported technology adapters
Oracle Application Server Adapter for Oracle Applications User's Guide
Oracle BPEL Process Manager Installation Guide for a list of supported operation systems
The following URL for additional details about Oracle BPEL Process Manager support for third-party adapters:
http://www.oracle.com/technology/products/integration/adapters/index.html
Oracle BPEL Process Manager provides support for using Oracle JDeveloper to graphically design BPEL processes.
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.
Oracle JDeveloper uses BPEL as its native format. This means that processes built with Oracle JDeveloper are 100% portable. Oracle JDeveloper also enables you to view and modify the BPEL source without decreasing the usefulness of the tool.
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 integrate adapters and services such as workflows, transformations, notifications, sensors, worklist task management, and business rules with the process. Oracle JDeveloper can deploy the developed processes directly to Oracle BPEL Server. This facilitates the development and maintenance of BPEL processes.
Oracle BPEL Process Manager provides support for the following services and adapters in Oracle JDeveloper:
Transformations, workflows, worklists, notifications, sensors, and business rules
Technology adapters (file, FTP, database, AQ, JMS, MQ, and Oracle Applications)
Figure 1-1 shows Oracle JDeveloper with a BPEL process being designed.
See Also:
"Overview of BPEL Project Creation and Oracle JDeveloper" for a description of the sections of Oracle JDeveloper shown in Figure 1-1
Oracle BPEL Process Manager Quick Start Guide and Oracle BPEL Process Manager Order Booking Tutorial for tutorials that use Oracle JDeveloper
Online Help available from the Help main menu for additional details about Oracle JDeveloper
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 Control, how to test BPEL processes in a preproduction environment, 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, deployment descriptor properties, and XPath expression functions. |
See Also:
Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide for specific details about configuring the file, FTP, database, AQ, MQ, and JMS adapters in a BPEL process
Oracle Application Server Adapter for Oracle Applications User's Guide for information on using the Oracle Applications adapter
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 SOA_Oracle_Home
\bpel\samples
directory. Review the README.txt
file in the samples
directory for instructions on using these samples.
Note:
The samples by default use a password ofwelcome1
for the oc4jadmin
user. If you are using a different password for this user, you must follow the instructions in the README.txt
file in the samples
directory to make your password compatible with the samples.Table 1-2 describes the contents of the samples
directory. If you are using Oracle JDeveloper, you can also access details about this directory from the Start Menu by selecting Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Getting Started with Samples.
You can automatically create the BPEL project for a sample by performing the following steps:
Select an application in the Application Navigator.
Select Open from the File main menu in Oracle JDeveloper.
Go to the directory of the sample you want to use.
Select the .jpr
file of the sample.
This causes the BPEL project for the selected sample to display in the Application Navigator.
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: |
references |
Contains 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 |
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.
Table 1-3 demos Directory Contents
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:
Chapter 3, "Manipulating XML Data in BPEL" through Chapter 12, "Interaction Patterns" for activity development concepts and code samples
Appendix B, "BPEL Process Activities and Services" for specific details about activities that you drag and drop in Oracle JDeveloper
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.
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. |
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 by 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.XQueryTransformations |
This sample shows the use of XQuery functions in Oracle BPEL Process Manager. This sample requires XQuery libraries available only in the Oracle BPEL Process Manager for OracleAS Middle Tier installation type or one of the Oracle Application Server SOA installation types. This sample cannot be used with the Oracle BPEL Process Manager for Developers installation type. |
121.FileAdapter |
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 |
122.DBAdapter |
The following samples show how to use the database adapter:
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:
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 |
These samples show how to use the file adapter:
See Also: Oracle Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide |
130.SendEmailWithAttachments |
This sample shows how to send an e-mail with attachments through Oracle JDeveloper. |
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: |
140.AdapterFramework |
This sample shows how to use dynamic JCA partner links in BPEL |
150.AppsAdapter |
These samples show how to use the Oracle Applications adapter:
|
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:
|
See Also:
The following guides for additional tutorials you can run:This chapter introduces BPEL, how Oracle BPEL Process Manager supports BPEL, and how Oracle JDeveloper enables you to design BPEL processes. 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.