Skip Headers
Oracle® SOA Suite Developer's Guide
10g (10.1.3.1.0)

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

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

7.14 Compiling and Deploying a BPEL Process

After you complete the design of a BPEL process, you compile and deploy the process to Oracle BPEL Server from Oracle JDeveloper. (Oracle BPEL Server is started when the application server is started.) If compilation and deployment are successful, you can initiate and manage the BPEL process from Oracle BPEL Control. See Chapter 13, "Monitoring Oracle BPEL Process Manager" for more information.

Deployment sends the Oracle BPEL Process Manager archive (a set of files in a JAR file with a directory structure similar to the project directory structure) to Oracle BPEL Server. The deployment operation automatically validates and compiles the project directory into the BPEL archive. Therefore, you do not need to explicitly validate, compile, and recompile a project before deployment. Use Oracle BPEL Control to view any currently running BPEL processes before compiling and deploying additional processes. You must wait for the deployment of a BPEL process to complete before attempting to deploy another process.

The first time you deploy a BPEL process to Oracle BPEL Server, a default version label of 1.0 is automatically created. A version identifies a specific deployed instance of a BPEL process. The version label is appended to the end of the JAR file name created when you deploy the BPEL process.

If this label version is already deployed and the server mode is production, you are prompted to overwrite the existing version or enter a different version label. If you overwrite the version, the old process definition on the server is replaced by the new definition. You cannot revert to the old definition. In addition, any process instances that ran under the old definition are marked as stale. The stale instances cannot be examined, and all flow and audit information is lost. If you enter a different version label for the new process definition (for example, 2.0), it is deployed to Oracle BPEL Server, while the older, deployed process definition (1.0) also continues to run simultaneously on Oracle BPEL Server. The instances that ran under the old definition are retained, and not marked as stale. You can still examine the flow and audit information for these instances. If the server mode is development, you are not prompted and the version is automatically overwritten.

In a development environment, Oracle recommends that you always deploy processes to the same version on Oracle BPEL Server. This way, you avoid marking processes explicitly as the default. The life cycle to follow for this environment is as follows:

In a production environment, Oracle recommends that you increment version numbers as you deploy newer versions. For example, if OrderBooking version 1.0 is running in a production environment, then deploy the newer version of OrderBooking to version 2.0. When you have adequately tested and verified your process, mark it as the default. New instances are started using this definition. All version 1.0 instances switch seamlessly to version 2.0. This enables you to decide when a process is ready for production mode. The life cycle to follow for this scenario is as follows:

7.14.1 How to Compile and Deploy a BPEL Process


Note:

Oracle BPEL Process Manager provides an automated test suite framework for creating and running repeatable tests on a BPEL process. Test cases enable you to simulate the interaction between a BPEL process and its Web service partners before deployment in a production environment. See Oracle BPEL Process Manager Developer's Guide for more information on testing BPEL processes before deployment.

You can deploy directly to the default domain or any other domain you have created by using an integration server connection. Domains enable you to partition and manage instances of your processes.

To compile and deploy a BPEL process:

  1. In the Application Navigator, right-click the project name (JPR file) of the process you want to deploy.

  2. Select Deploy > my_integration_server_connection > Deploy to default domain.

  3. Click OK.

    This compiles the BPEL process.

  4. Check for errors in the Log Window at the bottom of Oracle JDeveloper. Use both the Messages tab and the Apache Ant tab to review messages.

    If there are no errors, deployment was successful. If there are errors, double-click line with the error to display details about the type and location of the error.

  5. Make corrections and deploy again.

See Oracle BPEL Process Manager Developer's Guide for more information on the following topics:

  • Creating a BPEL domain

  • Testing a BPEL process

  • Using BPEL Process Deployer

  • Compiling without deploying in Oracle JDeveloper

  • Changing the Oracle BPEL Server mode

  • Deploying a BPEL Suitcase to a specific domain

  • Undeploying a BPEL process from a specific domain

  • Understanding build and compiler command line tools for deploying a BPEL process

7.14.2 What Happens When You Compile and Deploy a BPEL Process

During compilation and deployment, the BPEL process archive and its components are compiled and packaged into a JAR file known as a BPEL suitcase. This JAR file includes the following files:

  • project_name.bpel file implementation of the process

  • project_name.wsdl file

  • bpel.xml deployment descriptor file

  • Any other local resources that are required, such as XML schemas, Java classes or libraries

The suitcase JAR file is deployed to

JDev_Oracle_Home\jdev\mywork\application_name\process_name\output

The suitcase JAR file name follows the convention of bpel_projectname_versionnumber.jar.

7.14.3 What Happens at Runtime

After you compile and deploy a BPEL process, use Oracle BPEL Control to see running instances. If the process requires input to complete, you can initiate the input from Oracle BPEL Control. See Chapter 13, "Monitoring Oracle BPEL Process Manager" for information.