探究ESB的本质

企业级的IT系统往往是非常复杂的。但某件事情是否复杂并不一定是一个独立的推动力,重要的是系统是否以应有的方式运行。企业服务总线(ESB)看起来非常复杂,但事实上,它可以非常有效地执行几个关键功能,协助开发人员进行应用集成。

一、什么是ESB(企业服务总线)?

ESB是一种IT架构方法。ESB旨在通过总线式基础设施将各种应用集成在一起。ESB通常位于框架和套件之间,作为执行应用集成的另一种方式。ESB是一个中间件工具,它在构成应用程序的不同连接组件之间分配任务。

它为完成一些任务奠定了基本的基础架构,例如:实现路由选择、翻译、提供一个移动任务的总体方法、提供应用程序连接到总线的能力、订阅基于结构和业务政策规则发送的消息、其他集成能力。

二、ESB如何工作

ESB的建立是为了简化从服务和应用程序到大型机等不同格式想要相互集成时可能出现的混乱。然而,问题是ESB究竟是如何工作的?

1.企业服务总线是一组交换机,在应用程序和/或组件之间的特定路线上直接发送消息。

2.每个企业都有特定的业务策略,决定ESB将采取哪条路径来处理这些消息。

无论是客户端还是业务流程,任何连接到ESB的系统都不会直接相互通信,因为它们通过ESB本身进行通信。本质上,ESB向潜在的客户机暴露了相同的服务接口,而连接的服务则向ESB暴露。

ESB的一个主要好处是围绕着ESB是一个单一的访问点。通过ESB连接客户和服务,公司只需要在一个单一的位置,即ESB中寻找服务。即使一个业务流程更换了服务器,只需要重新配置ESB,公司仍然可以通过ESB访问服务。

ESB还可以作为事务管理器工作,这意味着它可以协调多个服务参与的分布式事务。当许多不同的业务流程和服务需要在一个事务中一起工作时,通常需要一个配置来协调事务。然而,通过ESB,这就不再需要了,公司可以访问ESB来顺利地处理交易。

ESB还可以作为一个安全管理器,集中处理认证和授权等流程。无论应用程序中的一个业务流程是否具有认证或授权,ESB都可以调整它的设置,在它暴露给使用它的客户端的服务界面中要求这样做。

ESB 的另一种工作方式是作为服务代理,为没有暴露在标准化服务接口上的应用程序充当网关。举个例子,如果一个应用程序暴露了一个Java RMI服务,但网络的其他部分运行在.NET上,因此它不能直接调用RMI服务。通过利用ESB,公司可以很容易地在Java中实现一个可以调用RMI服务的服务代理。然后,服务代理通过ESB.NET应用暴露出Web服务接口,如SOAPWSDL

三、ESB有哪些实际用途?

我们已经讨论了ESB的工作原理,现在我们来深入探讨企业如何利用ESB在公司内部执行不同的任务。如果使用得当,ESB可以成为一个有价值的工具。

有一些核心功能是在ESB的外壳下的。这些功能结合起来构成了ESB架构。这些功能包括:

解耦

ESB的一个非常有价值的功能是围绕着客户与服务提供商的解耦。

传输协议转换

使用ESB还可以接受一个输入协议,并与不同的服务提供商进行通信,即使服务提供商使用的是单独的协议。

消息增强

通过ESB,用户可以在隔离客户端的同时,对消息进行一些一般性的修改。

消息转换

此外,通过ESB,用户可以将任何潜在的传入消息转化为传出格式和结构。

除了企业服务总线的这些关键成分外,附加功能还包括增加安全性以保护任何未经授权的访问,路由能力以将请求重定向到不同的服务提供商,以及事务管理。

微信图片_20221017150308.jpg

安徽宝信信息科技有限公司自主研发ESB中间件,采用微服务架构、实现企事业内部异构系统接口自动注册、服务化编排、结合数据治理平台,打造数据业务中台,服务企事业单位。