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

Components of a BPM Solution


After knowing the different types of BPMS, you'll wonder about the components that make up a BPMS. The main components of a full-fledged BPM solution are as follows:

  • Process Modeler

  • Workflow Engine

  • Business Rule Engine

  • Graphical User interface (for human-oriented BPMS)

  • Integration connectors (for system-oriented BPMS)

  • BAM and BI tools

The following figure shows the layers of the solution with the workflow engine and the business rule engine as the main components on which the others are based.

The Workflow Management Coalition

The Workflow Management Coalition (WfMC) is a non-profit organization constituted by users and vendors, dedicated to disseminating best practices about Workflow technology. The WfMC recommends the following model to architect workflow solutions:

As shown in the figure, the WfMC specifies the Workflow Engine (as the Workflow Enactment Services and API), the Modeler (implicitly in the Process Definition), the BAM dashboard (as the Administration and Monitoring Tools), the GUI (in the client application block), and the integration connectors (via the Invoked Applications).

Let's examine each component in detail. The process modeler found in both human‑oriented and system-oriented BPMS is usually a visual application that can be used by a business analyst and optionally by an end user. The modeler allows the user to define the process and describe the activities, decisions, rules, and so on.

The output generated by the modeler is a process definition that is executable by the workflow engine. The process definition is the set of activities, decisions, roles, etc. and the relationships between them.

The workflow engine is the core component of a BPM solution. It's in charge of initiating, maintaining state, and transitioning the business process, while managing security and roles.

The workflow engine takes the process definition as an input, executes it, and while the process is alive, it stores the process data into a traceability and auditing log. Additionally, it provides both synchronous and asynchronous execution of tasks. These tasks can be internal tasks such as state transition and external tasks such as integration connector invocations.

The workflow engine acts as a system orchestrator in system-oriented BPMS.

Rules for business processes are another facet of BPM solutions. Most companies have complex business rules in every process scattered through several legacy systems and these rules change frequently due to internal and external factors.

Efforts must be made to permit these rules to change rapidly, and be modified by anyone without technical skills, such as an end user. Externalization, definition, administration, and traceability of these rules are common features of rules engines.

The workflow engine calls business rules from inside the business process. Sometimes the business rules are embedded in the process definition and sometimes they are placed in an external application. There's a third scenario when the rules reside inside the business rule engine; this is the best place to foster reusability and uniqueness of the business rules.

For human-oriented BPMS, the critical component is the GUI. The GUI is the view of the business process allowing the users to interact with other components. Usability of this GUI is critical to the success of a BPM solution implementation.

On the other hand, integration connectors are a standard feature for system orchestration and EAI-oriented BPMS. These connectors handle the connection, mapping, chatting, validation, and error checking of interfaces to new and legacy systems. It's common to see an integration engine managing the connection pipeline, the input of a system is the output of a previous system, with its data mapped and transformed.

For the BPM circle to be fulfilled, users need to monitor the process, analyze it, and get feedback for improvement. BAM and BI tools enable real-time monitoring, alert activation, reporting, and statistics collection for the process.

BI allows the BPMS to exploit historical and real-time data; some suites even give forecasts from historical data. The BI component analyzes the traceability and auditing database to discover bottlenecks, gather statistics, and optimize the process.

For more information about the WfMC visit http://www.wfmc.org/.

How Components Map to the BPM Lifecycle

In the first section of the chapter, we saw the BPM lifecycle—the usual methodology to implement BPM in a single process or whole enterprise. The BPMS components align with this methodology by giving a tool for each part of the cycle. The next figure shows the mapping between components and the BPM lifecycle.

The modeling phase has the process modeler, the test and deployment (execution) phases uses the workflow engine, and finally the monitoring (optimization) phase is supported by the BAM.