Skip to content

A simple onboarding process example using BPMN, Camunda Cloud, Java, Spring Boot and REST

License

Notifications You must be signed in to change notification settings

berndruecker/customer-onboarding-camunda-8-springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Customer Onboarding Process

Process solution example for customer onboarding as used in the OReilly book Practical Process Automation.

Customer Onboarding

This following stack is used:

  • Camunda Platform 8
  • Java 17
  • Spring Boot 3

Intro

This simple onboarding process is meant to get started with process automation, workflow engines and BPMN.

The process model contains three tasks:

  • A service task that executes Java Code to score customers (using the stateless Camunda DMN engine)
  • A user task so that humans can approve customer orders (or not)
  • A service task that executes glue code to call the REST API of a CRM system

The process solution is a Maven project and contains:

  • The onboarding process model as BPMN
  • Source code to provide a REST endpoint for clients
  • Java code to do the customer scoring
  • Glue code to implement the REST call to the CRM system
  • Fake for CRM system providing a REST API that can be called (to allow running this example self-contained)

How To Run

Walkthrough

Create Camunda Platform 8 Cluster

The easiest way to try out Camunda is to create a cluster in the SaaS environment:

  • Login to https://camunda.io/ (you can create an account on the fly)
  • Create a new cluster
  • Create a new set of API client credentials
  • Copy the client credentials into src/main/resources/application.properties

Run Spring Boot Java Application

The application will deploy the process model during startup

mvn package exec:java

Play

You can easily use the application by requesting a new customer onboarding posting a PUT REST request to

curl -X PUT http://localhost:8080/customer

You can now see the process instance in Camunda Operate - linked via the Cloud Console.

You can work on the user task using Camunda Tasklist, also linked via the Cloud Console.

Extended Process

There is also an extended process model that adds some more tasks in the process:

Customer Onboarding

You can find that in another repository on GitHub: https://github.com/berndruecker/customer-onboarding-camundacloud-springboot-extended

About

A simple onboarding process example using BPMN, Camunda Cloud, Java, Spring Boot and REST

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published