How to quick start Activiti – a Java BPM Engine with SpringBoot
Tags: springboot, activiti, bpmengine, java
Published: 2021-04-29 15:23:38

https://grokonez.com/java-integration/introduction-activity-java-bpm-engine

How to quick start Activiti – a Java BPM Engine with SpringBoot


In software development, digitizing a business process is one of the toughest challenges. It's because most processes are sophisticated and maintaining them is difficult. In that circumstance, integrating a workflow engine in application is a good solution.

Java open source <strong>Activiti</strong> comes to us as a light-weight workflow and <strong>Business Process Management</strong> (BPM) solution. In this tutorial, we're gonna take a look at <strong>Activiti</strong> - a BPM Engine.

Related Articles: 
- <a href="https://grokonez.com/spring-framework/spring-boot/start-activiti-spring-jpa-spring-boot">How to start Activiti + Spring JPA with Spring Boot</a>
- <a href="https://grokonez.com/spring-framework/spring-boot/activiti-rest-api-spring-boot-example">Activiti REST API with Spring Boot Example</a>
- <a href="https://grokonez.com/spring-framework/spring-boot/activiti-parallel-tasks-jpa-with-spring-boot-example">Activiti Parallel Tasks + JPA with Spring Boot Example</a>

<!--more-->
<div id="tuttoc" class="jsa-toc"></div>

<div id="tutcontents">

<iframe width="560" height="315" src="https://www.youtube.com/embed/43ekAY92L5c" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<h2>I. BPMN</h2>
It was a longtime when BPM vendors have no consensus. There were some standards and specifications but none of them can gather enough traction to become an global standard for doing BPM. Then, BPM vendors together create a standard that unifies the BPM landscape called <strong>BPMN</strong>, which stands for '<em>Business Process Model and Notation</em>'.

BPMN <strong>1.x</strong> focused on graphical notation only. It defines how concepts such as a human task, an executable script, automated decisions... are visualized in a vendor-neutral standardized way.

This is a simple process diagram in BPMN:
<img src="https://grokonez.com/wp-content/uploads/2017/05/activiti-bpmn.png" alt="activiti-bpmn" width="699" height="183" class="alignnone size-full wp-image-5117" />

Business users and developers can understand business activities' flow and process easily with 4 basic element categories including set of graphical elements.
- Flow objects: events, activities, gateways.
- Connecting objects: sequence flow, message flow, association.
- Swim lanes: pool, lane.
- Artifacts: data object, group, annotation.

For details, please visit: <a href="http://www.bpmnquickguide.com/view-bpmn-quick-guide/" rel="nofollow">BPMN Quick Guide</a>.

BPMN <strong>2.0</strong> extends BPMN 1.x with execution semantics and a common exchange format. Now definition models are not only exchangeable between graphical editors but also be executed as-is on any BPMN 2.0 compliant engine such as <strong>Activiti</strong>.
<h2>II. Activiti</h2>
<h3>1. Overview</h3>
Activiti is a BPM engine with core goal:
- take a process definition including human tasks, service calls, then execute them in a certain order.
- expose API to start, manage and query data about process instances for that definition.

More at:

https://grokonez.com/java-integration/introduction-activity-java-bpm-engine

How to quick start Activiti – a Java BPM Engine with SpringBoot