虽然微服务架构基于服务发现的点对点调用,但是对于零售和制造等大多数企业而言,建设了大量的非微服务架构的私有化核心业务系统,这些核心业务系统很难进行微服务架构的重构,而基于业务创新需求这些业务系统必须要与基于微服务架构的业务系统和SaaS系统进行互联互通,实现业务系统的集成和统一调用监控,而通过一个以API为中心的轻量的级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服务接口,如SOAP和WSDL。
ESB有哪些实际用途?
我们已经讨论了ESB的工作原理,现在我们来深入探讨企业如何利用ESB在公司内部执行不同的任务。如果使用得当,ESB可以成为一个有价值的工具。
有一些核心功能是在ESB的外壳下的。这些功能结合起来构成了ESB架构。这些功能包括:
- 解耦
- ESB的一个非常有价值的功能是围绕着客户与服务提供商的解耦。
- 传输协议转换
- 使用ESB还可以接受一个输入协议,并与不同的服务提供商进行通信,即使服务提供商使用的是单独的协议。
- 消息增强
- 通过ESB,用户可以在隔离客户端的同时,对消息进行一些一般性的修改。
- 消息转换
此外,通过ESB,用户可以将任何潜在的传入消息转化为传出格式和结构。
除了企业服务总线的这些关键成分外,附加功能还包括增加安全性以保护任何未经授权的访问,路由能力以将请求重定向到不同的服务提供商,以及事务管理。企业可以利用ESB的其他一些方法包括:
- 目的地服务和资源的运行时解决方法。位置透明度
- 任何对任何的连接,以及最大的连接密度。
- 专为冗余、水平扩展性、故障转移而设计。
- 政策、访问控制、规则外部化
- 逻辑消息网络层实现在物理消息网络层之上。
- 通用名称空间
ESB和消息队列有何区别?
消息总线更像是一种模式,而MQ是一种技术。
MQ处理事件,消息总线处理事件的事件,我统一接口和规则接单,然后把单派给你。
几个ESB厂商
普元
东方通
东软
最后
ESB可能看起来很复杂,也很难驾驭,但它确实是企业内非常有用的工具。很难用几句话就对ESB的作用下一个真正简明的定义,因为它是一个提供多种好处的广泛工具。然而,ESB仍然很常见,尽管存在某些缺点,但它已被证明在促进服务位置的透明度、在企业内共享服务和流程以及将业务服务与服务实施分离方面非常有用。最终,选择ESB的公司必须确保ESB符合所有必要的目标,否则有可能失去ESB所承诺的灵活性。