转自: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. HTML语义化简介思维导图

  2. ubuntu GUI程序开机自启设置

    在 主目录下,即 $HOME路径下新建 或编辑 .gnomerc 文件,将开机启动脚本写在这里如下:gedit ~/.gnomerc#!/bin/bashcd /home/xxxx/openUI./o ...

  3. 界面控件DevExpress发布v18.2.5|附下载

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  4. python random模块(获取随机数)

    如果要使用random模块,需要先导入 import random 1.random.random()  #用于生成一个0到1的随机浮点数 2.random.uniform(a,b)  #用于生成一个 ...

  5. .NET实现字符串base64编码

    using System; using System.Text; using System.IO; using System.Security; using System.Security.Crypt ...

  6. [学习] SpringMVC/JavaEE/JavaSE

    浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别 几个Map集合的区别 Java多线程

  7. python selenium爬取QQ空间方法

    from selenium import webdriver import time # 打开浏览器 dr = webdriver.Chrome() # 打开某个网址 dr.get('https:// ...

  8. python flask 小项目

    0 开始之前 网上看了很多教程,都不是很满意,因此自己写一个大型教程,从入门到做出一个比较完整的博客.此次教程不是直接把整个博客直接代码整理出来然后运行一遍就完事,我会从flask的各个模块讲起.所以 ...

  9. JAVA_全局配置文件(配置网址,url等等)_第二种方式

    @ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中 1.application-local.yml 配置文件 2.Service 3. ...

  10. Eclipse下SpringBoot没有自动加载application.properties文件

    Eclipse内创建SpringBoot项目,在java/main/resources文件夹下面创建application.properties配置文件,SpringApplication.run后发 ...