Introducing Apex Camunda Explorer

Photo by Sigmund / Unsplash

Camunda Platform 8 was announced in April 2022 and is a major milestone in the evolution of Camunda as a scalable enterprise business process management solution.

Camunda Platform 8 is completely redesigned to provide organizations with speed, scale, security, and resiliency via a breakthrough in horizontal scalability. This evolution is made possible by Zeebe, Camunda’s next generation cloud-native workflow engine.

Zeebe eliminates the bottleneck created by traditional database dependencies, allowing for essentially limitless linear scaling. As the system’s workload increases, you can add cluster nodes to process unlimited transactions at consistently low latencies with high throughput.

The open architecture in Camunda Platform 8 unlocks universal connectivity through an external task client pattern. This allows you to build secure and intuitive connectors  to all kinds of external systems

We built Apex Camunda Explorer as a quick and easy way to experience some of the new Camunda 8 capabilities. This video will give you an overview of how we built this application in Apex Designer, and how it works with the new Camunda platform.

Transcript:

Hi. This is Dave from Apex, and here's a quick overview of the new Apex Camunda Explorer. This is an Apex Designer application that is developed using the new Camunda 8 library.

You can see on this page, we have a set of process definitions. You can import a process definition. So for example, you can go to the Camunda Modeler, and if you've made a change and saved that, you can import that as a new process definition, and that is sent to the Zeebe process engine. You can see that the status right here is "creating". And you can just refresh this. And once that is created, you can click into the process application, the definition, to see the diagram on the right. You've got access to the XML of that process diagram. You can download it. You can also start a process instance entering any process variables that you need to. For example, let's say submitter was David.knapp@apexbpm.com. This is all in JSON5 format with auto formatting. When we start that, the instance will be created. You notice here, the status is "starting". So you can just refresh a couple of times, and you see here that the variable that was created.

And as the engine prepares the other items, we have an error in the process definition that I sent. It's looking for a variable named ASDF. So we can click on the variables and add that process variable in, and then resolve this incident. And that will let the process flow to have the first activity there for submit. We can click on the task, can see both the process instance variables as well as any task variables that have been created. You can edit those in the same way, and you can complete the task. So you really have access to all of the different data within your process definitions, process instances, and tasks, as well as the incidents and the variables.

There also is a nice utility here to let you query Elasticsearch to see the raw information that's available, that is being exported and streamed out of the Zeebe engine into Elasticsearch. This uses the Elasticsearch SQL. So for example, we could just say "select * " on the Zeebe record process, and we would see all the raw data. You can click on one of these rows and see the actual document from Elasticsearch. So this is great to help you understand what's saved in the various Elasticsearch indexes, like variable or process instance or incident.

There is also a user page where you give access to this application. Administrators can give access to other people. Camunda administrators are able to access all the other data in this application.

This is a diagram that shows the pieces of this puzzle. I'm running on local host with a Docker Compose file. The Zeebe process engine is running as one container with Elasticsearch. Apex Camunda Explorer is another container talking to Postgres. So this link is the node Zeebe client, and it lists the different kinds of things that are being done with that. This link is Camunda Explorer using the Elasticsearch client to extract information from there, aggregate the events into the objects we want, and then store them back into Postgres as well as querying them back out.

There's also a change log out here that can show you what has changed as this tool evolves. And you can read more about this by going to docs.apexdesigner.io, to the app showcase, and to the Apex Camunda Explorer. There are instructions down at the bottom on how to install this, so you can run this yourself simply by using this Docker Compose file and running it locally on your machine.

You can ask questions here on the Apex Designer documentation site. You can also go to forum.apexdesigner.io and ask for features or talk about, get questions answered on this and other parts of Apex Designer. So thanks for taking a look, and I really look forward to your feedback.

David Knapp

David Knapp