jBPM5 - Overview

JBPM stands for "Java Business Process Management". It is a JBoss product which is an open source framework. Before moving further, let us first define a business process.

What is a Business Process?

By definition, a business process is a sequence of tasks that takes place in a repeatable order, executed by humans and/or systems to achieve a business goal. It describes the order (using a flowchart) in which a series of steps needs to be executed. A business process can significantly improve the visibility and agility of a business logic.

Let us take an example. The following screenshot depicts a workflow/flowchart that most IT professionals can relate to. It is a common process that is followed in most organizations to appraise the employees based on their performance.

Business Process

The process takes place in the following order −

  • Employees self-evaluate themselves and submit the report to their Project Managers.

  • Your performance is then evaluated by the Project Manager and the HR Manager. Based on the evaluation, they give the employees a rating.

  • The final rating or performance feedback is then relayed back to the employees.

This process is applicable for almost all the employees and hence, it is a very good example to understand a business process. It is a sequence of tasks and it happens in a particular order.

What is jBPM?

Business process is a key concept to understand any organizational framework. A technology like jBPM helps in managing complex business processes in an efficient way. JBPM is a tool that can orchestrate a business process effectively. Generally, every enterprise-level application will have a sequence of tasks which are executed in a specific order and those processes can be orchestrated with the help of jBPM.

The beauty of jBPM is that it is similar to a flowchart. It can be easily understood by business analysts as well. jBPM can be embedded in a Java application and run as a service.

Features of JBPM

jBPM is a lightweight, open source, fully embeddable process engine written in Java. Its most notable features are listed below −

  • jBPM executes business processes which are designed using the BPMN 2.0 specifications.

  • jBPM can be fully integrated with Eclipse and similar IDEs to provide drag and drop support to create a workflow.

  • jBPM has UI tools available to involve business analysts and users right from the design phase.

  • jBPM supports persistence and transaction management with the help of JPA and JTA.

  • One can define custom work item handlers to create a user-defined task which can be used as a component later on for other workflows.