This is an automated email from the ASF dual-hosted git repository.

paulovmr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new d9f3f5ccdcb kie-issues#959: Create example apps that use the Quarkus 
Dev UIs directly on the examples directory of `kie-tools` (#2195)
d9f3f5ccdcb is described below

commit d9f3f5ccdcb0af7ec516539cbefbf9228c26f276
Author: Fabrizio Antonangeli <[email protected]>
AuthorDate: Fri May 3 23:04:14 2024 +0200

    kie-issues#959: Create example apps that use the Quarkus Dev UIs directly 
on the examples directory of `kie-tools` (#2195)
    
    Co-authored-by: Yeser Amer <[email protected]>
    Co-authored-by: Thiago Lugli <[email protected]>
    Co-authored-by: Paulo Martins <[email protected]>
---
 .../README.md                                      | 215 +++++++++++++++
 .../docs/images/diagramProperties.png              | Bin 0 -> 25740 bytes
 .../docs/images/diagramProperties3.png             | Bin 0 -> 20597 bytes
 .../docs/images/firstLineApprovalUserTask.png      | Bin 0 -> 24253 bytes
 .../docs/images/firstLineApprovalUserTask2.png     | Bin 0 -> 25756 bytes
 .../firstLineApprovalUserTaskAssignments.png       | Bin 0 -> 27529 bytes
 .../docs/images/process.png                        | Bin 0 -> 13501 bytes
 .../docs/images/secondLineApprovalUserTask.png     | Bin 0 -> 20854 bytes
 .../secondLineApprovalUserTaskAssignments.png      | Bin 0 -> 27844 bytes
 .../env/index.js                                   |  31 +++
 .../install.js                                     |  27 ++
 .../package.json                                   |  43 +++
 .../pom.xml                                        |  94 +++++++
 .../src/main/docker/Dockerfile.jvm                 |  26 ++
 .../src/main/docker/Dockerfile.native              |  22 ++
 .../src/main/java/org/acme/travels/Address.java    |  76 ++++++
 .../src/main/java/org/acme/travels/Traveller.java  |  88 ++++++
 .../main/resources/META-INF/resources/index.html   | 174 ++++++++++++
 .../src/main/resources/application.properties      |  23 ++
 .../main/resources/org/acme/travels/approval.bpmn  | 304 +++++++++++++++++++++
 .../acme/travels/quarkus/ApprovalsProcessTest.java | 144 ++++++++++
 .../src/test/resources/application.properties      |  23 ++
 .../sonataflow-greeting-quarkus-example/README.md  | 152 +++++++++++
 .../env/index.js                                   |  31 +++
 .../sonataflow-greeting-quarkus-example/install.js |  27 ++
 .../package.json                                   |  43 +++
 .../sonataflow-greeting-quarkus-example/pom.xml    | 155 +++++++++++
 .../src/main/resources/application.properties      |  32 +++
 .../src/main/resources/jsongreet.sw.json           |  65 +++++
 .../src/main/resources/yamlgreet.sw.yml            |  40 +++
 .../java/org/kie/kogito/examples/GreetRestIT.java  |  79 ++++++
 packages/jbpm-quarkus-devui/pom.xml                |   2 +-
 packages/maven-base/pom.xml                        |  20 +-
 packages/sonataflow-quarkus-devui/pom.xml          |   2 +-
 pnpm-lock.yaml                                     |  48 ++++
 repo/graph.dot                                     |   8 +-
 repo/graph.json                                    | 103 ++++---
 37 files changed, 2048 insertions(+), 49 deletions(-)

diff --git a/examples/drools-process-usertasks-quarkus-example/README.md 
b/examples/drools-process-usertasks-quarkus-example/README.md
new file mode 100644
index 00000000000..493e71e7191
--- /dev/null
+++ b/examples/drools-process-usertasks-quarkus-example/README.md
@@ -0,0 +1,215 @@
+# Process user task orchestration
+
+## Description
+
+A quickstart project shows very typical user task orchestration. It comes with 
two tasks assigned
+to human actors via groups assignments - `managers`. So essentially anyone who 
is a member of that
+group can act on the tasks. Though this example applies four eye principle 
which essentially means
+that user who approved first task cannot approve second one. So there must be 
always at least two
+distinct manager involved.
+
+This example shows
+
+- working with user tasks
+- four eye principle with user tasks
+
+<p align="center"><img width=75% height=50% src="docs/images/process.png"></p>
+
+- Diagram Properties (top)
+<p align="center"><img src="docs/images/diagramProperties.png"></p>
+
+- Diagram Properties (bottom)
+<p align="center"><img src="docs/images/diagramProperties3.png"></p>
+
+- First Line Approval (top)
+<p align="center"><img src="docs/images/firstLineApprovalUserTask.png"></p>
+
+- First Line Approval (bottom)
+<p align="center"><img src="docs/images/firstLineApprovalUserTask2.png"></p>
+
+- First Line Approval (Assignments)
+<p align="center"><img 
src="docs/images/firstLineApprovalUserTaskAssignments.png"></p>
+
+- Second Line Approval
+<p align="center"><img src="docs/images/secondLineApprovalUserTask.png"></p>
+
+- Second Line Approval (Assignments)
+<p align="center"><img 
src="docs/images/secondLineApprovalUserTaskAssignments.png"></p>
+
+## Build and run
+
+### Prerequisites
+
+You will need:
+
+- Java 17+ installed
+- Environment variable JAVA_HOME set accordingly
+- Maven 3.9.6+ installed
+
+When using native image compilation, you will also need:
+
+- GraalVM 19.3+ installed
+- Environment variable GRAALVM_HOME set accordingly
+- GraalVM native image needs as well native-image extension: 
https://www.graalvm.org/reference-manual/native-image/
+- Note that GraalVM native image compilation typically requires other packages 
(glibc-devel, zlib-devel and gcc) to be installed too, please refer to GraalVM 
installation documentation for more details.
+
+### Compile and Run in Local Dev Mode
+
+```sh
+mvn clean compile quarkus:dev
+```
+
+NOTE: With dev mode of Quarkus you can take advantage of hot reload for 
business assets like processes, rules, decision tables and java code. No need 
to redeploy or restart your running application.
+
+### Package and Run in JVM mode
+
+```sh
+mvn clean package
+java -jar target/quarkus-app/quarkus-run.jar
+```
+
+or on windows
+
+```sh
+mvn clean package
+java -jar target\quarkus-app\quarkus-run.jar
+```
+
+### Package and Run using Local Native Image
+
+Note that this requires GRAALVM_HOME to point to a valid GraalVM installation
+
+```sh
+mvn clean package -Pnative
+```
+
+To run the generated native executable, generated in `target/`, execute
+
+```sh
+./target/process-usertasks-quarkus-runner
+```
+
+### OpenAPI (Swagger) documentation
+
+[Specification at swagger.io](https://swagger.io/docs/specification/about/)
+
+You can take a look at the [OpenAPI 
definition](http://localhost:8080/openapi?format=json) - automatically 
generated and included in this service - to determine all available operations 
exposed by this service. For easy readability you can visualize the OpenAPI 
definition file using a UI tool like for example available [Swagger 
UI](https://editor.swagger.io).
+
+In addition, various clients to interact with this service can be easily 
generated using this OpenAPI definition.
+
+When running in either Quarkus Development or Native mode, we also leverage 
the [Quarkus OpenAPI 
extension](https://quarkus.io/guides/openapi-swaggerui#use-swagger-ui-for-development)
 that exposes [Swagger UI](http://localhost:8080/swagger-ui/) that you can use 
to look at available REST endpoints and send test requests.
+
+### Submit a request to start new approval
+
+To make use of this application it is as simple as putting a sending request 
to `http://localhost:8080/approvals` with following content
+
+```json
+{
+  "traveller": {
+    "firstName": "John",
+    "lastName": "Doe",
+    "email": "[email protected]",
+    "nationality": "American",
+    "address": {
+      "street": "main street",
+      "city": "Boston",
+      "zipCode": "10005",
+      "country": "US"
+    }
+  }
+}
+```
+
+Complete curl command can be found below:
+
+```sh
+curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' 
-d '{"traveller" : { "firstName" : "John", "lastName" : "Doe", "email" : 
"[email protected]", "nationality" : "American","address" : { "street" : 
"main street", "city" : "Boston", "zipCode" : "10005", "country" : "US" }}}' 
http://localhost:8080/approvals
+```
+
+### Show active approvals
+
+```sh
+curl -H 'Content-Type:application/json' -H 'Accept:application/json' 
http://localhost:8080/approvals
+```
+
+### Show tasks
+
+```sh
+curl -H 'Content-Type:application/json' -H 'Accept:application/json' 
'http://localhost:8080/approvals/{uuid}/tasks?user=admin&group=managers'
+```
+
+where `{uuid}` is the id of the given approval instance
+
+### Complete first line approval task
+
+```sh
+curl -X POST -d '{"approved" : true}' -H 'Content-Type:application/json' -H 
'Accept:application/json' 
'http://localhost:8080/approvals/{uuid}/firstLineApproval/{tuuid}?user=admin&group=managers'
+```
+
+where `{uuid}` is the id of the given approval instance and `{tuuid}` is the 
id of the task instance
+
+### Show tasks
+
+```sh
+curl -H 'Content-Type:application/json' -H 'Accept:application/json' 
'http://localhost:8080/approvals/{uuid}/tasks?user=admin&group=managers'
+```
+
+where `{uuid}` is the id of the given approval instance
+
+This should return empty response as the admin user was the first approver and 
by that can't be assigned to another one.
+
+Repeating the request with another user will return task
+
+```sh
+curl -H 'Content-Type:application/json' -H 'Accept:application/json' 
'http://localhost:8080/approvals/{uuid}/tasks?user=john&group=managers'
+```
+
+### Complete second line approval task
+
+```sh
+curl -X POST -d '{"approved" : true}' -H 'Content-Type:application/json' -H 
'Accept:application/json' 
'http://localhost:8080/approvals/{uuid}/secondLineApproval/{tuuid}?user=john&group=managers'
+```
+
+where `{uuid}` is the id of the given approval instance and `{tuuid}` is the 
id of the task instance
+
+This completes the approval and returns approvals model where both approvals 
of first and second line can be found,
+plus the approver who made the first one.
+
+```json
+{
+  "approver": "admin",
+  "firstLineApproval": true,
+  "id": "2eeafa82-d631-4554-8d8e-46614cbe3bdf",
+  "secondLineApproval": true,
+  "traveller": {
+    "address": {
+      "city": "Boston",
+      "country": "US",
+      "street": "main street",
+      "zipCode": "10005"
+    },
+    "email": "[email protected]",
+    "firstName": "John",
+    "lastName": "Doe",
+    "nationality": "American"
+  }
+}
+```
+
+You should see a similar message after performing the second line approval 
after the curl command
+
+```json
+{
+  "id": "f498de73-e02d-4829-905e-2f768479a4f1",
+  "approver": "admin",
+  "firstLineApproval": true,
+  "secondLineApproval": true,
+  "traveller": {
+    "firstName": "John",
+    "lastName": "Doe",
+    "email": "[email protected]",
+    "nationality": "American",
+    "address": { "street": "main street", "city": "Boston", "zipCode": 
"10005", "country": "US" }
+  }
+}
+```
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties.png
new file mode 100644
index 00000000000..585c58f583b
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties3.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties3.png
new file mode 100644
index 00000000000..df43a371afa
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/diagramProperties3.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask.png
new file mode 100644
index 00000000000..b705a63b367
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask2.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask2.png
new file mode 100644
index 00000000000..65c7dc08469
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTask2.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTaskAssignments.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTaskAssignments.png
new file mode 100644
index 00000000000..0bbadf0ac59
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/firstLineApprovalUserTaskAssignments.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/process.png 
b/examples/drools-process-usertasks-quarkus-example/docs/images/process.png
new file mode 100644
index 00000000000..78eadedc8c0
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/process.png 
differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTask.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTask.png
new file mode 100644
index 00000000000..bd3ce5bcce5
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTask.png
 differ
diff --git 
a/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTaskAssignments.png
 
b/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTaskAssignments.png
new file mode 100644
index 00000000000..9ac27a7af04
Binary files /dev/null and 
b/examples/drools-process-usertasks-quarkus-example/docs/images/secondLineApprovalUserTaskAssignments.png
 differ
diff --git a/examples/drools-process-usertasks-quarkus-example/env/index.js 
b/examples/drools-process-usertasks-quarkus-example/env/index.js
new file mode 100644
index 00000000000..3dd70a342fc
--- /dev/null
+++ b/examples/drools-process-usertasks-quarkus-example/env/index.js
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const { varsWithName, composeEnv, getOrDefault } = 
require("@kie-tools-scripts/build-env");
+
+module.exports = composeEnv([require("@kie-tools/root-env/env")], {
+  vars: varsWithName({}),
+  get env() {
+    return {
+      droolsProcessUsertasksQuarkusExample: {
+        version: require("../package.json").version,
+      },
+    };
+  },
+});
diff --git a/examples/drools-process-usertasks-quarkus-example/install.js 
b/examples/drools-process-usertasks-quarkus-example/install.js
new file mode 100644
index 00000000000..4a056674473
--- /dev/null
+++ b/examples/drools-process-usertasks-quarkus-example/install.js
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const buildEnv = require("./env");
+const { setup } = require("@kie-tools/maven-config-setup-helper");
+
+setup(`
+    -Drevision=${buildEnv.env.droolsProcessUsertasksQuarkusExample.version}
+    -Dquarkus.platform.version=${buildEnv.env.quarkusPlatform.version}
+    -Dversion.org.kie.kogito=${buildEnv.env.kogitoRuntime.version}
+`);
diff --git a/examples/drools-process-usertasks-quarkus-example/package.json 
b/examples/drools-process-usertasks-quarkus-example/package.json
new file mode 100644
index 00000000000..bc439ed1eb8
--- /dev/null
+++ b/examples/drools-process-usertasks-quarkus-example/package.json
@@ -0,0 +1,43 @@
+{
+  "private": true,
+  "name": "@kie-tools-examples/drools-process-usertasks-quarkus-example",
+  "version": "0.0.0",
+  "description": "",
+  "license": "Apache-2.0",
+  "homepage": "https://github.com/apache/incubator-kie-tools";,
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/incubator-kie-tools.git";
+  },
+  "bugs": {
+    "url": "https://github.com/apache/incubator-kie-tools/issues";
+  },
+  "scripts": {
+    "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then 
run-script-os",
+    "build:dev:darwin:linux": "mvn clean compile -DskipTests",
+    "build:dev:win32": "pnpm powershell \"mvn clean compile -DskipTests \"",
+    "build:prod": "pnpm lint && run-script-if --bool \"$(build-env 
examples.build)\" --then run-script-os",
+    "build:prod:darwin:linux": "mvn clean compile -DskipTests=$(build-env 
tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
+    "build:prod:win32": "pnpm powershell \"mvn clean compile `-DskipTests 
`-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
+    "install": "node install.js",
+    "lint": "echo 'Linting'",
+    "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command",
+    "quarkus:dev": "run-script-os",
+    "quarkus:dev:darwin:linux": "mvn clean compile quarkus:dev -DskipTests",
+    "quarkus:dev:win32": "mvn clean compile quarkus:dev -DskipTests",
+    "start": "pnpm quarkus:dev"
+  },
+  "devDependencies": {
+    "@kie-tools/jbpm-quarkus-devui": "workspace:*",
+    "@kie-tools/maven-base": "workspace:*",
+    "@kie-tools/maven-config-setup-helper": "workspace:*",
+    "@kie-tools/root-env": "workspace:*",
+    "run-script-os": "^1.1.6"
+  },
+  "kieTools": {
+    "requiredPreinstalledCliCommands": [
+      "java",
+      "mvn"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/examples/drools-process-usertasks-quarkus-example/pom.xml 
b/examples/drools-process-usertasks-quarkus-example/pom.xml
new file mode 100644
index 00000000000..2612c5bb6ac
--- /dev/null
+++ b/examples/drools-process-usertasks-quarkus-example/pom.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" ?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";
+  xmlns="http://maven.apache.org/POM/4.0.0";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.kie</groupId>
+    <artifactId>kie-tools-maven-base</artifactId>
+    <version>${revision}</version>
+    <relativePath>./node_modules/@kie-tools/maven-base/pom.xml</relativePath>
+  </parent>
+  <artifactId>drools-process-usertasks-quarkus-example</artifactId>
+  <name>Kie-Tools Example :: Process with Usertasks Quarkus</name>
+  <description>Kogito user tasks orchestration - Quarkus</description>
+  <dependencies>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-resteasy</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-resteasy-jackson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jbpm</groupId>
+      <artifactId>jbpm-with-drools-quarkus</artifactId>
+    </dependency>
+    <dependency>
+        <groupId>org.jbpm</groupId>
+        <artifactId>jbpm-quarkus-devui</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-smallrye-openapi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-junit5</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.rest-assured</groupId>
+      <artifactId>rest-assured</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-smallrye-health</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.kie</groupId>
+      <artifactId>kie-addons-quarkus-persistence-rocksdb</artifactId>
+    </dependency>
+  </dependencies>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>${quarkus.platform.group-id}</groupId>
+        <artifactId>quarkus-maven-plugin</artifactId>
+        <version>${quarkus-plugin.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>build</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.jvm
 
b/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.jvm
new file mode 100644
index 00000000000..ec46ab84c71
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.jvm
@@ -0,0 +1,26 @@
+####
+# This Dockerfile is used in order to build a container that runs the Quarkus 
application in JVM mode
+#
+# Before building the docker image run:
+#
+# mvn package
+#
+# Then, build the image with:
+#
+# docker build -f src/main/docker/Dockerfile.jvm -t 
quarkus/process-usertasks-quarkus-jvm .
+#
+# Then run the container using:
+#
+# docker run -i --rm -p 8080:8080 quarkus/process-usertasks-quarkus-jvm
+#
+###
+FROM fabric8/java-alpine-openjdk11-jre
+ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 
-Djava.util.logging.manager=org.jboss.logmanager.LogManager"
+ENV AB_ENABLED=jmx_exporter
+
+COPY target/quarkus-app/lib/ /deployments/lib/
+COPY target/quarkus-app/*.jar /deployments/
+COPY target/quarkus-app/app/ /deployments/app/
+COPY target/quarkus-app/quarkus/ /deployments/quarkus/
+
+ENTRYPOINT [ "/deployments/run-java.sh" ]
\ No newline at end of file
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.native
 
b/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.native
new file mode 100644
index 00000000000..b508cbb1d38
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.native
@@ -0,0 +1,22 @@
+####
+# This Dockerfile is used in order to build a container that runs the Quarkus 
application in native (no JVM) mode
+#
+# Before building the docker image run:
+#
+# mvn package -Pnative -Dnative-image.docker-build=true
+#
+# Then, build the image with:
+#
+# docker build -f src/main/docker/Dockerfile.native -t 
quarkus/kogito-infinispan-persistence-quarkus .
+#
+# Then run the container using:
+#
+# docker run -i --rm -p 8080:8080 quarkus/kogito-infinispan-persistence-quarkus
+#
+###
+FROM registry.access.redhat.com/ubi8/ubi-minimal
+WORKDIR /work/
+COPY target/*-runner /work/application
+RUN chmod 775 /work
+EXPOSE 8080
+CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
\ No newline at end of file
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Address.java
 
b/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Address.java
new file mode 100644
index 00000000000..662dfa9b9f7
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Address.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.acme.travels;
+
+public class Address {
+
+    private String street;
+    private String city;
+    private String zipCode;
+    private String country;
+
+    public Address() {
+
+    }
+
+    public Address(String street, String city, String zipCode, String country) 
{
+        super();
+        this.street = street;
+        this.city = city;
+        this.zipCode = zipCode;
+        this.country = country;
+    }
+
+    public String getStreet() {
+        return street;
+    }
+
+    public void setStreet(String street) {
+        this.street = street;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getZipCode() {
+        return zipCode;
+    }
+
+    public void setZipCode(String zipCode) {
+        this.zipCode = zipCode;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country;
+    }
+
+    @Override
+    public String toString() {
+        return "Address [street=" + street + ", city=" + city + ", zipCode=" + 
zipCode + ", country=" + country + "]";
+    }
+}
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Traveller.java
 
b/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Traveller.java
new file mode 100644
index 00000000000..c24685803d2
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/java/org/acme/travels/Traveller.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.acme.travels;
+
+public class Traveller {
+
+    private String firstName;
+    private String lastName;
+    private String email;
+    private String nationality;
+    private Address address;
+
+    public Traveller() {
+
+    }
+
+    public Traveller(String firstName, String lastName, String email, String 
nationality, Address address) {
+        super();
+        this.firstName = firstName;
+        this.lastName = lastName;
+        this.email = email;
+        this.nationality = nationality;
+        this.address = address;
+    }
+
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getNationality() {
+        return nationality;
+    }
+
+    public void setNationality(String nationality) {
+        this.nationality = nationality;
+    }
+
+    public Address getAddress() {
+        return address;
+    }
+
+    public void setAddress(Address address) {
+        this.address = address;
+    }
+
+    @Override
+    public String toString() {
+        return "Traveller [firstName=" + firstName + ", lastName=" + lastName 
+ ", email=" + email + ", nationality="
+                + nationality + ", address=" + address + "]";
+    }
+
+}
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html
 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html
new file mode 100644
index 00000000000..8e3a2e791f8
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html
@@ -0,0 +1,174 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <title>kogito-infinispan-persistence-quarkus - 1.0-SNAPSHOT</title>
+    <style>
+      h1,
+      h2,
+      h3,
+      h4,
+      h5,
+      h6 {
+        margin-bottom: 0.5rem;
+        font-weight: 400;
+        line-height: 1.5;
+      }
+
+      h1 {
+        font-size: 2.5rem;
+      }
+
+      h2 {
+        font-size: 2rem;
+      }
+
+      h3 {
+        font-size: 1.75rem;
+      }
+
+      h4 {
+        font-size: 1.5rem;
+      }
+
+      h5 {
+        font-size: 1.25rem;
+      }
+
+      h6 {
+        font-size: 1rem;
+      }
+
+      .lead {
+        font-weight: 300;
+        font-size: 2rem;
+      }
+
+      .banner {
+        font-size: 2.7rem;
+        margin: 0;
+        padding: 2rem 1rem;
+        background-color: #00a1e2;
+        color: white;
+      }
+
+      body {
+        margin: 0;
+        font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica 
Neue", Arial, sans-serif,
+          "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto 
Color Emoji";
+      }
+
+      code {
+        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation 
Mono", "Courier New", monospace;
+        font-size: 87.5%;
+        color: #e83e8c;
+        word-break: break-word;
+      }
+
+      .left-column {
+        padding: 0.75rem;
+        max-width: 75%;
+        min-width: 55%;
+      }
+
+      .right-column {
+        padding: 0.75rem;
+        max-width: 25%;
+      }
+
+      .container {
+        display: flex;
+        width: 100%;
+      }
+
+      li {
+        margin: 0.75rem;
+      }
+
+      .right-section {
+        margin-left: 1rem;
+        padding-left: 0.5rem;
+      }
+
+      .right-section h3 {
+        padding-top: 0;
+        font-weight: 200;
+      }
+
+      .right-section ul {
+        border-left: 0.3rem solid #00a1e2;
+        list-style-type: none;
+        padding-left: 0;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="banner lead">Your new Cloud-Native application is ready!</div>
+
+    <div class="container">
+      <div class="left-column">
+        <p class="lead">Congratulations, you have created a new Quarkus 
application.</p>
+
+        <h2>Why do you see this?</h2>
+
+        <p>
+          This page is served by Quarkus. The source is in
+          <code>src/main/resources/META-INF/resources/index.html</code>.
+        </p>
+
+        <h2>What can I do from here?</h2>
+
+        <p>
+          If not already done, run the application in <em>dev mode</em> using: 
<code>mvn compile quarkus:dev</code>.
+        </p>
+        <ul>
+          <li>Add REST resources, Servlets, functions and other services in 
<code>src/main/java</code>.</li>
+          <li>Your static assets are located in 
<code>src/main/resources/META-INF/resources</code>.</li>
+          <li>Configure your application in 
<code>src/main/resources/application.properties</code>.</li>
+        </ul>
+
+        <h2>How do I get rid of this page?</h2>
+        <p>Just delete the 
<code>src/main/resources/META-INF/resources/index.html</code> file.</p>
+      </div>
+      <div class="right-column">
+        <div class="right-section">
+          <h3>Application</h3>
+          <ul>
+            <li>GroupId: org.acme</li>
+            <li>ArtifactId: kogito-infinispan-persistence-quarkus</li>
+            <li>Version: 1.0-SNAPSHOT</li>
+            <li>Quarkus Version: 0.19.1</li>
+          </ul>
+        </div>
+        <div class="right-section">
+          <h3>Next steps</h3>
+          <ul>
+            <li><a href="https://quarkus.io/guides/maven-tooling.html";>Setup 
your IDE</a></li>
+            <li><a 
href="https://quarkus.io/guides/getting-started-guide.html";>Getting 
started</a></li>
+            <li><a href="https://quarkus.io";>Quarkus Web Site</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/resources/application.properties
 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/application.properties
new file mode 100644
index 00000000000..a76c2a39bb8
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/application.properties
@@ -0,0 +1,23 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Packaging
+# quarkus.package.type=fast-jar
+
+quarkus.swagger-ui.always-include=true
\ No newline at end of file
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn
 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn
new file mode 100644
index 00000000000..275d148f7ac
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://www.omg.org/bpmn20"; 
xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL"; 
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"; 
xmlns:bpsim="http://www.bpsim.org/schemas/1.0"; 
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"; 
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"; 
xmlns:drools="http://www.jboss.org/drools"; id="_F0jB8En5EeqlfsIhq1UCRQ" 
xsi:schemaLocation="http://www.omg.org/spec/BPMN/201 [...]
+  <bpmn2:itemDefinition id="_approverItem" structureRef="String"/>
+  <bpmn2:itemDefinition id="_travellerItem" 
structureRef="org.acme.travels.Traveller"/>
+  <bpmn2:itemDefinition id="_firstLineApprovalItem" structureRef="Boolean"/>
+  <bpmn2:itemDefinition id="_secondLineApprovalItem" structureRef="Boolean"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_PriorityInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_CommentInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_DescriptionInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_CreatedByInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ContentInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_NotStartedReassignInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_NotCompletedReassignInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_NotStartedNotifyInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_NotCompletedNotifyInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputXItem" 
structureRef="String"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_travellerInputXItem" 
structureRef="org.acme.travels.Traveller"/>
+  <bpmn2:itemDefinition 
id="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_approvedOutputXItem" 
structureRef="Boolean"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_PriorityInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_CommentInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_DescriptionInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_CreatedByInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_ContentInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_NotStartedReassignInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_NotCompletedReassignInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_NotStartedNotifyInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_NotCompletedNotifyInputXItem" 
structureRef="Object"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputXItem" 
structureRef="org.acme.travels.Traveller"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_ActorIdOutputXItem" 
structureRef="String"/>
+  <bpmn2:itemDefinition 
id="__8B62D3CA-5D03-4B2B-832B-126469288BB4_approvedOutputXItem" 
structureRef="Boolean"/>
+  <bpmn2:process id="approvals" drools:packageName="org.acme.travels" 
drools:version="1.0" drools:adHoc="false" name="approvals" isExecutable="true">
+    <bpmn2:extensionElements>
+      <drools:import name="org.acme.travels.Traveller"/>
+    </bpmn2:extensionElements>
+    <bpmn2:property id="approver" itemSubjectRef="_approverItem" 
name="approver"/>
+    <bpmn2:property id="traveller" itemSubjectRef="_travellerItem" 
name="traveller"/>
+    <bpmn2:property id="firstLineApproval" 
itemSubjectRef="_firstLineApprovalItem" name="firstLineApproval"/>
+    <bpmn2:property id="secondLineApproval" 
itemSubjectRef="_secondLineApprovalItem" name="secondLineApproval"/>
+    <bpmn2:sequenceFlow id="_C13522F1-230A-4C26-B5A9-533A5D9FEE9D" 
sourceRef="_8B62D3CA-5D03-4B2B-832B-126469288BB4" 
targetRef="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371">
+      <bpmn2:extensionElements>
+        <drools:metaData name="isAutoConnection.source">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+        <drools:metaData name="isAutoConnection.target">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+    </bpmn2:sequenceFlow>
+    <bpmn2:sequenceFlow id="_9EAFE6C1-69B4-4908-B764-EF3C4A55BEE3" 
sourceRef="_9861B686-DF6B-4B1C-B370-F9898EEB47FD" 
targetRef="_8B62D3CA-5D03-4B2B-832B-126469288BB4">
+      <bpmn2:extensionElements>
+        <drools:metaData name="isAutoConnection.source">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+        <drools:metaData name="isAutoConnection.target">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+    </bpmn2:sequenceFlow>
+    <bpmn2:sequenceFlow id="_078F46FB-B7A1-4DBB-BE9A-75C7CB0CCD03" 
sourceRef="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371" 
targetRef="_125D9683-9218-4BBC-94C2-59DDD449ADC6">
+      <bpmn2:extensionElements>
+        <drools:metaData name="isAutoConnection.source">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+        <drools:metaData name="isAutoConnection.target">
+          <drools:metaValue><![CDATA[true]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+    </bpmn2:sequenceFlow>
+    <bpmn2:userTask id="_8B62D3CA-5D03-4B2B-832B-126469288BB4" name="First 
Line Approval">
+      <bpmn2:extensionElements>
+        <drools:metaData name="elementname">
+          <drools:metaValue><![CDATA[First Line Approval]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>_9EAFE6C1-69B4-4908-B764-EF3C4A55BEE3</bpmn2:incoming>
+      <bpmn2:outgoing>_C13522F1-230A-4C26-B5A9-533A5D9FEE9D</bpmn2:outgoing>
+      <bpmn2:ioSpecification id="_F0jB8Un5EeqlfsIhq1UCRQ">
+        <bpmn2:dataInput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX" drools:dtype="Object" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputXItem" 
name="TaskName"/>
+        <bpmn2:dataInput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputX" 
drools:dtype="org.acme.travels.Traveller" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputXItem" 
name="traveller"/>
+        <bpmn2:dataInput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX" 
drools:dtype="Object" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputXItem" 
name="Skippable"/>
+        <bpmn2:dataInput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX" drools:dtype="Object" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputXItem" 
name="GroupId"/>
+        <bpmn2:dataOutput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_ActorIdOutputX" drools:dtype="String" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_ActorIdOutputXItem" 
name="ActorId"/>
+        <bpmn2:dataOutput 
id="_8B62D3CA-5D03-4B2B-832B-126469288BB4_approvedOutputX" 
drools:dtype="Boolean" 
itemSubjectRef="__8B62D3CA-5D03-4B2B-832B-126469288BB4_approvedOutputXItem" 
name="approved"/>
+        <bpmn2:inputSet id="_F0jB8kn5EeqlfsIhq1UCRQ">
+          
<bpmn2:dataInputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX</bpmn2:dataInputRefs>
+        </bpmn2:inputSet>
+        <bpmn2:outputSet id="_F0jB80n5EeqlfsIhq1UCRQ">
+          
<bpmn2:dataOutputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_ActorIdOutputX</bpmn2:dataOutputRefs>
+          
<bpmn2:dataOutputRefs>_8B62D3CA-5D03-4B2B-832B-126469288BB4_approvedOutputX</bpmn2:dataOutputRefs>
+        </bpmn2:outputSet>
+      </bpmn2:ioSpecification>
+      <bpmn2:dataInputAssociation id="_F0jB9En5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jB9Un5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jB9kn5EeqlfsIhq1UCRQ"><![CDATA[firstLineApproval]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jB90n5EeqlfsIhq1UCRQ">_8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jB-En5EeqlfsIhq1UCRQ">
+        <bpmn2:sourceRef>traveller</bpmn2:sourceRef>
+        
<bpmn2:targetRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jB-Un5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jB-kn5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jB-0n5EeqlfsIhq1UCRQ"><![CDATA[true]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jB_En5EeqlfsIhq1UCRQ">_8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jB_Un5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jB_kn5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jB_0n5EeqlfsIhq1UCRQ"><![CDATA[managers]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jCAEn5EeqlfsIhq1UCRQ">_8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataOutputAssociation id="_F0jCAUn5EeqlfsIhq1UCRQ">
+        
<bpmn2:sourceRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_ActorIdOutputX</bpmn2:sourceRef>
+        <bpmn2:targetRef>approver</bpmn2:targetRef>
+      </bpmn2:dataOutputAssociation>
+      <bpmn2:dataOutputAssociation id="_F0jCAkn5EeqlfsIhq1UCRQ">
+        
<bpmn2:sourceRef>_8B62D3CA-5D03-4B2B-832B-126469288BB4_approvedOutputX</bpmn2:sourceRef>
+        <bpmn2:targetRef>firstLineApproval</bpmn2:targetRef>
+      </bpmn2:dataOutputAssociation>
+      <bpmn2:potentialOwner id="_2f7befe6-4b21-43e9-a59c-71fb1fc296c8">
+        <bpmn2:resourceAssignmentExpression id="_F0jCA0n5EeqlfsIhq1UCRQ">
+          <bpmn2:formalExpression 
id="_F0jCBEn5EeqlfsIhq1UCRQ">manager</bpmn2:formalExpression>
+        </bpmn2:resourceAssignmentExpression>
+      </bpmn2:potentialOwner>
+    </bpmn2:userTask>
+    <bpmn2:userTask id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371" name="Second 
Line Approval">
+      <bpmn2:extensionElements>
+        <drools:metaData name="elementname">
+          <drools:metaValue><![CDATA[Second Line Approval]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>_C13522F1-230A-4C26-B5A9-533A5D9FEE9D</bpmn2:incoming>
+      <bpmn2:outgoing>_078F46FB-B7A1-4DBB-BE9A-75C7CB0CCD03</bpmn2:outgoing>
+      <bpmn2:ioSpecification id="_F0jCBUn5EeqlfsIhq1UCRQ">
+        <bpmn2:dataInput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX" drools:dtype="Object" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputXItem" 
name="TaskName"/>
+        <bpmn2:dataInput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputX" 
drools:dtype="String" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputXItem"
 name="ExcludedOwnerId"/>
+        <bpmn2:dataInput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_travellerInputX" 
drools:dtype="org.acme.travels.Traveller" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_travellerInputXItem" 
name="traveller"/>
+        <bpmn2:dataInput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX" 
drools:dtype="Object" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputXItem" 
name="Skippable"/>
+        <bpmn2:dataInput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX" drools:dtype="Object" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputXItem" 
name="GroupId"/>
+        <bpmn2:dataOutput 
id="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_approvedOutputX" 
drools:dtype="Boolean" 
itemSubjectRef="__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_approvedOutputXItem" 
name="approved"/>
+        <bpmn2:inputSet id="_F0jCBkn5EeqlfsIhq1UCRQ">
+          
<bpmn2:dataInputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_travellerInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX</bpmn2:dataInputRefs>
+          
<bpmn2:dataInputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX</bpmn2:dataInputRefs>
+        </bpmn2:inputSet>
+        <bpmn2:outputSet id="_F0jCB0n5EeqlfsIhq1UCRQ">
+          
<bpmn2:dataOutputRefs>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_approvedOutputX</bpmn2:dataOutputRefs>
+        </bpmn2:outputSet>
+      </bpmn2:ioSpecification>
+      <bpmn2:dataInputAssociation id="_F0jCCEn5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jCCUn5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jCCkn5EeqlfsIhq1UCRQ"><![CDATA[secondLineApproval]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jCC0n5EeqlfsIhq1UCRQ">_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jCDEn5EeqlfsIhq1UCRQ">
+        <bpmn2:sourceRef>approver</bpmn2:sourceRef>
+        
<bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jCDUn5EeqlfsIhq1UCRQ">
+        <bpmn2:sourceRef>traveller</bpmn2:sourceRef>
+        
<bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_travellerInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jCDkn5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jCD0n5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jCEEn5EeqlfsIhq1UCRQ"><![CDATA[true]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jCEUn5EeqlfsIhq1UCRQ">_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation id="_F0jCEkn5EeqlfsIhq1UCRQ">
+        
<bpmn2:targetRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX</bpmn2:targetRef>
+        <bpmn2:assignment id="_F0jCE0n5EeqlfsIhq1UCRQ">
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression" 
id="_F0jCFEn5EeqlfsIhq1UCRQ"><![CDATA[managers]]></bpmn2:from>
+          <bpmn2:to xsi:type="bpmn2:tFormalExpression" 
id="_F0jCFUn5EeqlfsIhq1UCRQ">_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX</bpmn2:to>
+        </bpmn2:assignment>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataOutputAssociation id="_F0jCFkn5EeqlfsIhq1UCRQ">
+        
<bpmn2:sourceRef>_0DBFABE8-92B0-46E6-B52E-A9593AFA4371_approvedOutputX</bpmn2:sourceRef>
+        <bpmn2:targetRef>secondLineApproval</bpmn2:targetRef>
+      </bpmn2:dataOutputAssociation>
+    </bpmn2:userTask>
+    <bpmn2:startEvent id="_9861B686-DF6B-4B1C-B370-F9898EEB47FD" 
name="StartProcess">
+      <bpmn2:extensionElements>
+        <drools:metaData name="elementname">
+          <drools:metaValue><![CDATA[StartProcess
+]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+      <bpmn2:outgoing>_9EAFE6C1-69B4-4908-B764-EF3C4A55BEE3</bpmn2:outgoing>
+    </bpmn2:startEvent>
+    <bpmn2:endEvent id="_125D9683-9218-4BBC-94C2-59DDD449ADC6" name="End">
+      <bpmn2:extensionElements>
+        <drools:metaData name="elementname">
+          <drools:metaValue><![CDATA[End]]></drools:metaValue>
+        </drools:metaData>
+      </bpmn2:extensionElements>
+      <bpmn2:incoming>_078F46FB-B7A1-4DBB-BE9A-75C7CB0CCD03</bpmn2:incoming>
+    </bpmn2:endEvent>
+  </bpmn2:process>
+  <bpmndi:BPMNDiagram id="_F0jCF0n5EeqlfsIhq1UCRQ">
+    <bpmndi:BPMNPlane id="_F0jCGEn5EeqlfsIhq1UCRQ" bpmnElement="approvals">
+      <bpmndi:BPMNShape id="shape__125D9683-9218-4BBC-94C2-59DDD449ADC6" 
bpmnElement="_125D9683-9218-4BBC-94C2-59DDD449ADC6">
+        <dc:Bounds height="56.0" width="56.0" x="923.0" y="280.0"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="shape__9861B686-DF6B-4B1C-B370-F9898EEB47FD" 
bpmnElement="_9861B686-DF6B-4B1C-B370-F9898EEB47FD">
+        <dc:Bounds height="56.0" width="56.0" x="319.0" y="280.0"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="shape__0DBFABE8-92B0-46E6-B52E-A9593AFA4371" 
bpmnElement="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371">
+        <dc:Bounds height="102.0" width="154.0" x="689.0" y="257.0"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="shape__8B62D3CA-5D03-4B2B-832B-126469288BB4" 
bpmnElement="_8B62D3CA-5D03-4B2B-832B-126469288BB4">
+        <dc:Bounds height="102.0" width="154.0" x="455.0" y="257.0"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge 
id="edge_shape__0DBFABE8-92B0-46E6-B52E-A9593AFA4371_to_shape__125D9683-9218-4BBC-94C2-59DDD449ADC6"
 bpmnElement="_078F46FB-B7A1-4DBB-BE9A-75C7CB0CCD03">
+        <di:waypoint xsi:type="dc:Point" x="843.0" y="308.0"/>
+        <di:waypoint xsi:type="dc:Point" x="923.0" y="308.0"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge 
id="edge_shape__9861B686-DF6B-4B1C-B370-F9898EEB47FD_to_shape__8B62D3CA-5D03-4B2B-832B-126469288BB4"
 bpmnElement="_9EAFE6C1-69B4-4908-B764-EF3C4A55BEE3">
+        <di:waypoint xsi:type="dc:Point" x="375.0" y="308.0"/>
+        <di:waypoint xsi:type="dc:Point" x="455.0" y="308.0"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge 
id="edge_shape__8B62D3CA-5D03-4B2B-832B-126469288BB4_to_shape__0DBFABE8-92B0-46E6-B52E-A9593AFA4371"
 bpmnElement="_C13522F1-230A-4C26-B5A9-533A5D9FEE9D">
+        <di:waypoint xsi:type="dc:Point" x="609.0" y="308.0"/>
+        <di:waypoint xsi:type="dc:Point" x="689.0" y="308.0"/>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+  <bpmn2:relationship id="_F0jCGUn5EeqlfsIhq1UCRQ" type="BPSimData">
+    <bpmn2:extensionElements>
+      <bpsim:BPSimData>
+        <bpsim:Scenario xsi:type="bpsim:Scenario" id="default" 
name="Simulationscenario">
+          <bpsim:ScenarioParameters xsi:type="bpsim:ScenarioParameters"/>
+          <bpsim:ElementParameters xsi:type="bpsim:ElementParameters" 
elementRef="_9861B686-DF6B-4B1C-B370-F9898EEB47FD" id="_F0jpAEn5EeqlfsIhq1UCRQ">
+            <bpsim:TimeParameters xsi:type="bpsim:TimeParameters">
+              <bpsim:ProcessingTime xsi:type="bpsim:Parameter">
+                <bpsim:NormalDistribution mean="0.0" standardDeviation="0.0"/>
+              </bpsim:ProcessingTime>
+            </bpsim:TimeParameters>
+          </bpsim:ElementParameters>
+          <bpsim:ElementParameters xsi:type="bpsim:ElementParameters" 
elementRef="_0DBFABE8-92B0-46E6-B52E-A9593AFA4371" id="_F0jpAUn5EeqlfsIhq1UCRQ">
+            <bpsim:TimeParameters xsi:type="bpsim:TimeParameters">
+              <bpsim:ProcessingTime xsi:type="bpsim:Parameter">
+                <bpsim:NormalDistribution mean="0.0" standardDeviation="0.0"/>
+              </bpsim:ProcessingTime>
+            </bpsim:TimeParameters>
+            <bpsim:ResourceParameters xsi:type="bpsim:ResourceParameters">
+              <bpsim:Availability xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:Availability>
+              <bpsim:Quantity xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:Quantity>
+            </bpsim:ResourceParameters>
+            <bpsim:CostParameters xsi:type="bpsim:CostParameters">
+              <bpsim:UnitCost xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:UnitCost>
+            </bpsim:CostParameters>
+          </bpsim:ElementParameters>
+          <bpsim:ElementParameters xsi:type="bpsim:ElementParameters" 
elementRef="_8B62D3CA-5D03-4B2B-832B-126469288BB4" id="_F0jpAkn5EeqlfsIhq1UCRQ">
+            <bpsim:TimeParameters xsi:type="bpsim:TimeParameters">
+              <bpsim:ProcessingTime xsi:type="bpsim:Parameter">
+                <bpsim:NormalDistribution mean="0.0" standardDeviation="0.0"/>
+              </bpsim:ProcessingTime>
+            </bpsim:TimeParameters>
+            <bpsim:ResourceParameters xsi:type="bpsim:ResourceParameters">
+              <bpsim:Availability xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:Availability>
+              <bpsim:Quantity xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:Quantity>
+            </bpsim:ResourceParameters>
+            <bpsim:CostParameters xsi:type="bpsim:CostParameters">
+              <bpsim:UnitCost xsi:type="bpsim:Parameter">
+                <bpsim:FloatingParameter value="0.0"/>
+              </bpsim:UnitCost>
+            </bpsim:CostParameters>
+          </bpsim:ElementParameters>
+        </bpsim:Scenario>
+      </bpsim:BPSimData>
+    </bpmn2:extensionElements>
+    <bpmn2:source>_F0jB8En5EeqlfsIhq1UCRQ</bpmn2:source>
+    <bpmn2:target>_F0jB8En5EeqlfsIhq1UCRQ</bpmn2:target>
+  </bpmn2:relationship>
+</bpmn2:definitions>
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/test/java/org/acme/travels/quarkus/ApprovalsProcessTest.java
 
b/examples/drools-process-usertasks-quarkus-example/src/test/java/org/acme/travels/quarkus/ApprovalsProcessTest.java
new file mode 100644
index 00000000000..a5a41285c3d
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/test/java/org/acme/travels/quarkus/ApprovalsProcessTest.java
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.acme.travels.quarkus;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.acme.travels.Address;
+import org.acme.travels.Traveller;
+import org.jbpm.process.instance.impl.humantask.HumanTaskTransition;
+import org.jbpm.process.instance.impl.humantask.phases.Claim;
+import org.jbpm.process.instance.impl.workitem.Complete;
+import org.junit.jupiter.api.Test;
+import org.kie.kogito.Model;
+import org.kie.kogito.auth.IdentityProviders;
+import org.kie.kogito.auth.SecurityPolicy;
+import org.kie.kogito.process.Process;
+import org.kie.kogito.process.ProcessInstance;
+import org.kie.kogito.process.WorkItem;
+
+import io.quarkus.test.junit.QuarkusTest;
+
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@QuarkusTest
+public class ApprovalsProcessTest {
+
+    @Named("approvals")
+    @Inject
+    Process<? extends Model> approvalsProcess;
+
+    @Test
+    public void testApprovalProcess() {
+
+        assertNotNull(approvalsProcess);
+
+        Model m = approvalsProcess.createModel();
+        Map<String, Object> parameters = new HashMap<>();
+        parameters.put("traveller", new Traveller("John", "Doe", 
"[email protected]", "American", new Address("main street", "Boston", 
"10005", "US")));
+        m.fromMap(parameters);
+
+        ProcessInstance<?> processInstance = 
approvalsProcess.createInstance(m);
+        processInstance.start();
+        assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE, 
processInstance.status());
+
+        SecurityPolicy policy = 
SecurityPolicy.of(IdentityProviders.of("admin", 
Collections.singletonList("managers")));
+
+        processInstance.workItems(policy);
+
+        List<WorkItem> workItems = processInstance.workItems(policy);
+        assertEquals(1, workItems.size());
+        Map<String, Object> results = new HashMap<>();
+        results.put("approved", true);
+        processInstance.completeWorkItem(workItems.get(0).getId(), results, 
policy);
+
+        workItems = processInstance.workItems(policy);
+        assertEquals(0, workItems.size());
+
+        policy = SecurityPolicy.of(IdentityProviders.of("john", 
Collections.singletonList("managers")));
+
+        processInstance.workItems(policy);
+
+        workItems = processInstance.workItems(policy);
+        assertEquals(1, workItems.size());
+
+        results.put("approved", false);
+        processInstance.completeWorkItem(workItems.get(0).getId(), results, 
policy);
+        
assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED, 
processInstance.status());
+
+        Model result = (Model) processInstance.variables();
+        assertEquals(4, result.toMap().size());
+        assertEquals(result.toMap().get("approver"), "admin");
+        assertEquals(result.toMap().get("firstLineApproval"), true);
+        assertEquals(result.toMap().get("secondLineApproval"), false);
+    }
+
+    @Test
+    public void testApprovalProcessViaPhases() {
+
+        assertNotNull(approvalsProcess);
+
+        Model m = approvalsProcess.createModel();
+        Map<String, Object> parameters = new HashMap<>();
+        parameters.put("traveller", new Traveller("John", "Doe", 
"[email protected]", "American", new Address("main street", "Boston", 
"10005", "US")));
+        m.fromMap(parameters);
+
+        ProcessInstance<?> processInstance = 
approvalsProcess.createInstance(m);
+        processInstance.start();
+        assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE, 
processInstance.status());
+
+        SecurityPolicy policy = 
SecurityPolicy.of(IdentityProviders.of("admin", 
Collections.singletonList("managers")));
+
+        processInstance.workItems(policy);
+
+        List<WorkItem> workItems = processInstance.workItems(policy);
+        assertEquals(1, workItems.size());
+
+        processInstance.transitionWorkItem(workItems.get(0).getId(), new 
HumanTaskTransition(Claim.ID, null, policy));
+        processInstance.transitionWorkItem(workItems.get(0).getId(), new 
HumanTaskTransition(Complete.ID, Collections.singletonMap("approved", true), 
policy));
+
+        workItems = processInstance.workItems(policy);
+        assertEquals(0, workItems.size());
+
+        policy = SecurityPolicy.of(IdentityProviders.of("john", 
Collections.singletonList("managers")));
+
+        processInstance.workItems(policy);
+
+        workItems = processInstance.workItems(policy);
+        assertEquals(1, workItems.size());
+
+        processInstance.transitionWorkItem(workItems.get(0).getId(), new 
HumanTaskTransition(Claim.ID, null, policy));
+        processInstance.transitionWorkItem(workItems.get(0).getId(), new 
HumanTaskTransition(Complete.ID, Collections.singletonMap("approved", false), 
policy));
+
+        
assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED, 
processInstance.status());
+
+        Model result = (Model) processInstance.variables();
+        assertEquals(4, result.toMap().size());
+        assertEquals(result.toMap().get("approver"), "admin");
+        assertEquals(result.toMap().get("firstLineApproval"), true);
+        assertEquals(result.toMap().get("secondLineApproval"), false);
+    }
+}
diff --git 
a/examples/drools-process-usertasks-quarkus-example/src/test/resources/application.properties
 
b/examples/drools-process-usertasks-quarkus-example/src/test/resources/application.properties
new file mode 100644
index 00000000000..e764de0f97d
--- /dev/null
+++ 
b/examples/drools-process-usertasks-quarkus-example/src/test/resources/application.properties
@@ -0,0 +1,23 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Quarkus
+quarkus.http.test-port=0
+kogito.persistence.rocksdb.clean=true
+kogito.persistence.rocksdb.data.dir=pepe
\ No newline at end of file
diff --git a/examples/sonataflow-greeting-quarkus-example/README.md 
b/examples/sonataflow-greeting-quarkus-example/README.md
new file mode 100644
index 00000000000..987ca4eab22
--- /dev/null
+++ b/examples/sonataflow-greeting-quarkus-example/README.md
@@ -0,0 +1,152 @@
+# KIE-Tools SonataFlow - Greeting Example
+
+## Description
+
+This example contains two simple greeting workflow services.
+The services are described using both JSON and YAML formats as defined in the
+[CNCF Serverless Workflow 
specification](https://github.com/cncf/wg-serverless/tree/main/workflow/spec).
+
+The workflow expects as JSON input containing the name of the person to greet, 
and the language in
+which to greet them in
+(see details in the [Submit a request](#Submit-a-request) section).
+
+The workflow starts with a SWITCH state, which is like a gateway. The switch 
state
+decides which language to greet the person in based on the workflow input 
"language" parameter.
+Depending on the language the workflow then injects the language-based 
greeting via RELAY states.
+Relay states are just "pass" states which do not execute any functions and 
only have the ability
+to inject data into the workflow.
+The inject states then transition to the OPERATION state which call a "sysout" 
function passing it
+input parameter containing the greeting and the name of the person to greet: 
"$.greeting $.name".
+The function then prints out the greeting to the console.
+
+## Installing and Running
+
+### Prerequisites
+
+You will need:
+
+- Java 11+ installed
+- Environment variable JAVA_HOME set accordingly
+- Maven 3.8.6+ installed
+
+When using native image compilation, you will also need:
+
+- [GraalVm](https://www.graalvm.org/downloads/) 19.3.1+ installed
+- Environment variable GRAALVM_HOME set accordingly
+- Note that GraalVM native image compilation typically requires other packages 
(glibc-devel, zlib-devel and gcc) to be installed too. You also need 
'native-image' installed in GraalVM (using 'gu install native-image'). Please 
refer to [GraalVM installation 
documentation](https://www.graalvm.org/docs/reference-manual/aot-compilation/#prerequisites)
 for more details.
+
+### Compile and Run in Local Dev Mode
+
+```sh
+mvn clean package quarkus:dev
+```
+
+### Compile and Run in JVM mode
+
+```sh
+mvn clean package
+java -jar target/quarkus-app/quarkus-run.jar
+```
+
+or on windows
+
+```sh
+mvn clean package
+java -jar target\quarkus-app\quarkus-run.jar
+```
+
+### Compile and Run using Local Native Image
+
+Note that this requires GRAALVM_HOME to point to a valid GraalVM installation
+
+```sh
+mvn clean package -Pnative
+```
+
+To run the generated native executable, generated in `target/`, execute
+
+```sh
+./target/sw-quarkus-greeting-{version}-runner
+```
+
+### Submit a request
+
+The service based on the JSON workflow definition can be access by sending a 
request to http://localhost:8080/jsongreet'
+with following content
+
+```json
+{
+  "name": "John",
+  "language": "English"
+}
+```
+
+Complete curl command can be found below:
+
+```sh
+curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' 
-d '{"name": "John", "language": "English"}' http://localhost:8080/jsongreet
+```
+
+Log after curl executed:
+
+```json
+{
+  "id": "541a5363-1667-4f6d-a8b4-1299eba81eac",
+  "workflowdata": { "name": "John", "language": "English", "greeting": "Hello 
from JSON Workflow, " }
+}
+```
+
+In Quarkus you should see the log message printed:
+
+```text
+Hello from JSON Workflow, John
+```
+
+If you would like to greet the person in Spanish, we need to pass the 
following data on workflow start:
+
+```json
+{
+  "name": "John",
+  "language": "Spanish"
+}
+```
+
+Complete curl command can be found below:
+
+```sh
+curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' 
-d '{"name": "John", "language": "Spanish"}' http://localhost:8080/jsongreet
+```
+
+In Quarkus you should now see the log message printed:
+
+```text
+Saludos desde JSON Workflow, John
+```
+
+Similarly, the service based on the YAML workflow definition can be access by 
sending a request to http://localhost:8080/yamlgreet'
+using the same content:
+
+```json
+{
+  "name": "John",
+  "language": "English"
+}
+```
+
+Complete curl command can be found below:
+
+```sh
+curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' 
-d '{"name": "John", "language": "English"}' http://localhost:8080/yamlgreet
+```
+
+In Quarkus you should see the log message:
+
+```text
+Hello from YAML Workflow, John
+```
+
+You can also change the language parameter value to "Spanish" to get the 
greeting in Spanish.
+
+## Deploying with Kogito Operator
+
+In the [`operator`](operator) directory you'll find the custom resources 
needed to deploy this example on OpenShift with the [Kogito 
Operator](https://docs.jboss.org/kogito/release/latest/html_single/#chap_kogito-deploying-on-openshift).
diff --git a/examples/sonataflow-greeting-quarkus-example/env/index.js 
b/examples/sonataflow-greeting-quarkus-example/env/index.js
new file mode 100644
index 00000000000..7767297ccd4
--- /dev/null
+++ b/examples/sonataflow-greeting-quarkus-example/env/index.js
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const { varsWithName, composeEnv, getOrDefault } = 
require("@kie-tools-scripts/build-env");
+
+module.exports = composeEnv([require("@kie-tools/root-env/env")], {
+  vars: varsWithName({}),
+  get env() {
+    return {
+      sonataflowGreetingQuarkus: {
+        version: require("../package.json").version,
+      },
+    };
+  },
+});
diff --git a/examples/sonataflow-greeting-quarkus-example/install.js 
b/examples/sonataflow-greeting-quarkus-example/install.js
new file mode 100644
index 00000000000..d0be5a6e7a5
--- /dev/null
+++ b/examples/sonataflow-greeting-quarkus-example/install.js
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const buildEnv = require("./env");
+const { setup } = require("@kie-tools/maven-config-setup-helper");
+
+setup(`
+    -Drevision=${buildEnv.env.sonataflowGreetingQuarkus.version}
+    -Dquarkus.platform.version=${buildEnv.env.quarkusPlatform.version}
+    -Dversion.org.kie.kogito=${buildEnv.env.kogitoRuntime.version}
+`);
diff --git a/examples/sonataflow-greeting-quarkus-example/package.json 
b/examples/sonataflow-greeting-quarkus-example/package.json
new file mode 100644
index 00000000000..fc610475d0e
--- /dev/null
+++ b/examples/sonataflow-greeting-quarkus-example/package.json
@@ -0,0 +1,43 @@
+{
+  "private": true,
+  "name": "@kie-tools-examples/sonataflow-greeting-quarkus-example",
+  "version": "0.0.0",
+  "description": "",
+  "license": "Apache-2.0",
+  "homepage": "https://github.com/apache/incubator-kie-tools";,
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/incubator-kie-tools.git";
+  },
+  "bugs": {
+    "url": "https://github.com/apache/incubator-kie-tools/issues";
+  },
+  "scripts": {
+    "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then 
run-script-os",
+    "build:dev:darwin:linux": "mvn clean package -DskipTests",
+    "build:dev:win32": "pnpm powershell \"mvn clean package -DskipTests \"",
+    "build:prod": "pnpm lint && run-script-if --bool \"$(build-env 
examples.build)\" --then run-script-os",
+    "build:prod:darwin:linux": "mvn clean package -DskipTests=$(build-env 
tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
+    "build:prod:win32": "pnpm powershell \"mvn clean package `-DskipTests 
`-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
+    "install": "node install.js",
+    "lint": "echo 'Linting'",
+    "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted 
-Command",
+    "quarkus:dev": "run-script-os",
+    "quarkus:dev:darwin:linux": "mvn clean package quarkus:dev -DskipTests",
+    "quarkus:dev:win32": "mvn clean package quarkus:dev -DskipTests",
+    "start": "pnpm quarkus:dev"
+  },
+  "devDependencies": {
+    "@kie-tools/maven-base": "workspace:*",
+    "@kie-tools/maven-config-setup-helper": "workspace:*",
+    "@kie-tools/root-env": "workspace:*",
+    "@kie-tools/sonataflow-quarkus-devui": "workspace:*",
+    "run-script-os": "^1.1.6"
+  },
+  "kieTools": {
+    "requiredPreinstalledCliCommands": [
+      "java",
+      "mvn"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/examples/sonataflow-greeting-quarkus-example/pom.xml 
b/examples/sonataflow-greeting-quarkus-example/pom.xml
new file mode 100644
index 00000000000..1248b0beee5
--- /dev/null
+++ b/examples/sonataflow-greeting-quarkus-example/pom.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";
+  xmlns="http://maven.apache.org/POM/4.0.0";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.kie</groupId>
+    <artifactId>kie-tools-maven-base</artifactId>
+    <version>${revision}</version>
+    <relativePath>./node_modules/@kie-tools/maven-base/pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.kie.sonataflow.examples</groupId>
+  <artifactId>sonataflow-greeting-quarkus-example</artifactId>
+  <version>${revision}</version>
+
+  <name>KIE Tools Example :: SonataFlow Greeting :: Quarkus</name>
+  <description>SonataFlow Example - Quarkus</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.kie.sonataflow</groupId>
+      <artifactId>sonataflow-quarkus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-resteasy</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-resteasy-jackson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-jsonp</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kie.sonataflow</groupId>
+      <artifactId>sonataflow-quarkus-devui</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.kie</groupId>
+      <artifactId>kie-addons-quarkus-source-files</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-junit5</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.rest-assured</groupId>
+      <artifactId>rest-assured</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-smallrye-health</artifactId>
+    </dependency>
+  </dependencies>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>${compiler-plugin.version}</version>
+        <configuration>
+          <release>${maven.compiler.release}</release>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>${quarkus.platform.group-id}</groupId>
+        <artifactId>quarkus-maven-plugin</artifactId>
+        <version>${quarkus-plugin.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>build</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <version>${version.failsafe.plugin}</version>
+        <configuration>
+          <systemPropertyVariables>
+            
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
+            <maven.home>${maven.home}</maven.home>
+          </systemPropertyVariables>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>integration-test</goal>
+              <goal>verify</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <profiles>
+    <profile>
+      <id>container</id>
+      <activation>
+        <property>
+          <name>container</name>
+        </property>
+      </activation>
+      <properties>
+        <quarkus.profile>container</quarkus.profile>
+      </properties>
+      <dependencies>
+        <dependency>
+          <groupId>io.quarkus</groupId>
+          <artifactId>quarkus-container-image-jib</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <profile>
+      <id>native</id>
+      <activation>
+        <property>
+          <name>native</name>
+        </property>
+      </activation>
+      <properties>
+        <quarkus.package.type>native</quarkus.package.type>
+      </properties>
+    </profile>
+  </profiles>
+</project>
diff --git 
a/examples/sonataflow-greeting-quarkus-example/src/main/resources/application.properties
 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/application.properties
new file mode 100644
index 00000000000..bb5e12d81ec
--- /dev/null
+++ 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/application.properties
@@ -0,0 +1,32 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Packaging
+# quarkus.package.type=fast-jar
+quarkus.native.native-image-xmx=8g
+
+# profile to pack this example into a container, to use it execute activate 
the maven container profile, -Dcontainer
+%container.quarkus.container-image.build=true
+%container.quarkus.container-image.push=false
+%container.quarkus.container-image.group=${USER}
+%container.quarkus.container-image.registry=dev.local
+%container.quarkus.container-image.tag=1.0-SNAPSHOT
+%container.quarkus.jib.jvm-entrypoint=/home/kogito/kogito-app-launch.sh
+%container.quarkus.jib.base-jvm-image=quay.io/kiegroup/kogito-runtime-jvm:latest
+%container.quarkus.jib.working-directory=/home/kogito/bin
diff --git 
a/examples/sonataflow-greeting-quarkus-example/src/main/resources/jsongreet.sw.json
 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/jsongreet.sw.json
new file mode 100644
index 00000000000..5998a47f30b
--- /dev/null
+++ 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/jsongreet.sw.json
@@ -0,0 +1,65 @@
+{
+  "id": "jsongreet",
+  "version": "1.0",
+  "name": "Greeting workflow",
+  "description": "JSON based greeting workflow",
+  "start": "ChooseOnLanguage",
+  "functions": [
+    {
+      "name": "greetFunction",
+      "type": "custom",
+      "operation": "sysout"
+    }
+  ],
+  "states": [
+    {
+      "name": "ChooseOnLanguage",
+      "type": "switch",
+      "dataConditions": [
+        {
+          "condition": "${ .language == \"English\" }",
+          "transition": "GreetInEnglish"
+        },
+        {
+          "condition": "${ .language == \"Spanish\" }",
+          "transition": "GreetInSpanish"
+        }
+      ],
+      "defaultCondition": {
+        "transition": "GreetInEnglish"
+      }
+    },
+    {
+      "name": "GreetInEnglish",
+      "type": "inject",
+      "data": {
+        "greeting": "Hello from JSON Workflow, "
+      },
+      "transition": "GreetPerson"
+    },
+    {
+      "name": "GreetInSpanish",
+      "type": "inject",
+      "data": {
+        "greeting": "Saludos desde JSON Workflow, "
+      },
+      "transition": "GreetPerson"
+    },
+    {
+      "name": "GreetPerson",
+      "type": "operation",
+      "actions": [
+        {
+          "name": "greetAction",
+          "functionRef": {
+            "refName": "greetFunction",
+            "arguments": {
+              "message": ".greeting+.name"
+            }
+          }
+        }
+      ],
+      "end": true
+    }
+  ]
+}
diff --git 
a/examples/sonataflow-greeting-quarkus-example/src/main/resources/yamlgreet.sw.yml
 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/yamlgreet.sw.yml
new file mode 100644
index 00000000000..3eb1f715fed
--- /dev/null
+++ 
b/examples/sonataflow-greeting-quarkus-example/src/main/resources/yamlgreet.sw.yml
@@ -0,0 +1,40 @@
+id: yamlgreet
+version: "1.0"
+name: Greeting workflow
+description: YAML based greeting workflow
+expressionLang: jsonpath
+start: ChooseOnLanguage
+functions:
+  - name: greetFunction
+    type: custom
+    operation: sysout
+states:
+  - name: ChooseOnLanguage
+    type: switch
+    dataConditions:
+      - condition: "${$.[?(@.language  == 'English')]}"
+        transition: GreetInEnglish
+      - condition: "${$.[?(@.language  == 'Spanish')]}"
+        transition: GreetInSpanish
+    defaultCondition:
+      transition: GreetInEnglish
+  - name: GreetInEnglish
+    type: inject
+    data:
+      greeting: "Hello from YAML Workflow, "
+    transition: GreetPerson
+  - name: GreetInSpanish
+    type: inject
+    data:
+      greeting: "Saludos desde YAML Workflow, "
+    transition: GreetPerson
+  - name: GreetPerson
+    type: operation
+    actions:
+      - name: greetAction
+        functionRef:
+          refName: greetFunction
+          arguments:
+            message: "$.greeting $.name"
+    end:
+      terminate: true
diff --git 
a/examples/sonataflow-greeting-quarkus-example/src/test/java/org/kie/kogito/examples/GreetRestIT.java
 
b/examples/sonataflow-greeting-quarkus-example/src/test/java/org/kie/kogito/examples/GreetRestIT.java
new file mode 100644
index 00000000000..8c1bd391914
--- /dev/null
+++ 
b/examples/sonataflow-greeting-quarkus-example/src/test/java/org/kie/kogito/examples/GreetRestIT.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.examples;
+
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+import io.restassured.http.ContentType;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.containsString;
+
+@QuarkusIntegrationTest
+class GreetRestIT {
+
+    @Test
+    void testEnglish() {
+        given()
+                .contentType(ContentType.JSON)
+                .accept(ContentType.JSON)
+                .body("{\"name\" : \"John\", \"language\":\"English\"}").when()
+                .post("/jsongreet")
+                .then()
+                .statusCode(201)
+                .body("workflowdata.greeting", containsString("Hello"));
+    }
+
+    @Test
+    void testSpanish() {
+        given()
+                .contentType(ContentType.JSON)
+                .accept(ContentType.JSON)
+                .body("{\"name\" : \"Javierito\", 
\"language\":\"Spanish\"}").when()
+                .post("/jsongreet")
+                .then()
+                .statusCode(201)
+                .body("workflowdata.greeting", containsString("Saludos"));
+    }
+
+    @Test
+    void testDefaultLanguage() {
+        given()
+                .contentType(ContentType.JSON)
+                .accept(ContentType.JSON)
+                .body("{\"name\" : \"John\"}").when()
+                .post("/jsongreet")
+                .then()
+                .statusCode(201)
+                .body("workflowdata.greeting", containsString("Hello"));
+    }
+
+    @Test
+    void testUnsupportedLanguage() {
+        given()
+                .contentType(ContentType.JSON)
+                .accept(ContentType.JSON)
+                .body("{\"name\" : \"Jan\", \"language\":\"Czech\"}").when()
+                .post("/jsongreet")
+                .then()
+                .statusCode(201)
+                .body("workflowdata.greeting", containsString("Hello"));
+    }
+}
diff --git a/packages/jbpm-quarkus-devui/pom.xml 
b/packages/jbpm-quarkus-devui/pom.xml
index 48c40bf1cdc..56fee1070c3 100644
--- a/packages/jbpm-quarkus-devui/pom.xml
+++ b/packages/jbpm-quarkus-devui/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.kie</groupId>
     <artifactId>kie-tools-maven-base</artifactId>
     <version>${revision}</version>
-    <relativePath>../maven-base/pom.xml</relativePath>
+    <relativePath>./node_modules/@kie-tools/maven-base/pom.xml</relativePath>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/packages/maven-base/pom.xml b/packages/maven-base/pom.xml
index 77a9b948330..9f09af992a7 100644
--- a/packages/maven-base/pom.xml
+++ b/packages/maven-base/pom.xml
@@ -42,9 +42,13 @@
     <compiler-plugin.version>3.12.1</compiler-plugin.version>
     <maven.compiler.source>17</maven.compiler.source>
     <maven.compiler.target>17</maven.compiler.target>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.resources.plugin>3.2.0</version.resources.plugin>
+    
<quarkus-plugin.version>${quarkus.platform.version}</quarkus-plugin.version>
+    <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
+    
<quarkus.platform.version>${quarkus.platform.version}</quarkus.platform.version>
+    <version.failsafe.plugin>3.0.0-M7</version.failsafe.plugin>
     <version.flatten.plugin>1.3.0</version.flatten.plugin>
+    <version.org.kie.kogito>${version.org.kie.kogito}</version.org.kie.kogito>
+    <version.resources.plugin>3.2.0</version.resources.plugin>
   </properties>
 
   <dependencyManagement>
@@ -70,6 +74,18 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-bom</artifactId>
+        <version>${version.org.kie.kogito}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+          <groupId>org.kie.kogito</groupId>
+          <artifactId>kogito-quarkus-test-utils</artifactId>
+          <version>${version.org.kie.kogito}</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
diff --git a/packages/sonataflow-quarkus-devui/pom.xml 
b/packages/sonataflow-quarkus-devui/pom.xml
index c7ea653f42a..b06db076419 100644
--- a/packages/sonataflow-quarkus-devui/pom.xml
+++ b/packages/sonataflow-quarkus-devui/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.kie</groupId>
     <artifactId>kie-tools-maven-base</artifactId>
     <version>${revision}</version>
-    <relativePath>../maven-base/pom.xml</relativePath>
+    <relativePath>./node_modules/@kie-tools/maven-base/pom.xml</relativePath>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2dd1e3cf5f3..a16f54497f3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -241,6 +241,36 @@ importers:
         specifier: ^1.1.6
         version: 1.1.6
 
+  examples/dmn-quarkus-example:
+    devDependencies:
+      "@kie-tools/maven-config-setup-helper":
+        specifier: workspace:*
+        version: link:../../packages/maven-config-setup-helper
+      "@kie-tools/root-env":
+        specifier: workspace:*
+        version: link:../../packages/root-env
+      run-script-os:
+        specifier: ^1.1.6
+        version: 1.1.6
+
+  examples/drools-process-usertasks-quarkus-example:
+    devDependencies:
+      "@kie-tools/jbpm-quarkus-devui":
+        specifier: workspace:*
+        version: link:../../packages/jbpm-quarkus-devui
+      "@kie-tools/maven-base":
+        specifier: workspace:*
+        version: link:../../packages/maven-base
+      "@kie-tools/maven-config-setup-helper":
+        specifier: workspace:*
+        version: link:../../packages/maven-config-setup-helper
+      "@kie-tools/root-env":
+        specifier: workspace:*
+        version: link:../../packages/root-env
+      run-script-os:
+        specifier: ^1.1.6
+        version: 1.1.6
+
   examples/ping-pong-view:
     dependencies:
       "@kie-tools-core/envelope":
@@ -382,6 +412,24 @@ importers:
         specifier: ^4.6.2
         version: 4.8.4
 
+  examples/sonataflow-greeting-quarkus-example:
+    devDependencies:
+      "@kie-tools/maven-base":
+        specifier: workspace:*
+        version: link:../../packages/maven-base
+      "@kie-tools/maven-config-setup-helper":
+        specifier: workspace:*
+        version: link:../../packages/maven-config-setup-helper
+      "@kie-tools/root-env":
+        specifier: workspace:*
+        version: link:../../packages/root-env
+      "@kie-tools/sonataflow-quarkus-devui":
+        specifier: workspace:*
+        version: link:../../packages/sonataflow-quarkus-devui
+      run-script-os:
+        specifier: ^1.1.6
+        version: 1.1.6
+
   examples/todo-list-view:
     dependencies:
       "@kie-tools-core/envelope":
diff --git a/repo/graph.dot b/repo/graph.dot
index deb22ba414a..aec39cad8bc 100644
--- a/repo/graph.dot
+++ b/repo/graph.dot
@@ -17,10 +17,14 @@ digraph G {
   "@kie-tools-core/vscode-extension" [ color = "purple", fontcolor = "purple", 
style = "rounded" ];
   "@kie-tools-examples/commit-message-validation-service" [ color = "orange", 
fontcolor = "orange", style = "dashed, rounded" ];
   "@kie-tools/root-env" [ color = "black", fontcolor = "black", style = 
"dashed, rounded" ];
+  "@kie-tools-examples/drools-process-usertasks-quarkus-example" [ color = 
"orange", fontcolor = "orange", style = "dashed, rounded" ];
+  "@kie-tools/jbpm-quarkus-devui" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "@kie-tools-examples/ping-pong-view" [ color = "orange", fontcolor = 
"orange", style = "dashed, rounded" ];
   "@kie-tools-core/envelope" [ color = "purple", fontcolor = "purple", style = 
"rounded" ];
   "@kie-tools-examples/ping-pong-view-angular" [ color = "orange", fontcolor = 
"orange", style = "dashed, rounded" ];
   "@kie-tools-examples/ping-pong-view-react" [ color = "orange", fontcolor = 
"orange", style = "dashed, rounded" ];
+  "@kie-tools-examples/sonataflow-greeting-quarkus-example" [ color = 
"orange", fontcolor = "orange", style = "dashed, rounded" ];
+  "@kie-tools/sonataflow-quarkus-devui" [ color = "black", fontcolor = 
"black", style = "dashed, rounded" ];
   "@kie-tools-examples/todo-list-view" [ color = "orange", fontcolor = 
"orange", style = "dashed, rounded" ];
   "kie-tools-examples-todo-list-view-vscode-extension" [ color = "orange", 
fontcolor = "orange", style = "dashed, rounded" ];
   "@kie-tools-examples/uniforms-patternfly" [ color = "orange", fontcolor = 
"orange", style = "dashed, rounded" ];
@@ -110,7 +114,6 @@ digraph G {
   "@kie-tools/image-env-to-json" [ color = "black", fontcolor = "black", style 
= "dashed, rounded" ];
   "@kie-tools/import-java-classes-component" [ color = "blue", fontcolor = 
"blue", style = "rounded" ];
   "@kie-tools-core/vscode-java-code-completion" [ color = "purple", fontcolor 
= "purple", style = "rounded" ];
-  "@kie-tools/jbpm-quarkus-devui" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "@kie-tools/runtime-tools-process-dev-ui-webapp" [ color = "blue", fontcolor 
= "blue", style = "rounded" ];
   "@kie-tools/yaml-language-server" [ color = "blue", fontcolor = "blue", 
style = "rounded" ];
   "@kie-tools-core/k8s-yaml-to-apiserver-requests" [ color = "purple", 
fontcolor = "purple", style = "rounded" ];
@@ -131,7 +134,6 @@ digraph G {
   "@kie-tools/kogito-swf-devmode" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "@kie-tools/kogito-swf-common" [ color = "black", fontcolor = "black", style 
= "dashed, rounded" ];
   "@kie-tools/python-venv" [ color = "black", fontcolor = "black", style = 
"dashed, rounded" ];
-  "@kie-tools/sonataflow-quarkus-devui" [ color = "black", fontcolor = 
"black", style = "dashed, rounded" ];
   "@kie-tools/kogito-task-console" [ color = "black", fontcolor = "black", 
style = "dashed, rounded" ];
   "@kie-tools/runtime-tools-task-console-webapp" [ color = "blue", fontcolor = 
"blue", style = "rounded" ];
   "@kie-tools-core/kubernetes-bridge" [ color = "purple", fontcolor = 
"purple", style = "rounded" ];
@@ -196,9 +198,11 @@ digraph G {
   "kie-tools-examples-base64png-editor-vscode-extension" -> 
"@kie-tools-examples/base64png-editor" [ style = "solid", color = "orange" ];
   "kie-tools-examples-base64png-editor-vscode-extension" -> 
"@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ];
   "@kie-tools-examples/commit-message-validation-service" -> 
"@kie-tools/root-env" [ style = "dashed", color = "orange" ];
+  "@kie-tools-examples/drools-process-usertasks-quarkus-example" -> 
"@kie-tools/jbpm-quarkus-devui" [ style = "dashed", color = "orange" ];
   "@kie-tools-examples/ping-pong-view" -> "@kie-tools-core/envelope" [ style = 
"solid", color = "orange" ];
   "@kie-tools-examples/ping-pong-view-angular" -> 
"@kie-tools-examples/ping-pong-view" [ style = "solid", color = "orange" ];
   "@kie-tools-examples/ping-pong-view-react" -> 
"@kie-tools-examples/ping-pong-view" [ style = "solid", color = "orange" ];
+  "@kie-tools-examples/sonataflow-greeting-quarkus-example" -> 
"@kie-tools/sonataflow-quarkus-devui" [ style = "dashed", color = "orange" ];
   "@kie-tools-examples/todo-list-view" -> "@kie-tools-core/envelope" [ style = 
"solid", color = "orange" ];
   "kie-tools-examples-todo-list-view-vscode-extension" -> 
"@kie-tools-core/vscode-extension" [ style = "solid", color = "orange" ];
   "kie-tools-examples-todo-list-view-vscode-extension" -> 
"@kie-tools-examples/todo-list-view" [ style = "solid", color = "orange" ];
diff --git a/repo/graph.json b/repo/graph.json
index b7fb11c7278..3626dea241c 100644
--- a/repo/graph.json
+++ b/repo/graph.json
@@ -22,10 +22,17 @@
       { "id": "@kie-tools-core/vscode-extension" },
       { "id": "@kie-tools-core/vscode-java-code-completion" },
       { "id": "@kie-tools-examples/commit-message-validation-service" },
+      { "id": "@kie-tools-examples/drools-process-usertasks-quarkus-example" },
+      { "id": "@kie-tools/jbpm-quarkus-devui" },
+      { "id": "@kie-tools/maven-base" },
+      { "id": "@kie-tools/runtime-tools-process-dev-ui-webapp" },
       { "id": "@kie-tools-examples/ping-pong-view" },
       { "id": "@kie-tools-core/envelope-bus" },
       { "id": "@kie-tools-examples/ping-pong-view-angular" },
       { "id": "@kie-tools-examples/ping-pong-view-react" },
+      { "id": "@kie-tools-examples/sonataflow-greeting-quarkus-example" },
+      { "id": "@kie-tools/sonataflow-quarkus-devui" },
+      { "id": "@kie-tools/serverless-workflow-dev-ui-webapp" },
       { "id": "@kie-tools-examples/todo-list-view" },
       { "id": "kie-tools-examples-todo-list-view-vscode-extension" },
       { "id": "@kie-tools-examples/uniforms-patternfly" },
@@ -106,7 +113,6 @@
       { "id": "@kie-tools/dmn-marshaller-backend-compatibility-tester" },
       { "id": "@kie-tools/dmn-testing-models" },
       { "id": "@kie-tools-core/switch-expression-ts" },
-      { "id": "@kie-tools/maven-base" },
       { "id": "@kie-tools/dmn-runner" },
       { "id": "@kie-tools/extended-services-api" },
       { "id": "dmn-vscode-extension" },
@@ -117,8 +123,6 @@
       { "id": "@kie-tools/uniforms-patternfly-codegen" },
       { "id": "@kie-tools/image-env-to-json" },
       { "id": "@kie-tools/import-java-classes-component" },
-      { "id": "@kie-tools/jbpm-quarkus-devui" },
-      { "id": "@kie-tools/runtime-tools-process-dev-ui-webapp" },
       { "id": "@kie-tools/runtime-tools-process-webapp-components" },
       { "id": "@kie-tools/runtime-tools-shared-webapp-components" },
       { "id": "@kie-tools-core/k8s-yaml-to-apiserver-requests" },
@@ -139,9 +143,7 @@
       { "id": "@kie-tools/kogito-management-console" },
       { "id": "@kie-tools/runtime-tools-management-console-webapp" },
       { "id": "@kie-tools/kogito-swf-common" },
-      { "id": "@kie-tools/sonataflow-quarkus-devui" },
       { "id": "@kie-tools/python-venv" },
-      { "id": "@kie-tools/serverless-workflow-dev-ui-webapp" },
       { "id": "@kie-tools/kogito-task-console" },
       { "id": "@kie-tools/runtime-tools-task-console-webapp" },
       { "id": "@kie-tools/unitables" },
@@ -246,6 +248,29 @@
         "target": "@kie-tools/root-env",
         "weight": 1
       },
+      {
+        "source": 
"@kie-tools-examples/drools-process-usertasks-quarkus-example",
+        "target": "@kie-tools/jbpm-quarkus-devui",
+        "weight": 1
+      },
+      { "source": "@kie-tools/jbpm-quarkus-devui", "target": 
"@kie-tools/maven-base", "weight": 1 },
+      {
+        "source": "@kie-tools/jbpm-quarkus-devui",
+        "target": "@kie-tools/runtime-tools-process-dev-ui-webapp",
+        "weight": 1
+      },
+      { "source": "@kie-tools/maven-base", "target": 
"@kie-tools/maven-config-setup-helper", "weight": 1 },
+      { "source": "@kie-tools/maven-base", "target": "@kie-tools/root-env", 
"weight": 1 },
+      {
+        "source": "@kie-tools/runtime-tools-process-dev-ui-webapp",
+        "target": "@kie-tools/runtime-tools-process-webapp-components",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools/runtime-tools-process-dev-ui-webapp",
+        "target": "@kie-tools/runtime-tools-shared-webapp-components",
+        "weight": 1
+      },
       { "source": "@kie-tools-examples/ping-pong-view", "target": 
"@kie-tools-core/envelope", "weight": 1 },
       { "source": "@kie-tools-core/envelope-bus", "target": 
"@kie-tools/eslint", "weight": 1 },
       { "source": "@kie-tools-core/envelope-bus", "target": 
"@kie-tools/root-env", "weight": 1 },
@@ -260,6 +285,31 @@
         "target": "@kie-tools-examples/ping-pong-view",
         "weight": 1
       },
+      {
+        "source": "@kie-tools-examples/sonataflow-greeting-quarkus-example",
+        "target": "@kie-tools/sonataflow-quarkus-devui",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools/sonataflow-quarkus-devui",
+        "target": "@kie-tools/serverless-workflow-dev-ui-webapp",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
+        "target": "@kie-tools/runtime-tools-shared-webapp-components",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
+        "target": "@kie-tools/runtime-tools-swf-webapp-components",
+        "weight": 1
+      },
+      {
+        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
+        "target": "@kie-tools/serverless-workflow-dev-ui-monitoring-webapp",
+        "weight": 1
+      },
       { "source": "@kie-tools-examples/todo-list-view", "target": 
"@kie-tools-core/envelope", "weight": 1 },
       {
         "source": "kie-tools-examples-todo-list-view-vscode-extension",
@@ -706,8 +756,6 @@
       { "source": "@kie-tools-core/switch-expression-ts", "target": 
"@kie-tools/eslint", "weight": 1 },
       { "source": "@kie-tools-core/switch-expression-ts", "target": 
"@kie-tools/root-env", "weight": 1 },
       { "source": "@kie-tools-core/switch-expression-ts", "target": 
"@kie-tools/tsconfig", "weight": 1 },
-      { "source": "@kie-tools/maven-base", "target": 
"@kie-tools/maven-config-setup-helper", "weight": 1 },
-      { "source": "@kie-tools/maven-base", "target": "@kie-tools/root-env", 
"weight": 1 },
       { "source": "@kie-tools/dmn-runner", "target": 
"@kie-tools-core/react-hooks", "weight": 1 },
       { "source": "@kie-tools/dmn-runner", "target": 
"@kie-tools/extended-services-api", "weight": 1 },
       { "source": "@kie-tools/dmn-runner", "target": 
"@kie-tools/uniforms-patternfly", "weight": 1 },
@@ -746,22 +794,6 @@
         "weight": 1
       },
       { "source": "@kie-tools/import-java-classes-component", "target": 
"@kie-tools-core/webpack-base", "weight": 1 },
-      { "source": "@kie-tools/jbpm-quarkus-devui", "target": 
"@kie-tools/maven-base", "weight": 1 },
-      {
-        "source": "@kie-tools/jbpm-quarkus-devui",
-        "target": "@kie-tools/runtime-tools-process-dev-ui-webapp",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/runtime-tools-process-dev-ui-webapp",
-        "target": "@kie-tools/runtime-tools-process-webapp-components",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/runtime-tools-process-dev-ui-webapp",
-        "target": "@kie-tools/runtime-tools-shared-webapp-components",
-        "weight": 1
-      },
       {
         "source": "@kie-tools/runtime-tools-process-webapp-components",
         "target": "@kie-tools/runtime-tools-process-enveloped-components",
@@ -855,26 +887,6 @@
       },
       { "source": "@kie-tools/kogito-swf-common", "target": 
"@kie-tools/python-venv", "weight": 1 },
       { "source": "@kie-tools/kogito-swf-common", "target": 
"@kie-tools/root-env", "weight": 1 },
-      {
-        "source": "@kie-tools/sonataflow-quarkus-devui",
-        "target": "@kie-tools/serverless-workflow-dev-ui-webapp",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
-        "target": "@kie-tools/runtime-tools-shared-webapp-components",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
-        "target": "@kie-tools/runtime-tools-swf-webapp-components",
-        "weight": 1
-      },
-      {
-        "source": "@kie-tools/serverless-workflow-dev-ui-webapp",
-        "target": "@kie-tools/serverless-workflow-dev-ui-monitoring-webapp",
-        "weight": 1
-      },
       { "source": "@kie-tools/kogito-task-console", "target": 
"@kie-tools/image-builder", "weight": 1 },
       { "source": "@kie-tools/kogito-task-console", "target": 
"@kie-tools/image-env-to-json", "weight": 1 },
       {
@@ -1178,9 +1190,14 @@
     ["@kie-tools-examples/base64png-editor-chrome-extension", 
"examples/base64png-editor-chrome-extension"],
     ["kie-tools-examples-base64png-editor-vscode-extension", 
"examples/base64png-editor-vscode-extension"],
     ["@kie-tools-examples/commit-message-validation-service", 
"examples/commit-message-validation-service"],
+    [
+      "@kie-tools-examples/drools-process-usertasks-quarkus-example",
+      "examples/drools-process-usertasks-quarkus-example"
+    ],
     ["@kie-tools-examples/ping-pong-view", "examples/ping-pong-view"],
     ["@kie-tools-examples/ping-pong-view-angular", 
"examples/ping-pong-view-angular"],
     ["@kie-tools-examples/ping-pong-view-react", 
"examples/ping-pong-view-react"],
+    ["@kie-tools-examples/sonataflow-greeting-quarkus-example", 
"examples/sonataflow-greeting-quarkus-example"],
     ["@kie-tools-examples/todo-list-view", "examples/todo-list-view"],
     ["kie-tools-examples-todo-list-view-vscode-extension", 
"examples/todo-list-view-vscode-extension"],
     ["@kie-tools-examples/uniforms-patternfly", 
"examples/uniforms-patternfly"],


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to