jBPM Tutorial

Nowadays, companies need an organized technique to design their transactions or actions that they can convert by executing them through automated solutions. JBPM provides that technique and satisfies the business automation requirements of an organization or a company.

The full form of JBPM is Java Business Process Management, and it is a product of JBoss. This JBPM Tutorial may help you in learning in detail about JBPM.

jBPM Tutorial - Table of Content 

What is jBPM?

JBPM is an open-source and lightweight tool. It enables us to generate, execute, deploy, and check business processes across their life-cycle. It bridges the gap between developers and business analysts. It is shared under “Apache License” and released by JBoss Company.

If you want to enrich your career and become a professional in jBPM Developer, then visit Mindmajix - a global online training platform: "jBPM Training" This course will help you to achieve excellence in this domain. 


What is a Business Process?

Business Process is a group of activities that uses the steps in a particular order to satisfy the company objectives. We represent the order of the company goals in a flowchart. These processes considerably enhance the agility and visibility of our business logic. A business process comprises the following components:

  • It contains a Header section that has comprehensive elements like the name of the imports, process, and variables.

  • A Nodes section that comprises all the nodes that exist in the business process.

  • A Connections section that connects all the business process nodes for creating a flow chart.

JBPM has a heritage process designer and the latest process designer to create business process diagrams. The latest process designer contains an enhanced layout, feature collection, and is developed continuously. Until we implement all the features of the heritage process designer in the latest process designer, both the process designers exist in the business center for us to use.

General Properties of a Business Process:




Every Business Process will have a unique identifier, and we represent it with an “ID” label.


Name of the Business Process that we want to create.


It is the description of the Business Process.


It is the product version of the business process.

Ad Hoc

We choose this choice if the business process is an ad hoc subprocess.


We press the “Imports” option to open the Imports window and insert the data object classes that are necessary to our business process.

Process Variables

We can see the process variables inside a process object.

Global Variables

Generally, business constraints and rules use global variables. These variables are accessible to all the process assets and instances of a project.

 MindMajix YouTube Channel

jBPM Features

Features of JBPM are as follows:

  • Transactions and Persistence

JBPM endorses persistence and transactions that are regarded as JTA and JPA.

  • UI Tools

In the design phase, JBPM has UI tools.

  • Rule Engine

JBPM has a Rule Engine that provides an interpretive language that we use to determine the existing information.

  • Web-Based and Eclipse-Based

JBPM operates on a web-based and Eclipse-based editor that has a drag and drops assistance to the simulation and graphical interface of the business processes. 

  • Supports BPMN 2.0

JBPM concentrates on 2.0 description like a process definition language. BPMN 2.0  is a conventional international standard for process modeling.

jBPM Eclipse Plugin

The eclipse editor acts as a plugin to the Eclipse IDE and enables us to amalgamate our business processes in the development environment. It has the below features:

  • A Wizard to create a new JBPM Project: In the Eclipse editor, we can create a new JBPM project by installing the Drools plugin it.
  • Graphical Editor to BPMN2.0 Process.
  • Unit testing our business processes.
  • Runtime Support.
  • Validation.

In the below screenshot, we can see a business process in the Eclipse IDE.

Related Article: JBPM Interview Questions

jBPM Services

JBPM API has a group of top-level services. These services assist us in inserting the business process management techniques into our applications. These services provide a collection of modules. Following are the modules:

  • jbpm-services-api

This API contains API interfaces and classes.

  • jbpm-services-cdi

This API contains CDI specific code over the jbpm-kie-services.

  • jbpm-services-ejb-api

This API contains remote facilities for the interface.

  • Bpm-services-ejb-client

This API communicates with services on the remote EJB supplication.

jBPM Processes

We can understand the jbpm processes through BPMN.

What is BPMN?

The full form of BPMN is the Business Process Model and Notation. It is founded based on the Object Management Group(OMG) Specification. The main objective of BPMN is to give a notation that is easily understandable to all business users. 

BPMN Contains different nodes that are linked to each other through sequence flows. The three types of nodes of BPMN are as follows:

  1. Events: Begin Event, Intermediate events, end events.

  2. Activities: User task, Script task, Business Rule task, Service task, etc.

  3. Gateways: Convergent Gateway, Divergent Gateway.

JBPM5 Components

Following are the JBPM5 Components:

  • Core Engine

Core Engine is the center of the project and enables us to implement a business process comfortably. It is a simple workflow engine of java that implements our business processes.

  • Human Task Services

Human Task Service is an essential section of the BPM. It gives the life-cycle of human tasks if any task requires human actors interaction for its execution.

  • Process Designer

Process Designer enables business users to simulate and design the business process in web development. It gives a graphical editor to edit and view our business processes through drag and drop options.

  • Persistence

It is a run-time persistence that preserves the states of all the process objects and logs audit data regarding everything that happens at the process execution time.

  • Data Modeler

It enables non-technical users to create, edit, and see the data models that we use in the business processes. Data modeler tool gives both physical and logical data models without explicit coding.

  • Rules Authoring

It enables us to define various kinds of business rules for the amalgamation of the business processes. Examples for the business rules are guided rules, decision tables, etc.

  • Form Modeler

It enables us to generate, or create the forms associated with our business processes or while executing the task. Form Modeler tool assists us in creating the forms without the requirement of any template or coding markup skills.

Core-Engine API

Core-Engine API produces an API that is necessary to execute and load the process. This API enables us to generate a knowledge base that comprises all the process definitions that are implemented by the session.

  • Knowledge Base

