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

20121122-123827.jpg

Add BPM technology to your project

20121122-124132.jpg

Create a BPM process with these components

20121122-174342.jpg

Create BPEL component. Select “Based on WSDL”.

20121122-174451.jpg

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

20121122-174529.jpg

Expose as a SOAP service

20121122-174633.jpg

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

20121122-174738.jpg

Assign the fromAdapter to the Receive action

20121122-174901.jpg

Create Correlation set

20121122-175040.jpg

Add property to the correlationSet

20121122-175120.jpg

Select de type as String

20121122-175155.jpg

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

20121122-175244.jpg

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

20121122-175316.jpg

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

20121122-175427.jpg

Add a request message type to the BPEL WSDL

20121122-175509.jpg

Back to BPM process define input string and assign it

20121122-175608.jpg

Configure the ThrowEvent

20121122-180536.jpg

Assign input message

20121122-180638.jpg

deploy and test your project.

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

20121122-180739.jpg

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

20121122-180804.jpg

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.