Earlier in my career I worked extensively with a Business Process Management (BPM) software called Cordys (meanwhile acquired by OpenText). Had a couple of trainings on BEA Aqualogic BPM Suite (now Oracle). Later on, while working for TIBCO I had several trainings and a bit of project experience with their BPM solution.
Most of the BPM concepts are familiar to me, but over the years they became quite rusty 🙂 So this is a good time to dive a bit more into a component of the Oracle Integration Cloud (OIC). I am talking about the Process Cloud Service (PCS), and this will be a series of posts dedicated to exploring PCS capabilities!
Somehow BPM seems to be out of use nowadays and Process Automation became the trendy designation!
The Concepts
Processes are based on BPM Notation (BPMN) – https://www.bpmn.org/
“A standard Business Process Model and Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner. “
The Use Case
In the upcoming posts I will work out a very simple, yet relatable, use case.
A process to manage an employee vacation request .
Granted, if you are self employed this makes no sense, but if you work for a company with a couple hundred or thousands of employees, then the need to manage this process becomes obvious.
Departments/Teams internal planning may require a process to manage this, and on top of that, they may have some business rules that need to be implemented ( example: an entire team cannot take vacations at the same time).
Create the Process
I choose to Create an Application. That will give us a blank canvas to create everything from scratch. There are several QuickStarts, which are ready to run sample Processes. In this post I will build the entire process step by step.
There are two types of processes from which to pick: Structured or Dynamic. The difference between these two is worth of an entire post, but suffice to say that a Structured process is one that has a clear and unchangeable path, regardless of the Human decisions along the way. A Dynamic process path will depend on the Human decisions along the way and vary in nature.
There are several ways to initiate a process. For this use case the option will be: “Start with a Form”
Filling up (and submitting) a form will be trigger to start the process.
The diagram is build on top of swim-lanes that represent the role/user responsibility in the process. In this case the start activity is placed in the Employee swim-lane. The definition of which users/groups belong to the swim-lane can be done at a later stage.
We use the BPMN elements from the palette to build the process.
There are two types of BPMN for Human Activities – Submit and Approve. See the comparation here. We drag and place them accordingly into the canvas. The same for the decision gateway, which allows to decide on which path the process should continue.
The principle behind BPMN modelling is that it should be easy to read.
Above we have a process that is initiated with a Form submission.
A manager will receive that request and can Approve (executes Notification Task and ends process) or Reject ( sends back the form to the employee to resubmitting).
Conclusion
At this moment we have a template process, a framework to support the implementation, but there is no real body to support its execution.
In the next posts I will cover how to create a start Form, how to implement business rules and how to make this business process more robust.