Jarvis Pizzeria: Functional Description of the Pizza Preparation Process

Lets take a closer look at one of the stages of the Jarvis Pizzeria process, the second phase is the preparation process. The implementation is a simplified presentation of reality. The purpose of the blog is not implementing a true presentation of reality, but learning some PCS features in particular.
The learning objectives for the preparation part of our blog series are:
  • (Im)possibilities during the conversion of 12c on-premise to PCS. Determining alternatives for the impossibilities.
  • Starting a process via a SOAP User Interface (SoapUI).
  • Oracle Content and Experience Cloud (CEC) Integration. (Start a process via a Document, Archive the Order.)
  • Usage of a Decision Service, Correlation and more …
  • Transforming the Preparation process into a reusable subprocess

The image below is a view of the process we will implement.
Notes to this image:
We start at the processing of orders. This process is initiated by entering an order. We will implement this in two different ways. Firstly, a message that enters via a Soap User Interface. The second way is through a document that enters via the Content and Experience Cloud.
Without regard to any other order, a single order also uses some business logic. For the preparation of pizzas the following variables must be taken into account:
  • Number of available crust chefs.
  • Number of available filling chefs.
  • Number of pizzas that fit in the oven.
  • Total number of pizzas in the order.
  • Preparation time for each type of pizza.
The values of these variables determine the order in which the pizzas should be prepared. The order is determined at the beginning of the order process. Any intermediate adjustment by emergent events are not yet supported.
From the order process the parallel subprocesses for preparing the individual pizzas are started. The actual starting of the preparation process may possibly be postponed as a result of the determined preparation order. This is a result of the Decision Service (where the business logic is defined).
After starting the preparation process the parallel instance starts waiting for a status update. This happens when the pizza is created and ready to be placed in the oven. Currently nothing happens with this interim result, but a possible correction of the total order and other preparation processes would be an application.
Below are the steps of the preparation process completed with the value of some parameters:
  • Making the crust. Depending on the size this will be 2 or 3 minutes. This concerns a human task in which the relevant data is visible to the chef. Once the crust is ready the chef finishes the task.
  • Filling of the pizza. Depending on the size and type this will be between 3 and 6 minutes. This concerns a human task in which the relevant data is visible to the chef. Once the pizza is filled the chef finishes the task.
  • Notifying the order processing process of this interim status. This happens automatically after finishing the previous activity.
  • Putting the pizza in the oven. This is also an human task. Once this task is completed, a descending timer starts to keep track of the remaining time for the pizza to stay in the oven. Depending on the size and type this will be between 6 and 10 minutes.
  • Taking the pizza from the oven and putting it in a box. This human task will be available as soon as the pizza is in the oven. This contains the timer from the previous step and also some other required information. Once the timer runs out, the pizza is taken from the oven and put in a box. Then the task can be completed, which automatically finalizes the process. This human task takes about 2 minutes.
The parallel order processing process receives the completion message from the preparation process. Once all preparation processes are completed the total order can also be completed. Before this happens, the order is archived. For this we also make use of the Content and Experience Cloud (CEC).
The preparation process will be implemented in the following steps:
  1. As a starting point, we deliver the 12c on-premise preparation process as exported application. All the steps needed to get this application working in PCS we are going to describe.
  2. Starting the preparation process from SoapUI and through a Document.
  3. Implementation of the order processing operations with specific attention to the decision service, correlation and Content and Experience Cloud integration.
  4. Description of the steps required to transform the preparation process to a reusable subprocess.