Standalone Process Engine inside a Project

Hey Guys,

I’m stuck with a problem.

I’m working for a Client, who wants a Xhtml site with backend/database stuff.
In further projects we already implemented the site with a linear site logic, a linear flow to get from on site to the next and the last.
His next update contains many branches and some different variables which leads into more different branches of sites and flows.
Instead of implementing many java-logic or If-Else/Case cascade I thought about using the Camunda-Engine.

I constructed a example on how we want the engine to work.
(see example picture)

To the Question:
example.dmn (3.1 KB)

After every next or back action i want the engine to check the database for all the input variables and get a result URL that fits for the input variables.
(when the user starts the whole form, a blank version of it gets pre created and saved in the database with null-objects until he gets to it, this way we can check all input variables)

Also the Client dont want the task-list/webapp runing in the background.
I read the guide and found something about embedded and shared process engine but even in this standalone you have to deploy the .war on a tomcat for example.

So is it possible let the engine run inside the project without making a deployment?
Or is it even necessary to implement such an engine on this rather simple problem?
Sorry for my bad english skills.

Greetings Arnold

Hi Arnold,

I can comment on the technical side of the questions. For a standalone process engine, a Java application server and a web application deployment or similar are not required. As an example, see the unit testing template project, which is a plain Maven jar project. All you need is the camunda-engine artifact on the classpath of your application. You would then bootstrap the engine in Java code as described here: https://docs.camunda.org/manual/7.6/user-guide/process-engine/process-engine-bootstrapping/#bootstrap-a-process-engine-using-the-java-api. In the testing template, this logic is part of the JUnit rule that the test uses.

Cheers,
Thorben