Jarvis Pizzeria in Case Management Style

As our business grows and our digitalization kicks in, it is time to reevaluate our process setup. We are happy with our processes in Process Cloud, they are easy to set up and we can manage our process from Ordering a Pizza al the way through to delivery.

However as with any BPMN, this a very structured process. Sometimes we require a bit more flexibility.

We had a good chat with our friends from Oracle and we were very pleased to hear that our wish to become more flexible aligned with their plans for PCS. We were thinking towards a Case Management solution for our pizzas and got a very satisfying answer.

In October 2017, Oracle released the Oracle Integration Cloud (OIC), not to be confused with the Integration Cloud Service (ICS). The Integration Cloud brings together several Low Code products. VBCS, Visual Builder Cloud Service, for developing user interfaces, ICS, Integration Cloud Service, for creating your integrations in the Oracle Cloud. Stream Analytics, for smart analytics on your integrations & processes. And last, but certainly not least PCS, Process Cloud Service, that in their new release includes Dynamic Processes. These Dynamic Processes have a lot of Case Management features and have a notation that feels a lot and reminds us of CMMN.

For our Pizzeria business, this means a little redesign of our Structured Process into a CMMN like notation, that is more dynamic. This is helpful since it will make it easier for us to implement features such as ‘Requesting the Order Status’, ‘Changing the Order, ‘Support Payment later in the Order process’ and more.

In the blog posts to come, we will transform our structured pizzeria in a more dynamic design. Along the way we will highlight the core features of the Dynamic Process structure within PCS and help you get acquainted with them.

Advertisements

Jarvis Pizzeria: Third step in Implementing the Order Processing, Correlation

In blog First step in Implementing the Order Processing, Interface Definition and Second step in Implementing the Order Processing, Multi Instance Subprocess there was described how multiple pizza’s could be prepared using a multi-instance subprocess. Although we saw this working correctly, the subprocess was configured to prepare pizzas sequentially, see the screenshot below:

Continue reading

Jarvis Pizzeria: Creating a Custom Tasklist for PCS

So within Process Cloud Service (PCS) we have already shown the tasklist a couple of times. This is the default tasklist that comes with the product. You can use the left hand side filters and handle the actions in the tasks within the task screens.

However, as with all of the ‘one-size-fits-all’ solutions, the tasklist might not be exactly what you need for your organisation or use-case. In this case it is good to know, that you can create your own custom tasklist.

This compares to what we see at customers using BPM Suite on premises. We use a lot of features from BPM, but usually not the Worklist/Workspace that comes out of the box with BPM. Since there is an SOAP API to call your tasks, it is quite easy to talk to this API and create your custom tasklist in the on-premises world.

For PCS, we do not have SOAP APIs, but we do have REST APIs, if there is any need to create a custom tasklist, you can use these APIs to; Start an application, query for tasks, query for task details, handle the payload or outcome and much more.

Continue reading

Jarvis Pizzeria: Second step in Implementing the Order Processing, Multi Instance Subprocess

In the post ‘First step in Implementing the Order Processing, Interface Definition‘ we introduced the Pizza Order process. In this blog we will implement the next part of the Order Preparation process. We will add the call out to the Pizza Preparation process from the multi instance subprocess.

The first thing we need to do is feed every instance of the subprocess with the details of one pizza. For the outcome of the subprocesses we also need a storage location.

As a recap, an order consists of customer details and a list of pizzas to be made:

The order outcome is a list of status outcomes for each pizza.

We had already defined the data objects (DO’s) for these BO’s. Now we are going to associate them with the subprocess. For this we open the properties of the subprocess. Associated the DO’s to the consume and result of the subprocess (as shown on the right side of the image below). Now also make sure that the subprocess instantiates sequentially.

Continue reading

Jarvis Pizzeria: Send Task vs Throw Message Event

Now that many of you are acquainted implementing BPM(N) processes, one should have noticed that there are multiple roads leading to the same goal while implementing a business process. One example is the invocation of an asynchronous service. This can either be done with a Send Task or a Message Throw Event. This blog tells about the difference between those two activities within PCS and when you should pick one over the other.

Continue reading

Jarvis Pizzeria: First step in Implementing the Order Processing, Interface Definition

In post Functional description of the pizza preparation process we gave a functional description of the pizza preparation process. For this we used the image below. Till now we only have implemented the bottom part ‘the preparation of a single pizza’.

In this post we will do the next step. The preparation of a complete order, containing potentially multiple pizzas. We will do this in a separate process. So let’s start by creating a new process in the preparation application. We gave it the self explaining name OrderPreparationProcess. Continue reading

Jarvis Pizzeria: Deploying and reverting to Snapshots

When working on a PCS application, you save and publish your changes often. However, when you publish a certain state of the application, you can decide to create a snapshot of this state of the application.
This can be very helpful if the publish represents a certain version of the application. Later these snapshots can be deployed or reverted to in case you want to roll back to a previous version. It is also possible to see what was in the application at the time of the snapshot creation.
In this blog we will show you how to work with snapshots.

When publishing, in the popup on the right hand side there is a option to ‘Make Snapshot’, when this checkbox is checked you can enter a name for the snapshot, in this case the snapshot will represent Jarvis 1.0!

Continue reading