The Zeebe team is happy to announce the 0.16 release. You can download Zeebe 0.16 from the release page on Github.
In this post, we’ll discuss some of the highlights from the release and share other project updates.
Questions? Feedback? The Community page on our website lists a number of ways that you can get in touch with us. We monitor and respond to messages on the Slack group and user forum on an ongoing basis, and we’d love to hear from you.
Zeebe 0.16 Release Highlights
The most significant update in 0.16 is the migration to a new dataflow concept in Zeebe, replacing payloads with variables and scopes. We’ll publish a more detailed post about this change in the coming weeks. In the meanwhile, here are a few key takeaways.
Before 0.16: workflow instance payload
- Prior to Zeebe 0.16, every BPMN workflow instance had a JSON document associated with it. This was referred to as the workflow instance payload.
- Payloads did offer some advantages in a system like Zeebe; events and commands always contained the payload, which made processing fairly easy. There was no need to look anything up.
- But payloads had their disadvantages, too. Payloads were attached to tokens, which meant that when you had hierarchical or parallel execution (e.g. with an embedded subprocess or parallel gateway), it was difficult to access the payload from another branch.
- It also wasn’t intuitive how to handle merging of two or more payloads. Lots of manual mapping was required by users.
- And so we started evaluating scope-based approaches, instead.
From 0.16 onward: variables and scopes
- Zeebe now uses variables for dataflow; a variable is not attached to a workflow instance token, but instead, to a scope. A scope can be a workflow instance, a subprocess, or a single element (e.g. a single Service Task)
- Variables are “detached” from workflow instance execution A workflow instance accesses specific variables when necessary, and variables live in their own key-value store. And for exporters, variables are now exported separately (not as a part of workflow instance records).
- A workflow instance can have multiple scopes, and a variable exists within a workflow instance scope. Variables can be shared between parallel executions.
Stay tuned–we’ll soon be updating the documentation with more detail about the concept.
Zeebe Modeler Release
We’re also excited to announce the release of Zeebe Modeler 0.6.0, the first Modeler version to cover all of Zeebe’s supported BPMN functionality. Notable newly-supported features in this release:
- Non-interrupting Message and Timer Boundary Events
- Message and Timer Start Events
We’d like to extend our thanks to Dominik Horn, a community contributor who’s provided a ton of support on all Zeebe Modeler releases including this one.
Zeebe at Kafka Summit London – May 2019
We’re excited to share that Mike Winters and Sebastian Menski from the Zeebe team will be presenting at Kafka Summit London on May 14, 2019.
If you’re attending the event, be sure to check out their session, “Event-Driven Workflow: Monitoring and Orchestrating Your Microservices Landscape with Kafka and Zeebe”. And stop by the Camunda booth in the sponsor area if you have questions or comments.
Recommended Reading: Zeebe + Serverless
The team at Esentri has been publishing a blog post series about the potential role of BPMN workflow engines in serverless, and we’ve really enjoyed reading them. If you’re interested in one perspective on how Zeebe fits into the serverless landscape, check out: