BPEL 和 ESB:SOA 概述

BPEL and ESB: SOA Overview

我正在研究SOA架构,我有点困惑,谷歌搜索有很多定义,涉及很多技术,这里开始我的疑惑:
如果我没看错,这些是系统成为 SOA 的原则:

  1. 使用开放标准:XML、WSDL、WS 安全。关于 WSDL,这很重要,因为集成不同的服务(通常 Web 服务必须公开它们的合同?然后如果我得到 BPEL,使用只是一个使用服务合同以允许它们之间通信的过程。
  2. 模块化
  3. 使用 ESB :(这似乎是必须的,即使对于不需要的服务 需要通过它进行通信..这引起了我的第一个疑虑..如果一个 服务被公开为 Web 服务公开他自己的 WSLD,使 互操作性,为什么必须使用 ESB?
  4. 然后是 BPEL,BPEL 是一种编排服务的语言吗 互相互动?有点像 Saga 中的 Orchestration 模式?
  5. 尽可能增加服务之间的互通 (不同于微服务架构的原则)
  6. 采用以前的(旧的)企业应用程序,这些应用程序通常非常 旧的,SOA 通常基于使用的服务 传统关系数据库

也许第 5 点和第 6 点是后果而不是要遵循的规则...
谢谢

我可以尝试回答我的问题:
关于 ESB 的使用:理论上可以避免使用 ESB,但如果没有 ESB,应用程序所有者将不得不找到自己独特的方式来公开服务接口,这需要做很多工作(即使接口最终是可重用的)并且在未来会带来重大的维护挑战,这就是为什么它被认为是 SOA 的重要组成部分并被认为是任何 SOA 实现的事实上的元素。

BPEL: 是的,它用于编排和协调不同公开的 API,可能来自不同的 Web 服务以创建新的应用程序。