4 Special Considerations for Oracle BPEL Long-Running Processes

Before you begin the upgrade of your Oracle SOA Suite 11g environment, use the information in this chapter to determine whether or not you need to consider the impact of the upgrade on Oracle BPEL Process Manager long-running processes.

This chapter includes the following sections:

4.1 What is an Oracle BPEL Process Manager Long-Running Process?

Like any other BPEL process, a long-running process involves accessing a service and returning a value or result to Oracle BPEL Process Manager. However, the difference is that a long-running process may not return with a value for a relatively long period of time.

For example, a process designed to invoke an external task to process a customer order invokes an asynchronous backend application to start processing the order. The backend application interacts with a human for approval of the order. After the order is approved, the backend application performs a callback to the process, which performs a callback to the client application. This type of complex process is an example of a long-running process.

Long-running processes can affect your upgrade planning because you must consider the timing of shutting down your existing Oracle BPEL Process Manager 10g environment and starting up your Oracle BPEL Process Manager 11g environment. Ideally, you want all your long-running processes to finish successfully before you shut down and decommission your existing Oracle BPEL Process Manager 10g environment and start using your 11g environment.

4.2 Two Approaches to Upgrading Long-Running Processes

Oracle SOA Suite supports a wide variety of organizations and companies. As a result, it is difficult to determine the best upgrade strategy for all environments. However, in the area of long-running processes, there are two possible solutions you can consider. Note that both the solutions discussed here may not be suitable to all customers. If you are unclear about the best possible strategy for your particular organization, contact Oracle Support for more information about other possible alternatives to these possible solutions:

4.2.1 Using a Side-by-Side Approach to Long-Running Processes During Upgrade

The side-by-side approach to long-running processes involves upgrading to an Oracle Fusion Middleware 11g environment while keeping the Oracle Application Server 10g environment up and running until the long-running processes finish up their tasks.

Table 4-1 shows a summary of the upgrade process you would use if you were considering the side-by-side approach to supporting Oracle BPEL Process Manager long running processes during upgrade.

Table 4-1 Steps for Using the Side-by-Side Approach to Long-Running Processes

Step Number Task More Information

1

Install and configure a new Oracle Fusion Middleware 11g environment.

Chapter 6, "Upgrading an Oracle SOA Suite 10g Environment"

2

Upgrade the Application in Oracle JDeveloper 11g.

Chapter 8, "Overview of Upgrading Oracle SOA Suite, WebCenter, and ADF Applications"

3

Deploy the application to Oracle Fusion Middleware 11g.

Section 8.9, "Task 9: Deploy the Application"

4

Make a copy of any client applications, upgrade them, and test them with the application you deployed on Oracle Fusion Middleware 11g.

Section 14.5, "Upgrading Oracle SOA Suite Client Applications"

5

Retire all processes on Oracle BPEL Process Manager 10g; this will stop any new processes from starting, but allow existing 10g processes to finish.

"How to Manage a Process Life Cycle" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle SOA Suite Developer's Guide, available on the Oracle Technology Network (OTN):

http://www.oracle.com/technology/documentation

6

With the 10g system still running, decommission the 10g client applications, and start the upgraded application clients, which are directing requests to the new 11g Oracle BPEL Process Manager.

"Starting and Stopping Oracle Fusion Middleware" in the Oracle Fusion Middleware Administrator's Guide

7

Monitor the 10g long-running processes until they all complete.

"Using the Instances Tab to Monitor Process Instances" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle SOA Suite Developer's Guide, available on the Oracle Technology Network (OTN):

http://www.oracle.com/technology/documentation

8

Shut down and decommission Oracle BPEL Process Manager 10g.

  • "Starting and Stopping Oracle BPEL Process Manager Components" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle BPEL Process Manager Quick Start Guide

  • "Starting and Stopping Application Server Instances" in the in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle Application Server Administrator's Guide.

The Oracle Application Server 10g Release 3 (10.1.3) documentation is available on the Oracle Technology Network (OTN):

http://www.oracle.com/technology/documentation

4.2.2 Using a Grace Period and a Hard Stop of Long-Running Processes

As an alternative to the side-by-side approach to upgrading Oracle BPEL Process Manager long-running processes, you might consider the approach described in this section if you do not have many long-running processes, your long-running processes are less critical to your business model, or if you have more flexibility in terms of the timing or duration of the upgrade.

This alternative, grace-period approach can also be used if the long-running processes cannot complete until they receive client messages. For example, if the client sends a message to start the process and later sends another message in the middle of the process, then in the side-by-side approach, the process will never finish. This is because the processes rely on clients that have been upgraded to 11g. As a result, the 10g system will never receive the second client message.

Table 4-2 provides a summary of the upgrade process you would use if you were considering an alternative approach to the side-by-side approach to long-running processes.

Table 4-2 Steps for Using the Grace Period and a Hard Stop Approach to Long-Running Processes

Step Number Task More Information

1

Install and configure a new Oracle Fusion Middleware 11g environment.

Chapter 6, "Upgrading an Oracle SOA Suite 10g Environment"

2

Upgrade the Application in Oracle JDeveloper 11g.

Chapter 8, "Overview of Upgrading Oracle SOA Suite, WebCenter, and ADF Applications"

3

Deploy the application to Oracle Fusion Middleware 11g.

Section 8.9, "Task 9: Deploy the Application"

4

Make a copy of any client applications, upgrade them, and test them with the application you deployed on Oracle Fusion Middleware 11g.

Section 14.5, "Upgrading Oracle SOA Suite Client Applications"

5

Retire all processes on Oracle BPEL Process Manager 10g; this will stop any new processes from starting, but allow existing 10g processes to finish.

"How to Manage a Process Life Cycle" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle SOA Suite Developer's Guide, available on the Oracle Technology Network (OTN):

http://www.oracle.com/technology/documentation

6

Define a grace period and set a deadline for stopping the Oracle Application Server 10g environment and cutover to the Oracle Fusion Middleware 11g environment.

Use the Oracle Application Server 10g Oracle BPEL Control to monitor you long-running processes; use this information to define a reasonable time for the upgrade to Oracle Fusion Middleware 11g.

7

At the predefined deadline, abort all existing Oracle BPEL Process Manager process instances.

You can abort a process in one of two ways:

  • By deleting the instance from the BPEL Control.

    For more information, see "Using the Instances Tab to Monitor Process Instances" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle SOA Suite Developer's Guide, available on the Oracle Technology Network (OTN):

    http://www.oracle.com/technology/documentation
    
  • By creating a Java program that locates and aborts all active instances.

    For this you can use the abort() method in the method in the interface com.oracle.bpel.client.IInstanceHandle.

    For more information, see the 10g Release 3 (10.1.3) Oracle BPEL Process Manager Client Java API Reference.

8

Shut down and decommission the Oracle Application Server 10g environment.

  • "Starting and Stopping Oracle BPEL Process Manager Components" in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle BPEL Process Manager Quick Start Guide

  • "Starting and Stopping Application Server Instances" in the in the Oracle Application Server 10g Release 3 (10.1.3.1.0) Oracle Application Server Administrator's Guide.

The Oracle Application Server 10g Release 3 (10.1.3) documentation is available on the Oracle Technology Network (OTN):

http://www.oracle.com/technology/documentation

9

Start and roll out the new upgraded client applications, which send requests to the new Oracle BPEL Process Manager 11g.

"Starting and Stopping Oracle Fusion Middleware" in the Oracle Fusion Middleware Administrator's Guide