企业服务总线 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时,有几种不同的方法。这个决定有许多因素,从成本和可扩展性到软件供应商和许可证合作伙伴。公司必须问自己的一个主要问题是,他们是想选择专有的还是开源的ESB,实际上两者互有利弊。
专有的
专有的ESB对于那些需要更简单的可用性、产品稳定性和所有权的公司来说是非常有意义的。专有ESB的一些特点包括:
- 功能性
专有的ESB提供了广泛的集成功能以及大量的工具,如BAM、EDA和CEP。 - 维护
专有ESB的管理和监控工具提供了无与伦比的稳定性和功能水平。
开放源码
现在另一方面,开源ESB也提供了大量的好处和功能,企业可以将其转换成一些主要的优势。从安装的方便性到开源社区,开源ESB最大的优势是:
- 成本
开源ESB的成本比专有解决方案的成本要低很多。 - 与厂商无关
因为开源ESB是与厂商无关的,所以公司有更大的灵活性在不同的平台上工作。
因此,虽然专有ESB和开源ESB各有优势,但也有一些缺点。专有ESB的成本可能很高,比ESB高得多,而且安装起来也比较困难。同时,开源ESB在混合和匹配的情况下,在不同的供应商之间进行整合可能会很棘手,而且还需要更多的员工技能和时间来测试、管理和维护产品。
在ESB平台中应注意什么?
如上所述,ESB有许多重要的功能,确保企业服务总线执行所有需要的流程是至关重要的。一个ESB必须具有以下的某种形式:
路由–将请求引导到特定的服务提供商。
消息转换–将传入的业务服务请求的结构和格式转换为服务提供商所期望的结构和格式。
消息增强–根据服务提供者的要求在消息中添加或修改信息。
协议转换–接受消费者的一种协议形式作为输入,并通过不同的协议将其传达给服务提供者。
服务映射–将业务服务转化为相应的服务实现。
消息处理–通过接受输入的请求并确保传递回客户端,进行状态管理和执行请求管理。
流程编排–管理复杂的业务流程,需要协调多个业务服务来完成一个业务服务请求。
服务编排–管理不同实施服务的协调。
事务管理–通过提供一个框架来协调不同的不同服务的多个服务,为业务服务请求提供一个单一的工作单元。
安全性–保护企业免受未经授权的访问。
要想让ESB高效运行,具备所有这些功能是不可或缺的。当公司决定采用企业服务总线时,必须采取适当的措施,以确保它具有所需的所有功能。
无缝连接企业服务总线架构
业务流程和应用集成会是相当复杂的,这就是为什么您需要一个能让生态系统和应用集成变得简单的解决方案。通过内部资源规划、ESB、传统EDI和云解决方案,消除应用到应用或系统到应用集成的复杂性,同时还可以通过知行软件的应用集成技术支持与外部社区的连接。
此外,知行之桥允许您通过深入的协议灵活性来扩展您的ESB的功能,在企业应用和ESB之间提供更可靠和强大的数据移动能力。
知行之桥通过利用大量的适配器、API和向导,简化了新连接器的上岗和集成,从而在内部和合作伙伴系统之间无缝地建立和管理端到端集成。通过这种方式,知行之桥帮助您的企业屏蔽了集成到ESB时的一些固有复杂性,增加了一种无缝的方式来进行应用集成,并帮助您的企业清除复杂的集成障碍。
结束语
ESB可能看起来很复杂,也很难驾驭,但它确实是企业内非常有用的工具。很难用几句话就对ESB的作用下一个真正简明的定义,因为它是一个提供多种好处的广泛工具。然而,ESB仍然很常见,尽管存在某些缺点,但它已被证明在促进服务位置的透明度、在企业内共享服务和流程以及将业务服务与服务实施分离方面非常有用。最终,选择ESB的公司必须确保ESB符合所有必要的目标,否则有可能失去ESB所承诺的灵活性。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。