Finally Hands-On

The first BPMN process

Hello there!

I know I’m a bit late on this article, but my presence in the Middle East had more (positive) impact than I anticipated, so I got tied up at work.

Anyway, let’s finally start to use Oracle’s BPM Composer to model our “Request a parking space” process.

As the Akino Fishing Co is a series focused on the Business User, we’ll try to keep our articles as Zero-Code as possible.

Finally… Hands-on!

We’ll start by logging on to BPM Composer

Oracle BPM Composer Login Screen

Oracle BPM Composer Login Screen

After logging in we are taken into the Process Spaces screen. Here, we’ll create a Space for our BPM Initiative. A Space is an container were you group and keep your Business Architecture (BA) and BPMN projects.

You can create as much spaces as you want, to organize your Business Architecture and BPMN projects the way you think it’s best. However, a project that belongs to a given space can’t be “seen” in other spaces, so take that into account. For the purpose of our article, we’ll be using just one space for all processes.

The Process Spaces List

The Process Spaces List

Create a new Process Space

Create a new Process Space

Don’t forget to give it a proper name and a decent description.

Setup the Process Space Name

Setup the Process Space Name

Remember that Oracle’s BPM Suite 12c has a significant amount of documentation and reporting features. If you fill in the corresponding information along the way (this means filling the documentation fields and comments), you can take advantage of these features and generate automatically a lot of documentation. This will save a lot of time on your BPM projects because, even though you may need to extend and/or customize the generated documents, there’s a lot of quality information being provided there.

Setting up permissions to your Space

You can, and should, set the permissions regarding access to your Process Space. You can set them using the edit space option available near the Space icon, by specifying which users or groups have what permission level.

Edit Process Space Permissions

Edit Process Space Permissions

Set Space Permissions

Set Space Permissions

Choose Users and Groups

Choose Users and Groups

Set the permission level

Set the permission level

Press "Share" to set the permission for the chosen user/group

Press “Share” to set the permission for the chosen user/group

There are 3 permission levels:

  • Viewer – This permission only allows processes to viewed, not changed.
  • Editor – This permission allows projects to be edited and changed.
  • Owner – This permission allows not only project editing, but also the ability to create project snapshots (as in VM, where you save the project snapshot), delete the project, share the project with other and, more importantly, deploy a project.

To make it easier for us, we’ll use the project owner for the reminder of the article, but you now know what you can do permission-wise.

Create your process

Now, we’ll create a new BPM project in the Akino Fishing Co. Space.

Click on the ‘+’ icon in the BPM Project creation tool on the right of the process composer screen

Process Composer - Project Creation Area

Process Composer – Project Creation Area

Now, give it a suggestive name, such as “Facilities Access and Use Requests” and click Save. Notice that we didn’t create  a BPM project with the “Request a parking space” name. This is because BPM projects typically have more than one BPM process, so you should name it something more high-level that can contain several, close-related, processes. For our process, we intend to group here all the requests to use Akino’s facilities, starting with the “Request a parking space” process.

Process Composer - Create a new BPM Project

Process Composer – Create a new BPM Project

Process Composer - BPM project created

Process Composer – BPM project created

Once the project is created, click on it to access its details. You’re then presented with the project area, where you can create all your project artifacts, create project snapshots and set the organization’s departments and roles. You can check it out more in detail in our previous post.

You first need to be able to edit the project. Find the pencil icon and click on it. From then on, you’ll be able to edit your project and create, edit or delete your artifacts.

Process Composer - Edit the process

Process Composer – Edit the project

Now, the ‘+’ sign should turn blue, and you’re able to create your “Request a parking space” process, in the processes tab.

Create a new Process

Create a new Process

Don’t forget to place meaningful and “as complete” as possible descriptions. These will really save you a lot of work down the road. Press Create and voilá… your first BPMN process is created. Congratulations!

Process Created

Process Created

Now click on it and you’ll access the actual model. As you can see, it’s empty. In a few minutes, the first iteration will be done.

The BPMN modelling canvas

The BPMN modelling canvas

The modelling process is in fact quite simple. All you have to do is drag-and-drop your “lego pieces” (remember the last post?) from the toolbox in the right into the canvas.

You’ll get to know the full range of  BPMN artifacts (Interactive Activities, Automated Activities, Decision Splits, Events…) as we get along with our articles. For this first iteration, we’ll use:

  • Interactive Activities (performed by humans)
    • User Task – Typical task to be performed by someone (a human)

      A "normal" user interactive task

      A “normal” user interactive task

    • Initiator Task –  User tasks that have special characteristics that allow to start processes (even though they’re placed after the “Start” symbol)

      The process Initiator Task

      The process Initiator Task – notice the green triangle

  • System Activities
    • Service Activities – Calls a service synchronously and collects its result.

      The Service Task - Calls integration point synchronously

      The Service Task – Calls integration point synchronously

    • Notification Activities – Uses a special messaging service to send E-mails or SMS

      A notification Task can be used for communication with an entity, by e-mail or SMS for instance

      A notification Task can be used for communication with an entity, by e-mail or SMS for instance

  • Decision Splits
    • Exclusive gateway – Evaluates a condition and based on that lets the process follow one, and only one, of the paths. Always contains a default path, in case the condition doesn’t evaluate correctly to any of the defined paths.

      The Exclusive Gateway

      The Exclusive Gateway

