Oracle® BPEL Process Manager Developer's Guide
10g Release 2 (10.1.2) B14448-02 |
|
Previous |
Next |
This appendix discusses deployment descriptor preference properties and deployment descriptor configuration properties.
This appendix contains the following topics:
Preferences are simple name-value pair properties that are defined in the deployment descriptor of a BPEL process, and which are accessed at run time by the BPEL process. You can change the value of a preference from Oracle BPEL Console at run time, without having to redeploy the BPEL process.
Preferences enable BPEL process designers to externalize literal values from a process, enabling them to be altered without having to redeploy the entire BPEL process.
For example, if you design a process that automatically rejects expense requests that exceed 1000 dollars, and business requirements later change so that the maximum amount is increased to 1500 dollars, then you normally need to edit the process definition and redeploy. By defining a preference for the maximum amount in the deployment descriptor, the change can be performed at run time, without redeploying the process.
You can define preference values at run time from JDeveloper BPEL Designer. Click the Deployment Descriptor Properties icon shown in Figure E-1. This icon is located just above and to the left of the Diagram View.
Figure E-1 Deployment Descriptor Properties Icon
In the Deployment Descriptor Properties window, click the Preferences tab, as shown in Figure E-2.
Figure E-2 Deployment Descriptor Preference Properties in Oracle BPEL Console
Click Create and enter a preference name. Edit the value in the Property Value field and click OK. The change takes effect immediately. Preferences you create in this way are reflected in bpel.xml
, inside the preferences
tag, as follows:
... <preferences> <property name="MAX_AMOUNT">1000</property> <property name="DEFAULT_COSTCENTER">US23</property> </preferences> ...
You can update preference values at run time in Oracle BPEL Console, as shown in Figure E-3. Select the process, then select the Descriptor tab to display the deployment descriptor for the process, including any preferences. Update the preference value, and click Update descriptor. The change takes effect immediately.
Figure E-3 Updating BPEL Process Preferences at Run Time
The value of a preference can be read by a BPEL process using the XPath extension function ora:getPreference(String preferenceName)
. This function can be used as part of a simple assign
statement, used in condition expressions, or used as part of a more complex XPath expression.
You can encrypt the contents of a preference property. Encryption uses DES with the sunJCE security provider. The contents do not appear encrypted in JDeveloper BPEL Designer. The contents are encrypted at deployment only. The Encryption list (see Figure E-2) provides the following options:
No Need to Specify—Do not encrypt the contents.
Plain Text—The contents remain in plain text.
Encrypt—The contents are encrypted.
The property is also shown as a password field in the Configurations tab of the deployment descriptor.
The following example shows the XML code without encryption set and then with encryption set.
Without encryption set:
... <preferences> <property name="secret">mySecretValue</property> </preferences> ...
Or the XML without encryption can look as follows, although properties are stored as plaintext
by default, so plaintext
need not be specified explicitly.
... <preferences> <property name="secret" encryption="plaintext">mySecretValue</property> </preferences> ...
To tell the compiler and Oracle BPEL Server to encrypt a property, the XML looks like this:
... <preferences> <property name="secret" encryption="encrypt">mySecretValue</property> </preferences> ...
After the BPEL project is compiled, the compiler updates the copy of the bpel.xml
file in the compiled JAR file (not the copy in the JDeveloper BPEL Designer project), so that the XML looks like this:
... <preferences> <property name="secret" encryption="encrypted">ZAv9lfntAgy=</property> </preferences> ...
Encryption works for any property
tag in the descriptor, not just those in the preferences
section, in case you want to encrypt properties in other sections.
Note: Values of preferences can still be inferred by inspecting the audit trails of instances that contain values derived from the preference. |
Configuration properties are specific properties used by the server, Oracle BPEL Console, or both. In Oracle BPEL Console, for example, the configuration properties are used to display a description of the process and default data in the test process window.
You can define configuration properties at run time from JDeveloper BPEL Designer. Click the Deployment Descriptor Properties icon, located just above and to the left of the diagram view. (See Figure E-1.) In the Deployment Descriptor Properties window, click the Configurations tab, as shown in Figure E-4.
Figure E-4 Deployment Descriptor Configuration Properties in the Oracle BPEL Console
Click Create and enter a configuration name. Edit the value in the Property Value field and click OK. The change takes effect immediately. Preferences you create in this way are reflected in bpel.xml
.
See "Encrypting a Preference Value" for information about encrypting the contents of configuration properties.
Table E-1 lists the property names of the configurations
deployment descriptor. For each configuration property, a description is provided, as well as the expected behavior of the server when it is changed.
Table E-1 Configuration Properties for the configurations Deployment Descriptor
Property Name | Description | On Change |
---|---|---|
|
Sets the portion of the instance information that you want to save after the instance is completed. The default value is |
NA |
|
Configures how the instance data is saved. The default value is |
NA |
|
The XML document that you want to use as input to test the process from Oracle BPEL Console. |
Takes effect immediately |
|
Default value is |
NA |
|
Default value is |
NA |
|
Default value is |
NA |
|
Default value is |
NA |
|
Default value is |
NA |
|
Default value is |
NA |
|
Default value is |
NA |
|
Location of the sensor action XML file that is used by Oracle BPEL Process Manager. The sensor action XML file configures the action rule for the events. |
NA |
|
Location of the sensor XML file. The sensor XML file defines the list of sensors into which Oracle BPEL Process Manager logs events. |
NA |
|
Introduction text that appears in the test console. |
Takes effect immediately |
|
When set to |
Takes effect immediately |
|
Service Level Agreement (Process Completion Time) - Threshold for a commitment within which a process is completed for a specified time period. Value is an XML duration. |
NA |
|
Default value is |
NA |
Table E-2 lists the configuration properties of sections of the partnerLinkBinding
deployment descriptor. For each configuration property, a description is given as well as the expected behavior of Oracle BPEL Server when it is changed.
Table E-2 Configuration Properties for the partnerLinkBinding Deployment Descriptor
Property Name | Description | On Change |
---|---|---|
|
List of bindings that the compiler generates for the |
Recompile (not implemented) |
|
Default value is |
If this is the process |
|
Sets special HTTP |
Takes effect immediately |
|
For HTTP username/password authentication |
Takes effect immediately |
|
For HTTP username/password authentication |
Takes effect immediately |
|
If the server permits |
Takes effect immediately |
|
URL that overrides the location defined in the WSDL. For SOAP over HTTP binding, this value overrides the |
Takes effect immediately |
|
Default value is |
Takes effect immediately |
|
Number of seconds that Oracle BPEL Server waits between retries. |
Takes effect immediately |
|
Number of retries that Oracle BPEL Server attempts, if an invoke fails because of network problems. |
Takes effect immediately |
|
Some legacy RPC-style Web services require the |
Takes effect immediately |
|
-- |
Takes effect immediately |
|
Number of seconds in which a SOAP call times out. A remote fault is thrown if this happens. |
Takes effect immediately |
|
URL of the WSDL file that defines this partner link. This property must be present. The BPEL compiler needs this to validate the BPEL source. This can be an abstract WSDL in that only the |
Recompile (not implemented) |
|
URL to the partner link WSDL. It is used on Oracle BPEL Server, which means that the concrete WSDL with all the service, port, and binding definitions is needed. This property is optional and defaults to the |
Clear WSDL cache (not implemented) |