An example that allows to orchestrate Dapr microservices with the Zeebe process engine.
This example contains a .NET microservice that will be orchestrated with the Zeebe process engine. The example uses the Dapr input/output bindings for Zeebe.
The repository contains a simple Zeebe BPMN process:
The process can be viewed or edited with either the web based tooling from BPMN.IO or you can download the Desktop Modeler.
The microservice contains the following endpoints:
Endpoint | Description |
---|---|
command/topology |
Request cluster topology |
command/deploy-process |
Deploys a process |
command/create-instance |
Creates an instance of a deployed process |
command/cancel-instance |
Cancels a started process instance |
command/set-variables |
Sets new variable for an element (process, activity, ...) |
command/resolve-incident |
Resolves a job incident |
command/publish-message |
Publishes a message |
command/activate-jobs |
Activates jobs |
command/complete-job |
Completes a job |
command/fail-job |
Fails a job |
command/update-job-retries |
Updates the job retries |
command/throw-error |
Throws an error for a job |
calc |
Worker implementation that will be executed by the Zeebe process engine |
Camunda provides the camunda-platform repository with different docker compose configurations. We use the docker-compose-core
configuration, which is
good for development purposes and provides the Operate UI.
The following tools need to be installed on the local developer machine. Please refer to the documentation of these tools to learn how to install them.
The following commands must be executed to run Zeebe:
git clone https://github.com/camunda/camunda-platform.git
docker compose -f docker-compose-core.yaml up
Note: If you try to run this example on a M1 Mac, then you need to update the zeebe, operate and tasklist images to version 8.2.0-alpha4. You also needs to remove the connector part from the docker compose file.
After all services are started the following URIs can be used:
Tool | URI |
---|---|
Operate | http://localhost:8081 |
Tasklist | http://localhost:8082 |
Zeebe Gateway | localhost:26500 |
The default username and password is: demo
The following command will run the service Zeebe.Worker
with dapr. The repo contains some example requests in the requests
folder,
which can be executed against the service.
dotnet run --project "./Zeebe.Worker/Zeebe.Worker.csproj"