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
DCM 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.
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
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)
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.
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:
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
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.
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 (126.96.36.199.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.
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.
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
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
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.
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.
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.
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.
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:
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.
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.
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.