Skip to content

Instantly share code, notes, and snippets.

@meyerdan
Last active May 21, 2018 20:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save meyerdan/0531bab589c4ffe8f8f919fbdce46127 to your computer and use it in GitHub Desktop.
Save meyerdan/0531bab589c4ffe8f8f919fbdce46127 to your computer and use it in GitHub Desktop.
Human consumable text format for simple workflows

Motivation

Allow developers to specify workflows without the need for installing additional tooling such as a modeler.

Goals

  • It should be easy to define a simple workflow with a text editor only
  • The format must map down directly to BPMN
  • The format must be based on an existing text based format like (XML, JSON, YAML, TOML, ...)

Non-Goals

  • The format should not have the ambition to replace BPMN or reach BPMN's level of expressiveness
  • The format must not introduce any new concepts which are not present in BPMN
  • The format should not be workflow-engine agnostic. It should target zeebe.io directly and natively expose it's features. It should not have a concept of "Extension Elements".
name: Order Processing
description: >
This workflow describes the processing of an order.
There can be more text here...
tasks:
- id: COLLECT_MONEY
type: process-payment
inputParameters:
- source: $.order.paymentData
- id: FETCH_ITEMS
type: item-management
headers:
- operation-type: FETCH
inputParameters:
- source: $.order.itemData
- id: SHIP_PARCEL
type: shipment-inbound
flow:
- { from: COLLECT_MONEY, to: FETCH_ITEMS }
- { from: FETCH_ITEMS, to: SHIP_PARCEL }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment