What Is Workflow Engine?

 

Core Software to Grasp "State of Process" of Each Operation

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

Hearing the word of "Engine", many people may image "Power engine" such as mounted on 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 "Search engine", "Mailing Engine" and "Rendering Engine" etc. There are varieties of "Engine".

A Workflow Engine keeps on grasping to "the state" of Business issues. For example, "Quote for A company is at Chief Mr. B's approval task", or "about the inquiry from Mr. C, Mr. D is working on answering it", etc., it always grasp which stage the series of operation is in. And once the processing has completed, it allocates work to person who should handle (Main processor)

Sometimes Workflow engine is called "Operating System for Business process". Open source products are also there such as JBoss jBPM, Nova Bonita, Enhydra Shark, OpenWFE, etc.

"Questetra BPM Suite", a BPM product, has been installed Workflow engine (BPM Engine) made by Questetra, Inc.

 

Performance of Workflow Engine

workflow pattern 07 - parallel split

'Performance of Engine' is not always interesting when introducing Workflow product. But, you will begin minding it as you go on with Workflow product. (fig: Click to animate)

 

After a week operating it, you will want to setup "Concurrent Parallel Processing".

Concurrent Parallel Processing is a processing pattern that is to split a process into multiple processes (Parallel Split) and each of the process is completed, synchronize them together. Although many of the groupware associated workflows or extended products do not treat 'Concurrent Parallel Processing' so well, but if 'Concurrent Parallel Processing' was available, it is convenient in various situations such as in 'Decision flow' which has to be approved by many or in 'Quality management flow' that several people inspect at the same time, and in 'Translation flow' that translation and illustration are created simultaneously etc.

 

workflow pattern 21 - loop

After a month operating it, you will want to setup "Looping".

Looping is a processing pattern that an operation is repeated several times as needed.  There are many products unfamiliar to "Looping" in the open-source workflow engine. It is helpful in the scenes that asking advice to supervisor or other section or when an exception occurs, to reconstruct the dealing on it. 

 

After three months operating it, you will want to setup "Non-block structured workflow".

Non-block structured is a processing pattern that a Looping with 'Exclusive Choices' are not "Block Structured".
workflow pattern 10 - unstructured, not block structured Many cases are seen in BPM products extending application server do not support “non-block structured". Sometimes it is called Arbitrary Cycles, helpful in those scenes which a lot of Looping is used, like in a Workflow sending back if there hadn't been stock for product purchasing or travel arrangement, or in a Workflow sending back when failed in 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".

 

Workflow Engine for "Business processing by Human"

The evaluation points to choose Workflow Engine from the viewpoint of the smooth handling of operations will be, 1,Supporting Concurrent Parallel Processing, 2,Supporting Looping, 3,Supporting Non-blocking data structure, 4,Supporting Service-Oriented Architecture (SOA).

However, if you introduce a workflow system to a limited only on simple tasks such as 'Decision flow' and ‘Advance money clearing', none of 1 to 4 above must be supported. On the other hand, 4,SOA may be indispensable in case that the company already operates an application server, and running Web services such as "inventory reserves system" or "payroll system" or more.

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

 

Questetra's Workflow Engine

Workflow engine that is mounted on Questetra BPM Suite supports all of 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 does not intend System Engineers as Business process designer.

For Workflow definition, Questetra BPMS adopting "BPMN" which is '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 in shape of "Block structured”. Because it does not make 'BPEL conversion’, workflow modifications and changing the business rules can be done in minutes, and System will be updated immediately.

In addition, the workflow definition tool is a Web application that works on the Web browser.(Tools for SE Such as Eclipse and Visual Studio is not required)

  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

Only by doing above, a Workflow system can be constructed in Zero-Coding (Non-programming)

 

See also Questetra's paper in a scholarly journal

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