Overview of BPMN:

To use SpiffWorkflow, you need at least a basic understanding of BPMN. This page offers a brief overview. There are many resources for additional information about BPMN.

In these examples and throughout the documentation we use the Camunda Modeler for BPMN. Camunda Modeler Download Page

A Simple Workflow

All BPMN models have a start event and at least one end event. The start event is represented with a single thin border circle. An end event is represented by a single thick border circle.

The following example also has one task, represented by the rectangle with curved corners.

_images/simplestworkflow.png

Fig. 1 A simple workflow.

The sequence flow is represented with a solid line connector. When the node at the tail of a sequence flow completes, the node at the arrowhead is enabled to start.

More complicated Workflow

_images/ExclusiveGateway.png

Fig. 2 A workflow with a gateway

In this example, the diamond shape is called a gateway. It represents a branch point in our flow. This gateway is an exclusive data-based gateway (also called an XOR gateway). With an exclusive gateway, you must take one path or the other based on some data condition. BPMN has other gateway types.

The important point is that we can use a gateway to add a branch in the workflow without creating an explicit branch in our Python code.