Oracle SOA/BPM: The Thruth about Handling Business Faults

You may have read that it is a best practice to let a service return a "business fault" as a fault. In this article I point out some pitfalls with this "best practice", and will argue that you should have a clear understanding of what "business fault" means before you start applying it. The examples are based upon the Oracle SOA Suite 11g, but apply as well to 12c.

To allow the consumer to recognize (more...)

Oracle SOA/BPM 12c: Propagation of Flow Instance Title and Instance Abortion

Recently I wrote this posting regarding an improvement for setting the title of a flow instance in Oracle BPEL, and BPMN 12c. In this posting I will discuss two related improvements that comes with SOA/BPM Suite 12c, being that the flow instance abortion is automatically propagated from one instance to the other, as well as the flow instance title. Or more precisely, for every child instance the initiating instance is shown together with its name.


Our new book “Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c” got published


In the past year I have contributed to a new Packt book titled “Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c”. I’m very happy that we have managed to publish it this June.

This book is a design handbook and provides skills to successfully design, implement, and optimize business processes on top of SOA. Starting with business process modeling, it shows design principles to architect sound process architectures. It (more...)

Oracle Process Cloud Application Player

With Oracle Process Cloud you can forget these days when you was waiting long to deploy BPM process and test Human Task UI. No need to wait anymore, in Oracle Process Cloud you could use Application Player feature, this allows to run the process and test Human Task UI almost instantly.

To demonstrate Application Player functionality, I have implemented basic process of Data Entry for the Claim Handling:

This process is using Web Form in (more...)

Subversion revision of a deployed BPM/SOA composite?

So there you are: a production error was reported … in your code (of all places) … but no one knows what release the code came from?


Wouldn’t it be great if it was easy to link deployed composites to their Subversion location and revision?

This article show an approach based on ‘Subversion keywords expansion’. This is illustrated with the following steps:

  1. Add properties to the composite.xml file
  2. Set Subversion keywords for composite.xml
  3. (more...)

Oracle Process Cloud Service – SOAP Web Service Integration

Oracle Process Cloud ( allows to invoke SOAP services, along with REST services. You can define a library of SOAP services in Oracle Process Cloud application and use them within the process. This helps to integrate with business logic running on premise.

I have implemented regular SOAP service in ADF BC, just to test how it works to invoke it from Process Cloud:

SOAP service method accepts employee ID and checks (more...)

Oracle Process Cloud Service – Consuming ADF BC REST Service in Web Form

With the introduction of Oracle Process Cloud Service ( there is an option to run your business process in the cloud. You can implement very similar things as it is possible with BPM 12c in JDeveloper, but only in the cloud. There is no option to implement human task UI with ADF, it must be done with Web Forms (light UI forms implementation framework). This is disadvantage, as it will require (more...)

Groovy Time! How to use XML dateTime and duration in BPM 12c

In this article I show some examples of handling XML dateTime and durations in Groovy in the context of a Oracle BPM 12c application.

Working with dates and durations in Java has always been painful. Mainly because date and time is a complex thing, with different formats and time zones and all, but I sometimes wonder if it has not been made overly complex. Anyway. Working with XML dates is even more complex because the (more...)

Oracle BPEL & BPM 12c Set Flow Instance Title

In this article I describe how to set the instance title for a composite in Oracle BPEL or BPM 12c.

Sometimes little, annoying things that are fixed with a new release can give great joy. With 11g you could set the composite instance title using the (advanced) XPath function setCompositeInstanceTitle(). This helps to find or identify instances in Enterprise Manager. However, for high volume composites you may want to configure in-memory-optimization as well by adding (more...)

Integration Is Hard

If you know me at all, you know I love services-based integration.  The whole idea of interfacing, moving and exchanging data, guided by industry standards...I'm an enthusiastic supporter.  The appeal of this idea made me an ardent supporter of Oracle's Fusion Applications.  And I still believe it's an important part of the potential for today's SaaS offerings.

So I'll share a secret with you...I really hate services-based integration.  It's hard.  Packaged integrations rarely (more...)

A quick look at Oracle Process Cloud Service

Oracle Process Cloud Service is Oracle’s rapid process automation in the Cloud. It is more or less BPM in the cloud. This service allows you to quickly and easily create business processes like you are used to with Oracle BPM, only now in the cloud. In this post I’ll give a quick tour of this service.

So let’s start with the Process Cloud Service. The landing page already gives you loads of features.

The landing page of the Process Cloud The landing (more...)

Oracle BPM / SOA Instance Migration Script Issues

In this blog posting I explain some changes you need to apply to get instance migration to work for the Oracle BPM 11g Suite.

While figuring out a couple things about instance migrations I have been doing a few Bundle Patch installations lately. Up to + BP4 I had issues with migration even after applying patch 18025048. I just applied BP7 and installed the latest (more...)

Providing Oracle Stream Explorer environment using Docker

In the past week I have been experimenting with installing Oracle Stream Explorer into a Docker container, in order to simplify provisioning development/show case environments with a single docker run command. 

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to (more...)

The Secret Feature of Bucketsets in Oracle Business Rules

In Oracle Business Rules one can use so-called "Bucketsets". I never liked the term as it is not in the dictionary (did you mean bucketseat?), and never understood what is wrong with "list of values" (LoV) as that is what it is.

See for example the following bucketset that defines a list of values to be used for some status field:

Anyway, bucketsets are typically used in decision tables to define the set (more...)


In this post I will try to show you how I used the Oracle Apex and the APEX_WEB_SERVICE  PL/SQL package to quickly send a request to a public Internet API and how I handled the response. The code below was written during a 'Hackday' and hasn't been extensively tested.

My use case is integrating Oracle Apex with the public Mendeley REST API for Mendeley Catalog Search.

The idea was to build an (more...)

Changes in JDeveloper 12c BPM simulations

While creating a BPM project simulation in the JDeveloper 12c IDE, I noticed some differences in behavior as opposed to 11g. Although the functionality is mostly unchanged, the UI is different. Most of them are more intuitive, but you might want to check them out and save some time.

  1. Simulations are not always listed by default in the BPM project navigator. You can add them by right-clicking on the project, select New … | From (more...)

Making DevOps Business Driven – a service view

I've been doing a bit recently around DevOps and what I've been seeing is that companies that having been scaling DevOps tend to run into a problem: exactly what is a good boundary for a DevOps team? Now I've talked before about how Microservices are just SOA with a new logo, well there is an interesting piece about DevOps as well, its not actually a brand new thing.  Its an evolution and

OBPM versus BPEL, That’s the Question

Recently I was pointed to the so-called Oracle Learning Streams which provide short presentations on all kind of topics.

While ironing my clothes on a Sunday afternoon, I watched one with the title "Leveraging OBPM vs BPEL" by David Mills. An excellent story where he explains in less than 13 minutes the high-level difference using a practical example.

One reason why I like about this stream is that it is in line (more...)

Securing ORDS REST Services with OAUTH2

Oracle Is Easy, a blog written by <a href="" SmartDog Services


OAuth2 is fast becoming the de-facto standard for securing ORDS REST based web services. In this post I will be introducing you to the OAuth2 standard, and more specifically how it can be used to secure REST services developed in Oracle REST Data Services (ORDS).

Posted on October 28, 2014 by Jon Dixon

Excerpt From Wikipedia Definition

OAuth is an open (more...)

HTTP Headers and ORDS REST Web Services

Oracle Is Easy, a blog written by <a href="" SmartDog Services


This is the third in my series on Oracle REST Data Services (ORDS). In this post I will explore the basics of http headers and how you can access, and utilize them within your ORDS REST web services.



HTTP header fields are components of the header section of request and response messages in the Hypertext (more...)