39 Configuring Oracle BPMN Process Service Components and Engines

This chapter describes for administrators how to configure the BPMN process service engine, including configuring properties used by the engine during processing of BPMN service components.

This chapter includes the following sections:

For more information about BPMN process tuning and performance properties, see Oracle Fusion Middleware Performance and Tuning Guide.

39.1 Configuring BPMN Process Service Engine Properties

To configure BPMN process service engine properties:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator...
    1. Select SOA Administration > BPMN Properties.

    1. Right-click soa-infra.

    2. Select SOA Administration > BPMN Properties.

    The BPMN Service Engine Properties page displays properties for setting audit trail and large document thresholds, setting dispatcher thread properties, validating payload schema, and setting the audit trail level.

    Description of soaadmin_bpmn_props.gif follows
    Description of the illustration soaadmin_bpmn_props.gif

  2. Make changes to the service engine properties that are appropriate to your environment.

    Property Description

    Audit Level

    Select one of the following options:

    • Off: No logging is performed. Composite instance tracking and payload tracking information are not collected. If measurement is enabled, then this level is overridden to Minimal.

    • Inherit (default): Logging equals the SOA Infrastructure audit level. This allows the BPMN audit level to automatically change when the global setting is changed. Setting a different audit level tracking in this page overrides the tracking set at the SOA Infrastructure level.

    • Minimal: Instance tracking information is collected, but not payload details; no payload details are available in the flow audit trails.

    • Production: Instance tracking information is collected, payload details are collected only for out data associations for asynchronous activities. This level is optimal for most normal operations and testing.

    • Development: Allows both the composite instance tracking and payload tracking. However it may impact the performance. This level is useful mostly for debugging purposes.

    Note: If you do not want audit entries to be displayed, then you must turn off both the audit level and the metrics. If metrics are enabled, then audit entries are displayed even if the audit level is set to Off.

    Audit Trail Threshold

    Enter the maximum size in bytes of an instance audit trail before it is chunked and saved in a dehydration store table separate from the audit trail. If the threshold is exceeded, the View XML link is shown in the audit trail instead of the payload.

    Large Document Threshold

    Enter the maximum size of a generated document within a BPMN process component instance before it is stored in a separate table in the dehydration store.

    Dispatcher System Threads

    Specify the total number of threads allocated to process system dispatcher messages. System dispatcher messages are general clean-up tasks that are typically processed quickly by the server (for example, releasing stateful message beans back to the pool). Typically, only a small number of threads are required to handle the number of system dispatch messages generated during runtime.

    The default value is 2 threads. Any value less than 1 thread is changed to the default.

    Dispatcher Invoke Threads

    Specify the total number of threads allocated to process invocation dispatcher messages. Invocation dispatcher messages are generated for each payload received and are meant to instantiate a new instance. If the majority of requests processed by the service engine are instance invocations (as opposed to instance callbacks), greater performance may be achieved by increasing the number of invocation threads. Higher thread counts may cause greater CPU utilization due to higher context switching costs.

    The default value is 20 threads. Any value less than 1 thread is changed to the default.

    Dispatcher Engine Threads

    Specify the total number of threads allocated to process service engine dispatcher messages. Service engine dispatcher messages are generated whenever an activity must be processed asynchronously. If the majority of processes deployed are durable with a large number of dehydration points (midprocess receive, onMessage, onAlarm, and wait activities), greater performance may be achieved by increasing the number of service engine threads. Higher thread counts can cause greater CPU utilization due to higher context switching costs.

    The default value is 30 threads. Any value less than 1 thread is changed to the default.

    Payload Validation

    Select to enable validation of inbound and outbound messages. Nonschema-compliant payload data is intercepted and displayed as a fault.

    Note: This setting is independent of the SOA composite application and SOA Infrastructure payload validation level settings. If payload validation is enabled at both the service engine and SOA Infrastructure levels, data is checked twice: once when it enters the SOA Infrastructure, and again when it enters the service engine.

    Disable BPMN Monitors and Sensors

    Select this checkbox to disable all BPMN monitors and sensors defined for all BPMN components across all deployed SOA composite applications.

  3. Click Apply.

  4. If you want to configure advanced BPMN properties in the System MBean Browser, click More BPMN Configuration Properties. Properties that display include the following. Descriptions are provided for each property.

    • AuditDetailThreshold: The maximum size (in bytes) an audit trail details string can be before it is stored separately from the audit trail.

    • AuditLevel: Controls the amount of audit events logged by a process; currently supported logging levels are: off: absolutely no logging performed whatsoever; may result in a slight performance boost for processing instances.

    • BpelcClasspath: The extra class path must be included when compiling BPMN generated java sources.

    • ConfigMBean: If true, it indicates that this MBean is a Config MBean.

    • CubeInstanceExpiration: The expiration time in hours of performance data. This parameter is disabled by default. You can enable it.

    • CubeTimerMaxErrorCount: Maximum allowed number of consecutive errors during cube timer processing. Once number of errors reaches CubeTimerMaxErrorCount, the cube timer skips processing.

    • CubeTimerMaxSkipOnErrorCount: Specifies the number of times the timer skips processing once the number of errors reaches CubeTimerMaxErrorCount.


      Once the cube timer errors out consecutively for CubeTimerMaxErrorCout times, the cube timer skips the timeout processing for CubeTimerMaxSkipOnErrorCount times. It then resumes the normal timeout processing. The time for which the cube timer skips processing can be calculated as CubeTimerMaxErrorCount * CubeUpdateFrequency.

      If the lockout time must be less, you must either reduce the time to a lesser value or change the number of times to skip timeout processing.

    • CubeUpdateFrequency: Frequency in seconds at which cube action calculates the workload.

    • CubeWorkloadExpiration: The expiration time for workload records. It is set to 48 hours by default, which means that if a workload record's age is more than 48 hours, it is purged.

    • DisableActions: Comma-delimited list of disabled measurement actions (such as CubeCommand, BAMCommand). Also see PublishMaxTrackBackCount.

    • DisableProcessTracking: If set to true, the audit disables process tracking. The default value is false.

    • DisableSensors: If set to true, the service engine disables all calls to sensors. The default value is false.

    • DispatcherEngineThreads: The total number of threads that are allocated to process engine dispatcher messages.

    • DispatcherInvokeThreads: The total number of threads that are allocated to process invocation dispatcher messages.

    • DispatcherMaxRequestDepth: Maximum number of internal messages the service engine processes. If this number is exceeded, new messages are not dispatched. The default value is 600.

    • DispatcherSystemThreads: The total number of threads that are allocated to process system dispatcher messages.

    • eventProvider: If set to true, indicates that this MBean is an event provider as defined by JSR-77.

    • eventTypes: All the event's types emitted by this MBean.

    • ExpirationMaxRetry: The maximum number of times a failed expiration call (wait/onAlarm) is retried before failing.

    • ExpirationRetryDelay: The delay between the expiration retries. The default value is 120 seconds.

    • InstanceKeyBlockSize: The size of the block of instance IDs to allocate from the dehydration store during each fetch.

    • LargeDocumentThreshold: The maximum size (in bytes) a BPMN variable can be before it is stored in a separate location from the rest of the instance scope data.

    • MaximumNumberOfInvokeMessagesInCache: Specify the number of invoke messages that can be kept in the in-memory cache, once the service engine reaches this limit, it pushes the message to dispatcher in-memory cache, instead it saves the message in the database, and these saved messages can be recovered using recovery job. Use value -1 to disable this property.

    • objectName: The MBean's unique JMX name.

    • OneWayDeliveryPolicy: Changes whether the one-way invocation messages are delivered.

    • PeopleQueryTimeout: Specify quartz cron expression People Query. People Query in Logical People Group is reevaluated based on this cron expression.

    • PublishMaxTrackBackCount: Maximum number of records traversed from last audit record, checked for measurement and action enabled and published if so.

    • QualityOfService: Flag to enable or disable Oracle Coherence cache for BPMN service engine. Use CacheEnabled for enabling Oracle Coherence.

    • ReadOnly: If set to true, indicates that this MBean is a read only MBean.

    • RestartNeeded: Indicates whether a restart is needed.

    • StatsLastN: The size of the most recently processed request list.

    • SystemMBean: If set to true, indicates that this MBean is a System MBean.

    • UserInitiateProcessCleanupAction : The action to be performed for the cleanup procedure: OFF (default), ABORT or DELETE. OFF will disable the cleanup process on the next scheduled activation of the process.

    • UserInitiateProcessCleanupCronExpression : The cron type expression indicates when and how often the cleanup procedure should take place. Any changes to the schedule will take effect on the next scheduled activation of the cleanup process.

    • UserInitiateProcessCleanupRetentionDays : Only the user-initiated processes older than number of days old will be processed. Zero is not allowed. Fractions of a day can be specified as a decimal.

    • UserInitiateProcessCleanupTaskStates : The task states to be considered during the cleanup procedure.


      The UserInitiateProcessCleanup properties support the cleanup of properties created using the initiator task.

    • ValidateXML: If set to true, the service engine applies schema validation for incoming and outgoing XML documents. The default value false.

    • Version: Version of the configuration file.

    • WFOracleUcmUrl: Specify a URL for Oracle WebCenter Content repository administration server.

