Casemanagement with Camunda CMMN

I’m getting many customer questions about BPMN and CMMN. Customer cases are not really sequential nor parallel steps, but they need to have managed and traced steps. How to do it?

The answer is very simple, user Casemanagement. You will have a process model but your business steps can be executes in different orders. every case is handled on a different way. Some are dependance steps and others not. From each step you can decide to close the case(process). Some steps can be mediatory others not. Documents can be added to build the case, decisions can be made based on input.

In below I will try to explain a customer case which is handeling interruptions noticed by customer.

Customers fills in a form on web about a system interruption,

  • Service desk checks the details to determine if it is an interruption.
  • The customer will be contacted
  • the contact will be reviewed, based on the outcome of the review..
  • documents cane be requested..
  • documents can be reviewed and based on the review outcome..
  • more technical info can be requested.
  • in this case, it is also possible to create a customer case to close end the process at any time based on the step input.

In these steps you can even call a BPM to handle an approval process based on hierarchical decision.

Oracle BPM-BPEL process with correlations

This blog describes a sample application for a POC about using correlations in BPM and BPEL.

Create a SOA project


Add BPM technology to your project


Create a BPM process with these components


Create BPEL component. Select “Based on WSDL”.


Add 2 input messages to your process. One to start the process and the other to continue the process.


Expose as a SOAP service


Add a Receive action to you process link it to client partnerLink.


Assign the fromAdapter to the Receive action


Create Correlation set


Add property to the correlationSet


Select de type as String


Add 2 Aliases to the property one of message type startProcess(as created before) and the other as fromAdaprt(as created before)


Add correlation to receiveInput in your BPELprocess and set initiate “Yes”


Add correlation to Receive in your BPELprocess and set initiate “no”


Add a request message type to the BPEL WSDL


Back to BPM process define input string and assign it


Configure the ThrowEvent


Assign input message


deploy and test your project.

Run process.service, you will see that it will have status running


Run bpelprocess1_client.service with the same input as process.service. don’t forget to select the correct operation!


Deploy and test your project.

· Start the BPM process.
· User soapUI to send input to the Master process.
· Master process saves input in the database and starts the correlation process.
· You should see in the BPM process that the process gets input.