We’re back with another round of Zeebe and Operate alpha releases just in time for the end of 2019, and we’re excited to share what’s new.
In the rest of the post, we’ll highlight the new capabilities included in this release.
BPMN Support in Zeebe: Event Subprocess with Message Start Event
In our November 2019 alpha release post, we announced support for the timer event subprocess, and with this alpha2 release, we’ve added support for the interrupting and non-interrupting message event subprocess, too.
As an example, let’s refer to our typical e-commerce order fulfillment process. Imagine that some items in a customer’s order aren’t always immediately available, which would lead to the shipment being delayed. When we receive a notification that an item is delayed, we can automatically notify the customer of the delay as well.
But we don’t want to cancel the entire order simply because of the delay–and that’s why in this case we use a non-interrupting message start event. The parent process continues even as we execute the subprocess.
Improved Support for the Message Aggregator Pattern
If you’re completely new to message correlation in Zeebe, you might find it helpful to check out the message correlation reference in the documentation before reading this section.
It’s a common use case to aggregate multiple messages in a workflow, then when a given number of messages have been correlated, to process the messages. Here’s a generic model showing the message aggregator pattern:
These messages are published with TTL (time to live) > 0 so they’re not dropped if they’re published before the process instance has advanced to the message catch event.
But Zeebe’s previous message correlation behavior sometimes prevented users from implementing the message aggregator pattern the way they wanted to. And so this release includes a couple of changes to better support message aggregation:
- A message will now only start a new workflow instance if no workflow instance is already running with the same correlation key
- A message is only correlated once per workflow, to either a start or intermediate catch event
We’re getting a bit in the weeds here, so don’t worry if you’re not familiar with the two points above. The main takeaway is that the powerful and popular message aggregator pattern has become easier to implement in Zeebe, and that’s a Good Thing.
Spring Zeebe 0.7.0 Released
In mid-November, Zeebe developer advocate Mauricio Salatino announced the release of Spring Zeebe 0.7.0. You can read more about the release in this blog post. Mauricio will also be leading an effort to more quickly align Spring Zeebe projects with Zeebe releases.
If you have questions or proposals related to Spring Zeebe, you can get in touch with Mauricio.
New on the Blog: “Going to Zero-Scale Zeebe on Camunda Cloud with Cloudflare Workers”
Zeebe developer advocate Josh Wulf published a new post at the beginning of the month with a how-to for running Camunda Cloud (which relies on the Zeebe engine) at “zero scale”, meaning that workers consume no resources when there are no tasks to perform.
You can find the blog post and work through the example yourself here: https://zeebe.io/blog/2019/12/cloudflare-slack/
Get In Touch
There are a number of ways to get in touch with the Zeebe community to ask questions and give us feedback.
- Join the Zeebe user forum
- Join the Zeebe Slack community
- Reach out to dev advocate Josh Wulf on Twitter
- Reach out to dev advocate Mauricio Salatino on Twitter
We hope to hear from you!