BPMN Workflow

Business Process Model and Notation (BPMN) is a graphical representation used to specify business processes in a business process model. Viewflow’s workflow module allows developers to represent BPMN diagrams in code and make them executable.

Compared to Finite State Machine-based workflows, BPMN allows for parallel task execution and is suitable for modeling real-person collaboration patterns.

../_images/ShipmentProcess.png

Code-first BPMN workflows

The viewflow.workflow module in Viewflow enables developers to create BPMN-based workflows directly in code, providing a convenient alternative to using a graphical designer. With code-first BPMN workflows, developers can define and design their business processes directly in code and store workflow definitions in a version control system. This approach is particularly beneficial for developers who prefer working in code and for teams that want to maintain greater control over their workflow definitions.

Workflow layer

From a software developer’s point of view, Viewflow’s workflow module is a thin code layer on top of the standard Django Model/View/Template. Viewflow extracts workflow logic out of CRUD views, allowing for the composition and reuse of view code over different workflows.

Advantages of code-first BPMN workflows

Compared to using a graphical designer, code-first BPMN workflows offer several advantages. For example, developers can easily track changes in version control, define custom activities and transitions, and reuse code and integrate with other Python libraries. By utilizing the code-first approach, developers can streamline their workflow design and implementation processes, ultimately saving time and resources.