39.2 Integrating Oracle BPM with Oracle Business Activity Monitoring

When a BPMN composite application is deployed, the following Oracle BAM data objects are generated automatically:

  • Data object for the following business indicator:


    Once this is imported, you should rename it to:


    This is created in the target folder. If the data object already exists, new columns are added to it, assuming the old columns match data types. Otherwise, an error is thrown.

  • COMPONENT, INTERVAL, COUNTER data objects if they are not present in the target folder.

The target Oracle BAM Server is specified by JNDI name parameter.


Data objects can be created only automatically at deployment. You cannot create them manually.

To configure Oracle BPM for use with Oracle Business Activity Monitoring, you perform these tasks:

39.2.1 Task 1: Configure the Oracle BAM Adapter on Oracle BPM Server

You must configure the Oracle BAM Adapter to use either SOAP or RMI for communicating with Oracle BAM.

To configure the Oracle BAM adapter on Oracle BPM server:

  1. In the Oracle WebLogic Server Administration Console, under Domain Structure, click Deployments.

  2. Click OracleBAMAdapter > Configuration > Outbound Connection Pools.

  3. Expand oracle.bam.adapter.adc.soap.SOAPConnectionFactory.

  4. Click either eis/bam/soap or eis/bam/rmi.

    The JNDI name used to configure the Oracle BAM adapter is used. For example, if you configured the Oracle BAM adapter to use SOAP, then the default JNDI name is eis/bam/soap. Similarly, if you configure the Oracle BAM adapter to use RMI, then the default JNDI name is eis/bam/rmi.

  5. Modify properties to match Oracle BAM Server. (Remember to press Enter after text entry).

  6. Click Save.

  7. Select the location for the deployment plan—for example, bam/Plan.xml, then complete the dialogs.

  8. Return to Deployments.

  9. Select OracleBAMAdapter.

  10. Click Update and complete the dialogs.

For more information about integrating Oracle Business Activity Monitoring with Oracle SOA Suite composite applications, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

39.2.2 Task 2: Enable Oracle BAM on the Oracle BPM Server

To do this task, you use the Oracle Enterprise Manager Fusion Middleware Control.

To enable Oracle BAM on the Oracle BPM server:

  1. In Oracle Fusion Middleware Control, under WebLogic Domain, select your domain and server.

  2. Go to System MBean Browser.

  3. Select oracle.as.soainfra.config > Server > BPMNConfig > bpmn.

  4. Go to Disable Actions. If you find BAMAction there, then clear the field.

  5. Click Apply.