Types of Workflow Engine

'Workflow Engine' is core software which is installed in Workflow system and BPM system

Engines to Grasp PROCESS STATUS

‘Workflow Engine’ is core software which is installed in Workflow system and BPM system.

When hearing the word “Engine”, many people may think about “Power engine” such as the ones in vehicles or aircrafts. In the world of Information Technology, the word “engine” is often used for the core mechanism that drives the whole system, such as a “Search engine”, a “Mailing Engine”, a “Rendering Engine”, etc. These are all varieties of “Engine”.

A Workflow Engine keeps track “the current state” of Business issues. For example, “Quote for company A is at Chief Mr. B’s approval task”, or “As for Mr. C’s inquiry, Mr. D is working on answering it”, etc., it always keeps track of the stage at which a process is. And once the processing has been completed, it allocates the work to the person who should handle it (the person in charge).

Sometimes, a Workflow engine is called “Operating System for Business process”. Open source products are also in this category such as JBoss jBPM, Nova Bonita, Enhydra Shark, OpenWFE, etc.

“Questetra BPM Suite”, a BPM product, has a Workflow engine (BPM Engine) made by Questetra, Inc.


Difference in Engine Performance

The ‘Engine Performance’ might not be relevant when you are barely getting acquainted with a Workflow product. However, you will realize its importance as you work with the Workflow product. (fig: Click to play animation)


After a week of operation, you will want to setup the “Concurrent Parallel Processing”.

Concurrent Parallel Processing is a processing pattern that splits a process into multiple processes (Parallel Split) and when each process is completed, they are synchronized back together. Although many of the groupware associated workflows or extended products do not handle ‘Concurrent Parallel Processing’ so well, whenever ‘Concurrent Parallel Processing’ is available, it is very convenient for various situations such as in ‘Decision flow’ in which approval by many people is required, or in ‘Quality management flow’ in which several people inspect at the same time, or in ‘Translation flow’ when translation and illustration are created simultaneously etc..


After a month of operation, you will want to setup “Looping”.

Looping is a processing pattern in which an operation is repeated several times as needed. There are many open-source workflow engine products that do not allow “Looping”.

Looping is helpful when asking advice to a supervisor or other areas or when an exception occurs, to reconstruct the way it was managed.


After three months of operation, you will want to setup “Non-block structured workflow”.

Non-block structure is a processing pattern in which Looping with ‘Exclusive Choices’ are not “Block Structured”.

Many BPM products do not support “non-block structured”.It is especially helpful for Arbitrary Cycles where a lot of Looping is used; like in a Workflow that keeps sending a task back to purchasing if a product is out of stock, or for travel arrangements, or in a Workflow in which a task is sent back when there is a failed shipping inspection.


Incidentally, “Workflow Patterns” by Workflow Patterns Initiative is well known for their studies about patterns of shape of Workflow Chart. There are 43 types of workflow patterns, which are indices for ‘Developing Workflow Engine’ or “Creating a business process definition language specification”.


For Human-Centric Business Process

Therefore, the evaluation points to consider while choosing a Workflow Engine from the viewpoint of the smoothness to handle operations are: 1. Concurrent Parallel Processing support, 2. Looping support, 3. Non-blocking data structure support, 4. Service-Oriented Architecture (SOA) support.

However, if you introduce a workflow system limited only to simple tasks such as ‘Decision flow’ and ‘Advance money clearing’, none of the evaluation points described above is relevant. On the other hand, evaluation point 4, related to SOA may be indispensable in cases where the company already operates an application server, and is running Web services such as “inventory reserves system”, “payroll system”, etc.

In addition, the workflow engine understands one or more of the business process definition languages (BPEL, JPDL, XPDL, BPMN, EPC, etc.). If there is already a considerable amount of business process definitions using a particular language, it is important to select the engine that suits them.


Questetra Workflow Engine

The workflow engine that is embedded on Questetra BPM Suite supports the described evaluation points: 1. Concurrent Parallel Processing, 2. Looping, 3. Non-block structure. However, it does not support 4. SOA.(It supports OAuth-based RESTful API, and publish them.)

Questetra’s product is not intended for System Engineers as Business Process Designers.

For Workflow definition, Questetra BPMS adopted the “BPMN” which is a ‘graphical international standard notation’ and the Workflow Engine understands BPMN natively without having to convert to BPEL code. It can run a Workflow even that is not “Block structured”. Because it does not make ‘BPEL conversion’, workflow modifications and changing the business rules can be done in minutes, and the System will be updated immediately.

In addition, the workflow definition tool is a Web application that works on a Web browser, i.e. Tools for SE Such as Eclipse or Visual Studio are not required.

Therefore, no programming knowledge is necessary to perform the following activities to build up a Workflow System:

  1. Placing a subset of “BPMN2.0” Notation with Drag & Drop
  2. Setup Process data items
  3. Setup Access authorization for each task
  4. Setup Splitting rules at Splitting points
  5. Setup allocation rules on each task


Questetra Paper in a Scholarly Journal

Title: Development of Human-Centric BPM System Considering Usability of Business Analysts
(業務分析者のユーザビリティを考慮したHuman-Centric BPM システムの開発) PDF