Wednesday, November 26, 2014

Upgrading Oracle SOA Suite from 11g to 12c

Today I'd like to share my presentation on upgrading Oracle SOA Suite from 11g to 12c. It contains information on how the product evolved the last couple of years. It also explains different upgrade strategies, the difference between in-flight upgrade and migration, important pre-upgrade tasks, the upgrade steps itself and post-upgrade steps.   

Additionally it lists the experiences and upgrade results that we've achieved in two different scenarios: in-flight upgrade as well as migration. 

Friday, November 7, 2014

Moving from a File-Based MDS Repository to a Database-Based MDS in Oracle BPM / SOA 12c

You might have noticed that Business Rules editing during runtime is not available in SOA / BPM 12c domains that have been installed from the Quickstart distribution. This is because for those domain configs the underlying MDS is configured as a file-based repository. For the development in our projects we very often use a SOA / BPM Compact Domain. The change of Business Rules without re-deployment is quite important for us because we work a lot with Adaptive Case Management – and there Business Rules and live changes are a key benefit (which we are also demonstrating in demos / POCs / etc.).

Rules Editing in SOA Composer
Rules Editing in SOA Composer (with DB-based MDS)

You can move from a file-based repository to a database-based repository. In our CattleCrew-Blogpost Re-configure a compact domain to use a DB-based MDS instead of a File-based MDS my colleague Sven Bernhardt and me describe how to do that. Please note that you cannot move from a database-based repository to a file-based repository. Please also note that this approach is not documented in the Oracle documentation, so it is not officially supported

After going through the steps below it should be possible to edit rules and DVMs during runtime.

Saturday, June 28, 2014

Oracle BPM 12c - Quick Start Installation (uncensored)

Getting started in 15 minutes!

One of the challenges with previous releases was, that SOA & BPM composites couldn't be deployed and tested on the JDeveloper integrated Weblogic server. Therefore a separate installation of SOA/BPM Suite or a virtual image was necessary to start developing. Now with the new release Oracle introduced a single-click installer for SOA & BPM Suite. Among other new features (like debugging & testing capabilities, templating, optimized foodprint, etc.) this really helps to increase developer productivity.

The video below demonstrates that with Oracle SOA & BPM 12c it just takes 15 minutes to get started - install JDeveloper, start the Weblogic server, develop a simple Hello World, deploy the process and test it from Enterprise Manager.

Do you feel inspired? Just download the software from OTN and try it yourself (SOA-Download; BPM-Download). Have fun!

Friday, June 13, 2014

OMG released formal version of CMMN 1.0

In May 2014 the OMG released version 1.0 of the Case Management Model and Notation (CMMN). You can access the documents associated with it under
Great to see that the specification also includes the “CMMN – Claims Management Example” (page 78) from our "Adaptive Case Management (ACM) in Practice" poster.

Tuesday, January 21, 2014

Install the new User Interface for Oracle Case Management

For all Oracle BPM & Case Management users a new User Interface is available (see SOA Community Blog). Below I describe briefly how to install it on a BPM environment.

To access the software please login to and search for the following Patches:
  • Patch 17014142: SOA BUNDLE PATCH
  • Patch 17767877: CASE UI IN WORKSPACE

1) Read the README-files carefully and perform the following steps for both patches:

2) Set the ORACLE_HOME environment variable to SOA Home, eg:
export ORACLE_HOME=/u01/app/oracle/middleware/Oracle_SOA1/
Validate the result with => echo $ORACLE_HOME

3) Add the appropriate OPatch to the system path, eg::
export PATH=$PATH:/u01/app/oracle/middleware/Oracle_SOA1/OPatch
Validate the result with => which opatch

4) Run OPatch to apply the patch
opatch apply

Repeat the steps for the oracle_common-Home. Patch 17767877 needs to be applied on the Jdeveloper ORACLE_HOME as well.


Additionally make sure that you installed:
  • Patch 14526899
  • Patch 14791221

These two patches can be installed via Smart Update Utility. Start the tool under [MW_HOME]/utils/bsu, copy the extracted patches into [MW_HOME]/utils/bsu/cache_dir and apply the patches.

If you performed all steps successfully, you should now be able to access your case instances from BPM workspace. Have fun with it!

Friday, January 10, 2014

BPM & Integration Days 2014

Vom 24. bis 25. Februar 2014 präsentiert das Business Technology Magazin in München das große Trainingsevent für BPM & Integration.

Lernen Sie in 18 Sessions und sechs Workshops tiefgehendes Know-how für die tägliche Arbeit und für strategische Entscheidungen in Ihrem Unternehmen. Die BPM & Integration Days konzentrieren sich diesmal besonders auf die praktischen Synergien von BPM mit Systemintegration, Mobile, BI und Cloud, gepaart mit Erkenntnissen aus vielen Jahren Projekterfahrung aller Referenten. Insgesamt erwarten Sie:
  • 18 Sessions und sechs intensive Workshops mit klarem Praxisbezug. 
  • Interessante Keynote und Speaker Panel am ersten Tag. 
  • Erstklassige Speaker & Experten vor Ort erleben. 
  • Eine ideale Plattform für Erfahrungsaustausch & Networking. 
  • All-inclusive-Verpflegung mit Erfrischungen und Snacks in den Pausen, leckeres Mittagsbuffet. 
  • Come Together am Montagabend für bestes Networking - mit Freibier und Snacks. 
  • Sie erhalten alle Materialien und Codebeispiele sämtlicher Workshops und Sessions in elektronischer Form zum bequemen Download. 
  • Sie erhalten ein persönliches Entwickler-Akademie-Zertifikat, das Ihnen Ihre erfolgreiche Teilnahme bescheinigt. 
  • Gratis-Magazine, kostenloser Internetzugang, hochwertige Laptoptasche u.v.m.

Am ersten Tag freuen wir uns auf ein spannendes Programm mit drei parallelen Tracks zu "Modellierung und Ausführung", "Auswertung und Semantik", "Integration".

Am zweiten Tag werden die wichtigsten Schwerpunktthemen in vier Halbtagesworkshops und in einem ganztägigen Workshop intensiv vertieft. 

Ich freue mich als Sprecher der folgenden Sessions wieder mit dabei sein zu dürfen: 

Ein Anlass den Sie auf keinen Fall verpassen sollten! Weitere Infos finden Sie auf

Tuesday, December 10, 2013

Create a custom Case Activity in Oracle BPM Case Management

In one of my previous posts I highlighted the new case management functionalites in Oracle BPM Suite. Case management enables you to define the different activities - a user can perform to achieve a goal - without defining the workflow process. For more details about ACM I recommend to download our "Adaptive Case Management in Practice" poster and to read the following articles:

A case is always associated with activities which are performed as part of a particular case. Among milestones, data, events, stakeholders and documents the activities are a key element in Oracle BPM 11g Case Management. In the current release you can create case activities based on a BPM process, or a Human Task, or you can create a custom case activity based on a Java class. In this post I will explain the steps to create a custom case activity.

Create a Custom Case Activity

1. Create a new "BPM Application"
2. Create a new "BPM Project"
3. Create a "Composite with Case Management" component

The above steps will result in a composite with the case and its exposed service and case rules. Now you can open the case definition and define your milestones, stakeholders, permissions, data, user events and so on. See the step-by-step "Hello World" example for more details. The Custom Activity Java class must implement the oracle.bpm.casemgmt.caseactivity.ICaseActivityCallback interface. The callback class must be part of the composite (as explained below), or must add it to the workflow customization classpath.

4. Import the oracle.bpm.casemgmt.interface.jar from

5. Import the bpm-services.jar from

6. Select File => New => Java Class and create the CustomCaseActivity Java class.

7. Organize imports and add your custom logic in the "initiate" operation.

package com.cattlecrew.acm.caseactivities;

import java.util.Map;

import oracle.bpm.casemgmt.CaseIdentifier;
import oracle.bpm.casemgmt.caseactivity.ICaseActivityCallback;

public class CustomCaseActivity implements ICaseActivityCallback {
    public CustomCaseActivity() {

    public String initiate(IBPMContext iBPMContext,
                           CaseIdentifier caseIdentifier, String string,
                           Map<String, Object> map) {
        // Add activity logic here
        return "Called class CustomCaseActivity for activity => " + string;

8. Create the case activity based on the Java class. See chapter 31 of the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more details about config options and guidelines.

9. Define your Business Rules.

10. Deploy and test the Case composite.