Announcing Zeebe 0.10.0: Node.js Client, A Library for Easier Client Creation, Timestamps for Improved Workflow Analytics, and More

Update: On Monday, June 11, the Zeebe team released version 0.10.1 (download and changelog available here), a patch that fixes an issue with stream processing, and also released a 0.10.1 update for zbctl, the Zeebe command line interface.

The Zeebe team is pleased to announce the Zeebe 0.10.0 release, which includes:

  • A Node.js client to make Zeebe accessible to JavaScript developers and a new library for easier creation of Zeebe clients in other programming languages

  • Improvements to the Java client based on user feedback

  • The addition of event timestamps on records to enable reporting on the duration of a workflow instance, of tasks within a workflow, and more

  • Support for topic creation in the config file and the return of default-topic

  • Compatibility with a revamped Zeebe Simple Monitor, an operations tool that provides insight into Zeebe workflows

In the rest of this post, we’ll cover release highlights in more detail and point you to resources for getting started with Zeebe.

You can download the release here, and be sure to check out the installation guide if you have any questions.

What’s New In Zeebe 0.10.0

Client Updates: New Node.js client, improvements to the Java client, and a library to enable easier client creation

Zeebe Node.js client is now available
The Zeebe team released a Node.js client earlier this week, which is Zeebe’s first JavaScript-based client. The README in the GitHub repository has everything you need to get started.

libzbc: an easier way to create new Zeebe clients
Along with the Node.js client, the team also introduced libzbc, an FFI (foreign function interface) library that makes it much easier to build new Zeebe clients. Clients in Zeebe have a lot of responsibility, and so writing a client from scratch is complex and time-consuming. libzbc is an abstraction layer over the Zeebe Go client that takes advantage of the logic already implemented in Go, greatly simplifying the process of building a new client in a different language.

To demonstrate what’s possible with libzbc, we built a (not-yet-public) prototype of a Ruby client for Zeebe in just one day. If you don’t yet see a Zeebe client offered in your preferred programming language, we encourage you to create one.

Java client improvements
Zeebe 0.10.0 also includes an updated Java client API with improvements based on user feedback. The Java client API now offers:

  • Clear command and event separation: systems that connect to Zeebe to provide monitoring and operations tools are primarily interested in events and not commands, and this change makes it easier to process events in these applications.
  • JSON (de-) serialization of records: this update makes it easier to export records from Zeebe and use them elsewhere–for example, sending messages over Apache Kafka or a similar service or getting messages into reporting systems
  • Distinction between topic subscription vs. job worker: this change clears up API confusion reported by users by clearly identifying entities that actively participate in a job vs. those that only listen to events. Read more here.

Event Timestamps For Insight Into Workflow & Task Duration (And Other Helpful Reporting)

Every event in a Zeebe topic now includes a timestamp representing when the event was written to Zeebe. This timestamp makes it possible to visualize a timeline of events and to understand the duration of a workflow instance or a specific task in a workflow.

The feature is a step toward users being able to create reports based on Zeebe workflows in a tool such as Optimize, which supports, among other reports, visual representations of workflows with heatmaps showing which tasks took longer than others.

A Workflow Heatmap In Camunda Optimize

Read more in the GitHub issue.

Create and Configure Topics In Config File and the Return of default-topic for an Improved New User Experience

Users are now able to create new topics with configuration settings in the zeebe.cfg.toml file:

[[topics]]
name = "development"
partitions = 3
replicationFactor = 1

[[topics]]
name = "production"
partitions = 16
replicationFactor = 3

In addition, default-topic has been revived and is included in the Zeebe distribution’s config file (a user can simply remove it before startup if it’s not needed). This provides an easier getting started experience for new users, and this update was motivated by a conversation in the user forum.

Read more in the GitHub issue.

Revamp of Zeebe Simple Monitor for Visibility into Zeebe Workflows

Zeebe Simple Monitor is a lightweight application for monitoring Zeebe workflows (similar to Camunda Cockpit if you’re familiar with Camunda BPM). As a community project, Simple Monitor has a release cycle separate from Zeebe, and a new version of Simple Monitor that’s compatible with Zeebe 0.10.0 was released this week with the following features:

  • Support for multiple topics, including the ability to deploy a workflow to a topic, receive events from all topics, and create a new topic
  • Ad hoc search for records
  • Visualization of the current topology
  • Data persistence in MongoDB (rather than H2)

Monitor Zeebe Workflows Using Zeebe Simple Monitor

For more detail, you can take a look at the changelog:

Get Started With Zeebe

Ready to get started? The following links will help you get going with Zeebe.

If you’d like to stay on top of what’s new with Zeebe, you can subscribe to our newsletter, follow us on Twitter, or subscribe to the blog via RSS.

  • Title slide that reads "Why Camunda 8"

    Why R-KOM Chose Camunda Platform 8

    In this blog series, we highlight the customers who have chosen to utilize Camunda Platform 8 and explore the challenges those companies are attempting to overcome using process orchestration. For the latest installment of Why Camunda 8, we spoke with R-KOM, a telecommunications company based in Regensburg, Germany. When R-KOM was founded in 1997, its shareholders pooled their telecommunications infrastructure, which had evolved over decades with utility networks for water, electricity, and gas. Initially, R-KOM’s services were limited to business and the public sector, but now it has developed further in line with demand. Over the years, the company’s high-performance infrastructure and a broad range of products have grown. Today, R-KOM has a number of city networks in Eastern Bavaria...

    Read more
  • Title slide that reads "Why Camunda 8"

    Why Gruner + Jahr Chose Camunda 8

    In this new blog series, we explore the reasons why customers are migrating to Camunda 8. For our first installment of Why Camunda 8, we talked to Gruner + Jahr, one of the largest premium magazine publishers in Europe. G+J includes such established (German) print and digital brands as STERN, GEO, BRIGITTE, ESSEN & TRINKEN, and SCHÖNER WOHNEN, as well as younger brands such as CHEFKOCH, BARBARA, BEEF, 11FREUNDE. In addition to the numerous print and digital media offerings, G+J offers products and licenses such as the SCHÖNER WOHNEN collection. The digital business contributes more than half of revenues and is exhibiting continued strong growth. Indeed, the company’s digital products lead the rankings in all publishing segments, from news through...

    Read more
  • Camunda Platform 8.1.0-alpha3 Released

    We’re excited to announce the release of Camunda Platform 8.1.0-alpha3. If you’d like to get started with Camunda Platform 8.1.0-alpha3 right away, you can sign up for a free trial now. Create Process Instance Starting at User-Defined Elements An often requested feature is now available as a preview with Camunda Platform 8.1.0-alpha3: create a process instance starting at user-defined elements. When creating a process instance through the CreateProcessInstance RPC, the process instance is started at the default none start event. For testing purposes, you may want to start at one (or multiple) of the other elements. This feature is now available through both the CreateProcessInstance RPC and the CreateProcessInstanceWithResult RPC. It is available for use in the Zeebe Java client...

    Read more

Ready to get started?

Still have questions?