【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

编配和编排的定义之争

  • 2008-09-05
  • 本文字数:1770 字

    阅读完需:约 6 分钟

随着 SOA 所受关注渐增,标准化(给予精确的含义)所用术语显得尤为重要。一场有趣的讨论更是阐明的了这点。这场讨论的起因是Michale Poulin 抛出了这样一个问题,“orchestration(编配)”和“choreography(编排)”之间的区别何在,并寻求指引能将这一区别“清楚阐述”的解答。他的问题引来了一窝蜂的回复,而不是简单的答案,每个人根据自己不同的理解,给出的含义也略有差异……

Anne Thomas Manes 从引用 Merriam-Webster(韦氏大词典)上这些词汇的传统含义来展开她的解释:

编排(Choreography):一种象征性地表达舞蹈的艺术:

  • 对舞蹈的组合以及安排,特别是芭蕾
  • 这一活动所产生的作品

编配(Orchestration):针对乐队表演对音乐作品进行的调整;又:对音乐作品的乐队演奏

尽管这一定义并不能真正从 IT 的角度帮助澄清编配(orchestration)与编排(choreography)之间的差异,但许多讨论的参与者都间接地用到了它。Anne 接着又通过引用在现有的 WS-* 规范,即业务流程执行语言(BPEL)与 Web 服务编排定义语言(WS-CDL)中的定义,继续进行了阐释:

编配(Orchestration)指的是自动执行一个工作流,即,你用一种执行语言如 BPELP 定义好工作流,同时你让编配引擎在运行时执行这一工作流。一个编配好的工作流一般暴露为一个可以通过 API 调用的服务。它并不描述两三个参与方之间一系列协调交互。

编排(Choreography)指的是对两者或两者以上参与方之间协调交互的描述。例如,你请求投标,我给出报价,你下采购单,我向你发货。

John Evdemon 表达了另一种略为不同的观点,基于其可见性对这两个术语进行了分类:

编配描述了一个宏观流程表现出来是如何完成工作的,而没有明确说明其如何实现。

我将编排视为一种点对点形式的交互,因为不存在所谓的“指挥”。编排是一种交互的议定(agreed-upon)模型,这个交互可能由一系列编配组成。

从 B2B 的视角而言,编配是组织内的,而编排是组织间的。更简洁一点,一个组织谈不上对另一组织进行编配。

Steve Johns 更进一步细化了这一定义:

编配是“固定”的,其主要是步骤和决策的描述集合。而编排,应该是更具目标导向性,是关于通向那个目标的各资源之间的相互协调。

Alan Dean 根据整个架构中是否含有一个“集中式控制者”来区分这两个术语:

对我而言,编配 / 协调有一个中心的指挥者 / 协调者,而编排却没有…… - 编配是专制的

  • 编排是自治的

来自 Metamaxim 的 Ashley McNeile 将编排追溯到 RosettaNet 的“合作伙伴接口流程(Partner Interface Processes)”标准,并将其认为是对参与方之间特定的(交互)行为模式的一种描述。他认为这一争端:

……并非是在于“编排”和“编配”在概念上到底有多大区别,而是在于需要一种语言在独立于编配之外来描述 / 捕获编排。

Rob Eamon 站在 Ashley 这方,谈到:

就架构定义或是设计而言,编排和编配的区别又有什么影响呢?在一个架构或设计中使用其中一个术语而不加以更多解释就够了吗?对我而言,这是在一特定上下文假设某种特定含义将会导致无法沟通的又一例证。明智的做法是保证各参与方对所用的术语有共同的理解,而不管术语是如何定义的。

这一观点与 Gregg Wonderly 不谋而合:

通常的情况是,计算机科学家选用了业已存在的词汇,并试图将其运用到某种特定的上下文中。而在不同的上下文了解和使用这些词汇人们,积累的偏颇与经验使其在领会这些用途时不免有错有对(二元逻辑, “有时候”是很难作为一个合理解释在绝对逻辑的世界里使用的)。因此,我们之所以要有这么多讨论是想要使大家都形成一种一致的观点,而不管这论点是如何被扭曲了……

我只希望 SOA 的众生能够学会对使用所有这些具有“限定性”意义的词汇与术语感到满意,而不是试图强塞一些愚笨的词汇进去。

