「业务架构」如何在BPMN中正确使用泳道

简介: 「业务架构」如何在BPMN中正确使用泳道


在BPMN术语中,“泳道”代表两个主要分组BPMN元素-池和泳道。

池是设置业务流程边界的基本BPMN元素。池最多包含一个业务流程。这意味着两个流程程必须在两个不同的池中建模。池可以以将要执行的流程的形式具有可见的内部详细信息(称为“白盒池”),或者池可能没有可见的内部详细信息(称为“黑盒池”)。应该使用的池类型取决于所需的详细程度和特定的上下文。

“白盒”池通常以相应的业务流程(如“需求管理流程”、“帮助台流程”或“服务交付流程”)命名,而“黑盒”池通常以相应的组织、人员或系统(如“供应商”)命名,“客户”或“内容管理系统”)

泳道

Lane是池中的子分区,用于组织和分类流程的活动。最常见的是,lane代表一个组织角色(例如开发人员、分析师和经理)。但是,泳道也可用于其他目的(例如第一阶段、第二阶段和第三阶段)


常见误解

游泳池和泳道的含义和语义常被误解。例如,一组池可能被错误地视为单个池中的一组泳道,反之亦然。这会导致语法和语义上错误的流程模型。

由于池和通道之间的语义差异,BPMN流元素(活动、网关和事件)的连接方式不同,这取决于它们是在池中使用还是在池之间使用。在池中,BPMN流元素以以下方式与序列流连接,如图2所示。


“池之间”通信时只能使用消息流。消息流表示两个池或流程之间的消息交换,包括它们的同步。可以按照图3中的定义使用消息流:


请注意,在这两种情况下,只允许元素之间的连接,如前两幅图所示。基于这些误解,在建模BPMN时,以下三个错误是常见的:

错误1:缺少序列流

问题。在对多个池进行建模时(例如,在业务对业务的情况下,两个或多个流程交互),一个常见的错误是池中的活动没有连接到序列流。

这种错误最常见的原因是建模者可能将多个池视为单个流程,并错误地将消息流解释为指示活动序列的方式。这种流程模型是无效的,因为没有明确定义活动的顺序。


解决方案。建模者应该始终对单个池进行建模和验证,并记住一个池不能包含多个流程。这意味着池中的所有流元素都应该使用图2和图3中定义的序列流进行连接。


错误2:序列流的错误使用

问题。建模多个池时的另一个常见问题是,建模者可能会将一组池视为具有多个通道的单个池。在这种情况下,建模者使用池之间的序列流。最终结果将是一个不正确的模型(参见图2),该模型散布在池的边界上。


解决方案。此问题最常见的解决方案是在单个模型中使用泳道交换池,如下所示。如果需要使用多个池(可能存在多个独立流程时),则应使用错误1的解决方案。


错误三:泳道使用不当

问题。有时,建模者可能会错误地将一个通道视为一个池,从而在单独的通道中表示各个流程。这是错误的,因为通道只是一种“活动分类机制”。下图显示了这个错误。


解决方案。这个问题最常见的解决方案与前一个类似;在两个流程中定义一个(如图9所示)。这意味着冗余的开始和结束事件将从模型中删除。如果实际需要多个池(存在多个独立流程),则应使用错误1的解决方案。


尽管如此,重要的是要指出,如果一个流程有两个开始或两个结束事件,在语法上并不是错误的!例如,几个不同的事件可以在不同的地方启动一个流程,例如,通过消息触发器异步启动一个流程,或者每天早上定期启动一个流程。另一方面,一个流程通常以不同的结束状态结束(例如“成功治疗”或“不成功治疗”)。

结论

本文介绍了BPMN“泳道”的概念,它可以用“池子”和“泳道”来建模。乍一看,这两个元素看起来非常相似,但是它们有完全不同的含义!

池是单个流程的容器,而通道充当“活动分类机制”。基于这些差异,BPMN流元素的关联方式完全不同。在池间交互的情况下,只能使用消息流。另一方面,只有顺序流可以在池内和泳道之间使用。

相关文章
|
存储 数据建模
「业务架构」BPMN简介第四部分-数据和工件
「业务架构」BPMN简介第四部分-数据和工件
「业务架构」BPMN简介第三部分-流程和连接对象
「业务架构」BPMN简介第三部分-流程和连接对象
|
存储 数据可视化 测试技术
「业务架构」介绍BPMN第一部分
「业务架构」介绍BPMN第一部分
|
测试技术 网络性能优化 数据库
「业务架构」介绍BPMN第二部分-泳道
「业务架构」介绍BPMN第二部分-泳道
|
存储 数据可视化 容器
「业务架构」如何创建BPMN图?
「业务架构」如何创建BPMN图?
|
2月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
5月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
263 0
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
347 3

热门文章

最新文章