The knowledge base acts as a storage for all the suitable process definitions. It has processes, functions, type models and rules. We can create a knowledge base only once, and we can modify it dynamically.

  •   Session

Knowledge Base has a referral to the session. Every time we need to start a business process, we have to set up a session that is accountable for interaction with the process engine.

How to Create a Business Processes in Business Central

We call the process designer as JBPM Process Modeler. From the process modeler, we get a BPMN 2.0 process definition file, and we use that definition file as an input to the JBPM engine, which creates a business process according to the definition.

Procedure to create a business process

      • Step1: Open the business central, go to “Menu/Design/Projects”.

      • Step2: For opening the asset list of the project, we press the “Project Name”.

      • Step3: Press “Add Asset/Business Project”.

      • Step4: Go to the “Create New Business Process” window, type the below values:

      1. Business Process: New Name of the Business Process.

      2. Package: The package path of our business process is: “ com.myspace.myProject”. 

      • Step5: Press “OK” for opening the process designer.

In the below screenshot, we can see the Business process in the Business Central.

jBPM Workflow Components

1. Start Event

It is the starting(beginning) node of the business process. Every business process has only one starting node. This node comprises just one outgoing connection, and it does not contain any incoming connection.

2. End Event

It is the ending node of the process. A business process can have multiple ending events. The ending node contains just one incoming connection, and it does not contain any outgoing connection.

3. Rule Task

Rule Task Creates a group of rules which require evaluation in the business process. Each rule task contains one outgoing connection and one incoming connection. We define the rule task in a separate file through the drools rule format.

4. Gateway(Converge)

It amalgamates the multiple paths into one. We can have multiple incoming connections and just one outgoing connection. It contains the below properties:

        1. Id: It is the identifier of the node. The “ID” should be unique.

        2. Name: It is the name of the business process node. 

Types of Convergent Gateway are:

        • AND: The business process management flow starts after the completion of incoming connections, or it will wait for the completion of the incoming branches.

        • OR: The business process management flow starts after the completion of the direct active path of the incoming branches.

        • XOR: The business process management starts after the completion of at least one incoming connection.

5. Gateway(Diverge)

        1. It enables us to generate a new path in the business process. It has multiple outgoing connections and just one incoming connection. It contains the below properties:

        2. ID: It is the identifier of the business process node. The “ID” must be unique.

        3. Name: It is the name of the business process node.

Types of Diverge Gateway Node: 

        • XOR: It chooses only one(single) outgoing path through some built-in restraints of the workflow.

        • OR: It chooses that path of the outgoing connections whose state is assessed to true.

        • AND: The business process management flow continues for all the outgoing connections concurrently.

6. Reusable Sub-process

The reusable sub-process calls(invokes) another process. It is useful in composing small processes into a large one. This large process will be an organizing process. The calling process can wait until the completion of the callee process.

        • Script Task: Script task is a node that executes a basic part of the code.

        • Error Event: Error Event node indicates an error state of the process. Error Event Contains no outgoing connections. Error Event defines a FaultVariable and a FaultName.

        • Timer Event: Timer event node begins a timer and provokes once the timer ends.

7. Message Event

The Message Event activates when we emit a predefined type event. The event can be internal or external.

8. Embedded Sub-Process

It assists us in creating a subprocess inside a parent process. It may have an individual scope. We utilize the embedded sub-process in a large process where we need to isolate some difficult branches. 

How to Create a Workflow

        • Step1: For Creating a workflow, first we open an empty BPMN or rf file.

        • Step2: After opening an empty BPMN or rf file, we will insert the events. We choose an event in the components palette and drag- and- drop it to the right side of the BPMN file.

        • Step3: After dragging the components, we will connect them by selecting the appropriate sequence flow.

        • Step4: In this way, we will drag all the required components and link them through a sequence flow. We have to make sure that some components will have one outgoing connection and one incoming connection only and require to configure the sequence flow appropriately for creating an expressive flow.

        • Step5: While drawing the workflow, we also need to configure the properties to the components or events. If we do not configure the properties, we will not get a meaningful flow in the created workflow.

Differences between jBPM vs Activity

Basis for Comparison




JBPM is a lightweight, freeware, and comfortable business process control suite.

Activity is a business process model or framework that is based on the state machine concept.

Spring Assistance

JBPM does not have inhabitant spring assistance, but we can use it through the extra development efforts.

The activity has inhabitant spring assistance. In Activity, we can access the spring beans easily.

Form Builder

JBPM is a fundamental form of builder that can be generated automatically from the process variables.

The activity has a form builder only in the enterprise edition.

Business Rules Assistance

In JBPM, we can amalgamate the Drools at different levels of a project.

The activity has the fundamental amalgamation with the Drools rule engine to assist the BMPN business rule task. 


JBPM is an abbreviation of Java Business Process Management. Business Analysts use this tool for automating their business needs. As jbpm is built on java, we use Eclipse IDE for automating the business processes.

After automating the business process, we analyze them to find business solutions. I hope this JBPM Tutorial article gives you the required information about JBPM(Java Business Process Management).

If you have any queries, let us know by commenting in the below section.

Course Schedule
jBPM TrainingMay 28 to Jun 12View Details
jBPM TrainingJun 01 to Jun 16View Details
jBPM TrainingJun 04 to Jun 19View Details
jBPM TrainingJun 08 to Jun 23View Details
Last updated: 03 Apr 2023
About Author

Viswanath is a passionate content writer of Mindmajix. He has expertise in Trending Domains like Data Science, Artificial Intelligence, Machine Learning, Blockchain, etc. His articles help the learners to get insights about the Domain. You can reach him on Linkedin

read less