
Explore Camunda BPMN basics and the process engine, building a real-world Java and Spring Boot application with practical theory, unit and integration tests.
Explore the three Camunda process engine options—embedded in your application, a shared engine in a Java application server, or a remote engine via REST—assessing setup ease, scale, and connectivity.
Explore the BPMN standard, the business process model and notation, for visual diagrams that align business and developers, with Camunda tools enabling modeling, automation, and execution.
Discover Camunda learning resources, including official docs with installation, architecture, Java and Spring Boot examples, rest api details, and practical bpmn models from GitHub and tutorials.
Install Java 17 with OpenJDK options for Windows, macOS, or Linux, then install Apache Maven and Camunda modeler 5.22.0, and set up IntelliJ IDEA Community Edition 2023.3.5 with version checks.
Camunda modeler is a free and open source desktop tool for creating BPMN and DMN diagrams to visually describe business processes and rules, with drag-and-drop elements, properties panel, and plugins.
Create a Camunda Spring Boot app via initializer, configure group, artifact, version, and modules including rest api, web, spin, BPMN, assert, and H2, then generate and open project in IntelliJ.
Run the Camunda BPMN app, log in to the cockpit, and start the initial process. Claim and complete the user task, then review the task list and history.
Add dependencies to the Maven pom.xml for Camunda and spring boot, including the Camunda bom and spring boot starters, plus spin with json and jackson support.
Configure the bank service app by setting h2 database, default camunda admin user, default serialization format json, history time to live one day, and camunda bpm engine logging to info.
Create a modular Camunda project by building a root package com.example.bankservice with controller, model, service, and util, then add deposit and bank process delegates, BPMN resources, scripts, and per-process packages.
Create the main deposit process in camunda bpmN, modeling client arrival at the bank, transport choice, and deposit or credit paths through gateways and call activities.
Configure task properties in the deposit credit process by adding names, IDs, and form keys; use embedded or external forms and enable variable propagation through delegate expressions and call activities.
Colorize the main process schema by coloring service and user tasks, then save changes and verify updated BPMN XML in the bank service application.
Create the go-to-bank user task form in Camunda, with a transport mode radio group (taxi or walk) and a taxi cost field, including decimal validation.
Create client, valid, and passport models in Java app, using Lombok annotations for data, no-args and all-args constructors, and builders, with fields like id, name, address, birth date, and money.
Create your first Java delegate named taxi payment delegate in a Camunda BPMN app, implementing JavaDelegate, annotating with the component annotation, and handling execution variables, wallet funds, and logging.
Create a queue machine user task form in Camunda modeler, offering deposit or credit options via a select, set the result variable ticket, and save the form.
Create and deploy Camunda BPMN diagrams for deposit opening, credit obtaining, and going home using script tasks and call activities, then run the app and verify definitions in the cockpit.
Add a Spring rest controller to start a Camunda process via a post endpoint, using runtime service to start the banking process with a business key and client variables.
Run the Camunda BPMN process by starting the app in debug mode and sending a Postman request to start the bank process, monitor tasks and variables.
This Camunda BPM course is built on my 5+ years of hands-on experience implementing Java and Camunda projects in variours companies.
This course is your complete guide to mastering Camunda BPMN — from understanding the theory of process modeling to building and testing a production-ready application using Java and Spring Boot.
You'll start by learning the fundamentals of BPMN: events, gateways, tasks, subprocesses, and how Camunda interprets process flows. We'll also cover decision modeling (DMN), variable scopes, and scripting with JavaScript and FEEL.
Once the foundation is set, we'll move into hands-on development — building a real workflow automation system that simulates a full banking deposit process. Along the way, you’ll integrate custom business logic, write unit and integration tests, use REST APIs, and deal with real-life edge cases like validation errors and user decisions.
This course is designed as a comprehensive and evolving guide to Camunda and workflow automation. It already includes in-depth lessons on BPMN, DMN, Java, Spring Boot, and real-life project examples.
Whether you're a backend developer, QA engineer, analyst, or architect — this course will give you the skills and confidence to use Camunda in real projects.
By the end of the course, you'll be able to:
Design and execute BPMN workflows
Model decisions using DMN
Use Camunda with Spring Boot and Java
Write testable, maintainable Camunda logic
Build ready-to-deploy process automation solutions
No prior BPMN experience required — we explain everything step by step.