Glossary
Broker
See Zeebe Broker.
BPMN model
See Process.
Client
See Zeebe Client.
Cluster
See Zeebe cluster.
Camunda 8
Camunda 8 is a universal process orchestrator that allows you to orchestrate and automate complex business processes that span people, systems, and devices. Camunda 8 consists of the following key components:
- Orchestration cluster: Powers the automation and orchestration of processes.
- Connectors: Out-of-the-box integration with external systems.
- Optimize: Business intelligence tooling, allowing you to analyze bottlenecks and examine improvements in processes automated with Camunda.
- Console: Manage your Orchestration cluster deployments, as follows:
- Console SaaS: Configure, deploy, and manage your Orchestration cluster, as well as your connector and Optimize deployments.
- Console Self-Managed: Monitor your Orchestration cluster and connector deployments.
- Modeling applications: Allow business and developer personas to design and implement processes, decisions, and user task forms:
- Use Desktop Modeler locally on Mac, Windows, and Linux.
- Use the browser-based Web Modeler for process application management.
- Management Identity: Authentication and authorization for components outside the Orchestration cluster: Optimize, Console, and Web Modeler.
Command
A command represents an action to be taken or executed. Example commands include: deploy a process, execute a process, etc.
Connector
Connectors are reusable building blocks you can use to easily connect processes to external systems, applications, and data.
Types of connectors:
Correlation
Correlation refers to the act of matching a message with an inflight process instance.
Correlation key
A correlation is an attribute within a message that is used to match the message against a certain variable within an inflight message. If the value of the correlation key matches the value of the variable within the process instance, the message is matched.
Deployment
A process cannot execute unless it is known by the broker. Deployment is the process of pushing or deploying processes to the broker.
Element
A BPMN element is part of a process, defining one part of its BPMN model. Elements are the building blocks of a process and comprise flow nodes, sequence flows, participants, data objects, and more.
Element template
Use an element template to extend the Desktop Modeler or Web Modeler with domain-specific diagram elements. Element templates are used by Connectors to create the connector-specific element configuration.
Event
An event represents a state change associated with an aspect of an executing process instance. Events capture variable changes, state transition in process elements, and so on. An event is represented by a timestamp, the variable name, and variable value. Events are stored in an append-only log.
Execution listener
An execution listener is a mechanism that allows users to execute custom logic at specific points during workflow execution. Execution listeners can be attached to BPMN elements to react to lifecycle events, such as when an element starts or ends. This feature facilitates pre-processing and post-processing tasks without cluttering the BPMN model, functioning similarly to job workers by leveraging the same infrastructure.
Exporter
See Zeebe Exporter.
Flow node
Flow nodes refer to a specific subset of BPMN elements. They comprise events, activities, and gateways. Other elements, such as sequence flows, participants, and data objects, are not considered flow nodes.
Follower
In a clustered environment, a broker which is not a leader is a follower of a given partition. A follower can become the new leader when the old leader is no longer reachable.
Gateway
See Zeebe Gateway.
Human task
Camunda 8 allows you to orchestrate processes with human tasks, which may be user tasks or manual tasks.
Hybrid mode
Hybrid mode, or a hybrid Self-Managed distribution, allows you to run a separate instance of the connectors runtime in a Self-Managed or local fashion. This instance can be attached to either a SaaS cluster, or another Self-Managed cluster with its own connector runtime.
For example, this is useful when working with services that must be isolated within a private network and cannot be exposed to the public internet, or if infrastructure amendments need to be applied to the connector runtime, such as SSL certificates or mounted volumes.
Identity
Use Identity in the Orchestration cluster to administer the integrated authentication and authorization.
Inbound connector
Inbound Connectors in Camunda 8 enable workflows to receive data or messages from external systems or services, making it possible to integrate workflows into a wider business process or system architecture.
Inbound connectors include three subtypes - webhooks, subscriptions, and polling.
Unlike outbound connectors, inbound connectors are stateful. The Java code of the inbound connector has a lifecycle suitable for long-running operations, such as listening for messages on a queue or waiting for a webhook to be called. Each element referencing an inbound connector will lead to the creation of one inbound connector instance. A process definition with one webhook start event and two additional webhooks as intermediate catch events would therefore lead to the creation of three inbound connector instances.
Incident
An incident represents an error condition which prevents Zeebe from advancing an executing process instance. Zeebe will create an incident if there was an uncaught exception thrown in your code and the number of retries of the given step is exceeded.
Ingress
An Ingress is a Kubernetes object that manages external access to the services within a Kubernetes cluster. An Ingress controller is required to route traffic to your services according to the rules defined on the Ingress.
Job
A job represents a distinct unit of work within a business process. Service tasks represent such jobs in your process and are identified by a unique id. A job has a type to allow specific job workers to find jobs that they can work on.
Job activation timeout
This is the amount of time the broker will wait for a complete or fail response from the job worker. This comes after a job has been submitted to the job worker for processing and before it marks the job as available again for other job workers.
Job worker
A Zeebe Client that polls for and executes available jobs. An uncompleted job prevents Zeebe from advancing process execution to the next step.
Leader
In a clustered environment, one broker (the leader) is responsible for process execution and housekeeping of data within a partition. Housekeeping includes taking snapshots, replication, and running exports.
Log
The log is comprised of an ordered sequence of records written to persistent storage. The log is appended-only and is stored on disk within the broker.
Management Identity
The Management Identity component provides authentication and authorization for the Camunda 8 components outside the Orchestration cluster: Console, Web Modeler, and Optimize.
Manual task
A manual task defines a task that requires human interaction but no external tooling or UI interface. For example, a user reviewing a document or completing a physical task.
Manual tasks are part of human task orchestration, but differ from user tasks which define an actionable task assisted by a workflow engine or software application.
Message
A message contains information to be delivered to interested parties during execution of a process instance. Messages can be published via Kafka or Zeebe’s internal messaging system. Messages are associated with timestamp and other constraints such as time-to-live (TTL).
Orchestration cluster
The Orchestration cluster is the core component of Camunda 8, powering the automation and orchestration of processes. An Orchestration cluster includes:
- Zeebe as the workflow engine
- Operate for monitoring and troubleshooting process instances running in Zeebe
- Tasklist for interacting with user tasks (assigning, completing, and so on)
- Identity for managing the integrated authentication and authorization
- APIs for interacting with the Orchestration cluster programmatically
Outbound connector
Outbound Connectors in Camunda 8 allow workflows to trigger with external systems or services, making it possible to integrate workflows with other parts of a business process or system architecture.
Partition
A partition represents a logical grouping of data in a Zeebe Broker. This data includes process instance variables stored in RocksDB, commands, and events generated by Zeebe stored in the log. The number of partitions is defined by configuration.
Polling connector
An inbound polling connector that periodically polls an external system or service for new data using HTTP polling.
A Camunda workflow uses this type of connector to retrieve data from a remote system that does not support real-time notifications or webhooks, but instead requires the client to periodically request updates.
Process
A process is a defined sequence of distinct steps representing your business logic. Examples of a process could be an e-commerce shopping experience or onboarding a new employee. In Zeebe, process are identified by a unique process id. The process is usually also referred to as the BPMN model.
Process instance
While a process represents a defined sequence of distinct steps representing your business logic, a process instance represents a currently executing or completed process. For a single process, there could be many associated process instances in various stages of their executing lifecycle. Process instances are identified by process instance ids. Executing process instances are also sometimes referred to as inflight processes.
Process instance variable
A process instance variable represents the execution state (i.e data) of a process instance. These variables capture business process parameters which are the input and output of various stages of the process instance and which also influence process flow execution.
Protocol connector
Protocol connectors are a type of Connector in Camunda that can serve as either inbound or outbound connectors, supporting a variety of technical protocols. These connectors are highly generic, designed to provide a flexible and customizable means of integrating with external systems and services.
Protocol connectors can be customized to meet the needs of specific use cases using element templates, with no additional coding or deployment required. Examples of protocol connectors include HTTP REST, SOAP, GraphQL, as well as message queue connectors.
Record
A record represents a command or an event. For example, a command to create a new process instance, or a state transition of an executing process instance representing an event at a given point in time would result to generation of a record. During the execution lifecycle of a process instance, numerous records are generated to capture various commands and events generated. Records are stored in the log.
Replication
Replication is the act of copying data in a partition from a leader to its followers within a clustered Zeebe deployment. After replication, the leader and followers of a partition will have the exact same data. Replication allows the system to be resilient to brokers going down.
Replication factor
This is the number of times data in a partition is copied. This depends on the number of brokers in a cluster. A cluster with one leader and two followers has a replication factor of three, as data in each partition needs to have three copies.
We recommend running an odd replication factor.
Request timeout
How long a client waits for a response from the broker after the client submits a request. If a response is not received within the client request timeout, the client considers the broker unreachable.
Segment
The log consists of one or more segments. Each segment is a file containing an ordered sequence records. Segments are deleted when the log is compacted.
Snapshot
The state of all active process instances, (these are also known as inflight process instances) are stored as records in an in-memory database called RocksDB. A snapshot represents a copy of all data within the in-memory database at any given point in time. Snapshots are binary images stored on disk and can be used to restore execution state of a process. The size of a snapshot is affected by the size of the data. Size of the data depends on several factors, including complexity of the model, the size and quantity of variables in each process instance, and the total number of executing process instances in a broker.
Soft pause exporting
Soft pause exporting is a feature that allows you to continue exporting records from Zeebe, but without deleting those records (log compaction) from Zeebe. This is particularly useful during hot backups.
Subscription inbound connector
An inbound connector that subscribes to a message queue.
This way, a Camunda workflow can receive messages from an external system or service (like Kafka or RabbitMQ) using message queuing technology. This type of inbound connector is commonly used in distributed systems where different components of the system need to communicate with each other asynchronously.
User task
A user task is used to model work that needs to be done by a human and is assisted by a workflow engine or software application. This differs from manual tasks, which are not assisted by external tooling.
With 8.7, Camunda offers job worker-based user tasks managed by Camunda, also known as Camunda user tasks (and formerly known as Zeebe user tasks). Note that you may still see references of Zeebe user tasks in your XML, but this is the same thing as Camunda user tasks.
Camunda recommends using Camunda user tasks in your process definitions. With 8.7, job-worker user tasks are available for querying, but Camunda Modeler automatically applies the Camunda user task and shows a warning message for each job worker user task.
User task listener
A user task listener allows users to execute custom logic in response to specific user task lifecycle events, such as assigning or completing a task. User task listeners are attached to BPMN user tasks and facilitate validation, custom task assignment, and other operations during user task execution. They operate similarly to job workers, leveraging the same infrastructure for processing external logic.
Webhook connector
Webhooks are a subtype of inbound connector.
A webhook is a way for web applications to send real-time notifications or data to other applications or services when certain events occur. When a webhook is set up, the application sends a POST request containing data to a pre-configured URL, which triggers a workflow.
Worker
See Job worker.
Workflow
See process.
Workflow engine
A workflow engine is an essential part of any process automation tool. We call it an “engine” because it drives business processes from start to finish, no matter how complex the process and decision logic need to be. Zeebe is the workflow engine powering Camunda 8.
Workflow instance
See process instance.
Workflow instance variable
See process instance variable.
Zeebe
Zeebe is a highly scalable, cloud-native workflow engine used to automate business processes. It acts as the core component of Camunda 8.
Zeebe is part of the Orchestration cluster in Camunda 8.
The main components of Zeebe are:
A Zeebe deployment typically consists of multiple brokers and gateways, forming a Zeebe cluster.
Zeebe Broker
The Zeebe Broker is the distributed workflow engine that tracks the state of active process instances. The Zeebe Broker is the main part of the Zeebe cluster, which does all the heavy work like processing, replicating, exporting, and everything based on partitions. A Zeebe deployment often consists of more than one broker. Brokers can be partitioned for horizontal scalability and replicated for fault tolerance.
Zeebe Client
A Zeebe Client interacts with the Zeebe Broker on behalf of the business application. Clients retrieve work from the Zeebe cluster via polling or job push.
Zeebe cluster
A Zeebe cluster represents a configuration of one or more brokers collaborating to execute processes. Each broker in a cluster acts as a leader or a follower.
Zeebe Exporter
The Zeebe Exporter system provides an event stream of state changes within Zeebe. It represents a sink to which Zeebe will submit all records within the log. This gives users of Zeebe an opportunity to persist records with the log for future use as this data will not be available after log compaction.
Zeebe Gateway
The Zeebe Gateway is a component of the Zeebe cluster; it can be considered the contact point for the Zeebe cluster that allows Zeebe clients to communicate with Zeebe brokers inside a Zeebe cluster.