This chapter provides important supplementary information upgrading Oracle BPEL Process Manager applications to Oracle Fusion Middleware 11g.
Use Chapter 8, "Overview of Upgrading Oracle SOA Suite, WebCenter, and ADF Applications" for the tasks required to upgrade any Oracle SOA Suite, WebCenter, and ADF application.
Use the following sections to learn about the upgrade tasks you will likely need to perform to upgrade your Oracle BPEL Process Manager applications and projects to Oracle Fusion Middleware 11g:
Manual Upgrade Steps After Migrating Oracle BPEL Process Manager Applications
Additional Considerations for Oracle BPEL Process Manager Applications
The following sections describe some of the common upgrade tasks you will have to perform after you open your Oracle Application Server 10g Oracle SOA Suite application in Oracle JDeveloper 11g.
These tasks represent items that are not upgraded automatically by the Oracle JDeveloper Migration Wizard:
Providing Missing Binding Information for External References
Correcting Problems With Oracle BPEL Process Manager Test Suites
Using Oracle BPEL Process Manager Deployment Plans After Upgrade
Upgrading Fault Policies in an Oracle BPEL Process Manager Project
Post-Upgrade Steps for Projects That Use WSIF Bindings to EJBs
This section describes how to fix compiler warning messages about missing bindings after you upgrade an Oracle BPEL Process Manager project in Oracle JDeveloper.
Why the Warning Messages Occur When a source project in your application depends on Oracle Application Server 10g Release 3 (10.1.3) Oracle BPEL Process Manager or Oracle Enterprise Service Bus (ESB) services, then as a pre-cursor to migration, the Oracle JDeveloper Migration Wizard creates local copies of their abstract WSDLs.
The abstract WSDLs, by definition, lack service and port endpoint information. During upgrade, when the Migration Wizard creates external composite references for the service dependencies, the references are created as abstract references with no binding information.
These abstract references are flagged with WARNING messages in the upgrade log. After upgrade, when you attempt to compile the projects, Oracle JDeveloper will generate compilation errors alerting you to the presence of abstract references in the composite.
Note that a similar message also appears when you are using Oracle SOA Suite 10g Web services that use HTTP bindings, which are not supported in Oracle SOA Suite 11g. For more information, see Section 10.2.8, "Upgrading Applications that Use HTTP Bindings".
Using 10g Release 3 (10.1.3) or 11g Dependency Services Based on the upgrade and deployment schedules of all the services in the dependency tree, you can choose to continue to use 10g Release 3 (10.1.3) dependency services or proceed with the upgrade and redeployment of the dependency service.
In general, Oracle recommends that users study their source project and their dependencies before any upgrade work. This analysis will result in a smoother upgrade experience.
How to Correct Binding Errors Discovered During the Recompile To correct binding errors due to the abstract references, right-click on the reference node in the Oracle JDeveloper 11g composite editor and choose the correct concrete WSDL. If you want to continue using a 10g Release 3 (10.1.3) dependency service, you can do so. Some of the dependency service endpoint URLs that are captured in the upgrade log can be used for this step.
You can also redesign the dependency in Oracle JDeveloper 11g, using the WSIL Browser (Resource Palette), and discover the service from the UI in the composite modeler.
For more information, refer to the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
During upgrade in Oracle JDeveloper, BPEL test suites are converted to composite test suites. However, only the "instance initiate" action is migrated. This results in a composite test which initiates only a test run. The rest of any BPEL-based test actions are not automatically migrated and must be manually set up after the upgrade.
To set up the tests in your 11g environment, refer to "Testing SOA Composite Applications" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Deployment and configuration plans that you set up in Oracle Application Server 10g for your Oracle BPEL Process Manager user projects are not upgraded in Oracle JDeveloper 11g.
In Oracle Fusion Middleware11g, a composite can be accompanied by deployment and configuration plan during deployment. However, you must create the 11g deployment plan manually, after you have migrated the application in Oracle JDeveloper.
For more information about creating configuration plans in 11g, see "Moving SOA Composite Applications to and from Development, Test, and Production Environments" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
When you open your 10g application in Oracle JDeveloper and use the Oracle JDeveloper Migration Wizard to upgrade the application, any fault policies and bindings that you set up in a user project are not automatically upgraded to 11g.
The reasons are as follows:
In Oracle BPEL Process Manager 10g, fault policies were stored with the server and bindings were either stored with the server or specified in bpel.xml
. In Oracle BPEL Process Manager 11g, fault policies and fault bindings are stored in the Oracle JDeveloper 11g project.
In general, fault policies and bindings in Oracle BPEL Process Manager 11g are different than those in previous releases. For example, the file name and syntax is different, fault policies apply both to Oracle Mediator and Oracle BPEL Process Manager, and bindings are at a reference, component, and composite level in 11g.
For these reasons, you must manually recreate the fault policies and bindings in the Oracle JDeveloper 11g project after you upgrade your applications.
Similarly, when you upgrade an Oracle Enterprise Service Bus 10g Release 3 (10.1.3) project to 11g, you must add the retry parameters defined in esb_config.ini
file to the 11g fault-policy.xml
file.
For more information, see:
"Using Fault Handling in a BPEL Process" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite
"Using Mediator Error Handling" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
If the 10g Release 3 (10.1.3) application you are upgrading includes a project where all the project artifacts are in one folder and the BPEL artifacts are not separated into their own folder in the project, then the Oracle JDeveloper Migration Wizard will not be able to upgrade those artifacts.
To avoid this problem, do one of the following:
Before upgrading the project, use Oracle JDeveloper 10g to create a BPEL folder and move all the artifacts (except the build.xml and build.properties files) into that folder. Then you can proceed with upgrading the project.
Use the Oracle SOA Suite command-line upgrade tool. The command-line tool will upgrade the artifacts even if a BPEL folder does not exist in the project. For more information, see Section 9.3.6, "Using the Oracle SOA Suite Command-Line Upgrade Tool".
When you have Oracle SOA Suite 10g projects that use WSIF bindings to communicate with Enterprise Java Beans (EJBs), then you must make some modifications to those projects after they are upgraded to 11g.
For example, after you upgrade a project that uses WSIF bindings and EJBs, it will fail to run on due to WSIF binding errors.
To work around the these problems, you typically must perform the following steps after you have upgraded the project to Oracle JDeveloper 11g:
Replace the properties of the <binding.wsif> entry in th ecomposite.xml file with the correct JNDI related properties for Oracle WebLogic Server.
For example, the following are typical properties set for a Oracle WebLogic Server domain for an application called the BankTransferDemo
application, which was deployed previously on Oracle Application Server 10g Release 3 (10.1.3):
<binding.wsif port="......." location="......"> . <property name="jndiName"> ejb/session/BankTransfer </property> . <property name="java.naming.factory.initial"> weblogic.jndi.WLInitialContextFactory </property> . <property name="java.naming.provider.url"> t3://[SERVER HOST NAME]:[SERVER PORT] </property> . <property name="java.naming.security.principal"> [DOMAIN ADMIN USER NAME] </property> . <property name="java.naming.security.credentials"> [DOMAIN ADMIN PASSWORD] </property> . </binding.wsif>
Copy the EJB classes to the following directory in your newly upgraded 11g project:
SOA_JDEV_PROJECT_HOME/SCA-INF/classes/
For more information about using Oracle JDeveloper to modify your Oracle SOA Suite applications, see the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
The following sections describe additional considerations you should review after upgrading Oracle BPEL Process Manager applications:
Verifying New and Deprecated Properties in the bpel.xml Deployment Descriptor
Upgrading User-Defined (Custom) XPath Functions in an Oracle BPEL Process Manager Project
Upgrading Projects With the transaction=participate Property
Specifying Domain Descriptor Properties in Oracle BPEL Process Manager 11g
Upgrading Applications That Use Multiple Oracle BPEL Process Manager Domains
Verifying Process ID, Project Name, and BPEL File Name Conventions Before Upgrade
If any of your Oracle Application Server 10g Release 3 (10.1.3) applications reference any properties that were stored in the bpel.xml
deployment descriptor, note that these properties are now set in the composite.xml
deployment descriptor file.
For more information about the properties available in the composite.xml
deployment descriptor, as well as important information about properties that are no longer supported in Oracle Fusion Middleware 11g, refer to "Deployment Descriptor Properties" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
When you open and upgrade your applications in Oracle JDeveloper 11g, any custom XPath functions in the application projects are not upgraded automatically.
As a result, after you upgrade your application, you must copy any XPath function classes into the server classpath and register the function in the server configuration file. This is a manual step because the Oracle JDeveloper Migration Wizard cannot assume the server information.
For more information, refer to "Creating User-Defined XPath Extension Functions" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
You cannot upgrade a single BPEL file with multiple implementations in Oracle BPEL Process Manager 11g.
To migrate and merge multiple 10g Release 3 (10.1.3) projects with a single BPEL implementation file, you must rename the BPEL file in each project. In the bpel.xml file in each project, the bpel filename and deployment ID name must be renamed the same name, as well.
Before you upgrade the application, review the bpel.xml
file and *.bpel
file. Make sure that the BPEL file name and the process name are the same; then review the bpel.xml
file and verify that the BPEL file name is the same as the deployment ID name.
If you created an Oracle BPEL Process Manager 10g project that used correlation sets in an asynchronous service, as described in the Oracle BPEL Process Manager 10g Release 3 (10.1.3) Developer's Guide, make sure that the correlation set properties file uses the following proper naming convention:
BPEL_FILE_NAME_Properties.wsdl
If this file naming convention is not followed in the Oracle BPEL Process Manager 10g project, the properties will not be upgraded correctly. If you need to change the name to meet the file naming conventions, then also update the wsdl
file that imports the property file name, accordingly.
If you open and upgrade an Oracle BPEL Process Manager 10g project that has a configuration property, transaction=participate
, then that property will not be migrated to 11g when you open the application in Oracle JDeveloper 11g. This configuration property is no longer supported in Oracle Fusion Middleware 11g.
If you open and upgrade an Oracle BPEL Process Manager 10g project has a partnerLink binding property, transaction=participate, then that property will be dropped on the caller side. The callee project instead should have the property setting bpel.config.transaction=required. This caller to callee setting propogation is not performed by upgrade and must be performed manually after you upgrade the application and before you attempt to deploy it on Oracle Fusion Middleware 11g.
In Oracle BPEL Process Manager 10g, you specify domain properties in the domain.xml
descriptor file.
In Oracle BPEL Process Manager 11g, you specify Oracle BPEL Process Manager engine properties in bpel-config.xml
and soa-infra-config.xml
(both are accessible as MBeans).
Table 10-1 compares the domain descriptor properties available in Oracle BPEL Process Manager 10g and Oracle BPEL Process Manager 10g.
There is only one domain in Oracle BPEL Process Manager 11g, which means that these properties will affect the entire server.
Table 10-1 Domain Descriptor Properties in Oracle BPEL Process Manager 10g and 11g
If you have developed and deployed your Oracle Application Server 10g BPEL projects using multiple Oracle BPEL Process Manager domains, then you should be aware that Oracle Fusion Middleware 11g does not support multiple BPEL domains.
If you are using multiple domains in Oracle Application Server 10g, then you have two options when you upgrade to Oracle Fusion Middleware 11g:
You can install and configure multiple Oracle SOA Suite Oracle WebLogic Server domains. You can then map each of your Oracle BPEL Process Manager 10g domains to a separate Oracle WebLogic Server domain.
You can deploy all your Oracle BPEL Process Manager projects to a single Oracle SOA Suite Oracle WebLogic Server domain.
For more information, refer to the Oracle Fusion Middleware Installation Guide for Oracle SOA Suite and Oracle Business Process Management Suite.
When you upgrade an application from Oracle SOA Suite 10g to Oracle SOA Suite 11g, any HTTP bindings are not upgraded automatically. However, after you upgrade the application to Oracle SOA Suite 11g, you can modify the composite.xml
file in Oracle JDeveloper to configure suitable bindings to external references.
For more information, see the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Before you upgrade your BPEL projects to Oracle SOA Suite 11g, verify that the process ID in the bpel.xml file, the name of the BPEL project, and the name of the BPEL file are all the same value. Otherwise, you might encounter errors during the ugprade of your project in Oracle JDeveloper 11g or some elements of your project may not upgrade correctly.