Design your process according to the description

If we go back to our previous post you’ll remember that we picked up a lot of information from the process description

  1. Verbs – filling form, submitting form, check available spaces, returns message, submitting contact information, create a task, generate e-mail or SMS,
  2. Nouns – Request, Requester, Form, Name, Company Name, Period Date, Period Start Time, Period End Time, External Entity, Employee, Parking Space, Message, E-mail, Mobile Number, System, Task, Concierge
  3. Decisions – if there are any parking spaces, if the requester is NOT an Akino Fishing Co. employee, if the system returns that the requester can take parking space X, if the system returns that there are no spaces available, if the requester chooses to submit the contact information, “if they can, they’ll mark the task as OK”, “if they can’t, they’ll mark the task as NOT OK”, if the system doesn’t return anything
  4. Time Associations – This process starts with a request, the system will then check, “from then, the system will generate an e-mail”

These will map with our BPMN artifacts and help us organize them in the canvas. For instance, verbs map into activities.

  • Filling form and submitting form refer to the same stage of the process, which is the start -> Initiator Task
  • Check available space is something that the system will do -> Service Task
  • System returns a message to the user -> Notification Task
  • Create a task to a concierge group -> User task
  • Generate e-mail or SMS -> Notification Task

As you can see, this made it pretty easy. Of course, you can read through the complete description again, but this will help you do things quicker

The same can be done for the other types of information.

So you’ll start creating your process by placing an initiator task right after the Start symbol

The initiator task is placed right after the process start

The initiator task is placed right after the process start

You can then edit its properties, by right-clicking over it. This will show the context menu for this type of BPMN artifact. Choose Properties and set its name and ensure the task type is set to initiator. If it’s not, change it.

The task context menu

The task context menu

Editing Task properties

Editing Task properties

Task Type - Initiator set

Setting the Task Type to initiator

After this is done, go to the next activity, which is to check the availability of parking spaces given the information filled by the requester. Do the same as you did for the Initiator task

System Task Properties

System Task Properties

Then you reach the first decision point, where you’ll evaluate which process path to follow. First decision is based on whether the requester is or isn’t an Akino Fishing Co. employee. We’ll start modeling the branch that deals with Akino Employees.

The Gateway Properties

The Gateway Properties

Branches Editing

Branch Editing

The employee brand should look something like this. See if you can understand the process, as it is very simple.

The Parking Space process with the employee requester part modeled.

The Parking Space process with the employee requester part modeled.

So this is what the process would be if it was only available for employees. Now let’s add the remaining steps. For starters, all of these activities are performed by the system itself, except the initiator task, which is done by a person. But the question is, how do we treat this person? What’s its role in the process? You can set several roles in a process, typically assigned to parts of the process called lanes. Each lane typically holds the process activities that are performed by its associated role. Most of the work is done by the requester, but in some cases, a concierge role is also involved. So let’s create these roles.

You can right-click over the lane name, choose Properties and create the role Requester. Notice that the lane changed names.

Choosing the Process Role for that lane

Choosing the Process Role for that lane

The requester Role

The requester Role

You can also create new lanes to assign more roles. In the case of the concierge role, will add a new lane, change it to the concierge role and then place the necessary tasks in this lane. Notice that Oracle BPM will use preferably the roles associated with each lane to assign a task to a role/group.

Adding more lanes

Adding more lanes

By default, the lane role is not assigned

By default, the lane role is not assigned

Creating a new role

Creating a new role “Concierge”

Your process model first iteration is complete

This is how the process looks after the first modelling iteration

This is how the process looks after the first modelling iteration (note: where it reads process owner (lane role) it should read Requester)

Note: This isn’t the most optimized process model. There are other ways of modelling this process which result in better performance, and more reuse of the artifacts. The focus of this model was on easy understanding, not process optimization.

So we designed our first BPMN 2.o model on Oracle BPM Suite.

It still doesn’t execute, it’s just a diagram, but we’ll get to that.

 

On the next post, we’ll start to see what can we change to improve it a bit and start working on the actual implementation so that the process is executed. Stay tuned.

Cheers,

Maverick

Post header image by Katie Inglis

1 reply

Trackbacks & Pingbacks

  1. […] to get Oracle support. The Red Mavericks team published a nice example and series how to build your first BPMN process. Thanks to the community for sharing all the articles: Adaptive Case Management 12c and ADF Human […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *