Activiti in Action(实战Activiti)-第一章 BPMN 2.0: what’s in it for developers?(2)

2024-03-25 09:08

本文主要是介绍Activiti in Action(实战Activiti)-第一章 BPMN 2.0: what’s in it for developers?(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1 Taking a closer look at BPM(仔细观察BPM)

We already mentioned a couple of times that BPM covers a wide spectrum. And that’s because BPM has a high goal that can be summarized as improving processes continuously and promoting efficiency and effectiveness. You can imagine that it covers a lot of different roles and players, including management, end users, business analysts, information analysts, architects, developers and system controllers, to be able to succeed in achieving these goals.

我们已经几次到BPM涵盖了广泛的范围。那时因为BPM具有很高的目标,简而言之,它能持续改进流程,并且提升有效性和效率。你可以想象它不同的角色和玩家,包括管理,最终用户,业务分析师,信息分析师,架构师,开发人员和系统控制师。他们能够成功地完成这些目标。

Goals like promoting efficiency and effectiveness are typical targets that the management of an organization tries to achieve. BPM can be regarded as a management discipline and therefore it’s obvious that these kind of goals are part of the targets set by implementing BPM. In this book we don’t focus on the management side of BPM, although we fully comprehend the importance of it. We’ll focus on the technical aspects of BPM with process ngines and business process management suites, which we’ll discuss in more detail in section 1.2.

像提升效率和有效性的目标是一个组织孜孜以求的目标。BPM可以作为管理学科,显然通过实现BPM,这些目标是目标集的一部分。本书将不关注BPM的管理方面,尽管我完全理解它的重要性。我们将关注BPM的技术方面,流程引擎以及流程 管理套件,我们将在1.2 节详细论述。

Our starting point and the central component within BPM is a business process. Simple examples of business processes are a vacation request process, or a book order process. Such a process consists of several activities that eventually result in you receiving a vacation request confirmation or the book you bought. Let’s look at an example book order process in figure 1.1.

我们BPM出发点和中心组件是业务流程。业务流程的简单示例是一个休假申请流程,或者一个书籍订购流程。这样的流程由几个活动组成。最终结果是你收到申请确认,或者你收到书籍。让我们来看看图1.1的书籍订购流程。

image

 

Figure 1.1 An example book order business process that processes the book payment and eventually ships the book to the customer.

图1.1 书籍订购业务流程处理书籍付款并最终将书送到客户

The book order business process consists of six activities which may need to be executed. Once the book order request is received, the payment is processes to make sure the money is received and the stock of the book is checked. When the book is in stock, it can be shipped to the customer and a confirmation e-mail is sent. However, when the book is not in stock it  needs to be ordered from the publisher of the book before it can be shipped. So the activity Order book from publisher is an optional activity, which is only executed when the condition Book not in stock is met.

书籍订购业务流程由可以执行的六个活动组成。一旦收到书籍订购请求,支付系统确保收到书款并检查书籍存量。 当书籍有库存,它可以发送给客户,并发送一封电子邮件。但是,当书籍没有库存,在能够发货之前, 将需要从书籍出版商出订货。所以“从出版商订书”是一个可选活动,它只有当满足“书籍没有库存”的条件时执行。

As you can see this business process is fairly simple and incomplete. For example, what should happen when the process payment fails? Error handling is one of the challenging topics when developing business process. How to deal with error handling is covered in chapter 4.

正如你所见,业务流程是相当简单,并不完整。例如,当支付流程失败,应该发生什么?当开发业务流程时,错误出了是最富挑战的主题之一。如何处理错误在第4章讨论。

Another part which the example doesn’t cover is how the process will know when the book is in stock again in case the book is ordered from the publisher. The activity to re-fill the stock should perhaps be a sub-process, and the ship book activity should be notified with an event when this sub-process is ready. Sub-processes and event handling will be discussed in chapter 6.

示例没有涵盖流程如何知道合适书籍从出版商那里订货之后入库。重新入库的活动很可能应该是一个子流程,当子流程准备就绪,送书活动应该得到通知。子流程和事件处理将在第6章讨论。

To be able to implement even a simple business process as the given example a number of steps have to be performed. We’ll now look at these important steps in the BPM life-cycle.

为了能够实现甚至一个简单的业务流程作为示例,不得不执行相当数量的步骤。现在来看看BPM生命周期的重要步骤。

1.1.1 Walking around the BPM life-cycle (遍历BPM生命周期)

The work to create a fully functional business process can be grouped together in five categories which are often referred to as the BPM life-cycle, which is shown in figure 1.2.

建立全功能业务流程的工作能够用五种分类组合在一起称为BPM生命周期,这如图1.2所示。

image

Figure 1.2 The five steps of the business process management discipline: Design, Modeling, Execution, Monitoring and Optimization.

图1.2 业务流程管理许可的五个步骤:设计,建模,执行,监视和优化。

Each of these five steps have an important job to do:

五个步骤的每步都有一个重要工作要做:

  • Design; the first step contains the activities to define the business process. This means that the high-level activities are identified, the organizational changes are discussed, service level agreements are defined and process details such as actors, notifications and escalations are specified.
  • 设计;包含定义业务流程活动的第一步。这意味着讨论辨识高层活动,组织变化。也将讨论定义服务层协议和指定参与者,通知和升级。
  • Modeling; in this step the business process is fully specified and validated. The process flow is formalized, process variables are defined and candidate services are identified that can be used to execute an activity. To validate the business process what-if scenarios are performed with process simulation.
  • 建模;在此步,对业务流程进行全部指定并验证。形式化流程,定义流程变量,辨识能够用来执行活动的候选服务。用流程仿真来验证业务流程的“如果-就(what-if)的场景。
  • Execution; the modeled business process is implemented in a business process application, often a business process management system (BPMS) such as Activiti. Technical details still need to be added to the business process to be able to execute it. And the process is implemented with a process language like WS-BPEL or BPMN 2.0.
  • 执行;在业务流程应用里实现建模的业务流程。这个应用通常是像Activiti之类的业务流程管理系统。为了能够执行业务流程,仍需要对业务流程加入技术细节。流程采用WS-BPEL或者BPMN 2.0这样的流程语言来实现这个流程。
  • Monitoring; to keep track of the running processes and to be able to detect key performance indicators (KPIs) monitoring tools are used.
  • 监视(Monitoring);为了跟踪运行流程和能够检测性能指标(KPI),使用监视工具。
  • Optimization; based on new insights, changing business requirements and monitoring results, the implemented business processes will need to be optimized. When the optimization phase is done, the business process goes into the design phase again and completes the circle.
  • 优化;基于新的见解,变化的业务需求和监视结果,需要对实现了的业务流程进行优化。当完成了优化阶段,业务流程又进入设计阶段并完成这个周期。

The BPM life-cycle shows that implementing business processes results in an ongoing process due to the ever changing business environment and need for optimization. However, in practice it very much depends on the business environment and the ability of a business to execute how fast the BPM life-cycle is run through. In some business, it may take years to complete the cycle, in others it can be weeks or even days.

BPM生命周期表明由于不断变化的商业环境和优化的需要,实现的业务流程结果也是不断变化的。但是,在实践上,贯穿BPM生命周期的速度严重依赖商业环境和业务的执行能力。在一些业务里,完成这个周期需要几年,而其它业务需要数周或者数天。

But to be able to work yourself through the BPM life-cycle, we first must establish a common vocabulary so we can communicate with BPM language.

但是为了能自学BPM生命周期,首先我们必须建立公共词汇,这样我们能以BPM语言进行交流。

这篇关于Activiti in Action(实战Activiti)-第一章 BPMN 2.0: what’s in it for developers?(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844515

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库