BPM 11g to 12c Upgrade Notes

BPM 12c has been the latest released version for almost two years now. BPM 11g installations should be looking at 12c upgrades to either pick up significant new features in 12c or prepare for 11g end of support. The upgrade can be quite involved depending on how complex the existing 11g environment is and how […]

12c BPM and BAM Multi Domain Setup

Introduction In this blog, I will show you how to setup BPM and BAM in 2 separate WebLogic domains, so the out-of-the-box process analytics will work as it is on the same domain. In the multi domain setup, you will have a BPM only domain and BAM/BPM domain. The BPM only domain will contain both […]

How to Recover BPM Process Instances from a MDS 00054 Error in Oracle BPM 12.1.3 (Part 1)

Introduction There is an issue in Oracle SOA Suite Fabric layer in version 11.1.x. and 12.1.3. The issue is documented in Bug# 20517579: “Composites Lost Completely after redeployment and server restart”. This bug is fixed in version 12.2.1. A few customers have run into this bug. Once this bug is encountered, BPM server usually shows “MDS 00054: […]

How to find purgeable instances in SOA/BPM 12c

If you are familiar with SOA/BPM 11g purging, after you have upgraded/implemented SOA/BPM 12c, you will not be able to use most of the SQL for 11g to determine the purgeable instances.  This is because SOA/BPM 12c is no longer using composite_instance table for composite instance tracking. In SOA/BPM 12c, a common component is used to […]

RESTful Invoke BPM Process Using Apache CXF

Apache CXF is a services framework that is the open source evolution of IONA Celtix and Codehaus XFire, hence the name CXF. CXF has extensive support for Web Service standards WS-*, JAX-WS and JAX-RS APIs etc. but the focus of this article is on the CXF web service client proxy factory and running it in […]

BPM Workspace Login with libOVD and LDAP, Part 2: Login

Introduction In Part 1, we looked at the initialization of libOVD at server startup. Now let’s examine what happens inside libOVD when you actually click on the login button in BPM Workspace. Again, we are looking at BPM 11g PS5 BP7 with Patch 17315336. The Workspace login is a two step process. The first step is […]

Top 10 Things You Should Know About BPM 11g/12c

With the help of my A-Team colleagues (Sushil Shukla, Siming Mu, John Featherly, Pete Farkas), and based on collective experiences visiting numerous BPM customers worldwide, I have put together my “Top 10” list of things everyone should know when embarking on a BPM project. You might agree, you might disagree, most of all, feel free […]

BPM Workspace Login with libOVD and LDAP, Part 1: Configuration and Startup

Intruduction Some of Oracle BPM 11g customers have reported performance issues when trying to login to BPM Workspace with an external LDAP as an identity store. While each customer could have a different issue that caused the slow down, the process of identifying the issue usually is the same. Having a good understanding of how […]

BPM 11g: Instance Patching Revisited: Inability to Create New Instances

Introduction Back in 2012 after the release of BPM 11g PS4FP I wrote a blog entry on Instance Patching, what it was and how it worked. Remember, instance patching is redeployment of a composite on the same Revision ID with “keep running instances” option, as opposed to instance migration which follows deployment of a new composite with […]

BPM 10g-12c Migration: Handling Excel Files as Input

Introduction With the introduction of BPM 12c comes the long-awaited migration tool to migrate BPM 10g projects to BPM 12c. The A-Team have been heavily involved with the effort to create collateral around this tool – patterns, approaches, samples, tutorials, labs etc. One of the common patterns in BPM 10g is using an Excel spreadsheet as […]

Oracle BPM 12c just got Groovy – A Webcenter Content Transformation Example

Introduction On the 27th June 2014 we released Oracle BPM 12c which included some exciting new features. One of the less talked about of new features is the support of BPM Scripting which incorporates the Groovy 2.1 compiler and runtime. So what is Groovy anyway? Wikipedia describes Groovy as an object-oriented programming language for the […]

BPM 11g: XML_DOCUMENT Table Growth

Introduction I’ve heard from several customers lately who have asked about unexpected growth in XML_DOCUMENT table compared to other BPM tables. This blog looks into the reasons for this growth and some suggestions on how to mitigate it. Test Project In order to demonstrate XML_DOCUMENT table growth we’ll use the following process…. … this has […]

BPM 11g/12c Production Readiness Checklist

Introduction With the help of the other members of the BPM A-Team (Sushil Shukla, John Featherly, Siming Mu) I have put together a concise list of points that should be at least visited prior to moving into production with BPM 11g/12c. Note that it is BPM 11g/12c specific: although it touches on areas common to […]

BPM 11g Process Instances – Faults, Rollback & Recovery – Part 4

Introduction This is part 4 of a 4 part blog explaining how the BPM engine functions under the covers when “faults” occur, be they unhandled technical faults or failures at the engine level. Part 1 can be found here. Part 4: BPM Message Recovery Idempotence It is vitally important to understand the conept of idempotence, […]

BPM 11g Process Instances – Faults, Rollback & Recovery – Part 3

Introduction This is part 3 of a 4 part blog explaining how the BPM engine functions under the covers when “faults” occur, be they unhandled technical faults or failures at the engine level. Part 1 can be found here. Part 3: Understanding BPM Messages Rollback Now that we’ve seen how the important SOAINFRA tables are […]

BPM 11g Process Instances – Faults, Rollback & Recovery – Part 2

Introduction This is part 2 of a 4 part blog explaining how the BPM engine functions under the covers when “faults” occur, be they unhandled technical faults or failures at the engine level. Part 1 can be found here. Part 2: Understanding BPM Messages, Threads & Transactions Given SOA Suite & BPM’s ability to control […]

BPM 11g Process Instances – Faults, Rollback & Recovery – Part 1

Introduction This is part 1 of a 4 part blog explaining how the BPM engine functions under the covers when “faults” occur, be they unhandled technical faults or failures at the engine level. Part 1 – will set the scene by explaining timeouts and their values & fault handling Part 2 – will explain how […]

BPM 11g – Code Coverage for BPMN

Introduction I visited a customer recently who asked a very interesting question…. they’d been performing a series of stress tests of their BPM project made up of many & complex BPM processes and they wanted to know if there were any activities/paths in any of their processes which they hadn’t traversed… sort of like “Clover” […]

BPM 11g Auditing Demystified

I’ve heard from a couple of customers recently asking about BPM audit table growth, specifically BPM_AUDIT_QUERY. It led me to investigate the impact of the various audit levels in SOA/BPM on these table and to propose options to them. It is important to note up-front that BPM is a human-centric workflow application and therefore should […]

BPM 11g – Case Management In Practice: Case API

This will be a very short entry ! As a follow-up to my earlier HelloWorld blog, a colleague in Consulting, Venu Mangipudi, has written two excellent blog entries introducing and using the CM API…. CM API Part 1 CM API Part 2 Many thanks to Venu for these… saved me some work ! All content listed on […]