Steve Jones 对这一争论做出了很好的总结:

基本上我认为编排,编配,协调,流程管理以及诸等词汇都定义得极为不妥。要是哪个供应商声称一个 BPEL 引擎是某种编排产品,我也不会感到奇怪了。编排并没有流行起来的一个原因(在我的眼中)就是其现实社会的等价物(舞蹈)可真不是什么 IT 所专长的。

总体而言,这种情况在 SOA 和 IT 中越来越普遍了,这个讨论只是其中一例而已。人们使用相同词汇而实际上指的是不同事物,并总因为使用不同词汇而争论,尽管实际上他们说的是一回事。

查看英文原文: Orchestration vs. Choreography: Debate Over Definitions

2008-09-05 03:323711
用户头像

发布了 133 篇内容, 共 35.1 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

什么样的知识付费系统功能,更有利于平台与讲师发展?

CRMEB

不用Swagger,那我用啥?

江南一点雨

谈谈基于JS实现阻止别人调试通过控制台调试网站的问题

南极一块修炼千年的大冰块

7月月更

定了!就在7月30日!

腾源会

开源

精品方案|海泰方圆全栈式数据安全治理方案 为数据设一把“安全锁”

电子信息发烧客

数字经济时代的开源数据库创新 | 2022 开放原子全球开源峰会数据库分论坛圆满召开

kk-OSC

开放原子全球开源峰会

《我的Vivado实战—单周期CPU指令分析》

攻城狮杰森

cpu 计算机组成原理 7月月更 vivado 计算机科学与技术

聚变云原生,赋能新里程 | 2022 开放原子全球开源峰会云原生分论坛圆满召开

kk-OSC

开源社区三十年 | 2022 开放原子全球开源峰会开源社区三十年专题活动圆满召开

kk-OSC

开放原子全球开源峰会

易观分析:以用户为中心提升手机银行用户体验,助力用户价值增长

易观分析

数据分析 用户体验 手机银行

华为发布HarmonyOS 3及全场景新品,智慧体验更进一步

Geek_2d6073

苹果手机iCloud钥匙串的加密缺陷

神锁离线版

apple 密码管理 密码技术 icloud keychain

18张图,直观理解神经网络、流形和拓扑

OneFlow

神经网络 深度学习

分布式定时器

腾讯企点技术团队

redis 分布式 定时器

新闻速递 | MobTech袤博科技参与中国信通院“绿色SDK产业生态共建行动”

MobTech袤博科技

数据安全 sdk

疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

南蓬幽

Python AI OpenCV 7月月更

开源汇智创未来 | 2022 开放原子全球开源峰会 OpenAtom openEuler 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

要想组建敏捷团队,这些方法不可少

敏捷开发

团队管理 敏捷开发 敏捷团队

Linux操作系统下Docker的完整部署过程

Java永远的神

Docker 程序员 架构 程序人生 云原生

巧用ngx_lua做流量分组

转转技术团队

nginx

API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试

API7.ai 技术团队

网关 API Gateway 谷歌云 网关性能测试

本地化、低时延、绿色低碳:阿里云正式启用福州数据中心

阿里云弹性计算

公有云 本地Region

什么是WordPress

hum建应用专家

Wordpress 博客部署 WordPress

JAVA编程规范之应用分层

源字节1号

软件开发 前端开发 后端开发 小程序开发

行业落地呈现新进展 | 2022 开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

论治理与创新 | 2022 开放原子全球开源峰会 OpenAnolis 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

语音聊天app——如何规范开发流程?

开源直播系统源码

软件开发 直播系统源码 语音聊天系统

Qt | 信号和槽的一些总结

YOLO.

qt 7月月更

产学研用 共建开源人才生态 | 2022 开放原子全球开源峰会教育分论坛圆满召开

kk-OSC

开放原子全球开源峰会

OpenAtom OpenHarmony分论坛圆满举办,生态与产业发展迈向新征程

OpenHarmony开发者

OpenHarmony

备战金九银十,Java研发面试题整理PDF,走到哪刷

程序知音

Java 程序员 java面试 后端技术 八股文

编配和编排的定义之争_SOA_Boris Lublinsky_InfoQ精选文章