zoukankan      html  css  js  c++  java
  • BizDevOps — the true value proposition of workflow engines

    转自: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 Storming, domain 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.

  • 相关阅读:
    TFS 2015(Visual Studio Team Foundation Server)的下载和安装
    又回来了
    java.net.SocketException:Too many open files 解决方案
    Java 正则判断一个字符串中是否包含中文
    zabbix 启动报错 cannot set resource limit: [13] Permission denied
    MySQL 查询某个数据库中所有包含数据记录的表名
    MySQL 判断数据库和数据表是否存在
    Java 实现 bash命令
    Java 实现 ssh命令 登录主机执行shell命令
    Java 实现 telnet命令 验证主机端口的连通性
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10351173.html
Copyright © 2011-2022 走看看