ESB 调解示例

ESB Mediation by Example

我正在努力理解 ESB Mediation 到底是什么(具体的例子),但我遇到了心理障碍。

根据维基百科,Data Mediation 重定向到 Data Transformation 文章,其唯一提到的中介是模糊和神秘的:

When the data mapping is indirect via a mediating data model, the process is also called data mediation.

所以我问:什么是调解(在 ESB 的上下文中)以及调解的一些具体示例

对我而言,术语“调解”在这种情况下具有一般意义,指的是 ESB 的功能,使其能够在多个(通常是异构的)系统和他们公开的服务。 ESB 是一种中间件,一种技术 backbone 可以帮助您进行集成,并且在为企业构建 SOA 时经常使用。

如果您查看 table 中调解旁边的功能列,它确实提供了一些上下文。它说 - adapters, protocol transformation, service mapping。我将对 table 中的每个术语进行一些说明,希望它能帮助您理解上下文。

适配器

在异构环境中,您通常会拥有多种多样的系统,它们在不同的时代构建和购买,由不同的团队维护,由不同的部门拥有,运行 在不同的平台上,具有不同的技术能力和技术的支持。很明显,您需要一种抽象,将您与这些技术细节分开,并使任何系统都能与任何其他系统一起工作,而不管这些细节如何。 ESB 支持开箱即用的适配器连接到许多流行的系统,并使所有其他系统能够使用这些服务,而无需了解任何关于另一端的具体信息。您将拥有 SQL 适配器或 Siebel 适配器等

协议转换

ESB 处理不同的协议 - 大多数情况下,在您的环境中,系统会通过 SOAP over HTTP 公开服务,一些文件上传到 FTP,您可能有 LDAP 存储帐户什么的。合适的 ESB 将以透明的方式处理多个协议,并且能够提供公开所需功能并同时隐藏技术细节的服务。这使将使用服务的开发人员能够专注于她想要实现的业务流程,而不是协议。

服务映射

(既然我们在谈论中介,我假设这是指服务之间的数据映射,它不是描述在 ESB 中完成的组合的通用术语)

有时您会有多个服务处理同一个业务实体(例如客户),但对其属性使用不同的名称和数据类型和结构(例如忠诚度级别在一个系统中为 GOLD,在另一个系统中为 100 分),因为还没有建立公共域数据模型(大多数时候,尤其是当你使用多个供应商并且你有很多系统时,建立一个公共模型是一项艰巨的任务)。 ESB 将以某种方式映射和转换返回的数据,以便调用服务可以理解它。

希望对您有所帮助!祝你好运