Skip Headers
Oracle® BPEL Process Manager Quick Start Guide
10g (10.1.3.1.0)

Part Number B28983-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 Getting Started with Oracle BPEL Process Manager

This chapter provides an overview of how the business process execution language (BPEL) and Oracle BPEL Process Manager enable you to design service-oriented architecture (SOA)-based applications by developing synchronous and asynchronous services into end-to-end BPEL process flows. This chapter also describes how to install and start the Oracle BPEL Process Manager, Oracle BPEL Server, and other key components.

This chapter contains the following topics:

1.1 BPEL: The Cornerstone of SOA

Many companies are looking at Web services and SOA as a method for addressing the integration requirements involved in building connected applications. While SOA has existed for over a decade, there was confusion about which interfaces to adopt. BPEL and Web service standards solve this dilemma by addressing common application requirements in an open, portable, and standard way. SOA optimizes business performance by using existing resources and minimizing the cost of deploying new applications. Enterprises adopting these standards and architectural approaches achieve a significant return on investment (ROI) from using the same standards-based approach to building connected applications that they used for building Web applications with Java/Java 2 Platform, Enterprise Edition (J2EE).

Making Web services work is a two-step process:

  1. Publish the services.

    Publishing a service involves taking a function within an existing application or system and making it available in a standard way.

  2. Compose, or orchestrate, the services into business flows.

    Orchestration involves composing multiple services into an end-to-end business process.

Web services standards, including web services description language (WSDL), extensible markup language (XML), and simple object access protocol (SOAP), have emerged as an effective and highly interoperable platform for publishing services. In addition, high performance binding frameworks enable enterprises to access legacy systems and native Java code without having to wrap them in a SOAP interface.

1.1.1 BPEL Concepts

BPEL is emerging as the clear standard for composing multiple synchronous and asynchronous services into collaborative and transactional process flows. BPEL benefits from over 15 years of research that improves upon its predecessor languages of XLANG and WSFL. BPEL provides the following features:

  • Web services/WSDL as component model

  • XML as data model (data loose-coupling)

  • Synchronous and asynchronous message exchange patterns

  • Deterministic and nondeterministic flow coordination

  • Hierarchical exception management

  • Long-running unit of work/compensation

Since the BPEL specification was submitted to the Organization for the Advancement of Structured Information Standards (OASIS) in March 2003, it has gained the support of nearly every major industry vendor. This provides a great benefit to enterprises that can now implement their business processes in a standard and portable way, avoiding vendor-specific rules to a degree not previously possible.

1.2 Oracle BPEL Process Manager

This section contains these topics:

1.2.1 Introduction to Oracle BPEL Process Manager

Oracle BPEL Process Manager provides a user-friendly and reliable solution for designing, deploying, and managing BPEL business processes. Oracle BPEL Process Manager consists of the key components shown in Figure 1-1.

Figure 1-1 Oracle BPEL Process Manager

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle BPEL Process Manager"

Oracle BPEL Process Manager is loaded into Oracle JDeveloper. This extends the functionality of Oracle JDeveloper to enable you to model, edit, and design business processes using BPEL. Oracle JDeveloper provides a graphical and user-friendly way to build BPEL processes. What is unique about Oracle JDeveloper is that it 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. The core BPEL engine provides the most mature, scalable, and robust implementation of a BPEL server available today. Oracle BPEL Process Manager executes standard BPEL processes. Oracle BPEL Process Manager also provides a dehydration capability that enables the states of long-running flows to be automatically maintained in a database, thus enabling clustering for both fail over and scalability. Oracle BPEL Server uses an underlying J2EE application server, with support for most major commercial application servers and a bundled version available.The built-in integration services enable you to use advanced connectivity and transformation capabilities of standard BPEL processes. These capabilities include support for XSLT and XQuery transformation, and bindings to hundreds of legacy systems through Java connector architecture (JCA) adapters and native protocols. A human task service is provided as a built-in BPEL service to enable the integration of people and manual tasks into BPEL flows.The extensible WSDL binding framework enables connectivity to protocols and message formats other than SOAP. Bindings are available for JMS, e-mail, JCA, HTTP GET, HTTP POST, and many other protocols enabling simple connectivity to hundreds of back-end systems.

Oracle Enterprise Manager 10g BPEL Control provides a mature Web-based interface for management, administration, and debugging of processes deployed to Oracle BPEL Server. Audit trails and process history and reporting information are automatically maintained and available through both Oracle Enterprise Manager 10g BPEL Control and a Java API.

1.2.2 How Is Oracle BPEL Process Manager Different?

