Skip Headers
Oracle® BPEL Process Manager Developer's Guide
10g (10.1.3.1.0)

Part Number B28981-03
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

C Deployment Descriptor Properties

This appendix discusses how to define deployment descriptor preference properties and deployment descriptor configuration properties.

This appendix contains the following topics:

C.1 Deployment Descriptor Preference Properties

Preferences are simple name-value pair properties that are defined in Oracle JDeveloper, and which are accessed at run time by the BPEL process. Preferences enable BPEL process designers to externalize literal values from a process. You can change the value of a preference at run time in Oracle BPEL Control, without having to redeploy the 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 property at design time, you can change the value at run time as needed, without redeploying the process.

C.1.1 Defining a Preference Property

You can define preference values in Oracle JDeveloper.

  1. Click the Deployment Descriptor Properties icon, as shown in Figure C-1 (located in the upper-left area of a BPEL diagram).

    Figure C-1 Deployment Descriptor Properties Icon

    Description of ddesc.gif follows
    Description of the illustration ddesc.gif

  2. In the Deployment Descriptor Properties window, click the Preferences tab, shown in Figure C-2.

    Figure C-2 Deployment Descriptor Preference Properties

    Description of depdesc11.gif follows
    Description of the illustration depdesc11.gif

  3. Click Create and enter a preference name.

  4. Edit the value in the Property Value field and click OK.

    The change takes effect immediately, and is reflected in bpel.xml, in the preferences tag, as follows:

  5. ...
    <preferences>
       <property name="MAX_AMOUNT">1000</property>
       <property name="DEFAULT_COSTCENTER">US23</property>
    </preferences>
    ...
    

C.1.2 Updating a Preference at Run Time

You can update preference values at run time in Oracle BPEL Control.

  1. Click the BPEL Processes tab.

  2. Click a process name and then the Descriptor tab.

    The deployment descriptor for the process, including any preferences, is displayed, as shown in Figure C-3.

    Figure C-3 Updating BPEL Process Preferences at Run Time

    Description of depdesc3.gif follows
    Description of the illustration depdesc3.gif

  3. Update the preference value, and click Update descriptor.

    The change takes effect immediately.

C.1.3 Getting the Value of a Preference within a BPEL Process

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.

C.1.4 Encrypting a Preference Value

You can encrypt the contents of a preference property. Encryption uses DES with the sunJCE security provider. The contents do not appear encrypted in Oracle JDeveloper. The contents are encrypted at deployment only. The Encryption list (see Figure C-2) provides the following options:

  • Plain Text—The contents remain in plain text.

  • Encrypt on server on deploy—The contents remain in plain text in the Oracle JDeveloper project. However, the contents are encrypted on Oracle BPEL Server.

  • Encrypt on local machine—The contents remain in encrypted form in the Oracle JDeveloper project and are also encrypted on Oracle BPEL Server.

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 Oracle JDeveloper 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.

C.2 Deployment Descriptor Configuration Properties

Configuration properties are specific properties used by Oracle BPEL Server, Oracle BPEL Control, or both. In Oracle BPEL Control, for example, configuration properties are used to display a description of the process and default data in the test process window.

C.2.1 Defining a Configuration Property

You can define configuration properties in Oracle JDeveloper.

  1. Click the Deployment Descriptor Properties icon, as shown in Figure C-1 (located in the upper-left area of a BPEL diagram).

  2. In the Deployment Descriptor Properties window, click the Configurations tab, shown in Figure C-4.

    Figure C-4 Deployment Descriptor Configuration Properties

    Description of depdesc2.gif follows
    Description of the illustration depdesc2.gif

  3. Click Create and enter a configuration name.

  4. Edit the value in the Property Value field and click OK.

    The change takes effect immediately, and is reflected in bpel.xml.

See "Encrypting a Preference Value" for information about encrypting the contents of configuration properties.

Table C-1 lists the property names of the configurations deployment descriptor.

Table C-1 Configuration Properties for the configurations Deployment Descriptor

Property Name Description BPEL Server Behavior on Change
completionPersistLevel Sets the portion of the instance information that you want to save after the instance is completed. The default value is all, meaning the instance is saved in both the cube_instance and cube_scope tables. The other value is instanceHeader, meaning only the metadata of the instances are saved in the cube_instance table. Note that this property can only be set if the inMemoryOptimization property is set to True.

See Also: Oracle Application Server Performance Guide for additional details about the inMemoryOptimization and completionPersistLevel properties

NA
completionPersistPolicy Configures how the instance data is saved. The default value is on, meaning the completed instance is saved normally. If this value is set to deferred, then the completed instance is saved, but with a different thread and in another transaction. If this value is set to be faulted, then only the faulted instances are saved. If this value is set to off, then no instances of this process are saved.

See Also: Oracle Application Server Performance Guide for additional details about the completionPersistPolicy property

NA
defaultInput The XML document that you want to use as input to test the process from Oracle BPEL Control. Takes effect immediately
initializeVariables Default value is True. If set to False, the compiler does not initialize the variables based on to-spec queries. NA
inMemoryOptimization Default value is False. This property can only be set to True if it does not have dehydration points. Activities like wait, receive, onMessage, and onAlarm create dehydration points in the process. If this property is set to True, Oracle BPEL Server tries to do inMemory optimization on the instances of this process on to-spec queries.

See Also: Oracle Application Server Performance Guide for additional details about the inMemoryOptimization property

