Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel2
outlinefalse
typelist
printablefalse

What is a BPMN Workflow?

A workflow in PIPEFORCE BPMN (Business Process Model and Notation) is a worldwide ISO standardisation to describe business processes in a formalized (graphical) way so it can be discussed and is interchangeable between business and technical teams and also across departments and companies.

BPMN is a stateful business process, where typically one or more interactions with humans are involvedrequired. Workflows A BPMN workflow can be modelled and started directly in PIPEFORCE using a graphical web interface and they can optionally trigger the execution of data pipelines.

Modelling a BPMN Workflow

...

Info

Note: If there are no interactions with humans required in your workflow, consider to use a data pipeline alone instead. In this case probably no BPMN is required. But it depends on your use case.

If you’re not familiar with the BPMN concept so far, we highly recommend you to learn more about its the basics before you dive deeper into this chapter. Here you can find a first introduction on Wikipedia: https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation .

Modelling a BPMN Workflow

Below is a very simple example of such a BPMN workflowdiagram, which shows a vacation approval process where the employee must fill-out a request form, and the supervisor can then approve or decline the vacation request:

...

As you can see, it is quite easy to understand what it is going on in this workflow.

A BPMN workflow typically has a single start event, one or more user tasks or service tasks and a single end event. There are more elements possible, just to name a few for now.

Such BPMN workflows are typically designed using a BPMN designer modeller tool. You can use your own local software to design such a diagram and then upload it to PIPEFORCE, or you can use the built-in online BPMN designer modeller from PIPEFORCE, which supports these additional features:

  • Create BPMN workflows online in your web browser.

  • Discuss a BPMN diagram with your team.

  • Create or link service tasks with data pipelines.

  • Create or link user tasks with input forms.

  • Deploy and start the diagram with one click so it becomes a workflow instance executing a real process.

  • Monitor running workflow instances.

...

Lets shortly explain those basic items below.

Start Item

...

This is the starting point of a BPMN workflow and defines how the workflow will be started. This can be done manually or triggered by an event for example. If nothing is defined, it is always considered to be started manually.

User Task

...

The user task is the part of a workflow in case manual input from a user is required. For example to review some data and approve it. This input is typically requested using a form showing one or more form fields to the user he then can fill out.

...

The workflow waits at this user task until the user has filled-out the form and finished this task by clicking the “Complete” COMPLETE button of the form. In PIPEFORCE such a form can be defined in the online modeller using the FORM tab.

...

There are two form types available you can select from:

  • Simple = The form fields can be directly defined in the tab and will be displayed vertically one after another. This is the simplest approach but is limited. So for example you can not change the orientation of the fields, no special fields are supported, fields are limited to max. 4000 chars and validation is also quite limited.

  • Custom = These are advanced forms where you have full flexibility of the PIPEFORCE form framework to design your user task form. With this flexibility also a bit more complexity comes. See here for documentation about the form framework: Forms Framework.

Assignment

User tasks can be assigned in the workflow to specific users and user groups, by using the GENERAL tab. This can be done in the Assignment section. :

  • Assignee is a single username. If defined, the user task will be automatically assigned to the user with this username when created.

  • The Candidate Users field define the users allowed to pick and claim this task. They will see the task instance of example in the TODO filter which can be seen as a “task pool”. Same is true if user is member in one of the groups mentioned in the Candidate Groups field. Multiple entries in these fields must be separated by comma.

...

...

Service Task

...

If a task in the BPMN workflow must be executed by a an automated service (“machine”), it must be marked as a service task. Such automated steps could be for example , sending an email, doing a data conversion, or creating a new dataset, typically a System Task is used for thisconnecting to external systems or much more complex steps. Here full automation is possible.

By default, such a pipeline service task is used linked to execute such a system task.

To configure a system task to execute such a pipeline, you need to make sure, that you have these settings in place:

  1. The task type is set to a System Task.

  2. The Implementation is set to Delegate Expression.

  3. The Delegate Expression is set to ${pipelineDelegate}.

...

To execute a pipeline, you have two configuration options:

  1. Calling a pipeline embedded into the User task as a parameter.

  2. Calling a pipeline stored in the property store.

Call an embedded pipeline

In order to trigger an embedded pipeline whenever the system task is executed, you can define a new input parameter with the name pipeline of type Text, and add the pipeline directly as a value:

...

Call a pipeline stored in the property store

Lets assume, a pipeline is stored in the property store under this key path:

Code Block
global/app/vacation-request/pipeline/myPipeline

Then, you need to configure your System Task like this to automatically pick-up and execute this pipeline, in case the system task is executed by the workflow:

  1. Make sure the Id of the BPMN workflow has the same name as the app: vacation-request.

  2. Make sure the Id of the System Task, which should execute the pipeline, has the same name as the pipeline: myPipeline.

  3. Do not define any pipeline parameter in the System Task.

When executed, the System Task automatically searches for a pipeline in the given app folder and executes it.

...

a data pipeline which defines all these “instructions” to the “machines” (services) to be executed in an automated way as soon as the workflow arrives at this service task.

You can link a service task to a data pipeline by clicking the service task and then in the PIPELINE tab select an already existing data pipeline you would like to execute when this service task starts. Or you create a new pipeline and link it there.

...

Decision Gateway

...

In case the flow direction inside a BPMN workflow must change depending on a condition, a decision gateway or just gateway in short can be used. For example if the user has approved a request in the form, this approval information can be used to decide to follow the approval path.

End Item

...

The end item (also known as end state) defines when the process must be finished. Typically a BPMN workflow must always have exactly one such end state. There are some rarely cases which could differ from that.

How to start a workflow in PIPEFORCE?

...