- Time Series Forecasting in SQL
- Flashback – Empowering Power Users
- Starting WebLogic
- DevOps and Continuous Delivery for Oracle
- The Rapid Reaction Force – real time business monitoring
Download OTech Magazine Winter 2014 here.
Download OTech Magazine Winter 2014 here.
The fourth issue of OTech Magazine, the independent magazine for Oracle professionals, is available. For the summer 2014 issue there are some more personal articles included. Titles vary from The Spiritual Programmer to The Next Generation: Oracle SOA Suite 12c and back via How to protect your sensitive data using Oracle Data Vault.
Download OTech Magazine – Summer 2014 here.
During Oracle Open World 2013 OTech magazine was launched. OTech is a new independent magazine for Oracle professionals. The magazine’s goal is to offer a clear perspective on Oracle technologies and the way they are put into action. As a trusted technology magazine, OTech Magazine provides opinion and analysis on the news in addition to the facts.
My article in OTech magazine one of the most frequently asked questions is how to pick the right integration infrastructure component to solve the problem at hand.
Download the fall issue of OTech magazine.
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:
Application Defined MBeans - oracle.as.soainfra.config - BMNNConfig - bpmn
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.
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.
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:
DECLARE 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'; BEGIN -- 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 ); commit; END;
BPMN processes created in the BPM Suite can be monitored by standardized dashboard in the BPM workspace. Besides that there a default views to export Oracle BPM metrics to a data warehouse. And there is another option: BAM – Business Activity Monitoring. BAM takes the monitoring of BPMN processes one step further. BAM allows you to create more advanced dashboards and even real-time alerts. BAM enables you to make decisions based on real-time information gathered from your running processes. With BPMN processes you can use the standard Business Indicators that the BPM Suite offers you and use them to with BAM without much extra effort. However you have to enable BAM in BPM processes.
When you run a process that has Oracle BAM enabled the BPMN Service Engine populates Oracle BAM database with information about the business indicators measured in that process. The BPMN Service Engine generates this information based on the Sampling Points preference you defined in your project.
Also read the blog post on how to configure your SOA server to know where your BAM server is running. This is also needed to use BAM for BPM metrics.
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.
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 (22.214.171.124.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:
An overview of the dimension tables:
Average process running time by process:
SELECT process_name , avg(process_running_time_in_msec) FROM bpm_process_performance_v GROUP BY process_name ;
The number of faults by process:
SELECT process_name , COUNT(sequence_id) FROM bpm_process_performance_v 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.
Average, minimum and maximum time taken by a participant in a process per activity:
SELECT process_name , activity_label , role_name , avg(activity_running_time_in_msec) , MIN(activity_running_time_in_msec) , MAX(activity_running_time_in_msec) FROM bpm_activity_performance_v GROUP BY process_name , activity_label , role_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.
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:
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.