May 2025
Beginner to intermediate
294 pages
3h 23m
Chinese
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
本章:
介绍作为可执行流程建模语言的业务流程模型和符号
解释如何执行流程模型以及如何将流程模型与编程代码相结合
探讨开发自己的流程解决方案的重要方面
在上一章直接进入可执行流程之后,让我们回过头来详细探讨一下刚才看到的一些内容。我们将从流程建模语言开始,它可以让你设计出一个可以在工作流引擎上执行的流程蓝图。这种语言可以表达一连串的任务以及围绕任务的所有细节,如决策点、并行任务和同步点。
不同的工具可能使用不同的流程建模语言。在本书中,我将使用 BPMN,主要有两个原因:它是一种已被采用的标准,而且非常棒。我将在"流程建模语言 "一文中详细阐述它为何如此出色,但我首先需要解释一下它的基本原理。
当然,并非所有流程模型都需要在引擎上执行;有时您可能只是想画一幅图来理解或记录某些行为。虽然这是一个有效的用例,但并不是本书的重点。不过,绘制业务流程以供讨论或记录,还是可以帮助企业中的人员了解使用工作流引擎实现流程自动化的潜力。确保使用可执行的流程建模语言,如 BPMN。
BPMN 流程可以用图 3-1 中的示例直观地表示出来。
BPMN 流程也是一个 XML 文档。在平常的生活中,你可能永远不需要查看这个 XML。不过,我在这里向你展示它,是为了让你放心,其中既没有魔法,也没有隐藏着巨大的复杂性:
<?xml version="1.0" encoding="UTF-8"?><definitions><!-- Execution semantics understood by a workflow engine: --><processid="OrderFulfillment"isExecutable="true"><startEventid="Event_OrderPlaced"name="Order Placed"/><sequenceFlowid="1"sourceRef="Event_OrderPlaced"targetRef="Task_RetrievePayment"/><serviceTaskid="Task_RetrievePayment"name="Retrieve payment"/><sequenceFlowid="2"sourceRef="Task_RetrievePayment"targetRef="Task_FetchGoods"/><serviceTaskid="Task_FetchGoods"name="Fetch goods"/><sequenceFlowid="3"sourceRef="Task_FetchGoods"targetRef="Task_ShipGoods"/><serviceTaskid="Task_ShipGoods"name="Ship goods"/><sequenceFlowid="4"sourceRef="Task_ShipGoods"targetRef="Event_OrderDelivered" ...
Read now
Unlock full access