Tag Archives: BPM

Forrester on Dynamic Case Management Q1 2011

What Oracle and some other BPM and ECM vendors call Adaptive Case Management – ACM – is called Dynamic case management by Forrester and others. The notion of a case and the need for these systems emerge from requirements elicited by existing Business Process Management (BPM) and Enterprise Content Management (ECM) implementations. Forrester states:

We found a clear recognition that older process automation approaches based on traditional mass production concepts no longer fit an era of peolple-driven processes.

Types of Dynamic Case management

Forrester uses a division in three categories of Case Management:

  • Investigative – Examples are Audit request, Fraud detection and regulatory queries. All these are aiming at risk mitigation and cost control.
  • Service Request – Think claims, customer service, underwriting and customer onboarding. Processes like these are aimed at customer experience and risk mitigation.
  • Incident management – Think managing complaints, order exception and acute helth care. This categorie is aimed at customer experience and cost control.

Dynamic Case Management extends BPM

In contrast to traditional BPM products, DCM software supports:

  • The ability to run multiple procedures against a given case of work – An individual case instance can be influenced by multiple processses.
  • The ability to associate different types of objects with a case – A set of data (structure, unstructured, assets, customers calls, etc) provide the context for an individual case.
  • Mechanisms that allow end users to handle variantion – Humans working on the case use their skills and expertise to interpret what is needed to handle the case and see the results of this reflected in the supporting system.
  • Mechanisms to selectively restrict change on a process – Certain lock down of change on certain assets is required due to compliance on one hand and facilitating goal-centric behavior on the other hand.

Beware of the untamed processes

In every organization there are several to loads of untamed processes. With a growing demand to track these, meet compliance regulations and gain insight on their effectiveness (and efficiency). Dynamic Case Management aligns with these untamed processes since they support:

  • both structured and unstructured content
  • both human and system controlled processes
  • facilitating khowledge and expert guidance

Forrester Wave - Dynamic Case Management q1 2011DCM has very strong point when bringing flexibilty and manageability together. It provides visibility and control for tasks that have to be performed. Key drivers for the DCM initiatives are both agility and traceability.

Oracle and ACM

As Forrster states: Many ECM and BPM tools form the basis for Dynamic Case Management solutions. With PS6 and release 12c of the Oracle BPM Suite, Oracle will take a leap into Adaptive Case Management segment as they call it. Check the other vendors in the Forrester Wave for Dynamic Case Management.

Configure BPM engine to publish to BAM

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 – http://bpm-host:7001/em
  • 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

BPM Suite configure BAM Adapter

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 eis/bam/soap
  • 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)
  • Save
  • 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.

SOA Suite delete instances for specific composite

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;

You can use the instances tab to track the progress of the delete script:
Composite instance count

Oracle BPM enable BAM

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.

  • In the BPM Project Navigator right click the BPM project
  • Select Project Preferences
  • In the Category tree, select Process Analytics Summary
  • Click the Data Targets tab
  • Check the Enable BAM checkbox
  • Select the JNDI name of the BAM Adapter labeled as eis/bam/soap
  • Click OK

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.

Export Oracle BPM metrics to a data warehouse

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 (11.1.1.5.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.
  • CUBE_INSTANCE
  • COMPOSITE_INSTANCE

Example queries of BPM process metrics

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.

Example queries of task performance metrics

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.

JDeveloper 11g with BPM Studio extension

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

JDeveloper BPM Studio extensionShould 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.

Oracle BPM Suite 11g Handbook and free resources

BPM Suite 11gRecently McGraw Hill published the Oracle Business Process Management Suite 11g Handbook. It is available on their site and at Amazon.com.

Here is the table of contents with the links to the free chapters:

    Part I: Introduction

  1. BPM – Background
  2. Standards in BPM
  3. BPM Suite 11g – Overview
  4. Part II: Mastering Oracle BPM 11g

  5. Quick Learners Guide to Oracle BPM 11g
  6. Business Process Modeling and Implementation using BPMN 2.0
  7. Mastering Business Rules
  8. Advanced Human Tasks
  9. Developing Rich User Interfaces for BPM with ADF
  10. Part III: Essentials of Oracle BPM Methodology

  11. Planning a BPM Adoption
  12. Strategic Analysis, Process Selection and Design
  13. Technical Design and Project Delivery Strategies

SOA and E20 Partner Community Forum – 2

Some notes and dump of thoughts on the second day of the SOA and E20 Partner Community Forum. A day filled with interesting breakout sessions. Some of them were discussing roadmaps and future developments in the stack, and thus subjective to an NDA.

SOA platform

Again after this session I came to the conclusion that in my opinion BAM is used too little.

During the session was raised whether people in the audience were using non-Oracle databases as dehydration store and Meta Data Store. The mainstream is using Oracle as dehydration store. And although it is certified, it is advised to use Oracle as the database for this purpose. On the Application Server, given the maturity of the J2EE platform, there is less discomfort in operations to deploy the SOA Suite on a non-Oracle App Server.

ADF

Only today I found out that there is an interesting JDeveloper 11g extension. The extension validates ADF code quality. Seems an interesting extension to check code quality besides the already available Java tools.

BPM

When comparing BPEL and BPM and looking into when to use what tool, the following was stated: For all things with human interaction BPM is the tool of choice. In integration driven appraoches BPEL is the tool of choice.

In Oracle point of view BPM includes:

  • People
  • Systems
  • Documents

without the need for separate platforms.

Example of a custom Spring Java worklist application for Oracle BPM.

SOA Symposium 2010 videos available via InfoQ

This year, in partnership with InfoQ.com (the largest community site for technical architects), 1/4th of the SOA Symposium sessions was filmed and will be published on InfoQ. From early November InfoQ has started publishing these videos. At the time of writing the following videos are available:

Cloudy SOA

This session on Cloudy SOA by Mark Little covers:

an introduction to cloud computing pointing to the fact that the middleware needs of the cloud are similar to SOA’s, showing some of the benefits of running SOA along with the cloud, asking if cloud computing and SOA should evolve together and giving some future directions to consider.

BPM Top Seven Architectural Topics in 2010

Hanjo Normann’s session presenting the BPM Top Seven Architectural Topics in 2010 covers:

how to design a BPM/SOA solution including: modeling human interaction, improving BPM models, orchestrating composed services, central task management, new approaches for business-IT alignment, solutions for non-deterministic processes, and choreography.

Resurrecting SOA

Anne Thomas Manes in her Resurrecting SOA session goes into details on why she:

believes organizations need SOA more than before, but using a redefined SOA based on the SOA Manifesto, focusing on models, methodologies and patterns, not on technology, intended to produce the desired business and technical goals.

For a complete overview of SOA Symposium sessions on InfoQ check their SOA Symposium page.