Oracle BPEL Process Manager provides the following key differences:

  • The power of an open standard

    By capturing your business processes in BPEL, you protect your intellectual property and investments while avoiding vendor lock-in. BPEL is to business process management what SQL is to data management.

  • Unparalleled visibility and administration

    Oracle Enterprise Manager 10g BPEL Control reduces the cost and complexity of deploying and managing your business processes. Visually monitor the execution of each BPEL process, drill down into the audit trail and view the details of each conversation, or debug a running flow against its BPEL implementation.

  • Open and flexible binding framework

    You can orchestrate XML Web services, and also Java/J2EE components, portals, JCA interfaces, and Java message service (JMS) destinations. You can tie into back-end systems. You can use your Java skills and application server investments.

1.2.3 Oracle BPEL Process Manager Feature Summary

Oracle BPEL Process Manager includes the following features:

  • Oracle JDeveloper

    • Native BPEL support

    • Drag-and-drop process modeler

    • Universal description, discover, and integration (UDDI) and Web services inspection language (WSIL) service browser

    • Visual XPath editor

    • One-click build and deploy

  • Oracle Enterprise Manager 10g BPEL Control

    • Visual monitoring

    • Auditing

    • BPEL debugging

    • Process versioning

    • In-flight administration

    • Process performance monitoring statistics

    • Partitioning/domains

  • Built-in integration services

    • Java embedding

    • E-mail and JMS messaging services

    • Extensible style sheet language transformation (XSLT) and XQuery transformation services

    • Workflow tasks and portal integration

    • Extensible WSIF binding framework

  • Oracle BPEL Server

    • Comprehensive BPEL version 1.1

    • Synchronous and asynchronous messaging

    • Context dehydration

    • Advanced exception management

    • Side-by-side versioning

    • Large XML documents

1.3 Installing Oracle Application Server SOA Suite and Oracle JDeveloper

This section describes how to install Oracle Application Server SOA Suite and Oracle JDeveloper and configure Oracle BPEL Process Manager to work with Oracle JDeveloper.

This section contains the following topics:

Note:

If you install the Oracle BPEL Process Manager for Developers installation type and attempt to use this tutorial, note that the ports (9700), Oracle BPEL Server startup commands, and Oracle Enterprise Manager 10g BPEL Control user name (bpeladmin) may be different from those listed in this tutorial.

1.3.1 Installing Oracle Application Server SOA Suite

  1. See the Oracle Application Server Installation Guide 10g Release 3 (10.1.3.1) for your operating system for instructions on installing Oracle Application Server SOA Suite.

  2. Select Basic Install on the Oracle Application Server SOA Suite 10.1.3.1.0 Installation window.

    Note:

    If you want to use Oracle BPEL Process Manager samples, enter welcome1 in the AS Administrator Password field of the Oracle Application Server SOA Suite 10.1.3.1.0 Installation window for the oc4jadmin user. If you enter a different password, some samples require modification in order to work.
  3. Click Install.

  4. Click Exit when installation completes.

1.3.2 Identifying Ports

Identify several port numbers that were automatically configured during installation. You use these port numbers when creating application server and integration server connections to Oracle BPEL Server.

  1. Use a text editor to open the SOA_Oracle_Home\bpel\utilities\ant-orabpel.properties file.

  2. Make note of the ports being used by the following properties:

    • http.port

    • opmn.requestport

    These port values are required later when you create connections in "Creating Oracle Application Server and Integration Server Connections".

1.3.3 Installing Oracle JDeveloper

You must separately install Oracle JDeveloper 10.1.3.1 Studio.

  1. Unzip Oracle JDeveloper into a location on your host.

  2. Start Oracle JDeveloper by clicking JDev_Oracle_Home\JDev\bin\jdev.exe or creating a shortcut.

    Note:

    Do not install Oracle JDeveloper into a directory path that includes a space (for example, C:\Program Files\JDev). If you do, you receive an error when you compile BPEL processes.

1.3.4 Creating Oracle Application Server and Integration Server Connections

  1. Select Connection Navigator from the View main menu in Oracle JDeveloper.

  2. Right-click Application Server.

  3. Select New Application Server Connection.

  4. Click Next on the Welcome page.

  5. Provide a meaningful name for connecting to the application server. Remember this name, as you select it when creating an integration server connection in Step 19.

  6. Select Oracle Application Server 10g 10.1.3 from the Connection Type list.

  7. Click Next.

  8. Enter the following details:

    Field Value
    Username oc4jadmin
    Password Enter the same administrator password you entered in "Installing Oracle Application Server SOA Suite".
    Deploy Password Select this check box; otherwise, you must authenticate each time you deploy a process.

  9. Click Next.

  10. Enter the following details:

    Field Value
    Host Name localhost
    OPMN Port Enter the same port value used by the opmn.requestport property that you identified in Step 2 of "Identifying Ports". This is likely port number 6003.
    Group/OC4J Instance Name home
    Single Instance Select this radio button.
    Group Leave this radio button unselected.

  11. Click Next.

  12. Test the connection by clicking Test Connection. If the connection is successful, the following message appears:

    Success!
    
    
  13. Click Finish.

  14. Right-click Integration Server in the Connection Navigator.

  15. Select New Integration Server Connection.

    You use this integration server connection to deploy all your BPEL processes.

  16. Click Next on the Welcome page.

  17. Provide a meaningful name for connecting to the server.

  18. Click Next.

  19. Select the application server connection name you specified in Step 5 from the Application Server list.

  20. Enter the following details:

    Field Value
    Host Name localhost
    Port Enter the same port value used by the http.port property that you identified in Step 2 of "Identifying Ports". This is likely port number 8888.
    Add host name to the list of proxy exceptions Select this check box to automatically add this host to the list of proxy exceptions shown in the Exceptions field under Tools > Preferences > Web Browser and Proxy. The first time it is started, Oracle JDeveloper by default picks up these proxy exceptions that are set for your browser.

  21. Click Next.

  22. Test the connection by clicking Test Connection. If the connection is successful, the following message appears:

    Application Server: OK
    BPEL Process Manager Server: OK
    ESB Server: OK
    
    
  23. Click Finish.

