转自:https://blog.bernd-ruecker.com/bizdevops-the-true-value-proposition-of-workflow-engines-f342509ba8bb

Whenever you implement core business logic you have to discuss it with a lot of stakeholders and having a graphical representation is a huge help in doing so. This is why there are a lot of methodologies out there to capture business logic visually, like Event Stormingdomain modeling and of course process modeling with BPMN.

BPMN is an ISO standard and its beauty is that it defines a business readable graphical visualization that is also directly executable on a workflow engine. A BPMN model therefore is also an XML file a workflow engine can understand.

Compared to other languages, BPMN is a good choice as it is really widespread and very mature. I will not dive into details of the BPMN elementsbut I can report that it was sufficient for all real-life use cases we saw in the last years — which are a lot.

It is about living documentation — not low code!

The benefit of directly executable models is what Cyrille Martraire named living documentation. The model is not an input of the requirement phase that will be outdated once the first line of code is written. No, the model will be executed and is the code. It is always in-sync with the implementationduring the whole life-cycle.

Unfortunately this is often connected with zero or low code approaches which try to get rid of the developer. In our experience these approaches do not work well, at least not in non-trivial use cases. I see BPMN models simply as a different way of writing code which should still be done by a developer. Of course he/she communicates with business stakeholders to do the right thing. And the true benefit of using BPMN and a workflow engine is to facilitate the collaboration between the different roles!

BizDevOps

Having an executable, visual and understandable model has benefits for business stakeholders, developers and operators. It also improves the communication and collaboration between them big time.

Let’s dive into that:

The business can understand visual workflows and discuss the underlying business process and related requirements.

Graphical report for one scenario run as automated unit test (here: Camunda Test Coverage). The payment workflow is taken from the flowing retail example. Use cases for workflows can be found in any industry.

Developers get a workflow engine which is a persistent state machine with a lot of additional features. On top of that they can benefit from the visual model as they gain more context into what they are actually working on. For example, some tools can create graphical reports for test scenarios.

Exemplary operations tool from a workflow engine (here: Camunda Cockpit)

Another huge gain lies within operations as a workflow engine provides a lot of context to understand and resolve problems or failures. The possibilities to directly intervene in real-time (e.g. repair failed workflow instances or correct data) help keep everything up and running.

Audit data can be leveraged to optimize workflows (here: Camunda Optimize)

And as workflow engines write a lot of audit data, one can leverage this historical data to find bottlenecks and possibilities for improvement for your workflows. This might be done by any stakeholder as everybody can understand the BPMN workflow models.

Summary

In this short post I wanted to highlight the value of graphical but directly executable models in BPMN for business stakeholders, developers and operators (BizDevOps). This is not about getting rid of IT by following a low code approach but rather provide benefits to each of the roles and facilitate collaboration between them.

PS: Screenshots are taken from Camunda, an open source platform for workflow automation. As co-founder of Camunda I simply know this tool the best.

 
 
 
 

BizDevOps — the true value proposition of workflow engines的更多相关文章

  1. The Microservices Workflow Automation Cheat Sheet

    Written by Bernd Rücker on Dec 12 2018 in the Best Practices category. Editor’s Note: This post orig ...

  2. How to implement long running flows, sagas, business processes or similar

    转自:https://blog.bernd-ruecker.com/how-to-implement-long-running-flows-sagas-business-processes-or-si ...

  3. Architecture options to run a workflow engine

    This week a customer called and asked (translated into my own words and shortened): “We do composite ...

  4. Rule Or WorkFlow

    The main value of a Workflow engine is that it makes it possible to customize the flows through some ...

  5. 风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转

    如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务 ...

  6. 中文分词工具探析(二):Jieba

    1. 前言 Jieba是由fxsjy大神开源的一款中文分词工具,一款属于工业界的分词工具--模型易用简单.代码清晰可读,推荐有志学习NLP或Python的读一下源码.与采用分词模型Bigram + H ...

  7. Oozie_示例

    Oozie 官方示例 解压oozie-examples.tar.gz 将examples/上传到HDFS家目录 $ bin/hdfs dfs -put /opt/cdh-5.6.3/oozie-4.0 ...

  8. Odoo ir actions 分析

    源代码位置:openerp/addons/base/ir/ir_actions.py 根类型:ir.actions.actions class actions(osv.osv): _name = 'i ...

  9. WWF3XOML方式创建和启动工作流 <第十篇>

    一.XOML使用工作流的好处 通过Xoml方式使用工作流的好处在于,它能够不重新启动程序的情况下,仅仅通过配置xoml就能够实现改变工作流,非常灵活. 创建一个WinForm程序如下: 代码如下: n ...

随机推荐

  1. java阶段学习目标

    0-1年: <java编程思想> 1-2年: <大话设计模式>http://www.cnblogs.com/zuoxiaolong/p/pattern26.html <重 ...

  2. 7.3 C++模板中的函数式参数

    参考:http://www.weixueyuan.net/view/6400.html 总结: 模板类至少有一个类参数,但是可以有多个参数,这些参数中可以存在非类类型的参数. 类参数是指 class ...

  3. Problem A: 平面上的点——Point类 (I)

    Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...

  4. Domination(概率DP)

    Domination 题目链接:https://odzkskevi.qnssl.com/9713ae1d3ff2cc043442f25e9a86814c?v=1531624384 Edward is ...

  5. 进阶ES6 点滴认知

    1.let--不允许重复声明 根据http://es6.ruanyifeng.com/#docs/let 的例子,我竟然 报格式错误 说实话,我也没见过函数这样的写法......然后我就随意加了函数名 ...

  6. MySQL:存储过程和函数

    存储过程和函数 一.创建存储过程和函数 1.创建存储过程 语法: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic . ...

  7. ios中xib文件的用法

    ZQRView文件: // // ZQRView.h // // // Created by zzqqrr on 17/8/20. // // #import <UIKit/UIKit.h> ...

  8. 关于“用VS2010的C++导入ADO导入不了,提示无法打开源文件msado15.tlh”的问题

    vc++2010中,要使用ado操作数据库,所以在stdafx.h中引入了ado的dll库,引入代码如下: #import "C:/Program Files/Common Files/Sy ...

  9. ubuntu安装nodejs,npm live-server

    sudo apt-get install curl 先安装的是curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/in ...

  10. Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机

    文章目录 1. 开箱即用,内藏玄机 2. 总结 3. 源代码 Spring Boot提供了很多”开箱即用“的依赖模块,那么,Spring Boot 如何巧妙的做到开箱即用,自动配置的呢? 开箱即用,内 ...