By default the Oracle BPM engine (Business Process Management) is configured so it won’t publish events to BAM (Business Activity Management). So should you choose to use BAM and use these great dashboards, you have set the DisableActions property to false/empty. Here is how it works to configure BPM to BAM:
- Log in to the Fusion Middleware Control –
- Navigate through the Farm – WebLogic Domain – select the domain and then select the Server in which BPM is running (soa_server1 in a default install)
- Use the WebLogic Server dropdown menu as shown in the first screenshot
- Select the System Mbean browser in the menu
- Expand the folder ans shown in the second screenshot:
Application Defined MBeans - oracle.as.soainfra.config - BMNNConfig - bpmn
- Find the DisableActions property and remove it’s value
- Apply the changes
To have the BPM server push events to BAM – Business Activity Monitoring – we have to configure the BPM suite to use the BAM Adapter. The BAM Adapter is configured (like other SOA Suite and BPM Adapters) in the WebLogic Server Console.
Configure BAM Adapter
- In the WLS Console, locate the Domain structure and select Deployments.
- In the Deployments table that is shown, search and click the OracleBAMAdapter (you could filter on type Resource Adapter)
- As shown in the first screenshot: Select the Configuration tab and within that the Outbound Connection Pools tab
- Drill down on the oracle.bam.adapter.adc.soap.SOAPConnectionFactory to
- In the properties tab: fill in the details of the connection to the BAM Server (depending on how you installed it). Remember to acknowledge the changes of each field using the enter key (leaving a field without using the enter key and changes will be lost)
- First time you alter the BAM Adapter you have to create a Deployment Plan. Select the Path to the deployment plan and Save
- Since you need to update the Adapetr now, select it and chose Update
- Choose the option Update this application in place with the new deployment plan changes and click Finish.
In Oracle SOA Suite 10g, or more specific BPEL 10g, one could group functionality in domains. This feature has been away in the early versions of SOA Suite 11g. They have returned in more recent version and can be used for all SCA composites (instead of BPEL only). Nowadays these 10g domains are called partitions.
Create SOA Suite partition
- Login to the Fusion Middleware Enterprise Manager: http://server-name:portnr/em
- Use the tree-view on the left and select soa-infra.
- Use the SOA Infrastructure dropdown menu and select the Manage Partitions item.
- The manage partitions page appears and you should select Create… to create your new SOA Suite partition.
- Enter a name for the partition and press the create button.
While deploying SCA appications from JDeveloper or ANT you should add the partition from now on.
There are fine resources on how to purge SOA Suite instances. However there are case where you want to delete the instances for a specific composite deployed in the SOA Suite. An example could be after an extensive test or test load on a specific service implemented in a SCA composite.
Here is the PL/SQL we used to purge instances of the
productservice composite in the
test partition. It is based on the default packages that are bundled with the SOA Suite to purge instance data:
l_min_creation_date TIMESTAMP := to_timestamp('2010-01-01','yyyy-mm-dd');
l_max_creation_date TIMESTAMP := to_timestamp('2012-09-10 1600','yyyy-mm-dd hh24mi');
l_batch_size INTEGER := 100;
l_max_runtime INTEGER := 60;
l_soa_partition_name varchar2(100) := 'test';
l_composite_name varchar2(100) := 'productservice';
-- delete instances for specific composite
soa.delete_instances( min_creation_date => l_min_creation_date
, max_creation_date => l_max_creation_date
, batch_size => l_batch_size
, max_runtime => l_max_runtime
--, retention_period =>
, purge_partitioned_component => FALSE
, composite_name => l_composite_name
--, composite_revision =>
, soa_partition_name => l_soa_partition_name
You can use the instances tab to track the progress of the delete script:
Categories: AIA, BPEL, BPM, JDeveloper, Oracle, Service Bus, SOA Suite, Tools
BPEL, BPM, Fusion Middleware, instance, JDeveloper, SOA Suite
Managers and teamleads rely on measurements to know how processes and teams are performing. With an increased BPM effort and automated support of processes, more and more questions on solid information from these systems rise. Oracle BPM offers an easy way to export metrics to a data warehouse. Oracle BPM captures standard and business specific metrics and exposes these through a BPM process star schema.
Export Oracle BPM metrics to a data warehouse
To export Oracle BPM metrics to a data warehouse the
SOAINFRA schema in which all configuration and (runtime) instance data is stored offers a number fact tables. These standard views enable the extraction of information for BI usage. For Oracle BPM release prior to PS4FP (18.104.22.168.1) the views have to be created manually. From patchset 4 onwards the process has been automated. Please note that it is not recommended to run the BI reports on the BPM process database.
An overview of the standard fact tables:
- BPM_PROCESS_PERFORMANCE_V – offers standard metrics (like start and end time and running time in seconds) for completed processes.
- BPM_ACTIVITY_PERFORMANCE_V – offers standard metrics for completed activities, completed intervals, measurement marks and counters for both in-flight and completed process instances.
- BPM_PROCESS_INSTANCE_V – offers standard metrics for in-flight process instances. Because of that the information is only relevant at the time the view is queried. When processes move forward the information in this view refelcts the progress.
- BPM_ACTIVITY_INSTANCE_V – offers standard metrics for in-flight activities and interval instances.
An overview of the dimension tables:
- BPM_PROCESS_DEFINITION_V – including data on domain, composite, label and revision.
- BPM_ACTIVITY_DEFINITION_V – including the type of activity: UserTask, Gateway, Event, Measurement interval, etc.
- BPM_ROLE_DEFINITION_V – also allows you to see whether the role is the process owner.
Example queries of BPM process metrics
Average process running time by process:
GROUP BY process_name
The number of faults by process:
WHERE process_discriminator = 'instance_system_fault'
GROUP BY process_name
When you run the process in multiple domains on the same server join with the BPM_PROCESS_DEFINITION_V and differentiate on DOMAINNAME.
Example queries of task performance metrics
Average, minimum and maximum time taken by a participant in a process per activity:
GROUP BY process_name
You could add the revision to see whether certain improvements in the process resulted in faster handling of activities by joining with the BPM_PROCESS_DEFINITION_V. It could also be usefull to join with the BPM_ACTIVITY_DEFINITION_V and discriminate on ACTIVITYTYPE.
To create Oracle BPM processess with JDeveloper you need to install the BPM Studio extension. This is similar to installing the SOA Suite extension.
Ensure that the desired version of JDeveloper is installed. You can download JDeveloper here. Should you be unsure on how to install JDeveloper check the SOA Suite quick start guide to guide you.
Install JDeveloper BPM Studio extension
Install JDeveloper in a seperate Middleware Home. When starting JDeveloper choose the “Default” role. To enable JDeveloper to perform development for the SOA Suite and develop and deploy SCA composites you have to install an extension called SOA Composite Editor. When you want to develop BPM processess you need to install BPM Studio extension following these steps:
- Select Help > Check for Updates
- Click Next
- Select Oracle Fusion Middleware Products and Official Oracle Extensions and Updates and click Next
- Select Oracle SOA Composite Editor and Oracle BPM Studio 11g and click Next
- Check the update has finished and click finished
- Restart JDeveloper and you’re good to go
Should you choose to install these extensions from a local file make shure you have the correct version for your JDeveloper and SOA Suite install. You can find these extensions in the JDeveloper Update Center. There is also a JDev extensions blog.
Categories: JDeveloper, Oracle, SOA Suite, Tools, WLS
11g, BPM, Fusion Middleware, JDeveloper, patch, SOA Suite, WLS
In this post we’ll share some VirtualBox resources that will help you to use Oracle virtualization product VirtualBox.
Installing an Operating System in VirtualBox
There are several great blog post on how to install an Operating System (OS) in VirtualBox. The install Ubuntu 11.04 in VirtualBox not only offers a good step by step guide to install Ubuntu (also check the more recent Ubuntu 12.04 ) , the steps also provide great insights when you want to install other operating systems. It is fairly easy to get from there to installing Windows8 in VirtualBox.
VirtualBox appliances and extending them
There are several great VirtualBox Appliances for Developers. Oracle offers for example both an appliance to test drive SOA Suite 11g and BPM 11g and a very recent appliance running WebLogic Server 12c , including a bunch of Java tools (including NetBeans, OEPE, Subversion, Hudson, Maven).
These VirtualBox Appliances can easily be extended for example with Oracle OSB as described in installing OSB on SOA Suite 11g appliance and extend SOA Suite appliance with Oracle Service Bus. The latter showing you how to extend the SOA domain and the first how to install OSB in a seperate domain.
Dealing with real world problems using VirtualBox
There a several examples on the web. I’d like to share three of them. The first shows you how to create a duplicate disk for use in an additional virtual machine. The second shows you how to update a Vagrant box.
On the side: Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically. It uses Chef or Puppet to provision them. Vagrant is used so other developers can get up and running in just a couple commands.
The third shows you how we solved VBOX_E_FILE_ERROR (0x80BB0004) :
VBoxManage.exe: error: Code VBOX_E_FILE_ERROR (0x80BB0004) – File not accessible or erroneous file contents (extended info not available)
Or how to solve VirtualBox VERR_VMX_MSR_LOCKED_OR_DISABLED (0×80004005)
Failed to open a session for the virtual machine Ubuntu 12.10.
VT-x features locked or unavailable in MSR. (VERR_VMX_MSR_LOCKED_OR_DISABLED).
Since Virtual Machines can be quite demanding for resources on your PC or laptop: Here are some hints to increase appliance performance in VirtualBox.
Installing PS5 (22.214.171.124) can cause some problems when using Oracle XE as the infrastucture database. The solution is described in this SOA Suite / BPM blog by Niall Commiskey.
More tips on upgrading OFM 11g to patch set 5
My colleague Laurens van der Starre published a serie of tips and tricks on upgrading Oracle Fusion Middleware to PS5 on the Whitehorses blog.
More considerations on upgrading to OFM 126.96.36.199.0
There is an additional article on upgrading to OFM 188.8.131.52 on the Whitehorses blog. It goes into more detail on JDK 7 support, OWSM in SOA Suite, the combination of OSB en OWSM and for example the PSA (Patch Set Assistant) performance.
Java memory arguments in OFM 184.108.40.206.0
More on setting Java memory arguments in SOA Suite 220.127.116.11.0.
Categories: BPEL, Database, JDeveloper, Oracle, Service Bus, SOA Suite, WLS
11g, Fusion Middleware, JDeveloper, SOA Suite, XE
Sharing some things we learned while working with SOA Suite 10g database adapters.
- Restrict the number of rows that will be returned by the query that is used in the database adapter. If you do not restrict the number of rows that is returned that could lead to high CPU and memory usage and time outs due to extreme processing time. These conditions can appear when a query results in severla thousand of rows returned.
- Changes the
this_toplink_mappings.xml file. If a
toplink:read-all-query is used, change it to
- In case you forgot… if the audit level of the BPEL domain is still on
Development level change it to the
For links to File and FTP adapter stuff.
While trying to keep my post on purging the BPEL and ESB/Mediator database up to date with the latest documents and experiences, I found these whitepapers and references:
- SOA 11G Database (pdf) Growth Management Strategy
An Oracle SOA 11G installation presents a few challenges for administrators and one of these is managing the growth of the SOA database. The advice facilitates better dialog between SOA and Database administrators when planning and managing database requirements.
- On Oracle support: SOA 11g Infrastructure Database: Installation, Maintenance and Administration Guide [ID 1384379.1]
This document covers everything you need to know about the SOA Infrastructure Database for Oracle SOA Suite 11g. Here we bring together content from sources such as OTN, Product Documentation and our Knowledge Base in an effort to provide you with a single comprehensive resource.
Categories: AIA, BPEL, Database, Oracle, Service Bus, SOA Suite, Tools, WLS
11g, AIA, Database, Fusion Middleware, SOA Suite