1.4 Starting and Stopping Oracle BPEL Process Manager Components

Follow the instructions in Table 1-1 to start and stop Oracle BPEL Process Manager components.

Table 1-1 Starting and Stopping Oracle BPEL Process Manager Components

To Access The... On Windows... On UNIX...

Oracle BPEL Server

Select Start > All Programs > Oracle - Oracle_Home > Start SOA suite

To start Oracle BPEL Server:

From $ORACLE_HOME/bpel/bin:

startorabpel.sh

To stop Oracle BPEL Server:

From $ORACLE_HOME/bpel/bin:

shutdownorabpel.sh

Oracle JDeveloper


See Step 2 of "Installing Oracle JDeveloper"

$ORACLE_HOME/jdev/bin/jdev

Oracle Enterprise Manager 10g BPEL Control


You must first start Oracle BPEL Server.

To start Oracle Enterprise Manager 10g BPEL Control:

  1. Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > BPEL Control

You can also start Oracle Enterprise Manager 10g BPEL Control using the URL for your installation, which can found in SOA_Oracle_Home\install\bpelsetupinfo.txt.

First start Oracle BPEL Server.

To start Oracle Enterprise Manager 10g BPEL Control:

  • Log on to the URL for your installation, which can found in bpelsetupinfo.txt.

Developer Prompt

Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Developer Prompt to open up a command prompt at the SOA_Oracle_Home\bpel\samples directory. This enables you to easily access demonstrations and start any required Web services.

Setting Developer Prompt in Bourne shell:

$ ORACLE_HOME=/home/oracle/installs/midtier

$ export ORACLE_HOME

$ PATH=$ORACLE_HOME/bpel/bin:$PATH

$ export PATH

Oracle BPEL Process Manager Samples and Tutorials

For details about BPEL samples and additional tutorials available for use:

Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Getting Started with Samples

Log into the following URL:

$ORACLE_HOME/bpel/samples/sampleshome.html

Sample Worklist Application

To access the login window for Oracle BPEL Worklist Application:

Select Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Sample Worklist Application

You may also start Oracle BPEL Worklist Application using the URL for your installation, which is found in SOA_Oracle_Home\install\bpelsetupinfo.txt.

First start Oracle BPEL Server.

To start Oracle BPEL Worklist Application:

  • Log on to the URL for your installation, which is found in bpelsetupinfo.txt.


Note:

Always use the Developer Prompt to open an operating system command prompt in this guide. This sets all required paths. Opening an operating system command prompt in any other way is not supported.

1.5 Verifying the Hostname in Your Web Browser Preferences

The hostname of your computer was automatically added to the Oracle JDeveloper preference settings during installation. If the hostname does not appear in the preference settings, you can receive parsing errors when selecting a WSDL file on the Service Explorer window while creating a partner link.

  1. Select Preferences from the Tools main menu.

  2. Click Web Browser and Proxy.

  3. Verify that your hostname is in the Exceptions field. For example, if your hostname is myhost-pc:

    us.acme.com|*.us.acme.com|127.0.0.1|myhost-pc|localhost
    
    
  4. Ensure also that localhost appears in the Exceptions field.

  5. Click OK.

    You are now ready to design your BPEL process.

1.6 Understanding Namespaces and Namespace URIs

As you use Oracle JDeveloper, namespace values such as ns1:, ns2:, or client: can display in an Expression field or Variables navigation tree when creating copy operations in Assign activities, or in fields of other activities.

Oracle BPEL Process Manager attempts to reduce your interaction with namespaces. When a namespace appears in an Expression field or Variables navigation tree, accept the namespace prefixes that display when filling in the parts of your query or expression.

XML namespaces provide a method for distinguishing between duplicate element type and attribute names. Such duplication can occur, for example, in an XSLT style sheet or document that contains element types and attributes from two different DTDs. A <refuse> element means something entirely different for a sanitation agency than a <refuse> element for a loan processing agency. For this reason, they are distinguished by different namespace prefixes, such as ns1:, ns2:, or client:.The URIs provide a system for creating unique identifiers.