NA
loadSchema Default value is True. If set to False, XML schemas are not loaded and Oracle BPEL Process Manager becomes typeless. NA
noAlterWSDL Default value is False. If set to True, the compiler does not try to modify the process WSDL to add binding and service information. NA
optimizeVariableCopy Default value is True. If set to False, Oracle BPEL Server does not enable copy-on-write for an assign copy. NA
relaxTypeChecking Default value is False. If set to True, the compiler does not check type compatibility with an assign activity. NA
relaxXPathQName Default value is False. If set to True, the compiler does not complain about unqualified steps in the query. For example, where the correct form must be: query="/ns1:payload/ns1:name", the following form passes compilation, if this flag is turned on: query="/payload/name". NA
sensorActionLocation 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
sensorLocation Location of the sensor XML file. The sensor XML file defines the list of sensors into which Oracle BPEL Server logs events. NA
testIntroduction Introduction text that appears in the test console. Takes effect immediately
transaction When set to participate, the process produces a fault that is not handled by fault handlers, which calls the transaction to be rolled back. Takes effect immediately
SLACompletionTime Service Level Agreement (Completion Time) - Threshold for a commitment within which a process is completed for a specified time period. Value is an XML duration. NA
xpathValidation Default value is True. If set to False, the compiler does not validate the XPath queries. NA
user The username a calling user must provide (given the domain level security is on). Redeploy the process
pw The password a calling user must provide (given the domain level security is on). Redeploy the process
role The role a calling user must belong to in the identity management (given the domain level security is on). Redeploy the process

Table C-2 lists the configuration properties of sections of the partnerLinkBinding deployment descriptor.

Table C-2 Configuration Properties for the partnerLinkBinding Deployment Descriptor

Property Name Description BPEL Server Behavior on Change
basicHeaders Creates HTTP basic authentication. The following values are supported:
  • propagate — If the process has been invoked securely, these credentials are also used for the outbound direction

  • credentials — Passes credentials from the descriptor

Takes effect immediately
basicUsername The username (passed to basic authentication) Takes effect immediately
basicPassword The password credential (passed to basic authentication) Takes effect immediately
callbackBindings List of bindings that the compiler generates for the callback portType. The default value is soap. You set multiple bindings separated by commas (for example, jms, soap). The first item is used as the preferred binding when calling back. Recompile (not implemented)
correlation Default value is wsAddressing. If this is set to correlationSet, this partner link is using the BPEL correlation set. If this is the process partnerLink, recompile (not implemented)
contentType Sets the special HTTP contentType. Example: text/xml Takes effect immediately
httpAccept Overwrites the HTTP accept header that Oracle BPEL Server sends to the remote SOAP service. Takes effect immediately
httpContentType Overwrites the HTTP content-type header that Oracle BPEL Server sends to the remote SOAP service. Takes effect immediately
httpKeepAlive If the server permits keepAlive connections, this Boolean property can be turned on to take advantage of it. Thus, connections to the same server are shared between invocations.

This attribute was previously named keepAlive.

Takes effect immediately
httpPassword For HTTP username and password authentication Takes effect immediately
httpUsername For HTTP username and password authentication Takes effect immediately
location URL that overrides the location defined in the WSDL. For SOAP over HTTP binding, this value overrides the SOAP address. Takes effect immediately
nonBlockingInvoke Default value is False. When this is set to True, Oracle BPEL Server spawns a separate thread to do the invocation so that the invoke activity does not block the instance.

See Also: Oracle Application Server Performance Guide for additional details about the nonBlockingInvoke property

Takes effect immediately
retryInterval Number of seconds that Oracle BPEL Server waits between retries. Takes effect immediately
retryMaxCount Number of retries that Oracle BPEL Server attempts, if an invoke fails because of network problems. Takes effect immediately
sendXSIType Some legacy RPC-style Web services require the xsi:type to be set with every element in the input message. If this value is set to True, Oracle BPEL Process Manager populates the xsi:type of all the elements. Takes effect immediately
serviceProperties -- Takes effect immediately
timeout Number of seconds in which a SOAP call times out. A remote fault is thrown if this happens. Takes effect immediately
validateXML Enables message boundary validation. When set to true, Oracle BPEL Server validates the XML message against the XML schema during a receive activity and an invoke activity for this partner link. If the XML message is invalid, then a bpelx:invalidVariables runtime fault is thrown. This overrides the domain level validateXML property. The following example enables validation for only the StarLoanService partner:
<partnerLinkBinding name="StarLoanService"> 
<property name="wsdlLocation">
http://<hostname>:9700/orabpel/default/StarLoan/Sta
rLoan?wsdl</property> 
<property name="validateXML">true</property> 
</partnerLinkBinding>

See Also: Oracle Application Server Performance Guide for additional details about the validateXML property

Recompile
wsdlLocation 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 portTypes and their dependencies need to be defined in the WSDL. Recompile (not implemented)
wsdlRuntimeLocation 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 wsdlLocation property. This property also enables multiple URLs separated by blanks (spaces, new lines, and tabs). Therefore, Oracle BPEL Server tries sequentially if any URLs are not available. Clear WSDL cache (not implemented)
wsseHeaders Creates a WS-Security username token. The following values are supported:
  • propagate — If the process has been invoked securely, these credentials are also used for the outbound direction

  • credentials — Passes credentials from the descriptor

    See Also: Oracle BPEL Process Manager Administrator's Guide for additional details about the wsseHeaders property

Takes effect immediately
wsseUsername The username for the token (required)

See Also: Oracle BPEL Process Manager Administrator's Guide for additional details about the wsseUsername property

Takes effect immediately
wssePassword The password for the token (optional)

See Also: Oracle BPEL Process Manager Administrator's Guide for additional details about the wssePassword property

Takes effect immediately

C.3 Summary

This appendix discusses deployment descriptor preference properties and deployment descriptor configuration properties, and how to define them in Oracle JDeveloper.