借助 Enterprise Service Bus(ESB),可以使 SOA 的灵活性最大化。参与服务交互的参与者是与 ESB 相连,而不是直接与另一个参与者相连。
当服务请求者连接至 ESB 时,ESB 负责将它的请求通过使用消息传递给服务提供者,而服务提供者将提供必需的功能和服务质量。ESB 便于请求者与提供者进行交互并解决不匹配的协议、交互模式或服务功能。ESB 还可以启用或增强监视和管理功能。ESB 提供了虚拟化和管理功能部件,这些功能部件将实现和扩展 SOA 的核心功能。
对于两个参与者,只要在它们之间增加了 ESB,就可以通过一种称为调解的逻辑结构来调整它们之间的交互。调解将对请求者与提供者之间传递的消息进行处理。例如,可以使用调解来查找具有请求者所要求的具体特征的服务,或者用来解决请求者与提供者之间存在的接口差异。对于复杂的交互,可以按顺序将调解链接起来。
Enterprise Service Bus 提供了公共通信基础结构,可以通过这种基础结构来连接服务以及它们所表示的业务功能,而不需要程序员编写和维护复杂连接逻辑。
Enterprise Service Bus 提供了一种一致的、基于标准的方法来集成使用不同 IT 标准的业务功能。这样就能够集成未能正常通信的业务功能,例如,连接公司独立运作部门中的应用程序,或者使不同公司的应用程序参与服务交互。
Enterprise Service Bus 使业务功能能够以不同的格式交换信息,通过总线来确保传递给业务功能的信息采用的是该应用程序所需要的格式。
除了通过消息交换来处理服务请求以外,Enterprise Service Bus 还支持通过基于事件的交互来处理服务请求。
Enterprise Service Bus 使您可以集中精力处理核心业务,而不必考虑 IT 方面的事务。需要时,可以更改服务或者添加至服务;例如,为了对业务需求方面发生的变化作出响应,就可以添加额外的服务容量或者添加新的功能。可以通过重新配置总线来进行更改,而对使用该总线的现有服务和应用程序的影响很小甚至没有影响。