知识卡片

流程模型的所有权独立于部署的物理位置

普通读书笔记卡

内容

“引擎部署在哪”和”流程模型归谁管”是两个独立的问题,不该混为一谈——即使把不同团队的流程模型统一部署到同一个中心引擎上,只要这些模型仍然由各自的团队拥有和管理,就没有问题;真正的问题出现在所有模型都被迫由一个中心团队统一管理的时候,这与[[SOA与微服务架构下编排位置的根本差异]]警示的集中式BPM团队接管流程定义所有权是同一种反模式。这个原则类似私有云平台的集中运维模式:物理资源集中部署,但每个团队仍拥有、配置和提供自己的资源;也类似很多公司共享同一个关系型数据库实例——每个应用有自己的库(schema)、自行管理表结构,这种模式相对有效,但依然要承担”一个服务故障拖累所有共享该实例的服务”这个代价。如果部署流程正确接入CI/CD管道,团队成员甚至可能完全不会注意到自己的流程实际部署在哪个物理引擎上——所有权关注的是”谁能改、谁负责”,而不是”数据存在哪台机器上”,这个区分能帮你在”分散式引擎”和”共享引擎”两个选项之外,识别出第三条路:物理上共享、所有权上依然分散。

参考来源

- 位置:《流程自动化实战:系统架构和软件开发视角》第6章《解决方案架构》"6.2.4 流程模型的所有权"(源文件:_epub-src/EPUB/xhtml/Section0001_0010.xhtml) - 结论依据:原文明确区分"所有权"与"部署的物理位置"两个概念,并用私有云平台和公司共享关系型数据库实例两个类比说明物理集中、所有权分散的可行性及其代价,直接支撑本卡片结论。 - 原始内容:这里要记住一个非常重要的概念:所有权不同于部署的物理位置……如果这些模型仍然由各个团队拥有并管理,那没什么问题。但如果所有模型都需要由一个中心团队管理,那这就是问题了。