Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Overview of this book

OSWorkflow is an open-source workflow engine written entirely in Java with a flexible approach and a technical user-base target. It is released under the Apache License. You can create simple or complex workflows, depending on your needs. You can focus your work on the business logic and rules. No more Petri Net or finite state machine coding! You can integrate OSWorkflow into your application with a minimum of fuss. OSWorkflow provides all of the workflow constructs that you might encounter in real-life processes, such as steps, conditions, loops, splits, joins, roles, etc.This book explains in detail all the various aspects of OSWorkflow, without assuming any prior knowledge of Business Process Management. Real-life examples are used to clarify concepts.
Table of Contents (13 chapters)
OSWorkflow
Credits
About the Author
About the Reviewers
Introduction

What's a BPMS?


Business Process Management Systems (BPMS) technology is a tool that implements BPM in the enterprise. BPMS suites are designed to model, execute, and optimize business-process models, helping BPM people and executive-level managers to take the necessary steps for process improvement.

In the BPMS world, modeling, executing, and optimizing a business process is a continuous cycle and is therefore represented by a circle. The following figure is called the BPM lifecycle. It depicts the sequence of steps followed during the implementation of BPM in a process.

The BPM lifecycle begins by modeling the business process (taking an existing process or starting from scratch), followed by testing it, deploying it, and finally monitoring its execution in a production environment.

The first step is process modeling. It includes a phase of analysis if the modeling is being done for an existing process and if the modeling is being done for a new process, then it includes a design phase. Modeling is usually done by a business analyst who identifies and connects the basic building blocks of the process such as activities, roles, data, and so on. The next figure shows a business process modeling environment. It corresponds to OSDesigner, the business process modeler included in OSWorkflow.

As shown in the figure, a process is being created visually, by specifying the steps and the transition among them.

The testing phase consists of two steps, namely, validation and verification. Validation asserts correctness of the solution while verification checks conformity to the requirements. These activities include several debug iterations and test runs in a development or testing environment.

Once the process model is known to be correct, the analyst or programmer deploys the model in a process engine. This engine parses and identifies the model, and then executes the instructions and actions associated with it. The next step is monitoring the process in place.

During monitoring, we spot the bottlenecks, superfluous steps, and possible automation activities. Monitoring the process is usually a visual activity, through the use of a Business Activity Monitoring (BAM) dashboard. The BAM dashboard, also known as the BAM console, is a visual aggregation of business process information, usually real‑time information. The figure next page shows a typical BAM dashboard, which includes charts and gauges to display the different metrics of a business process.

In the meantime, we must take care of unforeseen environmental changes, like laws and regulations that have an impact on the process and the company. Regulations usually demand businesses to have a very good visibility of their processes, as well as their inputs and outputs.

The optimization can be done manually from the feedback obtained in production or can be simulated from artificial or historical load. The optimization must be modeled again, restarting the BPM lifecycle. The BPM cycle can be repeated until the business process performs like a fine-tuned machine.

Traceability and Auditing

BPMS also adds traceability and auditing to a business process. When the BPMS workflow engine executes an activity it registers a trace or audit log. This log commonly includes context data, such as the current user, the process instance ID, an activity start and end timestamp, and other useful data.

Traceability supports two goals—operational and strategic. The operational goal helps users in searching for information about the process and exposes the current activity and state of the system. The strategic goal enables the users to know where the bottleneck of a process is, and where they must tune the process for maximum efficiency. The following screenshot shows sample traceability data from a business process.

The traceability data in the screenshot shows the transition from step to step, the user that caused the transition, the time, and the current status, as well as other context information.

Traceability data is a goldmine for Business Intelligence as it includes a lot of hidden patterns about usage and operation of the process.

Through the use of data-mining software, you can uncover these patterns to understand your business, customers, and suppliers in a better way.